Ejabberd 2.1.3 Developers GuideAlexey Shchepin
+Ejabberd 2.1.x Developers Guide |
@@ -194,6 +194,9 @@ operation are as follows:
auth:User:Server:Password (check if a username/password pair is correct)
isuser:User:Server (check if it’s a valid user)
setpass:User:Server:Password (set user’s password)
+tryregister:User:Server:Password (try to register an account)
+removeuser:User:Server (remove this account)
+removeuser3:User:Server:Password (remove this account if the password is correct)
write to stdout: AABB
diff --git a/doc/dev.tex b/doc/dev.tex
index f597d591e..1e46c1af2 100644
--- a/doc/dev.tex
+++ b/doc/dev.tex
@@ -176,6 +176,9 @@ That script is supposed to do theses actions, in an infinite loop:
\item auth:User:Server:Password (check if a username/password pair is correct)
\item isuser:User:Server (check if it's a valid user)
\item setpass:User:Server:Password (set user's password)
+ \item tryregister:User:Server:Password (try to register an account)
+ \item removeuser:User:Server (remove this account)
+ \item removeuser3:User:Server:Password (remove this account if the password is correct)
\end{itemize}
\end{itemize}
\item write to stdout: AABB
diff --git a/doc/features.html b/doc/features.html
index 40bb8460d..503ac0d3f 100644
--- a/doc/features.html
+++ b/doc/features.html
@@ -2,7 +2,7 @@
"http://www.w3.org/TR/REC-html40/loose.dtd">
-Ejabberd 2.1.3 Feature Sheet
+Ejabberd 2.1.x Feature Sheet
@@ -50,7 +50,7 @@ SPAN{width:20%; float:right; text-align:left; margin-left:auto;}
- Ejabberd 2.1.3 Feature SheetSander Devrieze
+Ejabberd 2.1.x Feature Sheet |
diff --git a/doc/guide.html b/doc/guide.html
index 2a5601822..57873a873 100644
--- a/doc/guide.html
+++ b/doc/guide.html
@@ -6,7 +6,7 @@
- ejabberd 2.1.3
+ ejabberd 2.1.x
Installation and Operation Guide
@@ -76,7 +76,7 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;}
- ejabberd 2.1.3 |
+ ejabberd 2.1.x |
|
Installation and Operation Guide |
@@ -164,60 +164,61 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;}
3.3.24 mod_time
3.3.25 mod_vcard
3.3.26 mod_vcard_ldap
-3.3.27 mod_version
+3.3.27 mod_vcard_xupdate
+3.3.28 mod_version
-Chapter 4 Managing an ejabberd Server
+Chapter 4 Managing an ejabberd Server
-Chapter 5 Securing ejabberd
+Chapter 5 Securing ejabberd
-Chapter 6 Clustering
+Chapter 6 Clustering
-Chapter 7 Debugging
+Chapter 7 Debugging
-Appendix A Internationalization and Localization
-Appendix B Release Notes
-Appendix C Acknowledgements
-Appendix D Copyright Information
+Appendix A Internationalization and Localization
+Appendix B Release Notes
+Appendix C Acknowledgements
+Appendix D Copyright Information
ejabberd is a free and open source instant messaging server written in Erlang/OTP. ejabberd is cross-platform, distributed, fault-tolerant, and based on open standards to achieve real-time communication. ejabberd is designed to be a rock-solid and feature rich XMPP server. ejabberd is suitable for small deployments, whether they need to be scalable or not, as well as extremely big deployments.
@@ -344,8 +345,8 @@ as long as your system have all the dependencies.
GNU Make
GCC
Libexpat 1.95 or higher
-Erlang/OTP R10B-9 or higher. The recommended version is R12B-5. Support for R13 is experimental.
-OpenSSL 0.9.6 or higher, for STARTTLS, SASL and SSL encryption. Optional, highly recommended.
+Erlang/OTP R10B-9 or higher. The recommended versions are R12B-5 and R13B04.
+OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption.
Zlib 1.2.3 or higher, for Stream Compression support (XEP-0138). Optional.
Erlang mysql library. Optional. For MySQL authentication or storage. See section 3.2.1.
Erlang pgsql library. Optional. For PostgreSQL authentication or storage. See section 3.2.3.
@@ -389,7 +390,9 @@ To get the full list run the command:
Enable the use of XML based optimisations.
It will for example use CDATA to escape characters in the XMPP stream.
Use this option only if you are sure your XMPP clients include a fully compliant XML parser. --disable-transient-supervisors
- Disable the use of Erlang/OTP supervision for transient processes.
+ Disable the use of Erlang/OTP supervision for transient processes. --enable-nif
+Replaces some critical Erlang functions with equivalents written in C to improve performance.
+This feature requires Erlang/OTP R13B04 or higher.
To install ejabberd in the destination directories, run the command:
@@ -676,12 +679,12 @@ Handles c2s connections.
zlib
ejabberd_s2s_in
Handles incoming s2s connections.
- Options: max_stanza_size
+ Options: max_stanza_size, shaper
ejabberd_service
Interacts with an external component
(as defined in the Jabber Component Protocol (XEP-0114).
Options: access, hosts, max_fsm_queue,
-shaper, service_check_from
+service_check_from, shaper
ejabberd_stun
Handles STUN Binding requests as defined in
RFC 5389.
@@ -701,13 +704,10 @@ grow to. This should be increased if the server is going to handle
lots of new incoming connections as they may be dropped if there is
no space in the queue (and ejabberd was not able to accept them
immediately). Default value is 5.
+captcha
+Simple web page that allows a user to fill a CAPTCHA challenge (see section 3.1.8).
{certfile, Path} Full path to a file containing the default SSL certificate.
To define a certificate file specific for a given domain, use the global option domain_certfile.
-{service_check_from, true|false}
-This option can be used with ejabberd_service only. It is
-used to disable control on the from field on packets send by an
-external components. The option can be either true or
-false. The default value is true which conforms to XEP-0114.
{hosts, [Hostname, ...], [HostOption, ...]}
The external Jabber component that connects to this ejabberd_service
can serve one or more hostnames.
@@ -717,8 +717,6 @@ when attempt to connect to ejabberd: {password, Secret}.
Note that you cannot define in a single ejabberd_service components of
different services: add an ejabberd_service for each service,
as seen in an example below.
-captcha
-Simple web page that allows a user to fill a CAPTCHA challenge (see section 3.1.8).
http_bind
This option enables HTTP Binding (XEP-0124 and XEP-0206) support. HTTP Bind
enables access via HTTP requests to ejabberd from behind firewalls which
@@ -763,7 +761,7 @@ Default value: ’undefined’.
{max_stanza_size, Size}
This option specifies an
approximate maximum size in bytes of XML stanzas. Approximate,
-because it is calculated with the precision of one block of readed
+because it is calculated with the precision of one block of read
data. For example {max_stanza_size, 65536} . The default
value is infinity. Recommended values are 65536 for c2s
connections and 131072 for s2s connections. s2s max stanza size
@@ -775,10 +773,13 @@ For example, if you want mod_foo to serve the URIs that start with
and you also want mod_http_bind to serve the URIs /http-bind/,
use this option: {request_handlers, [{["a", "b"], mod_foo}, {["http-bind"], mod_http_bind}]}
{service_check_from, true|false}
-By enabling this option, ejabberd allows the component to send packets with any arbitrary domain in the ’from’ attribute.
-Note that XEP-0114 requires that the domain must match the hostname of the component.
-Only enable this option if you are completely sure you need to enable it.
-Default value: false.
+
+This option can be used with ejabberd_service only.
+XEP-0114 requires that the domain must match the hostname of the component.
+If this option is set to false, ejabberd will allow the component
+to send stanzas with any arbitrary domain in the ’from’ attribute.
+Only use this option if you are completely sure about it.
+The default value is true, to be compliant with XEP-0114.
{shaper, none|ShaperName} This option defines a
shaper for the port (see section 3.1.6). The default value
is none.
@@ -1031,14 +1032,13 @@ for user authentication. The syntax is:
- {auth_method, [Method, ...]}.
The following authentication methods are supported by ejabberd:
Account creation is only supported by internal and odbc methods.
+Account creation is only supported by internal, external and odbc methods.
ejabberd uses its internal Mnesia database as the default authentication method.
The value internal will enable the internal authentication method. Examples:
@@ -1049,7 +1049,35 @@ authentication on example.net:
{host_config, "example.net", [{auth_method, [ldap]}]}.
To use internal authentication on all virtual hosts:
{auth_method, internal}.
-
+
+
+ In this authentication method, when ejabberd starts,
+it start a script, and calls it to perform authentication tasks. The server administrator can write the external authentication script
+in any language.
+The details on the interface between ejabberd and the script are described
+in the ejabberd Developers Guide.
+There are also several example authentication scripts. These are the specific options:
+ -
+{extauth_program, PathToScript}
-
+Indicate in this option the full path to the external authentication script.
+The script must be executable by ejabberd.
- {extauth_instances, Integer}
-
+Indicate how many instances of the script to run simultaneously to serve authentication in the virtual host.
+The default value is the minimum number: 1.
- {extauth_cache, false|CacheTimeInteger}
-
+The value false disables the caching feature, this is the default.
+The integer 0 (zero) enables caching for statistics, but doesn’t use that cached information to authenticate users.
+If another integer value is set, caching is enabled both for statistics and for authentication:
+the CacheTimeInteger indicates the number of seconds that ejabberd can reuse
+the authentication information since the user last disconnected,
+to verify again the user authentication without querying again the extauth script.
+Note: caching should not be enabled in a host if internal auth is also enabled.
+If caching is enabled, mod_last or mod_last_odbc must be enabled also in that vhost.
+
This example sets external authentication, the extauth script, enables caching for 10 minutes,
+and starts three instances of the script for each virtual host defined in ejabberd:
+ {auth_method, [external]}.
+{extauth_program, "/etc/ejabberd/JabberAuth.class.php"}.
+{extauth_cache, 600}.
+{extauth_instances, 3}.
+
The value anonymous will enable the internal authentication method. The anonymous authentication method can be configured with the following
options. Remember that you can use the host_config option to set virtual
@@ -1101,6 +1129,10 @@ PAM authentication is disabled by default, so you have to configure and compile
{pam_service, Name} This option defines the PAM service name.
Default is "ejabberd". Refer to the PAM documentation of your operation system
for more information.
+{pam_userinfotype, username|jid}
+This option defines what type of information about the user ejabberd
+provides to the PAM service: only the username, or the user JID.
+Default is username.
Example:
{auth_method, [pam]}.
{pam_service, "ejabberd"}.
@@ -1509,17 +1541,12 @@ enabled. This can be done, by using next commands:
./configure --enable-odbc --enable-mssql && make install
- By default ejabberd opens 10 connections to the database for each virtual host.
-Use this option to modify the value:
- {odbc_pool_size, 10}.
- You can configure an interval to make a dummy SQL request
-to keep alive the connections to the database.
-The default value is ’undefined’, so no keepalive requests are made.
-Specify in seconds: for example 28800 means 8 hours.
- {odbc_keepalive_interval, undefined}.
-
+The configuration of Database Connection for a Microsoft SQL Server
+is the same as the configuration for
+ODBC compatible servers (see section 3.2.4).
- The configuration of Microsoft SQL Server is the same as the configuration of
+ The configuration of Authentication for a Microsoft SQL Server
+is the same as the configuration for
ODBC compatible servers (see section 3.2.4).
Microsoft SQL Server also can be used to store information into from several
@@ -1635,10 +1662,14 @@ module loaded!
ejabberd has built-in LDAP support. You can authenticate users against LDAP
server and use LDAP directory as vCard storage. Shared rosters are not supported
-yet. Note that ejabberd treats LDAP as a read-only storage:
+yet. Usually ejabberd treats LDAP as a read-only storage:
it is possible to consult data, but not possible to
-create accounts, change password or edit vCard that is stored in LDAP.
- Parameters:
+create accounts or edit vCard that is stored in LDAP.
+However, it is possible to change passwords if mod_register module is enabled
+and LDAP server supports
+RFC 3062.
+ Two connections are established to the LDAP server per vhost,
+one for authentication and other for regular calls. Parameters:
-
{ldap_servers, [Servers, ...]}
- List of IP addresses or DNS names of your
LDAP servers. This option is required.
@@ -1647,6 +1678,11 @@ Allowed values are: none, tls.
The value tls enables encryption by using LDAP over SSL.
Note that STARTTLS encryption is not supported.
The default value is: none.
+
- {ldap_tls_verify, false|soft|hard}
-
+This option specifies whether to verify LDAP server certificate or not when TLS is enabled.
+When hard is enabled ejabberd doesn’t proceed if a certificate is invalid.
+When soft is enabled ejabberd proceeds even if check fails.
+The default is false which means no checks are performed.
- {ldap_port, Number}
- Port to connect to your LDAP server.
The default port is 389 if encryption is disabled; and 636 if encryption is enabled.
If you configure a value, it is stored in ejabberd’s database.
@@ -1662,8 +1698,9 @@ value is "".
{ldap_port, 389}.
{ldap_rootdn, "cn=Manager,dc=domain,dc=org"}.
{ldap_password, "secret"}.
-
Note that current LDAP implementation does not support SASL authentication.
- You can authenticate users against an LDAP directory. Available options are: -
+
+ You can authenticate users against an LDAP directory.
+Note that current LDAP implementation does not support SASL authentication. Available options are: -
{ldap_base, Base}
- LDAP base directory which stores
users accounts. This option is required.
- {ldap_uids, [ {ldap_uidattr} | {ldap_uidattr, ldap_uidattr_format}, ...]}
-
@@ -1865,6 +1902,8 @@ all entries end with a comma:
mod_configure | Server configuration using Ad-Hoc | mod_adhoc |
mod_disco | Service Discovery (XEP-0030) | |
mod_echo | Echoes XMPP stanzas | |
+mod_http_bind | XMPP over Bosh service (HTTP Binding) | |
+mod_http_fileserver | Small HTTP file server | |
mod_irc | IRC transport | |
mod_last | Last Activity (XEP-0012) | |
mod_last_odbc | Last Activity (XEP-0012) | supported DB (*) |
@@ -1892,6 +1931,7 @@ all entries end with a comma:
mod_vcard | vcard-temp (XEP-0054) | |
mod_vcard_ldap | vcard-temp (XEP-0054) | LDAP server |
mod_vcard_odbc | vcard-temp (XEP-0054) | supported DB (*) |
+mod_vcard_xupdate | vCard-Based Avatars (XEP-0153) | mod_vcard or mod_vcard_odbc |
mod_version | Software Version (XEP-0092) | |
-
@@ -2443,6 +2483,10 @@ the room occupants.
- {anonymous, true|false}
- The room is anonymous:
occupants don’t see the real JIDs of other occupants.
Note that the room moderators can always see the real JIDs of the occupants.
+
- {captcha_protected, false}
-
+When a user tries to join a room where he has no affiliation (not owner, admin or member),
+the room requires him to fill a CAPTCHA challenge (see section 3.1.8)
+in order to accept her join in the room.
- {logging, false|true}
- The public messages are logged using mod_muc_log.
- {max_users, 200}
- Maximum number of occupants in the room.
- {members_by_default, true|false}
- The occupants that enter the room are participants by default, so they have ’voice’.
@@ -2935,9 +2979,11 @@ the processing discipline for In-Band Registration (jabber:iq:register)
This module reads also another option defined globally for the server:
{registration_timeout, Timeout}.
This option limits the frequency of registration from a given IP or username.
-So, a user can’t register a new account from the same IP address or JID during
-this number of seconds after previous registration.
-Timeout is expressed in seconds, and must be an integer.
+So, a user that tries to register a new account from the same IP address or JID during
+this number of seconds after his previous registration
+will receive an error resource-constraint with the explanation:
+“Users are not allowed to register accounts so quickly”.
+The timeout is expressed in seconds, and it must be an integer.
To disable this limitation,
instead of an integer put a word like: infinity.
Default value: 600 seconds. Examples:
@@ -3225,9 +3271,12 @@ and that all virtual hosts will be searched instead of only the current one:
ejabberd can map LDAP attributes to vCard fields. This behaviour is
implemented in the mod_vcard_ldap module. This module does not depend on the
-authentication method (see 3.2.5). Note that ejabberd treats LDAP as a read-only storage:
+authentication method (see 3.2.5). Usually ejabberd treats LDAP as a read-only storage:
it is possible to consult data, but not possible to
-create accounts, change password or edit vCard that is stored in LDAP. The mod_vcard_ldap module has
+create accounts or edit vCard that is stored in LDAP.
+However, it is possible to change passwords if mod_register module is enabled
+and LDAP server supports
+RFC 3062. The mod_vcard_ldap module has
its own optional parameters. The first group of parameters has the same
meaning as the top-level LDAP parameters to set the authentication method:
ldap_servers, ldap_port, ldap_rootdn,
@@ -3400,8 +3449,22 @@ searching his info in LDAP. - ldap_vcard_map
-
+
+
+ The user’s client can store an avatar in the user vCard.
+The vCard-Based Avatars protocol (XEP-0153)
+provides a method for clients to inform the contacts what is the avatar hash value.
+However, simple or small clients may not implement that protocol. If this module is enabled, all the outgoing client presence stanzas get automatically
+the avatar hash on behalf of the client.
+So, the contacts receive the presence stanzas with the Update Data described
+in XEP-0153 as if the client would had inserted it itself.
+If the client had already included such element in the presence stanza,
+it is replaced with the element generated by ejabberd. By enabling this module, each vCard modification produces a hash recalculation,
+and each presence sent by a client produces hash retrieval and a
+presence stanza rewrite.
+For this reason, enabling this module will introduce a computational overhead
+in servers with clients that change frequently their presence.
+
This module implements Software Version (XEP-0092). Consequently, it
answers ejabberd’s version when queried. Options:
-
@@ -3410,8 +3473,8 @@ The default value is true.
- {iqdisc, Discipline}
- This specifies
the processing discipline for Software Version (jabber:iq:version) IQ queries (see section 3.3.2).
-
- With the ejabberdctl command line administration script
+
+ With the ejabberdctl command line administration script
you can execute ejabberdctl commands (described in the next section, 4.1.1)
and also many general ejabberd commands (described in section 4.2).
This means you can start, stop and perform many other administrative tasks
@@ -3423,7 +3486,7 @@ and other codes may be used for specific results.
This can be used by other scripts to determine automatically
if a command succeeded or failed,
for example using: echo $?
- When ejabberdctl is executed without any parameter,
+ When ejabberdctl is executed without any parameter,
it displays the available options. If there isn’t an ejabberd server running,
the available parameters are:
-
@@ -3459,7 +3522,7 @@ robot1
testuser1
testuser2
- ejabberd is an Erlang/OTP application that runs inside an Erlang runtime system.
+ ejabberd is an Erlang/OTP application that runs inside an Erlang runtime system.
This system is configured using environment variables and command line parameters.
The ejabberdctl administration script uses many of those possibilities.
You can configure some of them with the file ejabberdctl.cfg,
@@ -3536,7 +3599,7 @@ not “Simple Authentication and Security Layer”.
Note that some characters need to be escaped when used in shell scripts, for instance " and {} .
You can find other options in the Erlang manual page (erl -man erl).
- An ejabberd command is an abstract function identified by a name,
+ An ejabberd command is an abstract function identified by a name,
with a defined number and type of calling arguments and type of result
that is registered in the ejabberd_commands service.
Those commands can be defined in any Erlang module and executed using any valid frontend. ejabberd includes a frontend to execute ejabberd commands: the script ejabberdctl.
@@ -3544,7 +3607,7 @@ Other known frontends that can be installed to execute ejabberd commands in diff
ejabberd_xmlrpc (XML-RPC service),
mod_rest (HTTP POST service),
mod_shcommands (ejabberd WebAdmin page).
- ejabberd includes a few ejabberd Commands by default.
+ ejabberd includes a few ejabberd Commands by default.
When more modules are installed, new commands may be available in the frontends. The easiest way to get a list of the available commands, and get help for them is to use
the ejabberdctl script:
$ ejabberdctl help
@@ -3596,7 +3659,7 @@ is very high.
register user host password Register an account in that domain with the given password.
unregister user host Unregister the given account.
- The frontends can be configured to restrict access to certain commands.
+ The frontends can be configured to restrict access to certain commands.
In that case, authentication information must be provided.
In each frontend the AccessCommands option is defined
in a different place. But in all cases the option syntax is the same:
@@ -3641,7 +3704,7 @@ and the provided arguments do not contradict Arguments. As an example to u
{_bot_reg_test, [register, unregister], [{host, "test.org"}]}
]
-
+
The ejabberd Web Admin allows to administer most of ejabberd using a web browser. This feature is enabled by default:
a ejabberd_http listener with the option web_admin (see
section 3.1.3) is included in the listening ports. Then you can open
@@ -3659,7 +3722,8 @@ you will see a page similar to figure 4.1.
Here you can edit access restrictions, manage users, create backups,
manage the database, enable/disable ports listened for, view server
-statistics,… Examples:
+statistics,… The access rule configure determines what accounts can access the Web Admin and modify it.
+The access rule webadmin_view is to grant only view access: those accounts can browse the Web Admin with read-only access. Example configurations:
-
You can serve the Web Admin on the same port as the
HTTP Polling interface. In this example
@@ -3673,9 +3737,13 @@ username ‘admin@example.net’ to administer all virtual ho
URL). If you log in with ‘admin@example.com’ on
http://example.org:5280/admin/server/example.com/ you can only
administer the virtual host example.com.
+The account ‘reviewer@example.com’ can browse that vhost in read-only mode.
{acl, admins, {user, "admin", "example.net"}}.
{host_config, "example.com", [{acl, admins, {user, "admin", "example.com"}}]}.
+{host_config, "example.com", [{acl, viewers, {user, "reviewer", "example.com"}}]}.
+
{access, configure, [{allow, admins}]}.
+{access, webadmin_view, [{allow, viewers}]}.
{hosts, ["example.org"]}.
@@ -3713,13 +3781,13 @@ The file is searched by default in
The directory of the documentation can be specified in
the environment variable EJABBERD_DOC_PATH.
See section 4.1.2.
- If you enable mod_configure and mod_adhoc,
+ If you enable mod_configure and mod_adhoc,
you can perform several administrative tasks in ejabberd
with a XMPP client.
The client must support Ad-Hoc Commands (XEP-0050),
and you must login in the XMPP server with
an account with proper privileges.
- ejabberd uses the distributed Mnesia database.
+ ejabberd uses the distributed Mnesia database.
Being distributed, Mnesia enforces consistency of its file,
so it stores the name of the Erlang node in it (see section 5.4).
The name of an Erlang node includes the hostname of the computer.
@@ -3765,8 +3833,8 @@ mv /var/lib/ejabberd/*.* /var/lib/ejabberd/oldfiles/
- 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.
-
-
+
+
You need to take the following TCP ports in mind when configuring your firewall:
Port | Description |
@@ -3777,7 +3845,7 @@ After you finish, remember to delete the temporary backup files from public dire
port range | Used for connections between Erlang nodes. This range is configurable (see section 5.2). |
- epmd (Erlang Port Mapper Daemon)
+ epmd (Erlang Port Mapper Daemon)
is a small name server included in Erlang/OTP
and used by Erlang programs when establishing distributed Erlang communications.
ejabberd needs epmd to use ejabberdctl and also when clustering ejabberd nodes.
@@ -3802,7 +3870,7 @@ but can be configured in the file ejabberdctl.cfg.
The Erlang command-line parameter used internally is, for example:
erl ... -kernel inet_dist_listen_min 4370 inet_dist_listen_max 4375
- The Erlang cookie is a string with numbers and letters.
+ The Erlang cookie is a string with numbers and letters.
An Erlang node reads the cookie at startup from the command-line parameter -setcookie.
If not indicated, the cookie is read from the cookie file $HOME/.erlang.cookie.
If this file does not exist, it is created immediately with a random cookie.
@@ -3816,7 +3884,7 @@ to prevent unauthorized access or intrusion to an Erlang node.
The communication between Erlang nodes are not encrypted,
so the cookie could be read sniffing the traffic on the network.
The recommended way to secure the Erlang node is to block the port 4369.
- An Erlang node may have a node name.
+ An Erlang node may have a node name.
The name can be short (if indicated with the command-line parameter -sname)
or long (if indicated with the parameter -name).
Starting an Erlang node with -sname limits the communication between Erlang nodes to the LAN. Using the option -sname instead of -name is a simple method
@@ -3825,7 +3893,7 @@ However, it is not ultimately effective to prevent access to the Erlang node,
because it may be possible to fake the fact that you are on another network
using a modified version of Erlang epmd.
The recommended way to secure the Erlang node is to block the port 4369.
- ejabberd stores sensitive data in the file system either in plain text or binary files.
+ ejabberd stores sensitive data in the file system either in plain text or binary files.
The file system permissions should be set to only allow the proper user to read,
write and execute those files and directories. -
ejabberd configuration file: /etc/ejabberd/ejabberd.cfg
-
@@ -3845,9 +3913,9 @@ so it is preferable to secure the whole /var/lib/ejabberd/ directory.
- Erlang cookie file: /var/lib/ejabberd/.erlang.cookie
-
See section 5.3.
-
+
-
+
A XMPP domain is served by one or more ejabberd nodes. These nodes can
be run on different machines that are connected via a network. They all
must have the ability to connect to port 4369 of all another nodes, and must
@@ -3861,29 +3929,29 @@ router,
session manager,
s2s manager.
-
+
This module is the main router of XMPP packets on each node. It
routes them based on their destination’s domains. It uses a global
routing table. The domain of the packet’s destination is searched in the
routing table, and if it is found, the packet is routed to the
appropriate process. If not, it is sent to the s2s manager.
-
+
This module routes packets which have a destination domain equal to
one of this server’s host names. If the destination JID has a non-empty user
part, it is routed to the session manager, otherwise it is processed depending
on its content.
-
+
This module routes packets to local users. It looks up to which user
resource a packet must be sent via a presence table. Then the packet is
either routed to the appropriate c2s process, or stored in offline
storage, or bounced back.
-
+
This module routes packets to other XMPP servers. First, it
checks if an opened s2s connection from the domain of the packet’s
source to the domain of the packet’s destination exists. If that is the case,
the s2s manager routes the packet to the process
serving this connection, otherwise a new connection is opened.
-
+
Suppose you already configured ejabberd on one machine named (first),
and you need to setup another one to make an ejabberd cluster. Then do
following steps: -
@@ -3921,10 +3989,10 @@ and ‘
access ’ options because they will be taken from
enabled only on one machine in the cluster.
You can repeat these steps for other machines supposed to serve this
domain.
-
+
-
-
+
+
ejabberd includes an algorithm to load balance the components that are plugged on an ejabberd cluster. It means that you can plug one or several instances of the same component on each ejabberd cluster and that the traffic will be automatically distributed. 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. If you need a different behaviour, you can change the load balancing behaviour with the option domain_balancing. The syntax of the option is the following:
- {domain_balancing, "component.example.com", BalancingCriteria}.
Several balancing criteria are available:
-
@@ -3933,12 +4001,12 @@ domain.
-
+
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. In this case, it is best to limit the problem to the sessions handled by the failing component. This is what the domain_balancing_component_number option does, making the load balancing algorithm not dynamic, but sticky on a fix number of component instances. The syntax is:
- {domain_balancing_component_number, "component.example.com", Number}.
-
+
- An ejabberd node writes two log files:
+ An ejabberd node writes two log files:
-
ejabberd.log
- is the ejabberd service log, with the messages reported by ejabberd code
- erlang.log
- is the Erlang/OTP system log, with the messages reported by Erlang/OTP using SASL (System Architecture Support Libraries)
@@ -3960,12 +4028,12 @@ The ejabberdctl command reopen-log
(please refer to section 4.1.1)
reopens the log files,
and also renames the old ones if you didn’t rename them.
- The Debug Console is an Erlang shell attached to an already running ejabberd server.
+ The Debug Console is an Erlang shell attached to an already running ejabberd server.
With this Erlang shell, an experienced administrator can perform complex tasks. This shell gives complete control over the ejabberd server,
so it is important to use it with extremely care.
There are some simple and safe examples in the article
Interconnecting Erlang Nodes To exit the shell, close the window or press the keys: control+c control+c.
-
+
ejabberd includes a watchdog mechanism that may be useful to developers
when troubleshooting a problem related to memory usage.
If a process in the ejabberd server consumes more memory than the configured threshold,
@@ -3985,7 +4053,7 @@ or in a conversation with the watchdog alert bot. The syntax is:
To remove all watchdog admins, set the option with an empty list:
{watchdog_admins, []}.
-
+
The source code of ejabberd supports localization.
The translators can edit the
gettext .po files
@@ -4020,9 +4088,9 @@ HTTP header ‘Accept-Language: ru’
|
-
+
Release notes are available from ejabberd Home Page
- Thanks to all people who contributed to this guide:
+ Thanks to all people who contributed to this guide:
- Ejabberd Installation and Operation Guide.
+ Ejabberd Installation and Operation Guide.
Copyright © 2003 — 2010 ProcessOne This document is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
diff --git a/doc/guide.tex b/doc/guide.tex
index 5de409de3..044fab829 100644
--- a/doc/guide.tex
+++ b/doc/guide.tex
@@ -98,6 +98,7 @@
\newcommand{\modvcard}{\module{mod\_vcard}}
\newcommand{\modvcardldap}{\module{mod\_vcard\_ldap}}
\newcommand{\modvcardodbc}{\module{mod\_vcard\_odbc}}
+\newcommand{\modvcardxupdate}{\module{mod\_vcard\_xupdate}}
\newcommand{\modversion}{\module{mod\_version}}
%% Contributed modules
@@ -309,8 +310,8 @@ To compile \ejabberd{} on a `Unix-like' operating system, you need:
\item GNU Make
\item GCC
\item Libexpat 1.95 or higher
-\item Erlang/OTP R10B-9 or higher. The recommended version is R12B-5. Support for R13 is experimental.
-\item OpenSSL 0.9.6 or higher, for STARTTLS, SASL and SSL encryption. Optional, highly recommended.
+\item Erlang/OTP R10B-9 or higher. The recommended versions are R12B-5 and R13B04.
+\item OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption.
\item Zlib 1.2.3 or higher, for Stream Compression support (\xepref{0138}). Optional.
\item Erlang mysql library. Optional. For MySQL authentication or storage. See section \ref{compilemysql}.
\item Erlang pgsql library. Optional. For PostgreSQL authentication or storage. See section \ref{compilepgsql}.
@@ -381,6 +382,10 @@ Some options that you may be interested in modifying:
\titem{--disable-transient-supervisors}
Disable the use of Erlang/OTP supervision for transient processes.
+
+ \titem{--enable-nif}
+ Replaces some critical Erlang functions with equivalents written in C to improve performance.
+ This feature requires Erlang/OTP R13B04 or higher.
\end{description}
\makesubsection{install}{Install}
@@ -803,12 +808,12 @@ The available modules, their purpose and the options allowed by each one are:
\texttt{zlib}
\titem{\texttt{ejabberd\_s2s\_in}}
Handles incoming s2s connections.\\
- Options: \texttt{max\_stanza\_size}
+ Options: \texttt{max\_stanza\_size}, \texttt{shaper}
\titem{\texttt{ejabberd\_service}}
Interacts with an \footahref{http://www.ejabberd.im/tutorials-transports}{external component}
(as defined in the Jabber Component Protocol (\xepref{0114}).\\
Options: \texttt{access}, \texttt{hosts}, \texttt{max\_fsm\_queue},
- \texttt{shaper}, \texttt{service\_check\_from}
+ \texttt{service\_check\_from}, \texttt{shaper}
\titem{\texttt{ejabberd\_stun}}
Handles STUN Binding requests as defined in
\footahref{http://tools.ietf.org/html/rfc5389}{RFC 5389}.\\
@@ -832,13 +837,10 @@ This is a detailed description of each option allowed by the listening modules:
lots of new incoming connections as they may be dropped if there is
no space in the queue (and ejabberd was not able to accept them
immediately). Default value is 5.
+ \titem{captcha} \ind{options!http-captcha}
+ Simple web page that allows a user to fill a CAPTCHA challenge (see section \ref{captcha}).
\titem{\{certfile, Path\}} Full path to a file containing the default SSL certificate.
To define a certificate file specific for a given domain, use the global option \term{domain\_certfile}.
- \titem{\{service\_check\_from, true|false\}} \ind{options!service\_check\_from}
- This option can be used with \term{ejabberd\_service} only. It is
- used to disable control on the from field on packets send by an
- external components. The option can be either \term{true} or
- \term{false}. The default value is \term{true} which conforms to \xepref{0114}.
\titem{\{hosts, [Hostname, ...], [HostOption, ...]\}} \ind{options!hosts}
The external Jabber component that connects to this \term{ejabberd\_service}
can serve one or more hostnames.
@@ -848,8 +850,6 @@ This is a detailed description of each option allowed by the listening modules:
Note that you cannot define in a single \term{ejabberd\_service} components of
different services: add an \term{ejabberd\_service} for each service,
as seen in an example below.
- \titem{captcha} \ind{options!http-captcha}
- Simple web page that allows a user to fill a CAPTCHA challenge (see section \ref{captcha}).
\titem{http\_bind} \ind{options!http\_bind}\ind{protocols!XEP-0206: HTTP Binding}\ind{JWChat}\ind{web-based XMPP client}
This option enables HTTP Binding (\xepref{0124} and \xepref{0206}) support. HTTP Bind
enables access via HTTP requests to \ejabberd{} from behind firewalls which
@@ -902,7 +902,7 @@ This is a detailed description of each option allowed by the listening modules:
\titem{\{max\_stanza\_size, Size\}}
\ind{options!max\_stanza\_size}This option specifies an
approximate maximum size in bytes of XML stanzas. Approximate,
- because it is calculated with the precision of one block of readed
+ because it is calculated with the precision of one block of read
data. For example \verb|{max_stanza_size, 65536}|. The default
value is \term{infinity}. Recommended values are 65536 for c2s
connections and 131072 for s2s connections. s2s max stanza size
@@ -914,10 +914,13 @@ This is a detailed description of each option allowed by the listening modules:
and you also want \term{mod\_http\_bind} to serve the URIs \term{/http-bind/},
use this option: \term{\{request\_handlers, [\{["a", "b"], mod\_foo\}, \{["http-bind"], mod\_http\_bind\}]\}}
\titem{\{service\_check\_from, true|false\}}
- By enabling this option, \ejabberd{} allows the component to send packets with any arbitrary domain in the 'from' attribute.
- Note that \xepref{0114} requires that the domain must match the hostname of the component.
- Only enable this option if you are completely sure you need to enable it.
- Default value: false.
+ \ind{options!service\_check\_from}
+ This option can be used with \term{ejabberd\_service} only.
+ \xepref{0114} requires that the domain must match the hostname of the component.
+ If this option is set to \term{false}, \ejabberd{} will allow the component
+ to send stanzas with any arbitrary domain in the 'from' attribute.
+ Only use this option if you are completely sure about it.
+ The default value is \term{true}, to be compliant with \xepref{0114}.
\titem{\{shaper, none|ShaperName\}} \ind{options!shaper}This option defines a
shaper for the port (see section~\ref{shapers}). The default value
is \term{none}.
@@ -1188,8 +1191,7 @@ for user authentication. The syntax is:
The following authentication methods are supported by \ejabberd{}:
\begin{itemize}
\item internal (default) --- See section~\ref{internalauth}.
-\item external --- There are \footahref{http://www.ejabberd.im/extauth}{some
- example authentication scripts}.
+\item external --- See section~\ref{extauth}.
\item ldap --- See section~\ref{ldap}.
\item odbc --- See section~\ref{mysql}, \ref{pgsql},
\ref{mssql} and \ref{odbc}.
@@ -1197,7 +1199,7 @@ The following authentication methods are supported by \ejabberd{}:
\item pam --- See section~\ref{pam}.
\end{itemize}
-Account creation is only supported by internal and odbc methods.
+Account creation is only supported by internal, external and odbc methods.
\makesubsubsection{internalauth}{Internal}
\ind{internal authentication}\ind{Mnesia}
@@ -1219,6 +1221,48 @@ Examples:
\end{verbatim}
\end{itemize}
+\makesubsubsection{extauth}{External Script}
+\ind{external authentication}
+
+In this authentication method, when \ejabberd{} starts,
+it start a script, and calls it to perform authentication tasks.
+
+The server administrator can write the external authentication script
+in any language.
+The details on the interface between ejabberd and the script are described
+in the \term{ejabberd Developers Guide}.
+There are also \footahref{http://www.ejabberd.im/extauth}{several example authentication scripts}.
+
+These are the specific options:
+\begin{description}
+ \titem{\{extauth\_program, PathToScript\}}
+ Indicate in this option the full path to the external authentication script.
+ The script must be executable by ejabberd.
+
+ \titem{\{extauth\_instances, Integer\}}
+ Indicate how many instances of the script to run simultaneously to serve authentication in the virtual host.
+ The default value is the minimum number: 1.
+
+ \titem{\{extauth\_cache, false|CacheTimeInteger\}}
+ The value \term{false} disables the caching feature, this is the default.
+ The integer \term{0} (zero) enables caching for statistics, but doesn't use that cached information to authenticate users.
+ If another integer value is set, caching is enabled both for statistics and for authentication:
+ the CacheTimeInteger indicates the number of seconds that ejabberd can reuse
+ the authentication information since the user last disconnected,
+ to verify again the user authentication without querying again the extauth script.
+ Note: caching should not be enabled in a host if internal auth is also enabled.
+ If caching is enabled, \term{mod\_last} or \term{mod\_last\_odbc} must be enabled also in that vhost.
+\end{description}
+
+This example sets external authentication, the extauth script, enables caching for 10 minutes,
+and starts three instances of the script for each virtual host defined in ejabberd:
+\begin{verbatim}
+{auth_method, [external]}.
+{extauth_program, "/etc/ejabberd/JabberAuth.class.php"}.
+{extauth_cache, 600}.
+{extauth_instances, 3}.
+\end{verbatim}
+
\makesubsubsection{saslanonymous}{SASL Anonymous and Anonymous Login}
\ind{sasl anonymous}\ind{anonymous login}
@@ -1299,6 +1343,10 @@ Options:
\titem{\{pam\_service, Name\}}\ind{options!pam\_service}This option defines the PAM service name.
Default is \term{"ejabberd"}. Refer to the PAM documentation of your operation system
for more information.
+\titem{\{pam\_userinfotype, username|jid\}}\ind{options!pam\_userinfotype}
+This option defines what type of information about the user ejabberd
+provides to the PAM service: only the username, or the user JID.
+Default is \term{username}.
\end{description}
Example:
@@ -1952,19 +2000,9 @@ enabled. This can be done, by using next commands:
\makesubsubsection{configuremssql}{Database Connection}
\ind{Microsoft SQL Server!Database Connection}
-By default \ejabberd{} opens 10 connections to the database for each virtual host.
-Use this option to modify the value:
-\begin{verbatim}
-{odbc_pool_size, 10}.
-\end{verbatim}
-
-You can configure an interval to make a dummy SQL request
-to keep alive the connections to the database.
-The default value is 'undefined', so no keepalive requests are made.
-Specify in seconds: for example 28800 means 8 hours.
-\begin{verbatim}
-{odbc_keepalive_interval, undefined}.
-\end{verbatim}
+The configuration of Database Connection for a Microsoft SQL Server
+is the same as the configuration for
+ODBC compatible servers (see section~\ref{configureodbc}).
\makesubsubsection{mssqlauth}{Authentication}
@@ -1972,7 +2010,8 @@ Specify in seconds: for example 28800 means 8 hours.
%TODO: not sure if this section is right!!!!!!
-The configuration of Microsoft SQL Server is the same as the configuration of
+The configuration of Authentication for a Microsoft SQL Server
+is the same as the configuration for
ODBC compatible servers (see section~\ref{odbcauth}).
\makesubsubsection{mssqlstorage}{Storage}
@@ -2169,13 +2208,19 @@ module loaded!
server and use LDAP directory as vCard storage. Shared rosters are not supported
yet.
-Note that \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
-create accounts, change password 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 \module{mod\_register} module is enabled
+and LDAP server supports
+\footahref{http://tools.ietf.org/html/rfc3062}{RFC 3062}.
\makesubsubsection{ldapconnection}{Connection}
+Two connections are established to the LDAP server per vhost,
+one for authentication and other for regular calls.
+
Parameters:
\begin{description}
\titem{\{ldap\_servers, [Servers, ...]\}} \ind{options!ldap\_server}List of IP addresses or DNS names of your
@@ -2185,6 +2230,11 @@ Allowed values are: \term{none}, \term{tls}.
The value \term{tls} enables encryption by using LDAP over SSL.
Note that STARTTLS encryption is not supported.
The default value is: \term{none}.
+\titem{\{ldap\_tls\_verify, false|soft|hard\}} \ind{options!ldap\_tls\_verify}
+This option specifies whether to verify LDAP server certificate or not when TLS is enabled.
+When \term{hard} is enabled \ejabberd{} doesn't proceed if a certificate is invalid.
+When \term{soft} is enabled \ejabberd{} proceeds even if check fails.
+The default is \term{false} which means no checks are performed.
\titem{\{ldap\_port, Number\}} \ind{options!ldap\_port}Port to connect to your LDAP server.
The default port is~389 if encryption is disabled; and 636 if encryption is enabled.
If you configure a value, it is stored in \ejabberd{}'s database.
@@ -2205,11 +2255,12 @@ Example:
{ldap_password, "secret"}.
\end{verbatim}
-Note that current LDAP implementation does not support SASL authentication.
-
\makesubsubsection{ldapauth}{Authentication}
-You can authenticate users against an LDAP directory. Available options are:
+You can authenticate users against an LDAP directory.
+Note that current LDAP implementation does not support SASL authentication.
+
+Available options are:
\begin{description}
\titem{\{ldap\_base, Base\}}\ind{options!ldap\_base}LDAP base directory which stores
@@ -2460,6 +2511,8 @@ The following table lists all modules included in \ejabberd{}.
\hline \modconfigure{} & Server configuration using Ad-Hoc & \modadhoc{} \\
\hline \ahrefloc{moddisco}{\moddisco{}} & Service Discovery (\xepref{0030}) & \\
\hline \ahrefloc{modecho}{\modecho{}} & Echoes XMPP stanzas & \\
+ \hline \ahrefloc{modhttpbind}{\modhttpbind{}} & XMPP over Bosh service (HTTP Binding) & \\
+ \hline \ahrefloc{modhttpfileserver}{\modhttpfileserver{}} & Small HTTP file server & \\
\hline \ahrefloc{modirc}{\modirc{}} & IRC transport & \\
\hline \ahrefloc{modlast}{\modlast{}} & Last Activity (\xepref{0012}) & \\
\hline \ahrefloc{modlast}{\modlastodbc{}} & Last Activity (\xepref{0012}) & supported DB (*) \\
@@ -2487,6 +2540,7 @@ The following table lists all modules included in \ejabberd{}.
\hline \ahrefloc{modvcard}{\modvcard{}} & vcard-temp (\xepref{0054}) & \\
\hline \ahrefloc{modvcardldap}{\modvcardldap{}} & vcard-temp (\xepref{0054}) & LDAP server \\
\hline \ahrefloc{modvcard}{\modvcardodbc{}} & vcard-temp (\xepref{0054}) & supported DB (*) \\
+ \hline \ahrefloc{modvcardxupdate}{\modvcardxupdate{}} & vCard-Based Avatars (\xepref{0153}) & \modvcard{} or \modvcardodbc{} \\
\hline \ahrefloc{modversion}{\modversion{}} & Software Version (\xepref{0092}) & \\
\hline
\end{tabular}
@@ -3155,6 +3209,10 @@ Module options:
\titem{\{anonymous, true|false\}} The room is anonymous:
occupants don't see the real JIDs of other occupants.
Note that the room moderators can always see the real JIDs of the occupants.
+ \titem{\{captcha\_protected, false\}}
+ When a user tries to join a room where he has no affiliation (not owner, admin or member),
+ the room requires him to fill a CAPTCHA challenge (see section \ref{captcha})
+ in order to accept her join in the room.
\titem{\{logging, false|true\}} The public messages are logged using \term{mod\_muc\_log}.
\titem{\{max\_users, 200\}} Maximum number of occupants in the room.
\titem{\{members\_by\_default, true|false\}} The occupants that enter the room are participants by default, so they have 'voice'.
@@ -3727,9 +3785,11 @@ from s2s leads to uncontrolled massive accounts creation by rogue users.
This module reads also another option defined globally for the server:
\term{\{registration\_timeout, Timeout\}}. \ind{options!registratimeout}
This option limits the frequency of registration from a given IP or username.
-So, a user can't register a new account from the same IP address or JID during
-this number of seconds after previous registration.
-Timeout is expressed in seconds, and must be an integer.
+So, a user that tries to register a new account from the same IP address or JID during
+this number of seconds after his previous registration
+will receive an error \term{resource-constraint} with the explanation:
+``Users are not allowed to register accounts so quickly''.
+The timeout is expressed in seconds, and it must be an integer.
To disable this limitation,
instead of an integer put a word like: \term{infinity}.
Default value: 600 seconds.
@@ -4109,9 +4169,12 @@ Examples:
implemented in the \modvcardldap{} module. This module does not depend on the
authentication method (see~\ref{ldapauth}).
-Note that \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
-create accounts, change password 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 \module{mod\_register} module is enabled
+and LDAP server supports
+\footahref{http://tools.ietf.org/html/rfc3062}{RFC 3062}.
The \modvcardldap{} module has
its own optional parameters. The first group of parameters has the same
@@ -4315,6 +4378,27 @@ searching his info in LDAP.
\end{verbatim}
\end{itemize}
+\makesubsection{modvcardxupdate}{\modvcardxupdate{}}
+\ind{modules!\modvcardxupdate{}}\ind{protocols!XEP-0153: vCard-Based Avatars}
+
+The user's client can store an avatar in the user vCard.
+The vCard-Based Avatars protocol (\xepref{0153})
+provides a method for clients to inform the contacts what is the avatar hash value.
+However, simple or small clients may not implement that protocol.
+
+If this module is enabled, all the outgoing client presence stanzas get automatically
+the avatar hash on behalf of the client.
+So, the contacts receive the presence stanzas with the Update Data described
+in \xepref{0153} as if the client would had inserted it itself.
+If the client had already included such element in the presence stanza,
+it is replaced with the element generated by ejabberd.
+
+By enabling this module, each vCard modification produces a hash recalculation,
+and each presence sent by a client produces hash retrieval and a
+presence stanza rewrite.
+For this reason, enabling this module will introduce a computational overhead
+in servers with clients that change frequently their presence.
+
\makesubsection{modversion}{\modversion{}}
\ind{modules!\modversion{}}\ind{protocols!XEP-0092: Software Version}
@@ -4646,7 +4730,10 @@ Here you can edit access restrictions, manage users, create backups,
manage the database, enable/disable ports listened for, view server
statistics,\ldots
-Examples:
+The access rule \term{configure} determines what accounts can access the Web Admin and modify it.
+The access rule \term{webadmin\_view} is to grant only view access: those accounts can browse the Web Admin with read-only access.
+
+Example configurations:
\begin{itemize}
\item You can serve the Web Admin on the same port as the
\ind{protocols!XEP-0025: HTTP Polling}HTTP Polling interface. In this example
@@ -4660,10 +4747,14 @@ Examples:
URL). If you log in with `\jid{admin@example.com}' on \\
\verb|http://example.org:5280/admin/server/example.com/| you can only
administer the virtual host \jid{example.com}.
+ The account `\jid{reviewer@example.com}' can browse that vhost in read-only mode.
\begin{verbatim}
{acl, admins, {user, "admin", "example.net"}}.
{host_config, "example.com", [{acl, admins, {user, "admin", "example.com"}}]}.
+{host_config, "example.com", [{acl, viewers, {user, "reviewer", "example.com"}}]}.
+
{access, configure, [{allow, admins}]}.
+{access, webadmin_view, [{allow, viewers}]}.
{hosts, ["example.org"]}.
diff --git a/doc/release_notes_2.1.4.txt b/doc/release_notes_2.1.4.txt
new file mode 100644
index 000000000..c4fe4bf8c
--- /dev/null
+++ b/doc/release_notes_2.1.4.txt
@@ -0,0 +1,80 @@
+
+ Release Notes
+ ejabberd 2.1.4
+
+ ejabberd 2.1.4 is the fourth release in ejabberd 2.1.x branch,
+ and includes many small bugfixes and improvements.
+
+ Read more details about the changes in:
+ http://redir.process-one.net/ejabberd-2.1.4
+
+ Download the source code and installers from:
+ http://www.process-one.net/en/ejabberd/
+
+
+ This is the full list of changes:
+
+* Authentication
+- Extauth: Optionally cache extauth users in mnesia (EJAB-641)
+- LDAP: Allow inband password change (EJAB-199)
+- LDAP: Extensible match support (EJAB-722)
+- LDAP: New option ldap_tls_verify is added (EJAB-1229)
+- PAM: New option pam_userinfotype to provide username or JID (EJAB-652)
+
+* HTTP
+- Add xml default content type
+- Don't show HTTP request in logs, because reveals password (EJAB-1231)
+- Move HTTP session timeout log from warning level to info
+- New Access rule webadmin_view for read-only
+
+* HTTP-Bind (BOSH)
+- Change max inactivity from 30 to 120 seconds
+- Export functions to facilitate prebinding methods
+- Use dirty_delete when removing the session
+- Remove an unneeded delay of 100 milliseconds
+
+* Pubsub, PEP and Caps
+- Enforce pubsub#presence_based_delivery (EJAB-1221)
+- Enforce pubsub#show_values subscription option (EJAB-1096)
+- Fix error code when unsubscribing from a non-existent node
+- Fix to send node notifications (EJAB-1225)
+- Full support for XEP-0115 v1.5 (EJAB-1223)(EJAB-1189)
+- Make last_item_cache feature to be cluster aware
+- Prevent orphaned pubsub node (EJAB-1233)
+- Send created node notifications
+
+* Other
+- Bounce messages when closing c2s session
+- Bugfixes when handling Service Discovery to contacts (EJAB-1207)
+- Compilation of ejabberd_debug.erl is now optional
+- Don't send error stanza as reply to error stanza (EJAB-930)
+- Don't store blocked messages in offline queue
+- Reduce verbosity of log when captcha_cmd is checked but not configured
+- Use a standard method to get a random seed (EJAB-1229)
+- Commands: new update_list and update to update modified modules (EJAB-1237)
+- Localization: Updated most translations
+- MUC: Refactor code to reduce calls to get_affiliation and get_role
+- ODBC: Add created_at column also to PostgreSQL schema
+- Vcard: Automatic vcard avatar addition in presence
+
+
+ Upgrading From previous ejabberd releases:
+
+- If you use PostgreSQL, maybe you want to add the column created_at
+ to several tables. This is only a suggestion; ejabberd doesn't use
+ that column. Add it to your existing database executing those SQL
+ statements:
+
+ALTER TABLE users ADD COLUMN created_at TIMESTAMP NOT NULL DEFAULT now();
+ALTER TABLE rosterusers ADD COLUMN created_at TIMESTAMP NOT NULL DEFAULT now();
+ALTER TABLE spool ADD COLUMN created_at TIMESTAMP NOT NULL DEFAULT now();
+ALTER TABLE vcard ADD COLUMN created_at TIMESTAMP NOT NULL DEFAULT now();
+ALTER TABLE privacy_list ADD COLUMN created_at TIMESTAMP NOT NULL DEFAULT now();
+ALTER TABLE privacy_storage ADD COLUMN created_at TIMESTAMP NOT NULL DEFAULT now();
+
+
+ Bug reports
+
+ You can officially report bugs on ProcessOne support site:
+ http://support.process-one.net/
+
diff --git a/doc/release_notes_2.1.5.txt b/doc/release_notes_2.1.5.txt
new file mode 100644
index 000000000..a13b452d6
--- /dev/null
+++ b/doc/release_notes_2.1.5.txt
@@ -0,0 +1,70 @@
+
+ Release Notes
+ ejabberd 2.1.5
+
+ ejabberd 2.1.5 is the fifth release in ejabberd 2.1.x branch,
+ and includes several minor bugfixes and a few improvements.
+
+ Read more details about the changes in:
+ http://redir.process-one.net/ejabberd-2.1.4
+
+ Download the source code and installers from:
+ http://www.process-one.net/en/ejabberd/
+
+
+ This is the full list of changes:
+
+* Authentication
+- Extauth: Support parallel script running (EJAB-1280)
+- mod_register: Return Registered element when account exists
+
+* ejabberdctl
+- Fix print of command result that contains ~
+- Fix problem when FIREWALL_WINDOW options for erl kernel were used
+- Fix typo in update_list command (EJAB-1237)
+- Some systems delete the lock dir; in such case don't use flock at all
+- The command Update now returns meaningful message and exit-status (EJAB-1237)
+
+* HTTP-Bind (BOSH)
+- Don't say v1.2 in the Bind HTTP page
+- New optional BOSH connection attribute process-delay (EJAB-1257)
+
+* MUC
+- Document the mod_muc option captcha_protected
+- Now admins are able to see private rooms in disco (EJAB-1269)
+- Show some more room options in the log file
+
+* ODBC
+- Correct handling of SQL boolean types (EJAB-1275)
+- Discard too old queued requests (the caller has already got a timeout)
+- Fixes wrong SQL escaping when --enable-full-xml is set
+- Use ets insead of asking supervisor in ejabberd_odbc_sup:get_pids/1
+
+* Pubsub, PEP and Caps
+- Enforce disco features results (EJAB-1033, EJAB-1228, EJAB-1238)
+- Support all the hash functions required by Caps XEP-0115
+
+* Requirements
+- Fixed support for Erlang R12; which doesn't support: true andalso ok
+- Support OTP R14A by using public_key library instead of old ssl (EJAB-953)
+- Requirement of OpenSSL increased from 0.9.6 to 0.9.8
+- OpenSSL is now required, not optional
+
+* Other
+- Don't ask for client certificate when using tls (EJAB-1267)
+- Fix typo in --enable-transient_supervisors
+- Fix privacy check when serving local Last (EJAB-1271)
+- Inform client that SSL session caching is disabled
+- New configure option: --enable-nif
+- Use driver allocator in C files for reflecting memory in erlang:memory(system)
+- Debug: New p1_prof compiled with: make debugtools=true
+- Debug: Added functions to collect stats about queues, memory, reductions etc
+- HTTP: Log error if request has ambiguous Host header (EJAB-1261)
+- Logs: When logging s2s out connection attempt or success, log if TLS is used
+- Shared Rosters: When account is deleted, delete also member of stored rosters
+
+
+ Bug reports
+
+ You can officially report bugs on ProcessOne support site:
+ http://support.process-one.net/
diff --git a/doc/version.tex b/doc/version.tex
index ab1e2dadb..905ac86f2 100644
--- a/doc/version.tex
+++ b/doc/version.tex
@@ -1,2 +1,2 @@
% ejabberd version (automatically generated).
-\newcommand{\version}{2.1.3}
+\newcommand{\version}{2.1.x}
diff --git a/examples/extauth/check_pass_null.pl b/examples/extauth/check_pass_null.pl
old mode 100644
new mode 100755
diff --git a/src/Makefile.in b/src/Makefile.in
index 496d101bc..4e561813d 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -30,15 +30,17 @@ else
INIT_USER=$(INSTALLUSER)
endif
-EFLAGS += @ERLANG_SSL39@ -pa .
+EFLAGS += @ERLANG_SSLVER@ -pa .
+ERLANG_CFLAGS += @ERLANG_SSLVER@
# make debug=true to compile Erlang module with debug informations.
ifdef debug
EFLAGS+=+debug_info +export_all
endif
-ifdef ejabberd_debug
- EFLAGS+=-Dejabberd_debug
+DEBUGTOOLS = p1_prof.erl
+ifdef debugtools
+ SOURCES+=$(DEBUGTOOLS)
endif
ifeq (@hipe@, true)
@@ -53,10 +55,20 @@ ifeq (@full_xml@, true)
EFLAGS+=-DFULL_XML_SUPPORT
endif
+ifeq (@nif@, true)
+ EFLAGS+=-DNIF
+ ERLSHLIBS=xml.so
+endif
+
ifeq (@transient_supervisors@, false)
EFLAGS+=-DNO_TRANSIENT_SUPERVISORS
endif
+ifeq (@md2@, true)
+ EFLAGS+=-DHAVE_MD2
+ ERLANG_CFLAGS += -DHAVE_MD2
+endif
+
INSTALL_EPAM=
ifeq (@pam@, pam)
INSTALL_EPAM=install -m 750 $(O_USER) epam $(PBINDIR)
@@ -66,10 +78,11 @@ prefix = @prefix@
exec_prefix = @exec_prefix@
SUBDIRS = @mod_irc@ @mod_pubsub@ @mod_muc@ @mod_proxy65@ @eldap@ @pam@ @web@ stringprep stun @tls@ @odbc@ @ejabberd_zlib@
-ERLSHLIBS = expat_erl.so
+ERLSHLIBS += expat_erl.so
ERLBEHAVS = cyrsasl.erl gen_mod.erl p1_fsm.erl
SOURCES_ALL = $(wildcard *.erl)
-SOURCES = $(filter-out $(ERLBEHAVS),$(SOURCES_ALL))
+SOURCES_MISC = $(ERLBEHAVS) $(DEBUGTOOLS)
+SOURCES += $(filter-out $(SOURCES_MISC),$(SOURCES_ALL))
ERLBEHAVBEAMS = $(ERLBEHAVS:.erl=.beam)
BEAMS = $(SOURCES:.erl=.beam)
@@ -247,9 +260,14 @@ install: all
#
# Documentation
install -d $(DOCDIR)
+ install -m 644 ../doc/dev.html $(DOCDIR)
install -m 644 ../doc/guide.html $(DOCDIR)
install -m 644 ../doc/*.png $(DOCDIR)
install -m 644 ../doc/*.txt $(DOCDIR)
+ [ -f ../doc/guide.pdf ] \
+ && install -m 644 ../doc/guide.pdf $(DOCDIR) \
+ || echo "No ../doc/guide.pdf was built"
+ install -m 644 ../COPYING $(DOCDIR)
uninstall: uninstall-binary
diff --git a/src/aclocal.m4 b/src/aclocal.m4
index 79b0e3ec7..5d9dbca60 100644
--- a/src/aclocal.m4
+++ b/src/aclocal.m4
@@ -121,7 +121,6 @@ AC_DEFUN(AM_WITH_ERLANG,
-author('alexey@sevcom.net').
-export([[start/0]]).
--include_lib("ssl/include/ssl_pkix.hrl").
start() ->
EIDirS = code:lib_dir("erl_interface") ++ "\n",
@@ -130,11 +129,13 @@ start() ->
file:write_file("conftest.out", list_to_binary(EIDirS ++ EILibS ++ ssldef() ++ RootDirS)),
halt().
--[ifdef]('id-pkix').
-ssldef() -> "-DSSL39\n".
--else.
-ssldef() -> "\n".
--endif.
+ssldef() ->
+ OTP = (catch erlang:system_info(otp_release)),
+ if
+ OTP >= "R14" -> "-DSSL40\n";
+ OTP >= "R12" -> "-DSSL39\n";
+ true -> "\n"
+ end.
%% return physical architecture based on OS/Processor
archname() ->
@@ -184,7 +185,7 @@ _EOF
# Second line
ERLANG_EI_LIB=`cat conftest.out | head -n 2 | tail -n 1`
# Third line
- ERLANG_SSL39=`cat conftest.out | head -n 3 | tail -n 1`
+ ERLANG_SSLVER=`cat conftest.out | head -n 3 | tail -n 1`
# End line
ERLANG_DIR=`cat conftest.out | tail -n 1`
@@ -193,7 +194,7 @@ _EOF
AC_SUBST(ERLANG_CFLAGS)
AC_SUBST(ERLANG_LIBS)
- AC_SUBST(ERLANG_SSL39)
+ AC_SUBST(ERLANG_SSLVER)
AC_SUBST(ERLC)
AC_SUBST(ERL)
])
diff --git a/src/adhoc.erl b/src/adhoc.erl
index 45574e230..96669d237 100644
--- a/src/adhoc.erl
+++ b/src/adhoc.erl
@@ -1,7 +1,7 @@
%%%----------------------------------------------------------------------
%%% File : adhoc.erl
%%% Author : Magnus Henoch
-%%% Purpose : Provide helper functions for ad-hoc commands (JEP-0050)
+%%% Purpose : Provide helper functions for ad-hoc commands (XEP-0050)
%%% Created : 31 Oct 2005 by Magnus Henoch
%%%
%%%
diff --git a/src/configure b/src/configure
index a1a7cba6a..d515abc22 100755
--- a/src/configure
+++ b/src/configure
@@ -1,12 +1,14 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for ejabberd.erl version.
+# Generated by GNU Autoconf 2.65 for ejabberd 2.1.x.
#
# Report bugs to .
#
+#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
@@ -527,7 +529,8 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-exec 7<&0 &1
+test -n "$DJDIR" || exec 7<&0 &1
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
@@ -547,10 +550,10 @@ MFLAGS=
MAKEFLAGS=
# Identity of this package.
-PACKAGE_NAME='ejabberd.erl'
+PACKAGE_NAME='ejabberd'
PACKAGE_TARNAME='ejabberd'
-PACKAGE_VERSION='version'
-PACKAGE_STRING='ejabberd.erl version'
+PACKAGE_VERSION='2.1.x'
+PACKAGE_STRING='ejabberd 2.1.x'
PACKAGE_BUGREPORT='ejabberd@process-one.net'
PACKAGE_URL=''
@@ -605,9 +608,11 @@ build_os
build_vendor
build_cpu
build
+md2
INSTALLUSER
SSL_CFLAGS
SSL_LIBS
+nif
full_xml
transient_supervisors
db_type
@@ -644,7 +649,7 @@ EGREP
GREP
CPP
LIBICONV
-ERLANG_SSL39
+ERLANG_SSLVER
ERLANG_LIBS
ERLANG_CFLAGS
ERL
@@ -718,6 +723,7 @@ enable_roster_gateway_workaround
enable_mssql
enable_transient_supervisors
enable_full_xml
+enable_nif
with_openssl
enable_user
'
@@ -1273,7 +1279,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ejabberd.erl version to adapt to many kinds of systems.
+\`configure' configures ejabberd 2.1.x to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1339,7 +1345,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ejabberd.erl version:";;
+ short | recursive ) echo "Configuration of ejabberd 2.1.x:";;
esac
cat <<\_ACEOF
@@ -1369,6 +1375,8 @@ Optional Features:
(default: yes)
--enable-full-xml use XML features in XMPP stream (ex: CDATA)
(default: no, requires XML compliant clients)
+ --enable-nif replace some functions with C equivalents. Requires
+ Erlang R13B04 or higher (default: no)
--enable-user[[[=USER]]]
allow this system user to start ejabberd (default:
no)
@@ -1390,7 +1398,7 @@ Some influential environment variables:
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
CPP C preprocessor
ERLC Erlang/OTP compiler command [autodetected]
@@ -1462,8 +1470,8 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ejabberd.erl configure version
-generated by GNU Autoconf 2.64
+ejabberd configure 2.1.x
+generated by GNU Autoconf 2.65
Copyright (C) 2009 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@@ -1510,7 +1518,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
@@ -1556,7 +1564,7 @@ fi
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_link
@@ -1593,7 +1601,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
@@ -1728,7 +1736,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_run
@@ -1801,15 +1809,15 @@ sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_erl_try_run
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ejabberd.erl $as_me version, which was
-generated by GNU Autoconf 2.64. Invocation command line was
+It was created by ejabberd $as_me 2.1.x, which was
+generated by GNU Autoconf 2.65. Invocation command line was
$ $0 $@
@@ -2062,7 +2070,7 @@ fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
- if test -r "$ac_site_file"; then
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
@@ -2071,9 +2079,9 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
done
if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
@@ -2479,32 +2487,30 @@ $as_echo "$ac_try_echo"; } >&5
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
- rm -f conftest.er1 conftest.err
fi
+ rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include
+
int
main ()
{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
@@ -2566,10 +2572,10 @@ test "$ac_cv_exeext" = no && ac_cv_exeext=
else
ac_file=''
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then :
- $as_echo "$as_me: failed program was:" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
@@ -2577,51 +2583,18 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ as_fn_set_status 77
as_fn_error "C compiler cannot create executables
See \`config.log' for more details." "$LINENO" 5; }; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
@@ -2654,13 +2627,72 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." "$LINENO" 5; }
fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then :
@@ -3180,7 +3212,6 @@ fi
-author('alexey@sevcom.net').
-export([start/0]).
--include_lib("ssl/include/ssl_pkix.hrl").
start() ->
EIDirS = code:lib_dir("erl_interface") ++ "\n",
@@ -3189,11 +3220,13 @@ start() ->
file:write_file("conftest.out", list_to_binary(EIDirS ++ EILibS ++ ssldef() ++ RootDirS)),
halt().
--ifdef('id-pkix').
-ssldef() -> "-DSSL39\n".
--else.
-ssldef() -> "\n".
--endif.
+ssldef() ->
+ OTP = (catch erlang:system_info(otp_release)),
+ if
+ OTP >= "R14" -> "-DSSL40\n";
+ OTP >= "R12" -> "-DSSL39\n";
+ true -> "\n"
+ end.
%% return physical architecture based on OS/Processor
archname() ->
@@ -3243,7 +3276,7 @@ _EOF
# Second line
ERLANG_EI_LIB=`cat conftest.out | head -n 2 | tail -n 1`
# Third line
- ERLANG_SSL39=`cat conftest.out | head -n 3 | tail -n 1`
+ ERLANG_SSLVER=`cat conftest.out | head -n 3 | tail -n 1`
# End line
ERLANG_DIR=`cat conftest.out | tail -n 1`
@@ -4623,7 +4656,7 @@ if test "${enable_transient_supervisors+set}" = set; then :
enableval=$enable_transient_supervisors; case "${enableval}" in
yes) transient_supervisors=true ;;
no) transient_supervisors=false ;;
- *) as_fn_error "bad value ${enableval} for --enable-full-xml" "$LINENO" 5 ;;
+ *) as_fn_error "bad value ${enableval} for --enable-transient_supervisors" "$LINENO" 5 ;;
esac
else
transient_supervisors=true
@@ -4644,6 +4677,19 @@ fi
+# Check whether --enable-nif was given.
+if test "${enable_nif+set}" = set; then :
+ enableval=$enable_nif; case "${enableval}" in
+ yes) nif=true ;;
+ no) nif=false ;;
+ *) as_fn_error "bad value ${enableval} for --enable-nif" "$LINENO" 5 ;;
+esac
+else
+ nif=false
+fi
+
+
+
ac_config_files="$ac_config_files Makefile $make_mod_irc $make_mod_muc $make_mod_pubsub $make_mod_proxy65 $make_eldap $make_pam $make_web stringprep/Makefile stun/Makefile $make_tls $make_odbc $make_ejabberd_zlib"
#openssl
@@ -4777,6 +4823,16 @@ if test "$ENABLEUSER" != ""; then
fi
+ac_fn_c_check_header_mongrel "$LINENO" "openssl/md2.h" "ac_cv_header_openssl_md2_h" "$ac_includes_default"
+if test "x$ac_cv_header_openssl_md2_h" = x""yes; then :
+ md2=true
+else
+ md2=false
+fi
+
+
+
+
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
for ac_t in install-sh install.sh shtool; do
@@ -4920,7 +4976,7 @@ case "$target_os" in
echo "Target OS is 'Darwin10'"
ac_ext=erl
ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5'
-ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 ; echo "#!/bin/sh" > conftest$ac_exeext ; $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext ; chmod +x conftest$ac_exeext'
+ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext'
if test -n "$ERLC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for erlc" >&5
@@ -5609,8 +5665,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ejabberd.erl $as_me version, which was
-generated by GNU Autoconf 2.64. Invocation command line was
+This file was extended by ejabberd $as_me 2.1.x, which was
+generated by GNU Autoconf 2.65. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -5645,6 +5701,7 @@ Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
@@ -5659,10 +5716,11 @@ Report bugs to ."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-ejabberd.erl config.status version
-configured by $0, generated by GNU Autoconf 2.64,
- with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+ejabberd config.status 2.1.x
+configured by $0, generated by GNU Autoconf 2.65,
+ with options \\"\$ac_cs_config\\"
Copyright (C) 2009 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
@@ -5697,6 +5755,8 @@ do
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
@@ -5876,7 +5936,7 @@ s/'"$ac_delim"'$//
t delim
:nl
h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
@@ -5890,7 +5950,7 @@ s/.\{148\}//
t nl
:delim
h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
diff --git a/src/configure.ac b/src/configure.ac
index 101baac2f..1d25dd871 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.53)
-AC_INIT(ejabberd.erl, version, [ejabberd@process-one.net], [ejabberd])
+AC_INIT(ejabberd, m4_esyscmd([grep -o -E "\{vsn,.\".*\"\}" ejabberd.app | cut -d \" -f 2 | tr -d '\n']), [ejabberd@process-one.net], [ejabberd])
# Checks for programs.
AC_PROG_CC
@@ -81,7 +81,7 @@ AC_ARG_ENABLE(transient_supervisors,
[case "${enableval}" in
yes) transient_supervisors=true ;;
no) transient_supervisors=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-full-xml) ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-transient_supervisors) ;;
esac],[transient_supervisors=true])
AC_SUBST(transient_supervisors)
@@ -94,6 +94,15 @@ AC_ARG_ENABLE(full_xml,
esac],[full_xml=false])
AC_SUBST(full_xml)
+AC_ARG_ENABLE(nif,
+[AC_HELP_STRING([--enable-nif], [replace some functions with C equivalents. Requires Erlang R13B04 or higher (default: no)])],
+[case "${enableval}" in
+ yes) nif=true ;;
+ no) nif=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-nif) ;;
+esac],[nif=false])
+AC_SUBST(nif)
+
AC_CONFIG_FILES([Makefile
$make_mod_irc
$make_mod_muc
@@ -139,6 +148,9 @@ if test "$ENABLEUSER" != ""; then
AC_SUBST([INSTALLUSER], [$ENABLEUSER])
fi
+AC_CHECK_HEADER(openssl/md2.h, md2=true, md2=false)
+AC_SUBST(md2)
+
AC_CANONICAL_SYSTEM
#AC_DEFINE_UNQUOTED(CPU_VENDOR_OS, "$target")
#AC_SUBST(target_os)
diff --git a/src/ejabberd.app b/src/ejabberd.app
index 2f5f1238f..67653d241 100644
--- a/src/ejabberd.app
+++ b/src/ejabberd.app
@@ -2,7 +2,7 @@
{application, ejabberd,
[{description, "ejabberd"},
- {vsn, "2.1.3"},
+ {vsn, "2.1.x"},
{modules, [acl,
adhoc,
configure,
@@ -115,6 +115,7 @@
nodetree_virtual,
p1_fsm,
p1_mnesia,
+ p1_prof,
randoms,
sha,
shaper,
diff --git a/src/ejabberd_admin.erl b/src/ejabberd_admin.erl
index bf4b5bd1c..f3db0ca38 100644
--- a/src/ejabberd_admin.erl
+++ b/src/ejabberd_admin.erl
@@ -31,6 +31,8 @@
%% Server
status/0, reopen_log/0,
stop_kindly/2, send_service_message_all_mucs/2,
+ %% Erlang
+ update_list/0, update/1,
%% Accounts
register/3, unregister/2,
registered_users/1,
@@ -95,6 +97,17 @@ commands() ->
{leveldesc, string}
]}}},
+ #ejabberd_commands{name = update_list, tags = [server],
+ desc = "List modified modules that can be updated",
+ module = ?MODULE, function = update_list,
+ args = [],
+ result = {modules, {list, {module, string}}}},
+ #ejabberd_commands{name = update, tags = [server],
+ desc = "Update the given module, or use the keyword: all",
+ module = ?MODULE, function = update,
+ args = [{module, string}],
+ result = {res, restuple}},
+
#ejabberd_commands{name = register, tags = [accounts],
desc = "Register a user",
module = ?MODULE, function = register,
@@ -150,7 +163,7 @@ commands() ->
#ejabberd_commands{name = set_master, tags = [mnesia],
desc = "Set master node of the clustered Mnesia tables",
- longdesc = "If you provie as nodename \"self\", this "
+ longdesc = "If you provide as nodename \"self\", this "
"node will be set as its own master.",
module = ?MODULE, function = set_master,
args = [{nodename, string}], result = {res, restuple}},
@@ -276,6 +289,27 @@ send_service_message_all_mucs(Subject, AnnouncementText) ->
end,
?MYHOSTS).
+%%%
+%%% ejabberd_update
+%%%
+
+update_list() ->
+ {ok, _Dir, UpdatedBeams, _Script, _LowLevelScript, _Check} =
+ ejabberd_update:update_info(),
+ [atom_to_list(Beam) || Beam <- UpdatedBeams].
+
+update("all") ->
+ [update_module(ModStr) || ModStr <- update_list()];
+update(ModStr) ->
+ update_module(ModStr).
+
+update_module(ModuleNameString) ->
+ ModuleName = list_to_atom(ModuleNameString),
+ case ejabberd_update:update([ModuleName]) of
+ {ok, Res} -> {ok, io_lib:format("Updated: ~p", [Res])};
+ {error, Reason} -> {error, Reason}
+ end.
+
%%%
%%% Account management
%%%
@@ -283,7 +317,7 @@ send_service_message_all_mucs(Subject, AnnouncementText) ->
register(User, Host, Password) ->
case ejabberd_auth:try_register(User, Host, Password) of
{atomic, ok} ->
- {ok, io_lib:format("User ~s@~s succesfully registered", [User, Host])};
+ {ok, io_lib:format("User ~s@~s successfully registered", [User, Host])};
{atomic, exists} ->
String = io_lib:format("User ~s@~s already registered at node ~p",
[User, Host, node()]),
diff --git a/src/ejabberd_app.erl b/src/ejabberd_app.erl
index 7d40c64c4..22279046f 100644
--- a/src/ejabberd_app.erl
+++ b/src/ejabberd_app.erl
@@ -46,6 +46,7 @@ start(normal, _Args) ->
db_init(),
sha:start(),
stringprep_sup:start_link(),
+ xml:start(),
start(),
translate:start(),
acl:start(),
@@ -56,6 +57,8 @@ start(normal, _Args) ->
ejabberd_config:start(),
ejabberd_check:config(),
connect_nodes(),
+ %% Loading ASN.1 driver explicitly to avoid races in LDAP
+ catch asn1rt:load_driver(),
Sup = ejabberd_sup:start_link(),
ejabberd_rdbms:start(),
ejabberd_auth:start(),
@@ -85,7 +88,7 @@ prep_stop(State) ->
stop(_State) ->
?INFO_MSG("ejabberd ~s is stopped in the node ~p", [?VERSION, node()]),
delete_pid_file(),
- ejabberd_debug:stop(),
+ %%ejabberd_debug:stop(),
ok.
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
index 4ee39d15c..30ef97685 100644
--- a/src/ejabberd_auth.erl
+++ b/src/ejabberd_auth.erl
@@ -251,7 +251,16 @@ get_password_with_authmodule(User, Server) ->
is_user_exists(User, Server) ->
lists:any(
fun(M) ->
- M:is_user_exists(User, Server)
+ case M:is_user_exists(User, Server) of
+ {error, Error} ->
+ ?ERROR_MSG("The authentication module ~p returned an "
+ "error~nwhen checking user ~p in server ~p~n"
+ "Error message: ~p",
+ [M, User, Server, Error]),
+ false;
+ Else ->
+ Else
+ end
end, auth_modules(Server)).
%% Check if the user exists in all authentications module except the module
diff --git a/src/ejabberd_auth_external.erl b/src/ejabberd_auth_external.erl
index 60cea18f3..6f18b3911 100644
--- a/src/ejabberd_auth_external.erl
+++ b/src/ejabberd_auth_external.erl
@@ -35,6 +35,9 @@
try_register/3,
dirty_get_registered_users/0,
get_vh_registered_users/1,
+ get_vh_registered_users/2,
+ get_vh_registered_users_number/1,
+ get_vh_registered_users_number/2,
get_password/2,
get_password_s/2,
is_user_exists/2,
@@ -43,45 +46,87 @@
plain_password_required/0
]).
+-include("ejabberd.hrl").
+
%%%----------------------------------------------------------------------
%%% API
%%%----------------------------------------------------------------------
start(Host) ->
extauth:start(
Host, ejabberd_config:get_local_option({extauth_program, Host})),
- ok.
+ case check_cache_last_options(Host) of
+ cache ->
+ ok = ejabberd_auth_internal:start(Host);
+ no_cache ->
+ ok
+ end.
+
+check_cache_last_options(Server) ->
+ %% if extauth_cache is enabled, then a mod_last module must also be enabled
+ case get_cache_option(Server) of
+ false -> no_cache;
+ {true, _CacheTime} ->
+ case get_mod_last_enabled(Server) of
+ no_mod_last ->
+ ?ERROR_MSG("In host ~p extauth is used, extauth_cache is enabled but "
+ "mod_last is not enabled.", [Server]),
+ no_cache;
+ _ -> cache
+ end
+ end.
plain_password_required() ->
true.
check_password(User, Server, Password) ->
- extauth:check_password(User, Server, Password) andalso Password /= "".
+ case get_cache_option(Server) of
+ false -> check_password_extauth(User, Server, Password);
+ {true, CacheTime} -> check_password_cache(User, Server, Password, CacheTime)
+ end.
check_password(User, Server, Password, _Digest, _DigestGen) ->
check_password(User, Server, Password).
set_password(User, Server, Password) ->
case extauth:set_password(User, Server, Password) of
- true -> ok;
+ true -> set_password_internal(User, Server, Password),
+ ok;
_ -> {error, unknown_problem}
end.
-try_register(_User, _Server, _Password) ->
- {error, not_allowed}.
+try_register(User, Server, Password) ->
+ case get_cache_option(Server) of
+ false -> try_register_extauth(User, Server, Password);
+ {true, _CacheTime} -> try_register_external_cache(User, Server, Password)
+ end.
-%% TODO
-%% Return the list of all users handled by external
dirty_get_registered_users() ->
- [].
+ ejabberd_auth_internal:dirty_get_registered_users().
-get_vh_registered_users(_Server) ->
- [].
+get_vh_registered_users(Server) ->
+ ejabberd_auth_internal:get_vh_registered_users(Server).
-get_password(_User, _Server) ->
- false.
+get_vh_registered_users(Server, Data) ->
+ ejabberd_auth_internal:get_vh_registered_users(Server, Data).
-get_password_s(_User, _Server) ->
- "".
+get_vh_registered_users_number(Server) ->
+ ejabberd_auth_internal:get_vh_registered_users_number(Server).
+
+get_vh_registered_users_number(Server, Data) ->
+ ejabberd_auth_internal:get_vh_registered_users_number(Server, Data).
+
+%% The password can only be returned if cache is enabled, cached info exists and is fresh enough.
+get_password(User, Server) ->
+ case get_cache_option(Server) of
+ false -> false;
+ {true, CacheTime} -> get_password_cache(User, Server, CacheTime)
+ end.
+
+get_password_s(User, Server) ->
+ case get_password(User, Server) of
+ false -> [];
+ Other -> Other
+ end.
%% @spec (User, Server) -> true | false | {error, Error}
is_user_exists(User, Server) ->
@@ -91,9 +136,169 @@ is_user_exists(User, Server) ->
_:Error -> {error, Error}
end.
-remove_user(_User, _Server) ->
- {error, not_allowed}.
+remove_user(User, Server) ->
+ case extauth:remove_user(User, Server) of
+ false -> false;
+ true ->
+ case get_cache_option(Server) of
+ false -> false;
+ {true, _CacheTime} ->
+ ejabberd_auth_internal:remove_user(User, Server)
+ end
+ end.
-remove_user(_User, _Server, _Password) ->
- not_allowed.
+remove_user(User, Server, Password) ->
+ case extauth:remove_user(User, Server, Password) of
+ false -> false;
+ true ->
+ case get_cache_option(Server) of
+ false -> false;
+ {true, _CacheTime} ->
+ ejabberd_auth_internal:remove_user(User, Server, Password)
+ end
+ end.
+%%%
+%%% Extauth cache management
+%%%
+
+%% @spec (Host::string()) -> false | {true, CacheTime::integer()}
+get_cache_option(Host) ->
+ case ejabberd_config:get_local_option({extauth_cache, Host}) of
+ CacheTime when is_integer(CacheTime) -> {true, CacheTime};
+ _ -> false
+ end.
+
+%% @spec (User, Server, Password) -> true | false
+check_password_extauth(User, Server, Password) ->
+ extauth:check_password(User, Server, Password) andalso Password /= "".
+
+%% @spec (User, Server, Password) -> true | false
+try_register_extauth(User, Server, Password) ->
+ extauth:try_register(User, Server, Password).
+
+check_password_cache(User, Server, Password, CacheTime) ->
+ case get_last_access(User, Server) of
+ online ->
+ check_password_internal(User, Server, Password);
+ never ->
+ check_password_external_cache(User, Server, Password);
+ mod_last_required ->
+ ?ERROR_MSG("extauth is used, extauth_cache is enabled but mod_last is not enabled in that host", []),
+ check_password_external_cache(User, Server, Password);
+ TimeStamp ->
+ %% If last access exists, compare last access with cache refresh time
+ case is_fresh_enough(TimeStamp, CacheTime) of
+ %% If no need to refresh, check password against Mnesia
+ true ->
+ case check_password_internal(User, Server, Password) of
+ %% If password valid in Mnesia, accept it
+ true ->
+ true;
+ %% Else (password nonvalid in Mnesia), check in extauth and cache result
+ false ->
+ check_password_external_cache(User, Server, Password)
+ end;
+ %% Else (need to refresh), check in extauth and cache result
+ false ->
+ check_password_external_cache(User, Server, Password)
+ end
+ end.
+
+get_password_internal(User, Server) ->
+ ejabberd_auth_internal:get_password(User, Server).
+
+%% @spec (User, Server, CacheTime) -> false | Password::string()
+get_password_cache(User, Server, CacheTime) ->
+ case get_last_access(User, Server) of
+ online ->
+ get_password_internal(User, Server);
+ never ->
+ false;
+ mod_last_required ->
+ ?ERROR_MSG("extauth is used, extauth_cache is enabled but mod_last is not enabled in that host", []),
+ false;
+ TimeStamp ->
+ case is_fresh_enough(TimeStamp, CacheTime) of
+ true ->
+ get_password_internal(User, Server);
+ false ->
+ false
+ end
+ end.
+
+
+%% Check the password using extauth; if success then cache it
+check_password_external_cache(User, Server, Password) ->
+ case check_password_extauth(User, Server, Password) of
+ true ->
+ set_password_internal(User, Server, Password), true;
+ false ->
+ false
+ end.
+
+%% Try to register using extauth; if success then cache it
+try_register_external_cache(User, Server, Password) ->
+ case try_register_extauth(User, Server, Password) of
+ {atomic, ok} = R ->
+ set_password_internal(User, Server, Password),
+ R;
+ _ -> {error, not_allowed}
+ end.
+
+%% @spec (User, Server, Password) -> true | false
+check_password_internal(User, Server, Password) ->
+ ejabberd_auth_internal:check_password(User, Server, Password).
+
+%% @spec (User, Server, Password) -> ok | {error, invalid_jid}
+set_password_internal(User, Server, Password) ->
+ ejabberd_auth_internal:set_password(User, Server, Password).
+
+%% @spec (TimeLast, CacheTime) -> true | false
+%% TimeLast = online | never | integer()
+%% CacheTime = integer() | false
+is_fresh_enough(online, _CacheTime) ->
+ true;
+is_fresh_enough(never, _CacheTime) ->
+ false;
+is_fresh_enough(TimeStampLast, CacheTime) ->
+ {MegaSecs, Secs, _MicroSecs} = now(),
+ Now = MegaSecs * 1000000 + Secs,
+ (TimeStampLast + CacheTime > Now).
+
+%% @spec (User, Server) -> online | never | mod_last_required | TimeStamp::integer()
+%% Code copied from mod_configure.erl
+%% Code copied from web/ejabberd_web_admin.erl
+%% TODO: Update time format to XEP-0202: Entity Time
+get_last_access(User, Server) ->
+ case ejabberd_sm:get_user_resources(User, Server) of
+ [] ->
+ _US = {User, Server},
+ case get_last_info(User, Server) of
+ mod_last_required ->
+ mod_last_required;
+ not_found ->
+ never;
+ {ok, Timestamp, _Status} ->
+ Timestamp
+ end;
+ _ ->
+ online
+ end.
+%% @spec (User, Server) -> {ok, Timestamp, Status} | not_found | mod_last_required
+get_last_info(User, Server) ->
+ case get_mod_last_enabled(Server) of
+ mod_last -> mod_last:get_last_info(User, Server);
+ mod_last_odbc -> mod_last_odbc:get_last_info(User, Server);
+ no_mod_last -> mod_last_required
+ end.
+
+%% @spec (Server) -> mod_last | mod_last_odbc | no_mod_last
+get_mod_last_enabled(Server) ->
+ ML = lists:member(mod_last, gen_mod:loaded_modules(Server)),
+ MLO = lists:member(mod_last_odbc, gen_mod:loaded_modules(Server)),
+ case {ML, MLO} of
+ {true, _} -> mod_last;
+ {false, true} -> mod_last_odbc;
+ {false, false} -> no_mod_last
+ end.
diff --git a/src/ejabberd_auth_ldap.erl b/src/ejabberd_auth_ldap.erl
index 8be61f65b..b96571366 100644
--- a/src/ejabberd_auth_ldap.erl
+++ b/src/ejabberd_auth_ldap.erl
@@ -66,7 +66,7 @@
servers,
backups,
port,
- encrypt,
+ tls_options,
dn,
password,
base,
@@ -119,19 +119,19 @@ terminate(_Reason, _State) ->
init(Host) ->
State = parse_options(Host),
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.encrypt),
+ State#state.servers,
+ State#state.backups,
+ State#state.port,
+ State#state.dn,
+ State#state.password,
+ State#state.tls_options),
eldap_pool:start_link(State#state.bind_eldap_id,
- State#state.servers,
- State#state.backups,
- State#state.port,
- State#state.dn,
- State#state.password,
- State#state.encrypt),
+ State#state.servers,
+ State#state.backups,
+ State#state.port,
+ State#state.dn,
+ State#state.password,
+ State#state.tls_options),
{ok, State}.
plain_password_required() ->
@@ -153,8 +153,14 @@ check_password(User, Server, Password) ->
check_password(User, Server, Password, _Digest, _DigestGen) ->
check_password(User, Server, Password).
-set_password(_User, _Server, _Password) ->
- {error, not_allowed}.
+set_password(User, Server, Password) ->
+ {ok, State} = eldap_utils:get_state(Server, ?MODULE),
+ case find_user_dn(User, State) of
+ false ->
+ {error, user_not_found};
+ DN ->
+ eldap_pool:modify_passwd(State#state.eldap_id, DN, Password)
+ end.
%% @spec (User, Server, Password) -> {error, not_allowed}
try_register(_User, _Server, _Password) ->
@@ -367,6 +373,7 @@ parse_options(Host) ->
Backups -> Backups
end,
LDAPEncrypt = ejabberd_config:get_local_option({ldap_encrypt, Host}),
+ LDAPTLSVerify = ejabberd_config:get_local_option({ldap_tls_verify, Host}),
LDAPPort = case ejabberd_config:get_local_option({ldap_port, Host}) of
undefined -> case LDAPEncrypt of
tls -> ?LDAPS_PORT;
@@ -411,7 +418,8 @@ parse_options(Host) ->
servers = LDAPServers,
backups = LDAPBackups,
port = LDAPPort,
- encrypt = LDAPEncrypt,
+ tls_options = [{encrypt, LDAPEncrypt},
+ {tls_verify, LDAPTLSVerify}],
dn = RootDN,
password = Password,
base = LDAPBase,
diff --git a/src/ejabberd_auth_pam.erl b/src/ejabberd_auth_pam.erl
index aff0a226b..b99c7cbd3 100644
--- a/src/ejabberd_auth_pam.erl
+++ b/src/ejabberd_auth_pam.erl
@@ -60,7 +60,11 @@ check_password(User, Server, Password, _Digest, _DigestGen) ->
check_password(User, Host, Password) ->
Service = get_pam_service(Host),
- case catch epam:authenticate(Service, User, Password) of
+ UserInfo = case get_pam_userinfotype(Host) of
+ username -> User;
+ jid -> User++"@"++Host
+ end,
+ case catch epam:authenticate(Service, UserInfo, Password) of
true -> true;
_ -> false
end.
@@ -84,7 +88,11 @@ get_password_s(_User, _Server) ->
%% TODO: Improve this function to return an error instead of 'false' when connection to PAM failed
is_user_exists(User, Host) ->
Service = get_pam_service(Host),
- case catch epam:acct_mgmt(Service, User) of
+ UserInfo = case get_pam_userinfotype(Host) of
+ username -> User;
+ jid -> User++"@"++Host
+ end,
+ case catch epam:acct_mgmt(Service, UserInfo) of
true -> true;
_ -> false
end.
@@ -106,3 +114,8 @@ get_pam_service(Host) ->
undefined -> "ejabberd";
Service -> Service
end.
+get_pam_userinfotype(Host) ->
+ case ejabberd_config:get_local_option({pam_userinfotype, Host}) of
+ undefined -> username;
+ Type -> Type
+ end.
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index a9334186c..cb3f45cc3 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -55,7 +55,9 @@
handle_sync_event/4,
code_change/4,
handle_info/3,
- terminate/3]).
+ terminate/3,
+ print_state/1
+ ]).
-include("ejabberd.hrl").
-include("jlib.hrl").
@@ -359,10 +361,10 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
[{xmlelement, "mechanisms",
[{"xmlns", ?NS_SASL}],
Mechs}] ++
- ejabberd_hooks:run_fold(
- c2s_stream_features,
- Server,
- [], [])}),
+ ejabberd_hooks:run_fold(
+ c2s_stream_features,
+ Server,
+ [], [Server])}),
fsm_next_state(wait_for_feature_request,
StateData#state{
server = Server,
@@ -371,13 +373,22 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
_ ->
case StateData#state.resource of
"" ->
- RosterVersioningFeature = ejabberd_hooks:run_fold(roster_get_versioning_feature, Server, [], [Server]),
- StreamFeatures = [{xmlelement, "push",
+ RosterVersioningFeature =
+ ejabberd_hooks:run_fold(
+ roster_get_versioning_feature,
+ Server, [], [Server]),
+ StreamFeatures =
+ [{xmlelement, "push",
[{"xmlns", ?NS_P1_PUSH}], []},
- {xmlelement, "bind",
- [{"xmlns", ?NS_BIND}], []},
- {xmlelement, "session",
- [{"xmlns", ?NS_SESSION}], []} | RosterVersioningFeature],
+ {xmlelement, "bind",
+ [{"xmlns", ?NS_BIND}], []},
+ {xmlelement, "session",
+ [{"xmlns", ?NS_SESSION}], []}]
+ ++ RosterVersioningFeature
+ ++ ejabberd_hooks:run_fold(
+ c2s_stream_features,
+ Server,
+ [], [Server]),
send_element(
StateData,
{xmlelement, "stream:features", [],
@@ -687,7 +698,7 @@ wait_for_feature_request({xmlstreamelement, El}, StateData) ->
Socket = StateData#state.socket,
TLSSocket = (StateData#state.sockmod):starttls(
Socket, TLSOpts,
- xml:element_to_string(
+ xml:element_to_binary(
{xmlelement, "proceed", [{"xmlns", ?NS_TLS}], []})),
fsm_next_state(wait_for_stream,
StateData#state{socket = TLSSocket,
@@ -710,7 +721,7 @@ wait_for_feature_request({xmlstreamelement, El}, StateData) ->
Socket = StateData#state.socket,
ZlibSocket = (StateData#state.sockmod):compress(
Socket,
- xml:element_to_string(
+ xml:element_to_binary(
{xmlelement, "compressed",
[{"xmlns", ?NS_COMPRESS}], []})),
fsm_next_state(wait_for_stream,
@@ -1514,10 +1525,42 @@ handle_info(system_shutdown, StateName, StateData) ->
ok
end,
{stop, normal, StateData};
+handle_info({force_update_presence, LUser}, StateName,
+ #state{user = LUser, server = LServer} = StateData) ->
+ NewStateData =
+ case StateData#state.pres_last of
+ {xmlelement, "presence", _Attrs, _Els} ->
+ PresenceEl = ejabberd_hooks:run_fold(
+ c2s_update_presence,
+ LServer,
+ StateData#state.pres_last,
+ [LUser, LServer]),
+ StateData2 = StateData#state{pres_last = PresenceEl},
+ presence_update(StateData2#state.jid,
+ PresenceEl,
+ StateData2),
+ StateData2;
+ _ ->
+ StateData
+ end,
+ {next_state, StateName, NewStateData};
handle_info(Info, StateName, StateData) ->
?ERROR_MSG("Unexpected info: ~p", [Info]),
fsm_next_state(StateName, StateData).
+
+%%----------------------------------------------------------------------
+%% Func: print_state/1
+%% Purpose: Prepare the state to be printed on error log
+%% Returns: State to print
+%%----------------------------------------------------------------------
+print_state(State = #state{pres_t = T, pres_f = F, pres_a = A, pres_i = I}) ->
+ State#state{pres_t = {pres_t, ?SETS:size(T)},
+ pres_f = {pres_f, ?SETS:size(F)},
+ pres_a = {pres_a, ?SETS:size(A)},
+ pres_i = {pres_i, ?SETS:size(I)}
+ }.
+
%%----------------------------------------------------------------------
%% Func: terminate/3
%% Purpose: Shutdown the fsm
@@ -1631,14 +1674,14 @@ change_shaper(StateData, JID) ->
(StateData#state.sockmod):change_shaper(StateData#state.socket, Shaper).
send_text(StateData, Text) ->
- ?DEBUG("Send XML on stream = ~p", [lists:flatten(Text)]),
+ ?DEBUG("Send XML on stream = ~p", [Text]),
(StateData#state.sockmod):send(StateData#state.socket, Text).
send_element(StateData, El) when StateData#state.xml_socket ->
(StateData#state.sockmod):send_xml(StateData#state.socket,
{xmlstreamelement, El});
send_element(StateData, El) ->
- send_text(StateData, xml:element_to_string(El)).
+ send_text(StateData, xml:element_to_binary(El)).
send_header(StateData, Server, Version, Lang)
when StateData#state.xml_socket ->
diff --git a/src/ejabberd_captcha.erl b/src/ejabberd_captcha.erl
index 95e7728f8..ab3271b80 100644
--- a/src/ejabberd_captcha.erl
+++ b/src/ejabberd_captcha.erl
@@ -328,7 +328,7 @@ get_prog_name() ->
FileName when is_list(FileName) ->
FileName;
_ ->
- ?CRITICAL_MSG("The option captcha_cmd is not configured, but some "
+ ?DEBUG("The option captcha_cmd is not configured, but some "
"module wants to use the CAPTCHA feature.", []),
throw({error, option_not_configured_captcha_cmd})
end.
diff --git a/src/ejabberd_ctl.erl b/src/ejabberd_ctl.erl
index aee1a011f..33b2fe4d0 100644
--- a/src/ejabberd_ctl.erl
+++ b/src/ejabberd_ctl.erl
@@ -201,8 +201,7 @@ process(Args) ->
case String of
[] -> ok;
_ ->
- io:format(String),
- io:format("\n")
+ io:format("~s~n", [String])
end,
Code.
diff --git a/src/ejabberd_debug.erl b/src/ejabberd_debug.erl
deleted file mode 100644
index f1baf1f78..000000000
--- a/src/ejabberd_debug.erl
+++ /dev/null
@@ -1,97 +0,0 @@
-%%%----------------------------------------------------------------------
-%%% File : ejabberd_debug.erl
-%%% Author : Mickael Remond
-%%% Purpose : ejabberd's application callback module
-%%% Created : 6 may 2009 by Mickael Remond
-%%%
-%%%
-%%% 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(ejabberd_debug).
-
--export([eprof_start/0, fprof_start/0, stop/0]).
--export([pids/0]).
-
-eprof_start() ->
- eprof:start(),
- eprof:profile(pids()).
-
-fprof_start() ->
- fprof:trace([start, {file, "/tmp/fprof"}, {procs, pids()}]).
-
-%% Stop all profilers
-stop() ->
- catch eprof:stop(),
- catch fprof:stop(),
- ok.
-
-pids() ->
- lists:zf(
- fun(Pid) ->
- case process_info(Pid) of
- ProcessInfo when is_list(ProcessInfo) ->
- CurrentFunction = current_function(ProcessInfo),
- InitialCall = initial_call(ProcessInfo),
- RegisteredName = registered_name(ProcessInfo),
- Ancestor = ancestor(ProcessInfo),
- filter_pid(Pid, CurrentFunction, InitialCall, RegisteredName, Ancestor);
- _ ->
- false
- end
- end,
- processes()).
-
-current_function(ProcessInfo) ->
- {value, {_, {CurrentFunction, _,_}}} =
- lists:keysearch(current_function, 1, ProcessInfo),
- atom_to_list(CurrentFunction).
-
-initial_call(ProcessInfo) ->
- {value, {_, {InitialCall, _,_}}} =
- lists:keysearch(initial_call, 1, ProcessInfo),
- atom_to_list(InitialCall).
-
-registered_name(ProcessInfo) ->
- case lists:keysearch(registered_name, 1, ProcessInfo) of
- {value, {_, Name}} when is_atom(Name) -> atom_to_list(Name);
- _ -> ""
- end.
-
-ancestor(ProcessInfo) ->
- {value, {_, Dictionary}} = lists:keysearch(dictionary, 1, ProcessInfo),
- case lists:keysearch('$ancestors', 1, Dictionary) of
- {value, {_, [Ancestor|_T]}} when is_atom(Ancestor) ->
- atom_to_list(Ancestor);
- _ ->
- ""
- end.
-
-filter_pid(Pid, "ejabberd" ++ _, _InitialCall, _RegisteredName, _Ancestor) ->
- {true, Pid};
-filter_pid(Pid, _CurrentFunction, "ejabberd" ++ _, _RegisteredName, _Ancestor) ->
- {true, Pid};
-filter_pid(Pid, _CurrentFunction, _InitialCall, "ejabberd"++_, _Ancestor) ->
- {true, Pid};
-filter_pid(Pid, _CurrentFunction, _InitialCall, "stringprep"++_, _Ancestor) ->
- {true, Pid};
-filter_pid(Pid, _CurrentFunction, _InitialCall, _RegisteredName, "ejabberd"++_) ->
- {true, Pid};
-filter_pid(_Pid, _CurrentFunction, _InitialCall, _RegisteredName, _Ancestor) ->
- false.
diff --git a/src/ejabberd_router.erl b/src/ejabberd_router.erl
index 94e4c0865..87ba99094 100644
--- a/src/ejabberd_router.erl
+++ b/src/ejabberd_router.erl
@@ -31,6 +31,7 @@
%% API
-export([route/3,
+ route_error/4,
register_route/1,
register_route/2,
register_routes/1,
@@ -72,6 +73,17 @@ route(From, To, Packet) ->
ok
end.
+%% Route the error packet only if the originating packet is not an error itself.
+%% RFC3920 9.3.1
+route_error(From, To, ErrPacket, OrigPacket) ->
+ {xmlelement, _Name, Attrs, _Els} = OrigPacket,
+ case "error" == xml:get_attr_s("type", Attrs) of
+ false ->
+ route(From, To, ErrPacket);
+ true ->
+ ok
+ end.
+
register_route(Domain) ->
register_route(Domain, undefined).
diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl
index f2213020f..56086c9ef 100644
--- a/src/ejabberd_s2s_in.erl
+++ b/src/ejabberd_s2s_in.erl
@@ -48,6 +48,11 @@
-include("ejabberd.hrl").
-include("jlib.hrl").
+-ifdef(SSL40).
+-include_lib("public_key/include/public_key.hrl").
+-define(PKIXEXPLICIT, 'OTP-PUB-KEY').
+-define(PKIXIMPLICIT, 'OTP-PUB-KEY').
+-else.
-ifdef(SSL39).
-include_lib("ssl/include/ssl_pkix.hrl").
-define(PKIXEXPLICIT, 'OTP-PKIX').
@@ -58,6 +63,7 @@
-define(PKIXEXPLICIT, 'PKIX1Explicit88').
-define(PKIXIMPLICIT, 'PKIX1Implicit88').
-endif.
+-endif.
-include("XmppAddr.hrl").
-define(DICT, dict).
@@ -177,8 +183,9 @@ init([{SockMod, Socket}, Opts]) ->
wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
case {xml:get_attr_s("xmlns", Attrs),
xml:get_attr_s("xmlns:db", Attrs),
+ xml:get_attr_s("to", Attrs),
xml:get_attr_s("version", Attrs) == "1.0"} of
- {"jabber:server", _, true} when
+ {"jabber:server", _, Server, true} when
StateData#state.tls and (not StateData#state.authenticated) ->
send_text(StateData, ?STREAM_HEADER(" version='1.0'")),
SASL =
@@ -212,15 +219,23 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
end,
send_element(StateData,
{xmlelement, "stream:features", [],
- SASL ++ StartTLS}),
+ SASL ++ StartTLS ++
+ ejabberd_hooks:run_fold(
+ s2s_stream_features,
+ Server,
+ [], [Server])}),
{next_state, wait_for_feature_request, StateData};
- {"jabber:server", _, true} when
+ {"jabber:server", _, Server, true} when
StateData#state.authenticated ->
send_text(StateData, ?STREAM_HEADER(" version='1.0'")),
send_element(StateData,
- {xmlelement, "stream:features", [], []}),
+ {xmlelement, "stream:features", [],
+ ejabberd_hooks:run_fold(
+ s2s_stream_features,
+ Server,
+ [], [Server])}),
{next_state, stream_established, StateData};
- {"jabber:server", "jabber:server:dialback", _} ->
+ {"jabber:server", "jabber:server:dialback", _Server, _} ->
send_text(StateData, ?STREAM_HEADER("")),
{next_state, stream_established, StateData};
_ ->
@@ -254,7 +269,7 @@ wait_for_feature_request({xmlstreamelement, El}, StateData) ->
TLSOpts = StateData#state.tls_options,
TLSSocket = (StateData#state.sockmod):starttls(
Socket, TLSOpts,
- xml:element_to_string(
+ xml:element_to_binary(
{xmlelement, "proceed", [{"xmlns", ?NS_TLS}], []})),
{next_state, wait_for_stream,
StateData#state{socket = TLSSocket,
@@ -609,7 +624,7 @@ send_text(StateData, Text) ->
(StateData#state.sockmod):send(StateData#state.socket, Text).
send_element(StateData, El) ->
- send_text(StateData, xml:element_to_string(El)).
+ send_text(StateData, xml:element_to_binary(El)).
change_shaper(StateData, Host, JID) ->
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl
index ac7eee21d..a1c641280 100644
--- a/src/ejabberd_s2s_out.erl
+++ b/src/ejabberd_s2s_out.erl
@@ -51,6 +51,7 @@
handle_sync_event/4,
handle_info/3,
terminate/3,
+ print_state/1,
code_change/4,
test_get_addr_port/1,
get_addr_port/1]).
@@ -191,7 +192,8 @@ init([From, Server, Type]) ->
open_socket(init, StateData) ->
log_s2s_out(StateData#state.new,
StateData#state.myname,
- StateData#state.server),
+ StateData#state.server,
+ StateData#state.tls),
?DEBUG("open_socket: ~p", [{StateData#state.myname,
StateData#state.server,
StateData#state.new,
@@ -339,8 +341,8 @@ wait_for_validation({xmlstreamelement, El}, StateData) ->
case Type of
"valid" ->
send_queue(StateData, StateData#state.queue),
- ?INFO_MSG("Connection established: ~s -> ~s",
- [StateData#state.myname, StateData#state.server]),
+ ?INFO_MSG("Connection established: ~s -> ~s with TLS=~p",
+ [StateData#state.myname, StateData#state.server, StateData#state.tls_enabled]),
ejabberd_hooks:run(s2s_connect_hook,
[StateData#state.myname,
StateData#state.server]),
@@ -875,6 +877,14 @@ terminate(Reason, StateName, StateData) ->
end,
ok.
+%%----------------------------------------------------------------------
+%% Func: print_state/1
+%% Purpose: Prepare the state to be printed on error log
+%% Returns: State to print
+%%----------------------------------------------------------------------
+print_state(State) ->
+ State.
+
%%%----------------------------------------------------------------------
%%% Internal functions
%%%----------------------------------------------------------------------
@@ -883,7 +893,7 @@ send_text(StateData, Text) ->
ejabberd_socket:send(StateData#state.socket, Text).
send_element(StateData, El) ->
- send_text(StateData, xml:element_to_string(El)).
+ send_text(StateData, xml:element_to_binary(El)).
send_queue(StateData, Q) ->
case queue:out(Q) of
@@ -1142,10 +1152,10 @@ outgoing_s2s_timeout() ->
%% Human readable S2S logging: Log only new outgoing connections as INFO
%% Do not log dialback
-log_s2s_out(false, _, _) -> ok;
+log_s2s_out(false, _, _, _) -> ok;
%% Log new outgoing connections:
-log_s2s_out(_, Myname, Server) ->
- ?INFO_MSG("Trying to open s2s connection: ~s -> ~s",[Myname, Server]).
+log_s2s_out(_, Myname, Server, Tls) ->
+ ?INFO_MSG("Trying to open s2s connection: ~s -> ~s with TLS=~p", [Myname, Server, Tls]).
%% Calculate timeout depending on which state we are in:
%% Can return integer > 0 | infinity
diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl
index d997edeca..bd07bfea8 100644
--- a/src/ejabberd_service.erl
+++ b/src/ejabberd_service.erl
@@ -47,7 +47,8 @@
handle_sync_event/4,
code_change/4,
handle_info/3,
- terminate/3]).
+ terminate/3,
+ print_state/1]).
-include("ejabberd.hrl").
-include("jlib.hrl").
@@ -346,11 +347,11 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
Attrs2 = jlib:replace_from_to_attrs(jlib:jid_to_string(From),
jlib:jid_to_string(To),
Attrs),
- Text = xml:element_to_string({xmlelement, Name, Attrs2, Els}),
+ Text = xml:element_to_binary({xmlelement, Name, Attrs2, Els}),
send_text(StateData, Text);
deny ->
Err = jlib:make_error_reply(Packet, ?ERR_NOT_ALLOWED),
- ejabberd_router:route(To, From, Err)
+ ejabberd_router:route_error(To, From, Err, Packet)
end,
{next_state, StateName, StateData}.
@@ -374,6 +375,14 @@ terminate(Reason, StateName, StateData) ->
(StateData#state.sockmod):close(StateData#state.socket),
ok.
+%%----------------------------------------------------------------------
+%% Func: print_state/1
+%% Purpose: Prepare the state to be printed on error log
+%% Returns: State to print
+%%----------------------------------------------------------------------
+print_state(State) ->
+ State.
+
%%%----------------------------------------------------------------------
%%% Internal functions
%%%----------------------------------------------------------------------
@@ -382,7 +391,7 @@ send_text(StateData, Text) ->
(StateData#state.sockmod):send(StateData#state.socket, Text).
send_element(StateData, El) ->
- send_text(StateData, xml:element_to_string(El)).
+ send_text(StateData, xml:element_to_binary(El)).
new_id() ->
randoms:get_string().
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index 296400f84..4fc8123e7 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -47,6 +47,7 @@
register_iq_handler/4,
register_iq_handler/5,
unregister_iq_handler/2,
+ force_update_presence/1,
connected_users/0,
connected_users_number/0,
user_resources/2,
@@ -572,9 +573,14 @@ route_message(From, To, Packet) ->
_ ->
case ejabberd_auth:is_user_exists(LUser, LServer) of
true ->
- ejabberd_hooks:run(offline_message_hook,
- LServer,
- [From, To, Packet]);
+ case is_privacy_allow(From, To, Packet) of
+ true ->
+ ejabberd_hooks:run(offline_message_hook,
+ LServer,
+ [From, To, Packet]);
+ false ->
+ ok
+ end;
_ ->
Err = jlib:make_error_reply(
Packet, ?ERR_SERVICE_UNAVAILABLE),
@@ -711,6 +717,16 @@ process_iq(From, To, Packet) ->
ok
end.
+force_update_presence({LUser, _LServer} = US) ->
+ case catch mnesia:dirty_index_read(session, US, #session.us) of
+ {'EXIT', _Reason} ->
+ ok;
+ Ss ->
+ lists:foreach(fun(#session{sid = {_, Pid}}) ->
+ Pid ! {force_update_presence, LUser}
+ end, Ss)
+ end.
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% ejabberd commands
diff --git a/src/ejabberd_update.erl b/src/ejabberd_update.erl
index a9b12e69e..8d626ad13 100644
--- a/src/ejabberd_update.erl
+++ b/src/ejabberd_update.erl
@@ -84,7 +84,7 @@ update_info() ->
update_info(Dir, Files) ->
Beams = lists:sort(get_beams(Files)),
UpdatedBeams = get_updated_beams(Beams),
- ?INFO_MSG("beam files: ~p~n", [UpdatedBeams]),
+ ?DEBUG("beam files: ~p~n", [UpdatedBeams]),
{Script, LowLevelScript, Check} = build_script(Dir, UpdatedBeams),
{ok, Dir, UpdatedBeams, Script, LowLevelScript, Check}.
@@ -124,14 +124,21 @@ get_current_version(Module) ->
%% @spec(Dir::string(), UpdatedBeams::[atom()]) -> {Script,LowLevelScript,Check}
build_script(Dir, UpdatedBeams) ->
Script = make_script(UpdatedBeams),
- ?INFO_MSG("script: ~p~n", [Script]),
LowLevelScript = make_low_level_script(UpdatedBeams, Script),
- ?INFO_MSG("low level script: ~p~n", [LowLevelScript]),
Check =
release_handler_1:check_script(
LowLevelScript,
[{ejabberd, "", filename:join(Dir, "..")}]),
- ?INFO_MSG("check: ~p~n", [Check]),
+ case Check of
+ ok ->
+ ?DEBUG("script: ~p~n", [Script]),
+ ?DEBUG("low level script: ~p~n", [LowLevelScript]),
+ ?DEBUG("check: ~p~n", [Check]);
+ _ ->
+ ?ERROR_MSG("script: ~p~n", [Script]),
+ ?ERROR_MSG("low level script: ~p~n", [LowLevelScript]),
+ ?ERROR_MSG("check: ~p~n", [Check])
+ end,
{Script, LowLevelScript, Check}.
%% Copied from Erlang/OTP file: lib/sasl/src/systools.hrl
diff --git a/src/ejabberd_zlib/ejabberd_zlib_drv.c b/src/ejabberd_zlib/ejabberd_zlib_drv.c
index 363eb5b01..5b420e4eb 100644
--- a/src/ejabberd_zlib/ejabberd_zlib_drv.c
+++ b/src/ejabberd_zlib/ejabberd_zlib_drv.c
@@ -32,6 +32,15 @@ typedef struct {
z_stream *i_stream;
} ejabberd_zlib_data;
+static void* zlib_alloc(void* data, unsigned int items, unsigned int size)
+{
+ return (void*) driver_alloc(items*size);
+}
+
+static void zlib_free(void* data, void* addr)
+{
+ driver_free(addr);
+}
static ErlDrvData ejabberd_zlib_drv_start(ErlDrvPort port, char *buff)
{
@@ -39,18 +48,18 @@ static ErlDrvData ejabberd_zlib_drv_start(ErlDrvPort port, char *buff)
(ejabberd_zlib_data *)driver_alloc(sizeof(ejabberd_zlib_data));
d->port = port;
- d->d_stream = (z_stream *)malloc(sizeof(z_stream));
+ d->d_stream = (z_stream *)driver_alloc(sizeof(z_stream));
- d->d_stream->zalloc = (alloc_func)0;
- d->d_stream->zfree = (free_func)0;
+ d->d_stream->zalloc = zlib_alloc;
+ d->d_stream->zfree = zlib_free;
d->d_stream->opaque = (voidpf)0;
deflateInit(d->d_stream, Z_DEFAULT_COMPRESSION);
- d->i_stream = (z_stream *)malloc(sizeof(z_stream));
+ d->i_stream = (z_stream *)driver_alloc(sizeof(z_stream));
- d->i_stream->zalloc = (alloc_func)0;
- d->i_stream->zfree = (free_func)0;
+ d->i_stream->zalloc = zlib_alloc;
+ d->i_stream->zfree = zlib_free;
d->i_stream->opaque = (voidpf)0;
inflateInit(d->i_stream);
@@ -65,10 +74,10 @@ static void ejabberd_zlib_drv_stop(ErlDrvData handle)
ejabberd_zlib_data *d = (ejabberd_zlib_data *)handle;
deflateEnd(d->d_stream);
- free(d->d_stream);
+ driver_free(d->d_stream);
inflateEnd(d->i_stream);
- free(d->i_stream);
+ driver_free(d->i_stream);
driver_free((char *)handle);
}
diff --git a/src/ejabberdctl.template b/src/ejabberdctl.template
index 9ede77dfe..fecdecc86 100644
--- a/src/ejabberdctl.template
+++ b/src/ejabberdctl.template
@@ -82,7 +82,7 @@ else
KERNEL_OPTS="-kernel inet_dist_listen_min ${FIREWALL_WINDOW%-*} inet_dist_listen_max ${FIREWALL_WINDOW#*-}"
fi
-ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $ERL_OPTIONS $KERNEL_OPTS"
+ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $ERL_OPTIONS"
# define additional environment variables
if [ "$EJABBERDDIR" = "" ]; then
@@ -141,6 +141,7 @@ start ()
-noinput -detached \
-pa $EJABBERD_EBIN_PATH \
-mnesia dir \"\\\"$SPOOLDIR\\\"\" \
+ $KERNEL_OPTS \
-s ejabberd \
-sasl sasl_error_logger \\{file,\\\"$SASL_LOG_PATH\\\"\\} \
$ERLANG_OPTS $ARGS \"$@\""
@@ -174,6 +175,7 @@ debug ()
$NAME debug-${TTY}-${ERLANG_NODE} \
-remsh $ERLANG_NODE \
-hidden \
+ $KERNEL_OPTS \
$ERLANG_OPTS $ARGS \"$@\""
}
@@ -203,6 +205,7 @@ live ()
$NAME $ERLANG_NODE \
-pa $EJABBERD_EBIN_PATH \
-mnesia dir \"\\\"$SPOOLDIR\\\"\" \
+ $KERNEL_OPTS \
-s ejabberd \
$ERLANG_OPTS $ARGS \"$@\""
}
@@ -236,7 +239,7 @@ ctl ()
MAXCONNID=100
CONNLOCKDIR=@LOCALSTATEDIR@/lock/ejabberdctl
FLOCK='/usr/bin/flock'
- if [ ! -x "$FLOCK" ] ; then
+ if [ ! -x "$FLOCK" ] || [ ! -d "$CONNLOCKDIR" ] ; then
JOT='/usr/bin/jot'
if [ ! -x "$JOT" ] ; then
# no flock or jot, simply invoke ctlexec()
@@ -310,6 +313,7 @@ ctlexec ()
-noinput \
-hidden \
-pa $EJABBERD_EBIN_PATH \
+ $KERNEL_OPTS \
-s ejabberd_ctl -extra $ERLANG_NODE $COMMAND"
}
diff --git a/src/ejd2odbc.erl b/src/ejd2odbc.erl
index 2bcbc9c41..6c7caf9b2 100644
--- a/src/ejd2odbc.erl
+++ b/src/ejd2odbc.erl
@@ -141,8 +141,7 @@ export_offline(Server, Output) ->
TimeStamp))]},
XML =
ejabberd_odbc:escape(
- lists:flatten(
- xml:element_to_string(NewPacket))),
+ xml:element_to_binary(NewPacket)),
["insert into spool(username, xml) "
"values ('", Username, "', '",
XML,
@@ -176,7 +175,7 @@ export_vcard(Server, Output) ->
when LServer == Host ->
Username = ejabberd_odbc:escape(LUser),
SVCARD = ejabberd_odbc:escape(
- lists:flatten(xml:element_to_string(VCARD))),
+ xml:element_to_binary(VCARD)),
["delete from vcard where username='", Username, "';"
"insert into vcard(username, vcard) "
"values ('", Username, "', '", SVCARD, "');"];
@@ -260,7 +259,7 @@ export_private_storage(Server, Output) ->
Username = ejabberd_odbc:escape(LUser),
LXMLNS = ejabberd_odbc:escape(XMLNS),
SData = ejabberd_odbc:escape(
- lists:flatten(xml:element_to_string(Data))),
+ xml:element_to_binary(Data)),
odbc_queries:set_private_data_sql(Username, LXMLNS, SData);
(_Host, _R) ->
[]
diff --git a/src/eldap/ELDAPv3.asn b/src/eldap/ELDAPv3.asn
index 0cfac48c3..1fec35cd8 100644
--- a/src/eldap/ELDAPv3.asn
+++ b/src/eldap/ELDAPv3.asn
@@ -286,6 +286,16 @@ ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
responseName [10] LDAPOID OPTIONAL,
response [11] OCTET STRING OPTIONAL }
+passwdModifyOID LDAPOID ::= "1.3.6.1.4.1.4203.1.11.1"
+
+PasswdModifyRequestValue ::= SEQUENCE {
+ userIdentity [0] OCTET STRING OPTIONAL,
+ oldPasswd [1] OCTET STRING OPTIONAL,
+ newPasswd [2] OCTET STRING OPTIONAL }
+
+PasswdModifyResponseValue ::= SEQUENCE {
+ genPasswd [0] OCTET STRING OPTIONAL }
+
END
diff --git a/src/eldap/Makefile.in b/src/eldap/Makefile.in
index c9b8dd8aa..2ebbdaf73 100644
--- a/src/eldap/Makefile.in
+++ b/src/eldap/Makefile.in
@@ -1,4 +1,4 @@
-# $Id$
+# $Id: Makefile.in 2842 2009-12-29 19:10:52Z badlop $
CC = @CC@
CFLAGS = @CFLAGS@
@@ -20,18 +20,23 @@ ifdef debug
endif
OUTDIR = ..
-SOURCES = $(wildcard *.erl) ELDAPv3.erl
+SOURCES = $(wildcard *.erl) ELDAPv3.erl eldap_filter_yecc.erl
BEAMS = $(addprefix $(OUTDIR)/,$(SOURCES:.erl=.beam))
-all: $(BEAMS) ELDAPv3.beam
+all: $(BEAMS) ELDAPv3.beam eldap_filter_yecc.beam
ELDAPv3.beam: ELDAPv3.erl
ELDAPv3.erl: ELDAPv3.asn
@ERLC@ $(ASN_FLAGS) -W $(EFLAGS) $<
-$(OUTDIR)/%.beam: %.erl ELDAPv3.erl
+eldap_filter_yecc.beam: eldap_filter_yecc.erl
+
+eldap_filter_yecc.erl: eldap_filter_yecc.yrl
+ @ERLC@ -W $<
+
+$(OUTDIR)/%.beam: %.erl ELDAPv3.erl eldap_filter_yecc.erl
@ERLC@ -W $(EFLAGS) -o $(OUTDIR) $<
clean:
@@ -39,6 +44,8 @@ clean:
rm -f ELDAPv3.erl
rm -f ELDAPv3.hrl
rm -f ELDAPv3.beam
+ rm -f eldap_filter_yecc.erl
+ rm -f eldap_filter_yecc.beam
rm -f $(BEAMS)
distclean: clean
diff --git a/src/eldap/Makefile.win32 b/src/eldap/Makefile.win32
index 396880a86..228c9ba09 100644
--- a/src/eldap/Makefile.win32
+++ b/src/eldap/Makefile.win32
@@ -4,7 +4,7 @@ include ..\Makefile.inc
EFLAGS = -I .. -pz ..
OUTDIR = ..
-BEAMS = ..\eldap.beam ..\eldap_filter.beam ..\eldap_pool.beam ..\eldap_utils.beam
+BEAMS = ..\eldap.beam ..\eldap_filter.beam ..\eldap_pool.beam ..\eldap_utils.beam ..\eldap_filter_yecc.beam
ASN_FLAGS = -bber_bin +optimize +driver
@@ -15,11 +15,16 @@ Clean :
-@erase ELDAPv3.erl
-@erase ELDAPv3.hrl
-@erase ELDAPv3.beam
+ -@erase eldap_filter_yecc.erl
+ -@erase eldap_filter_yecc.beam
-@erase $(BEAMS)
ELDAPv3.erl : ELDAPv3.asn
erlc $(ASN_FLAGS) -W $(EFLAGS) ELDAPv3.asn
+eldap_filter_yecc.erl: eldap_filter_yecc.yrl
+ erlc -W eldap_filter_yecc.yrl
+
$(OUTDIR)\eldap.beam : eldap.erl ELDAPv3.erl
erlc -W $(EFLAGS) -o $(OUTDIR) eldap.erl
@@ -34,3 +39,6 @@ $(OUTDIR)\eldap_utils.beam : eldap_utils.erl
$(OUTDIR)\eldap_pool.beam : eldap_pool.erl
erlc -W $(EFLAGS) -o $(OUTDIR) eldap_pool.erl
+
+$(OUTDIR)\eldap_filter_yecc.beam : eldap_filter_yecc.erl
+ erlc -W $(EFLAGS) -o $(OUTDIR) eldap_filter_yecc.erl
diff --git a/src/eldap/eldap.erl b/src/eldap/eldap.erl
index f77ea8296..9e6081687 100644
--- a/src/eldap/eldap.erl
+++ b/src/eldap/eldap.erl
@@ -33,8 +33,11 @@
%%% Modified by Alexey Shchepin
-%%% Modified by Evgeniy Khramtsov
+%%% Modified by Evgeniy Khramtsov
%%% Implemented queue for bind() requests to prevent pending binds.
+%%% Implemented extensibleMatch/2 function.
+%%% Implemented LDAP Extended Operations (currently only Password Modify
+%%% is supported - RFC 3062).
%%% Modified by Christophe Romain
%%% Improve error case handling
@@ -71,9 +74,9 @@
-export([baseObject/0,singleLevel/0,wholeSubtree/0,close/1,
equalityMatch/2,greaterOrEqual/2,lessOrEqual/2,
- approxMatch/2,search/2,substrings/2,present/1,
+ approxMatch/2,search/2,substrings/2,present/1,extensibleMatch/2,
'and'/1,'or'/1,'not'/1,modify/3, mod_add/2, mod_delete/2,
- mod_replace/2, add/3, delete/2, modify_dn/5, bind/3]).
+ mod_replace/2, add/3, delete/2, modify_dn/5, modify_passwd/3, bind/3]).
-export([get_status/1]).
%% gen_fsm callbacks
@@ -127,9 +130,10 @@ start_link(Name) ->
Reg_name = list_to_atom("eldap_" ++ Name),
gen_fsm:start_link({local, Reg_name}, ?MODULE, [], []).
-start_link(Name, Hosts, Port, Rootdn, Passwd, Encrypt) ->
+start_link(Name, Hosts, Port, Rootdn, Passwd, Opts) ->
Reg_name = list_to_atom("eldap_" ++ Name),
- gen_fsm:start_link({local, Reg_name}, ?MODULE, {Hosts, Port, Rootdn, Passwd, Encrypt}, []).
+ gen_fsm:start_link({local, Reg_name}, ?MODULE,
+ {Hosts, Port, Rootdn, Passwd, Opts}, []).
%%% --------------------------------------------------------------------
%%% Get status of connection.
@@ -239,6 +243,10 @@ modify_dn(Handle, Entry, NewRDN, DelOldRDN, NewSup)
{modify_dn, Entry, NewRDN, bool_p(DelOldRDN), optional(NewSup)},
?CALL_TIMEOUT).
+modify_passwd(Handle, DN, Passwd) when is_list(DN), is_list(Passwd) ->
+ Handle1 = get_handle(Handle),
+ gen_fsm:sync_send_event(
+ Handle1, {modify_passwd, DN, Passwd}, ?CALL_TIMEOUT).
%%% --------------------------------------------------------------------
%%% Bind.
@@ -374,6 +382,29 @@ substrings(Type, SubStr) when is_list(Type), is_list(SubStr) ->
{substrings,#'SubstringFilter'{type = Type,
substrings = Ss}}.
+%%%
+%%% extensibleMatch filter.
+%%% FIXME: Describe the purpose of this filter.
+%%%
+%%% Value ::= string( )
+%%% Opts ::= listof( {matchingRule, Str} | {type, Str} | {dnAttributes, true} )
+%%%
+%%% Example: extensibleMatch("Fred", [{matchingRule, "1.2.3.4.5"}, {type, "cn"}]).
+%%%
+extensibleMatch(Value, Opts) when is_list(Value), is_list(Opts) ->
+ MRA = #'MatchingRuleAssertion'{matchValue=Value},
+ {extensibleMatch, extensibleMatch_opts(Opts, MRA)}.
+
+extensibleMatch_opts([{matchingRule, Rule} | Opts], MRA) when is_list(Rule) ->
+ extensibleMatch_opts(Opts, MRA#'MatchingRuleAssertion'{matchingRule=Rule});
+extensibleMatch_opts([{type, Desc} | Opts], MRA) when is_list(Desc) ->
+ extensibleMatch_opts(Opts, MRA#'MatchingRuleAssertion'{type=Desc});
+extensibleMatch_opts([{dnAttributes, true} | Opts], MRA) ->
+ extensibleMatch_opts(Opts, MRA#'MatchingRuleAssertion'{dnAttributes=true});
+extensibleMatch_opts([_ | Opts], MRA) ->
+ extensibleMatch_opts(Opts, MRA);
+extensibleMatch_opts([], MRA) ->
+ MRA.
get_handle(Pid) when is_pid(Pid) -> Pid;
get_handle(Atom) when is_atom(Atom) -> Atom;
@@ -393,15 +424,18 @@ get_handle(Name) when is_list(Name) -> list_to_atom("eldap_" ++ Name).
%%----------------------------------------------------------------------
init([]) ->
case get_config() of
- {ok, Hosts, Rootdn, Passwd, Encrypt} ->
- init({Hosts, Rootdn, Passwd, Encrypt});
+ {ok, Hosts, Rootdn, Passwd, Opts} ->
+ init({Hosts, Rootdn, Passwd, Opts});
{error, Reason} ->
{stop, Reason}
end;
-init({Hosts, Port, Rootdn, Passwd, Encrypt}) ->
+init({Hosts, Port, Rootdn, Passwd, Opts}) ->
catch ssl:start(),
- {X1,X2,X3} = erlang:now(),
- ssl:seed(integer_to_list(X1) ++ integer_to_list(X2) ++ integer_to_list(X3)),
+ ssl:seed(randoms:get_string()),
+ Encrypt = case proplists:get_value(encrypt, Opts) of
+ tls -> tls;
+ _ -> none
+ end,
PortTemp = case Port of
undefined ->
case Encrypt of
@@ -414,7 +448,14 @@ init({Hosts, Port, Rootdn, Passwd, Encrypt}) ->
end;
PT -> PT
end,
- TLSOpts = [verify_none],
+ TLSOpts = case proplists:get_value(tls_verify, Opts) of
+ soft ->
+ [{verify, 1}];
+ hard ->
+ [{verify, 2}];
+ _ ->
+ [{verify, 0}]
+ end,
{ok, connecting, #eldap{hosts = Hosts,
port = PortTemp,
rootdn = Rootdn,
@@ -671,6 +712,16 @@ gen_req({modify_dn, Entry, NewRDN, DelOldRDN, NewSup}) ->
deleteoldrdn = DelOldRDN,
newSuperior = NewSup}};
+gen_req({modify_passwd, DN, Passwd}) ->
+ {ok, ReqVal} = asn1rt:encode(
+ 'ELDAPv3', 'PasswdModifyRequestValue',
+ #'PasswdModifyRequestValue'{
+ userIdentity = DN,
+ newPasswd = Passwd}),
+ {extendedReq,
+ #'ExtendedRequest'{requestName = ?passwdModifyOID,
+ requestValue = list_to_binary(ReqVal)}};
+
gen_req({bind, RootDN, Passwd}) ->
{bindRequest,
#'BindRequest'{version = ?LDAP_VERSION,
@@ -745,6 +796,11 @@ recvd_packet(Pkt, S) ->
cancel_timer(Timer),
Reply = check_bind_reply(Result, From),
{reply, Reply, From, S#eldap{dict = New_dict}};
+ {extendedReq, {extendedResp, Result}} ->
+ New_dict = dict:erase(Id, Dict),
+ cancel_timer(Timer),
+ Reply = check_extended_reply(Result, From),
+ {reply, Reply, From, S#eldap{dict = New_dict}};
{OtherName, OtherResult} ->
New_dict = dict:erase(Id, Dict),
cancel_timer(Timer),
@@ -769,6 +825,15 @@ check_bind_reply(#'BindResponse'{resultCode = Reason}, _From) ->
check_bind_reply(Other, _From) ->
{error, Other}.
+%% TODO: process reply depending on requestName:
+%% this requires BER-decoding of #'ExtendedResponse'.response
+check_extended_reply(#'ExtendedResponse'{resultCode = success}, _From) ->
+ ok;
+check_extended_reply(#'ExtendedResponse'{resultCode = Reason}, _From) ->
+ {error, Reason};
+check_extended_reply(Other, _From) ->
+ {error, Other}.
+
get_op_rec(Id, Dict) ->
case dict:find(Id, Dict) of
{ok, [{Timer, _Command, From, Name}|Res]} ->
@@ -904,7 +969,7 @@ connect_bind(S) ->
tls ->
SockMod = ssl,
SslOpts = [{packet, asn1}, {active, true}, {keepalive, true},
- binary],
+ binary | S#eldap.tls_options],
ssl:connect(Host, S#eldap.port, SslOpts);
%% starttls -> %% TODO: Implement STARTTLS;
_ ->
@@ -973,6 +1038,8 @@ v_filter({lessOrEqual,AV}) -> {lessOrEqual,AV};
v_filter({approxMatch,AV}) -> {approxMatch,AV};
v_filter({present,A}) -> {present,A};
v_filter({substrings,S}) when is_record(S,'SubstringFilter') -> {substrings,S};
+v_filter({extensibleMatch, S}) when is_record(S, 'MatchingRuleAssertion') ->
+ {extensibleMatch, S};
v_filter(_Filter) -> throw({error,concat(["unknown filter: ",_Filter])}).
v_modifications(Mods) ->
@@ -1018,8 +1085,8 @@ get_config() ->
case file:consult(File) of
{ok, Entries} ->
case catch parse(Entries) of
- {ok, Hosts, Port, Rootdn, Passwd, Encrypt} ->
- {ok, Hosts, Port, Rootdn, Passwd, Encrypt};
+ {ok, Hosts, Port, Rootdn, Passwd, Opts} ->
+ {ok, Hosts, Port, Rootdn, Passwd, Opts};
{error, Reason} ->
{error, Reason};
{'EXIT', Reason} ->
@@ -1035,7 +1102,7 @@ parse(Entries) ->
get_integer(port, Entries),
get_list(rootdn, Entries),
get_list(passwd, Entries),
- get_atom(encrypt, Entries)}.
+ get_list(options, Entries)}.
get_integer(Key, List) ->
case lists:keysearch(Key, 1, List) of
@@ -1057,15 +1124,15 @@ get_list(Key, List) ->
throw({error, "No Entry in Config for " ++ atom_to_list(Key)})
end.
-get_atom(Key, List) ->
- case lists:keysearch(Key, 1, List) of
- {value, {Key, Value}} when is_atom(Value) ->
- Value;
- {value, {Key, _Value}} ->
- throw({error, "Bad Value in Config for " ++ atom_to_list(Key)});
- false ->
- throw({error, "No Entry in Config for " ++ atom_to_list(Key)})
- end.
+%% get_atom(Key, List) ->
+%% case lists:keysearch(Key, 1, List) of
+%% {value, {Key, Value}} when is_atom(Value) ->
+%% Value;
+%% {value, {Key, _Value}} ->
+%% throw({error, "Bad Value in Config for " ++ atom_to_list(Key)});
+%% false ->
+%% throw({error, "No Entry in Config for " ++ atom_to_list(Key)})
+%% end.
get_hosts(Key, List) ->
lists:map(fun({Key1, {A,B,C,D}}) when is_integer(A),
diff --git a/src/eldap/eldap_filter.erl b/src/eldap/eldap_filter.erl
index aba22375d..341fba13a 100644
--- a/src/eldap/eldap_filter.erl
+++ b/src/eldap/eldap_filter.erl
@@ -3,7 +3,7 @@
%%% Purpose: Converts String Representation of
%%% LDAP Search Filter (RFC 2254)
%%% to eldap's representation of filter
-%%% Author: Evgeniy Khramtsov
+%%% Author: Evgeniy Khramtsov
%%%
%%%
%%% ejabberd, Copyright (C) 2002-2010 ProcessOne
@@ -24,19 +24,17 @@
%%% 02111-1307 USA
%%%
%%%----------------------------------------------------------------------
-
-module(eldap_filter).
-%%%======================
-%%% Export functions
-%%%======================
+%% TODO: remove this when new regexp module will be used
+-compile({nowarn_deprecated_function, {regexp, sub, 3}}).
--export([parse/1,
- parse/2,
- do_sub/2
- ]).
+-export([parse/1, parse/2, do_sub/2]).
-%%%-------------------------------------------------------------------------
+%%====================================================================
+%% API
+%%====================================================================
+%%%-------------------------------------------------------------------
%%% Arity: parse/1
%%% Function: parse(RFC2254_Filter) -> {ok, EldapFilter} |
%%% {error, bad_filter}
@@ -47,15 +45,15 @@
%%% to eldap's representation of filter.
%%%
%%% Example:
-%%% > eldap_filter:parse("(&(!(uid<=100))(mail=*))").
+%%% > eldap_filter:parse("(&(!(uid<=100))(mail=*))").
%%%
-%%% {ok,{'and',[{'not',{lessOrEqual,{'AttributeValueAssertion',"uid","100"}}},
-%%% {present,"mail"}]}}
-%%%-------------------------------------------------------------------------
-parse(RFC2254_Filter) ->
- parse(RFC2254_Filter, []).
+%%% {ok,{'and',[{'not',{lessOrEqual,{'AttributeValueAssertion',"uid","100"}}},
+%%% {present,"mail"}]}}
+%%%-------------------------------------------------------------------
+parse(L) when is_list(L) ->
+ parse(L, []).
-%%%-------------------------------------------------------------------------
+%%%-------------------------------------------------------------------
%%% Arity: parse/2
%%% Function: parse(RFC2254_Filter, [SubstValue |...]) ->
%%% {ok, EldapFilter} |
@@ -81,135 +79,53 @@ parse(RFC2254_Filter) ->
%%% {equalityMatch,{'AttributeValueAssertion',
%%% "jid",
%%% "xramtsov@gmail.com"}}]}}
-%%%--------------------------------------------------------------------------
-parse(RFC2254_Filter, ListOfSubValues) ->
- case catch convert_filter(parse_filter(RFC2254_Filter), ListOfSubValues) of
- [EldapFilter] when is_tuple(EldapFilter) ->
- {ok, EldapFilter};
- {regexp, Error} ->
- {error, Error};
- _ ->
- {error, bad_filter}
+%%%-------------------------------------------------------------------
+parse(L, SList) when is_list(L), is_list(SList) ->
+ case catch eldap_filter_yecc:parse(scan(L, SList)) of
+ {error, {_, _, Msg}} ->
+ {error, Msg};
+ {ok, Result} ->
+ {ok, Result};
+ {regexp, Err} ->
+ {error, Err}
end.
-%%%==========================
-%%% Internal functions
-%%%==========================
+%%====================================================================
+%% Internal functions
+%%====================================================================
+-define(do_scan(L), scan(Rest, [], [{L, 1} | check(Buf, S) ++ Result], L, S)).
-%%%----------------------
-%%% split/1,4
-%%%----------------------
-split(Filter) ->
- split(Filter, 0, [], []).
+scan(L, SList) ->
+ scan(L, "", [], undefined, SList).
-split([], _, _, Result) ->
- Result;
+scan("=*)" ++ Rest, Buf, Result, '(', S) ->
+ scan(Rest, [], [{')', 1}, {'=*', 1} | check(Buf, S) ++ Result], ')', S);
+scan(":dn" ++ Rest, Buf, Result, '(', S) -> ?do_scan(':dn');
+scan(":=" ++ Rest, Buf, Result, '(', S) -> ?do_scan(':=');
+scan(":=" ++ Rest, Buf, Result, ':dn', S) -> ?do_scan(':=');
+scan(":=" ++ Rest, Buf, Result, ':', S) -> ?do_scan(':=');
+scan("~=" ++ Rest, Buf, Result, '(', S) -> ?do_scan('~=');
+scan(">=" ++ Rest, Buf, Result, '(', S) -> ?do_scan('>=');
+scan("<=" ++ Rest, Buf, Result, '(', S) -> ?do_scan('<=');
+scan("=" ++ Rest, Buf, Result, '(', S) -> ?do_scan('=');
+scan(":" ++ Rest, Buf, Result, '(', S) -> ?do_scan(':');
+scan(":" ++ Rest, Buf, Result, ':dn', S) -> ?do_scan(':');
+scan("&" ++ Rest, Buf, Result, '(', S) when Buf=="" -> ?do_scan('&');
+scan("|" ++ Rest, Buf, Result, '(', S) when Buf=="" -> ?do_scan('|');
+scan("!" ++ Rest, Buf, Result, '(', S) when Buf=="" -> ?do_scan('!');
+scan("*" ++ Rest, Buf, Result, '*', S) -> ?do_scan('*');
+scan("*" ++ Rest, Buf, Result, '=', S) -> ?do_scan('*');
+scan("(" ++ Rest, Buf, Result, _, S) -> ?do_scan('(');
+scan(")" ++ Rest, Buf, Result, _, S) -> ?do_scan(')');
+scan([Letter | Rest], Buf, Result, PreviosAtom, S) ->
+ scan(Rest, [Letter|Buf], Result, PreviosAtom, S);
+scan([], Buf, Result, _, S) ->
+ lists:reverse(check(Buf, S) ++ Result).
-split([H|T], Num, Rest, Result) ->
- NewNum = case H of
- $( -> Num + 1;
- $) -> Num - 1;
- _ -> Num
- end,
- if
- NewNum == 0 ->
- X = Rest++[H],
- LenX = length(X),
- if
- LenX > 2 ->
- split(T, 0, [], Result ++ [lists:sublist(X, 2, LenX-2)]);
- true ->
- split(T, 0, Rest, Result)
- end;
- true ->
- split(T, NewNum, Rest++[H], Result)
- end.
-
-%%%-----------------------
-%%% parse_filter/1
-%%%-----------------------
-parse_filter(Filter) ->
- case Filter of
- [$! | T] ->
- {'not', parse_filter(T)};
- [$| | T] ->
- {'or', parse_filter(T)};
- [$& | T] ->
- {'and', parse_filter(T)};
- [$( | _] ->
- parse_filter(split(Filter));
- [List | _] when is_list(List) ->
- [parse_filter(X) || X <- Filter];
- _ ->
- Filter
- end.
-
-%%%--------------------
-%%% convert_filter/2
-%%%--------------------
-convert_filter({'not', [Val | _]}, Replace) ->
- eldap:'not'(convert_filter(Val, Replace));
-
-convert_filter({'or', Vals}, Replace) ->
- eldap:'or'([convert_filter(X, Replace) || X <- Vals]);
-
-convert_filter({'and', Vals}, Replace) ->
- eldap:'and'([convert_filter(X, Replace) || X <- Vals]);
-
-convert_filter([H|_] = Filter, Replace) when is_integer(H) ->
- parse_attr(Filter, Replace);
-
-convert_filter(Filter, Replace) when is_list(Filter) ->
- [convert_filter(X, Replace) || X <- Filter].
-
-%%%-----------------
-%%% parse_attr/2,3
-%%%-----------------
-parse_attr(Attr, ListOfSubValues) ->
- {Action, [_|_] = Name, [_|_] = Value} = split_attribute(Attr),
- parse_attr(Action, {Name, Value}, ListOfSubValues).
-
-parse_attr(approx, {Name, Value}, ListOfSubValues) ->
- NewValue = do_sub(Value, ListOfSubValues),
- eldap:approxMatch(Name, NewValue);
-
-parse_attr(greater, {Name, Value}, ListOfSubValues) ->
- NewValue = do_sub(Value, ListOfSubValues),
- eldap:greaterOrEqual(Name, NewValue);
-
-parse_attr(less, {Name, Value}, ListOfSubValues) ->
- NewValue = do_sub(Value, ListOfSubValues),
- eldap:lessOrEqual(Name, NewValue);
-
-parse_attr(equal, {Name, Value}, ListOfSubValues) ->
- {ok, RegSList} = regexp:split(remove_extra_asterisks(Value), "[*]"),
- Pattern = case [do_sub(X, ListOfSubValues) || X <- RegSList] of
- [Head | Tail] when Tail /= [] ->
- {Head, lists:sublist(Tail, length(Tail)-1), lists:last(Tail)};
- R ->
- R
- end,
- case Pattern of
- [V] ->
- eldap:equalityMatch(Name, V);
- {[], [], []} ->
- eldap:present(Name);
- {"", Any, ""} ->
- eldap:substrings(Name, [{any, X} || X<-Any]);
- {H, Any, ""} ->
- eldap:substrings(Name, [{initial, H}]++[{any, X} || X<-Any]);
- {"", Any, T} ->
- eldap:substrings(Name, [{any, X} || X<-Any]++[{final, T}]);
- {H, Any, T} ->
- eldap:substrings(Name, [{initial, H}]++[{any, X} || X<-Any]++[{final, T}])
- end;
-
-parse_attr(_, _, _) ->
- false.
-
-%%%--------------------
-%%% do_sub/2,3
-%%%--------------------
+check([], _) ->
+ [];
+check(Buf, S) ->
+ [{str, 1, do_sub(lists:reverse(Buf), S)}].
-define(MAX_RECURSION, 100).
@@ -234,9 +150,9 @@ do_sub(S, {RegExp, New}, Iter) ->
{ok, NewS, _} when Iter =< ?MAX_RECURSION ->
do_sub(NewS, {RegExp, New}, Iter+1);
{ok, _, _} when Iter > ?MAX_RECURSION ->
- throw({regexp, max_substitute_recursion});
+ erlang:error(max_substitute_recursion);
_ ->
- throw({regexp, bad_regexp})
+ erlang:error(bad_regexp)
end;
do_sub(S, {_, _, N}, _) when N<1 ->
@@ -251,52 +167,11 @@ do_sub(S, {RegExp, New, Times}, Iter) ->
{ok, NewS, _} ->
NewS;
_ ->
- throw({regexp, bad_regexp})
+ erlang:error(bad_regexp)
end.
-remove_extra_asterisks(String) ->
- {Res, _} = lists:foldl(
- fun(X, {Acc, Last}) ->
- case X of
- $* when Last==$* ->
- {Acc, X};
- _ ->
- {Acc ++ [X], X}
- end
- end,
- {"", ""}, String),
- Res.
-
replace_amps(String) ->
- lists:foldl(
- fun(X, Acc) ->
- if
- X == $& ->
- Acc ++ "\\&";
- true ->
- Acc ++ [X]
- end
- end,
- "", String).
-
-split_attribute(String) ->
- split_attribute(String, "", $0).
-
-split_attribute([], _, _) ->
- {error, "", ""};
-
-split_attribute([H|Tail], Acc, Last) ->
- case H of
- $= when Last==$> ->
- {greater, lists:sublist(Acc, 1, length(Acc)-1), Tail};
- $= when Last==$< ->
- {less, lists:sublist(Acc, 1, length(Acc)-1), Tail};
- $= when Last==$~ ->
- {approx, lists:sublist(Acc, 1, length(Acc)-1), Tail};
- $= when Last==$: ->
- {equal, lists:sublist(Acc, 1, length(Acc)-1), Tail};
- $= ->
- {equal, Acc, Tail};
- _ ->
- split_attribute(Tail, Acc++[H], H)
- end.
+ lists:flatmap(
+ fun($&) -> "\\&";
+ (Chr) -> [Chr]
+ end, String).
diff --git a/src/eldap/eldap_filter_yecc.yrl b/src/eldap/eldap_filter_yecc.yrl
new file mode 100644
index 000000000..a8f7970bf
--- /dev/null
+++ b/src/eldap/eldap_filter_yecc.yrl
@@ -0,0 +1,71 @@
+Nonterminals
+filter filtercomp filterlist item
+simple present substring extensible
+initial any final matchingrule xattr
+attr value.
+
+Terminals str
+'(' ')' '&' '|' '!' '=' '~=' '>=' '<=' '=*' '*' ':dn' ':' ':='.
+
+Rootsymbol filter.
+
+filter -> '(' filtercomp ')': '$2'.
+filtercomp -> '&' filterlist: 'and'('$2').
+filtercomp -> '|' filterlist: 'or'('$2').
+filtercomp -> '!' filter: 'not'('$2').
+filtercomp -> item: '$1'.
+filterlist -> filter: '$1'.
+filterlist -> filter filterlist: flatten(['$1', '$2']).
+
+item -> simple: '$1'.
+item -> present: '$1'.
+item -> substring: '$1'.
+item -> extensible: '$1'.
+
+simple -> attr '=' value: equal('$1', '$3').
+simple -> attr '~=' value: approx('$1', '$3').
+simple -> attr '>=' value: greater('$1', '$3').
+simple -> attr '<=' value: less('$1', '$3').
+
+present -> attr '=*': present('$1').
+
+substring -> attr '=' initial '*' any: substrings('$1', ['$3', '$5']).
+substring -> attr '=' '*' any final: substrings('$1', ['$4', '$5']).
+substring -> attr '=' initial '*' any final: substrings('$1', ['$3', '$5', '$6']).
+substring -> attr '=' '*' any: substrings('$1', ['$4']).
+any -> any value '*': 'any'('$1', '$2').
+any -> '$empty': [].
+initial -> value: initial('$1').
+final -> value: final('$1').
+
+extensible -> xattr ':dn' ':' matchingrule ':=' value: extensible('$6', ['$1', '$4']).
+extensible -> xattr ':' matchingrule ':=' value: extensible('$5', ['$1', '$3']).
+extensible -> xattr ':dn' ':=' value: extensible('$4', ['$1']).
+extensible -> xattr ':=' value: extensible('$3', ['$1']).
+extensible -> ':dn' ':' matchingrule ':=' value: extensible('$5', ['$3']).
+extensible -> ':' matchingrule ':=' value: extensible('$4', ['$2']).
+xattr -> value: xattr('$1').
+matchingrule -> value: matchingrule('$1').
+
+attr -> str: value_of('$1').
+value -> str: value_of('$1').
+
+Erlang code.
+
+'and'(Value) -> eldap:'and'(Value).
+'or'(Value) -> eldap:'or'(Value).
+'not'(Value) -> eldap:'not'(Value).
+equal(Desc, Value) -> eldap:equalityMatch(Desc, Value).
+approx(Desc, Value) -> eldap:approxMatch(Desc, Value).
+greater(Desc, Value) -> eldap:greaterOrEqual(Desc, Value).
+less(Desc, Value) -> eldap:lessOrEqual(Desc, Value).
+present(Value) -> eldap:present(Value).
+extensible(Value, Opts) -> eldap:extensibleMatch(Value, Opts).
+substrings(Desc, ValueList) -> eldap:substrings(Desc, flatten(ValueList)).
+initial(Value) -> {initial, Value}.
+final(Value) -> {final, Value}.
+'any'(Token, Value) -> [Token, {any, Value}].
+xattr(Value) -> {type, Value}.
+matchingrule(Value) -> {matchingRule, Value}.
+value_of(Token) -> element(3, Token).
+flatten(List) -> lists:flatten(List).
diff --git a/src/eldap/eldap_pool.erl b/src/eldap/eldap_pool.erl
index f6cb721d1..ed03692e7 100644
--- a/src/eldap/eldap_pool.erl
+++ b/src/eldap/eldap_pool.erl
@@ -31,7 +31,8 @@
-export([
start_link/7,
bind/3,
- search/2
+ search/2,
+ modify_passwd/3
]).
-include("ejabberd.hrl").
@@ -45,18 +46,23 @@ bind(PoolName, DN, Passwd) ->
search(PoolName, Opts) ->
do_request(PoolName, {search, [Opts]}).
-start_link(Name, Hosts, Backups, Port, Rootdn, Passwd, Encrypt) ->
+modify_passwd(PoolName, DN, Passwd) ->
+ do_request(PoolName, {modify_passwd, [DN, Passwd]}).
+
+start_link(Name, Hosts, Backups, Port, Rootdn, Passwd, Opts) ->
PoolName = make_id(Name),
pg2:create(PoolName),
- lists:foreach(fun(Host) ->
- ID = erlang:ref_to_list(make_ref()),
- case catch eldap:start_link(ID, [Host|Backups], Port, Rootdn, Passwd, Encrypt) of
- {ok, Pid} ->
- pg2:join(PoolName, Pid);
- _ ->
- error
- end
- end, Hosts).
+ lists:foreach(
+ fun(Host) ->
+ ID = erlang:ref_to_list(make_ref()),
+ case catch eldap:start_link(ID, [Host|Backups], Port,
+ Rootdn, Passwd, Opts) of
+ {ok, Pid} ->
+ pg2:join(PoolName, Pid);
+ _ ->
+ error
+ end
+ end, Hosts).
%%====================================================================
%% Internal functions
diff --git a/src/expat_erl.c b/src/expat_erl.c
index 8727e5172..f6b552c59 100644
--- a/src/expat_erl.c
+++ b/src/expat_erl.c
@@ -41,6 +41,8 @@ typedef struct {
XML_Parser parser;
} expat_data;
+static XML_Memory_Handling_Suite ms = {driver_alloc, driver_realloc, driver_free};
+
void *erlXML_StartElementHandler(expat_data *d,
const XML_Char *name,
const XML_Char **atts)
@@ -98,7 +100,7 @@ static ErlDrvData expat_erl_start(ErlDrvPort port, char *buff)
{
expat_data* d = (expat_data*)driver_alloc(sizeof(expat_data));
d->port = port;
- d->parser = XML_ParserCreate("UTF-8");
+ d->parser = XML_ParserCreate_MM("UTF-8", &ms, NULL);
XML_SetUserData(d->parser, d);
set_port_control_flags(port, PORT_CONTROL_FLAG_BINARY);
diff --git a/src/extauth.erl b/src/extauth.erl
index 80a8aa816..3f96c9ab2 100644
--- a/src/extauth.erl
+++ b/src/extauth.erl
@@ -27,8 +27,15 @@
-module(extauth).
-author('leifj@it.su.se').
--export([start/2, stop/1, init/2,
- check_password/3, set_password/3, is_user_exists/2]).
+-export([start/2,
+ stop/1,
+ init/2,
+ check_password/3,
+ set_password/3,
+ try_register/3,
+ remove_user/2,
+ remove_user/3,
+ is_user_exists/2]).
-include("ejabberd.hrl").
@@ -36,16 +43,29 @@
-define(CALL_TIMEOUT, 10000). % Timeout is in milliseconds: 10 seconds == 10000
start(Host, ExtPrg) ->
- spawn(?MODULE, init, [Host, ExtPrg]).
+ lists:foreach(
+ fun(This) ->
+ spawn(?MODULE, init, [get_process_name(Host, This), ExtPrg])
+ end,
+ lists:seq(0, get_instances(Host)-1)
+ ).
-init(Host, ExtPrg) ->
- register(gen_mod:get_module_proc(Host, eauth), self()),
+init(ProcessName, ExtPrg) ->
+ register(ProcessName, self()),
process_flag(trap_exit,true),
Port = open_port({spawn, ExtPrg}, [{packet,2}]),
loop(Port, ?INIT_TIMEOUT).
stop(Host) ->
- gen_mod:get_module_proc(Host, eauth) ! stop.
+ lists:foreach(
+ fun(This) ->
+ get_process_name(Host, This) ! stop
+ end,
+ lists:seq(0, get_instances(Host)-1)
+ ).
+
+get_process_name(Host, Integer) ->
+ gen_mod:get_module_proc(lists:append([Host, integer_to_list(Integer)]), eauth).
check_password(User, Server, Password) ->
call_port(Server, ["auth", User, Server, Password]).
@@ -56,14 +76,38 @@ is_user_exists(User, Server) ->
set_password(User, Server, Password) ->
call_port(Server, ["setpass", User, Server, Password]).
+try_register(User, Server, Password) ->
+ case call_port(Server, ["tryregister", User, Server, Password]) of
+ true -> {atomic, ok};
+ false -> {error, not_allowed}
+ end.
+
+remove_user(User, Server) ->
+ call_port(Server, ["removeuser", User, Server]).
+
+remove_user(User, Server, Password) ->
+ call_port(Server, ["removeuser3", User, Server, Password]).
+
call_port(Server, Msg) ->
LServer = jlib:nameprep(Server),
- gen_mod:get_module_proc(LServer, eauth) ! {call, self(), Msg},
+ ProcessName = get_process_name(LServer, random_instance(get_instances(LServer))),
+ ProcessName ! {call, self(), Msg},
receive
{eauth,Result} ->
Result
end.
+random_instance(MaxNum) ->
+ {A1,A2,A3} = now(),
+ random:seed(A1, A2, A3),
+ random:uniform(MaxNum) - 1.
+
+get_instances(Server) ->
+ case ejabberd_config:get_local_option({extauth_instances, Server}) of
+ Num when is_integer(Num) -> Num;
+ _ -> 1
+ end.
+
loop(Port, Timeout) ->
receive
{call, Caller, Msg} ->
diff --git a/src/jlib.hrl b/src/jlib.hrl
index 8047c1a82..fe844be02 100644
--- a/src/jlib.hrl
+++ b/src/jlib.hrl
@@ -22,6 +22,7 @@
-define(NS_DISCO_ITEMS, "http://jabber.org/protocol/disco#items").
-define(NS_DISCO_INFO, "http://jabber.org/protocol/disco#info").
-define(NS_VCARD, "vcard-temp").
+-define(NS_VCARD_UPDATE, "vcard-temp:x:update").
-define(NS_AUTH, "jabber:iq:auth").
-define(NS_AUTH_ERROR, "jabber:iq:auth:error").
-define(NS_REGISTER, "jabber:iq:register").
@@ -140,6 +141,8 @@
?STANZA_ERROR("407", "auth", "subscription-required")).
-define(ERR_UNEXPECTED_REQUEST,
?STANZA_ERROR("400", "wait", "unexpected-request")).
+-define(ERR_UNEXPECTED_REQUEST_CANCEL,
+ ?STANZA_ERROR("401", "cancel", "unexpected-request")).
%-define(ERR_,
% ?STANZA_ERROR("", "", "")).
diff --git a/src/mod_adhoc.erl b/src/mod_adhoc.erl
index c9fcc598e..cdfd6845a 100644
--- a/src/mod_adhoc.erl
+++ b/src/mod_adhoc.erl
@@ -1,7 +1,7 @@
%%%----------------------------------------------------------------------
%%% File : mod_adhoc.erl
%%% Author : Magnus Henoch
-%%% Purpose : Handle incoming ad-doc requests (JEP-0050)
+%%% Purpose : Handle incoming ad-doc requests (XEP-0050)
%%% Created : 15 Nov 2005 by Magnus Henoch
%%%
%%%
diff --git a/src/mod_caps.erl b/src/mod_caps.erl
index 9250c5c03..d9f4f30c8 100644
--- a/src/mod_caps.erl
+++ b/src/mod_caps.erl
@@ -33,6 +33,10 @@
-behaviour(gen_mod).
-export([read_caps/1,
+ caps_stream_features/2,
+ disco_features/5,
+ disco_identity/5,
+ disco_info/5,
get_features/1]).
%% gen_mod callbacks
@@ -56,7 +60,7 @@
-define(PROCNAME, ejabberd_mod_caps).
--record(caps, {node, version, exts}).
+-record(caps, {node, version, hash, exts}).
-record(caps_features, {node_pair, features = []}).
-record(state, {host}).
@@ -115,8 +119,10 @@ read_caps([{xmlelement, "c", Attrs, _Els} | Tail], Result) ->
?NS_CAPS ->
Node = xml:get_attr_s("node", Attrs),
Version = xml:get_attr_s("ver", Attrs),
+ Hash = xml:get_attr_s("hash", Attrs),
Exts = string:tokens(xml:get_attr_s("ext", Attrs), " "),
- read_caps(Tail, #caps{node = Node, version = Version, exts = Exts});
+ read_caps(Tail, #caps{node = Node, hash = Hash,
+ version = Version, exts = Exts});
_ ->
read_caps(Tail, Result)
end;
@@ -152,6 +158,41 @@ user_send_packet(#jid{luser = User, lserver = Server} = From,
user_send_packet(_From, _To, _Packet) ->
ok.
+caps_stream_features(Acc, MyHost) ->
+ case make_my_disco_hash(MyHost) of
+ "" ->
+ Acc;
+ Hash ->
+ [{xmlelement, "c", [{"xmlns", ?NS_CAPS},
+ {"hash", "sha-1"},
+ {"node", ?EJABBERD_URI},
+ {"ver", Hash}], []} | Acc]
+ end.
+
+disco_features(_Acc, From, To, ?EJABBERD_URI ++ "#" ++ [_|_], Lang) ->
+ ejabberd_hooks:run_fold(disco_local_features,
+ To#jid.lserver,
+ empty,
+ [From, To, "", Lang]);
+disco_features(Acc, _From, _To, _Node, _Lang) ->
+ Acc.
+
+disco_identity(_Acc, From, To, ?EJABBERD_URI ++ "#" ++ [_|_], Lang) ->
+ ejabberd_hooks:run_fold(disco_local_identity,
+ To#jid.lserver,
+ [],
+ [From, To, "", Lang]);
+disco_identity(Acc, _From, _To, _Node, _Lang) ->
+ Acc.
+
+disco_info(_Acc, Host, Module, ?EJABBERD_URI ++ "#" ++ [_|_], Lang) ->
+ ejabberd_hooks:run_fold(disco_info,
+ Host,
+ [],
+ [Host, Module, "", Lang]);
+disco_info(Acc, _Host, _Module, _Node, _Lang) ->
+ Acc.
+
%%====================================================================
%% gen_server callbacks
%%====================================================================
@@ -163,6 +204,16 @@ init([Host, _Opts]) ->
mnesia:add_table_copy(caps_features, node(), disc_copies),
ejabberd_hooks:add(user_send_packet, Host,
?MODULE, user_send_packet, 75),
+ ejabberd_hooks:add(c2s_stream_features, Host,
+ ?MODULE, caps_stream_features, 75),
+ ejabberd_hooks:add(s2s_stream_features, Host,
+ ?MODULE, caps_stream_features, 75),
+ ejabberd_hooks:add(disco_local_features, Host,
+ ?MODULE, disco_features, 75),
+ ejabberd_hooks:add(disco_local_identity, Host,
+ ?MODULE, disco_identity, 75),
+ ejabberd_hooks:add(disco_info, Host,
+ ?MODULE, disco_info, 75),
{ok, #state{host = Host}}.
handle_call(stop, _From, State) ->
@@ -180,6 +231,16 @@ terminate(_Reason, State) ->
Host = State#state.host,
ejabberd_hooks:delete(user_send_packet, Host,
?MODULE, user_send_packet, 75),
+ ejabberd_hooks:delete(c2s_stream_features, Host,
+ ?MODULE, caps_stream_features, 75),
+ ejabberd_hooks:delete(s2s_stream_features, Host,
+ ?MODULE, caps_stream_features, 75),
+ ejabberd_hooks:delete(disco_local_features, Host,
+ ?MODULE, disco_features, 75),
+ ejabberd_hooks:delete(disco_local_identity, Host,
+ ?MODULE, disco_identity, 75),
+ ejabberd_hooks:delete(disco_info, Host,
+ ?MODULE, disco_info, 75),
ok.
code_change(_OldVsn, State, _Extra) ->
@@ -214,16 +275,21 @@ feature_request(_Host, _From, _Caps, []) ->
feature_response(#iq{type = result,
sub_el = [{xmlelement, _, _, Els}]},
Host, From, Caps, [SubNode | SubNodes]) ->
- Features = lists:flatmap(
- fun({xmlelement, "feature", FAttrs, _}) ->
- [xml:get_attr_s("var", FAttrs)];
- (_) ->
- []
- end, Els),
BinaryNode = node_to_binary(Caps#caps.node, SubNode),
- mnesia:dirty_write(
- #caps_features{node_pair = BinaryNode,
- features = features_to_binary(Features)}),
+ case check_hash(Caps, Els) of
+ true ->
+ Features = lists:flatmap(
+ fun({xmlelement, "feature", FAttrs, _}) ->
+ [xml:get_attr_s("var", FAttrs)];
+ (_) ->
+ []
+ end, Els),
+ mnesia:dirty_write(
+ #caps_features{node_pair = BinaryNode,
+ features = features_to_binary(Features)});
+ false ->
+ mnesia:dirty_write(#caps_features{node_pair = BinaryNode})
+ end,
feature_request(Host, From, Caps, SubNodes);
feature_response(timeout, _Host, _From, _Caps, _SubNodes) ->
ok;
@@ -239,3 +305,171 @@ node_to_binary(Node, SubNode) ->
features_to_binary(L) -> [list_to_binary(I) || I <- L].
binary_to_features(L) -> [binary_to_list(I) || I <- L].
+
+make_my_disco_hash(Host) ->
+ JID = jlib:make_jid("", Host, ""),
+ case {ejabberd_hooks:run_fold(disco_local_features,
+ Host,
+ empty,
+ [JID, JID, "", ""]),
+ ejabberd_hooks:run_fold(disco_local_identity,
+ Host,
+ [],
+ [JID, JID, "", ""]),
+ ejabberd_hooks:run_fold(disco_info,
+ Host,
+ [],
+ [Host, undefined, "", ""])} of
+ {{result, Features}, Identities, Info} ->
+ Feats = lists:map(
+ fun({{Feat, _Host}}) ->
+ {xmlelement, "feature", [{"var", Feat}], []};
+ (Feat) ->
+ {xmlelement, "feature", [{"var", Feat}], []}
+ end, Features),
+ make_disco_hash(Identities ++ Info ++ Feats, sha1);
+ _Err ->
+ ""
+ end.
+
+-ifdef(HAVE_MD2).
+make_disco_hash(DiscoEls, Algo) ->
+ Concat = [concat_identities(DiscoEls),
+ concat_features(DiscoEls),
+ concat_info(DiscoEls)],
+ base64:encode_to_string(
+ if Algo == md2 ->
+ sha:md2(Concat);
+ Algo == md5 ->
+ crypto:md5(Concat);
+ Algo == sha1 ->
+ crypto:sha(Concat);
+ Algo == sha224 ->
+ sha:sha224(Concat);
+ Algo == sha256 ->
+ sha:sha256(Concat);
+ Algo == sha384 ->
+ sha:sha384(Concat);
+ Algo == sha512 ->
+ sha:sha512(Concat)
+ end).
+
+check_hash(Caps, Els) ->
+ case Caps#caps.hash of
+ "md2" ->
+ Caps#caps.version == make_disco_hash(Els, md2);
+ "md5" ->
+ Caps#caps.version == make_disco_hash(Els, md5);
+ "sha-1" ->
+ Caps#caps.version == make_disco_hash(Els, sha1);
+ "sha-224" ->
+ Caps#caps.version == make_disco_hash(Els, sha224);
+ "sha-256" ->
+ Caps#caps.version == make_disco_hash(Els, sha256);
+ "sha-384" ->
+ Caps#caps.version == make_disco_hash(Els, sha384);
+ "sha-512" ->
+ Caps#caps.version == make_disco_hash(Els, sha512);
+ _ ->
+ true
+ end.
+-else.
+make_disco_hash(DiscoEls, Algo) ->
+ Concat = [concat_identities(DiscoEls),
+ concat_features(DiscoEls),
+ concat_info(DiscoEls)],
+ base64:encode_to_string(
+ if Algo == md5 ->
+ crypto:md5(Concat);
+ Algo == sha1 ->
+ crypto:sha(Concat);
+ Algo == sha224 ->
+ sha:sha224(Concat);
+ Algo == sha256 ->
+ sha:sha256(Concat);
+ Algo == sha384 ->
+ sha:sha384(Concat);
+ Algo == sha512 ->
+ sha:sha512(Concat)
+ end).
+
+check_hash(Caps, Els) ->
+ case Caps#caps.hash of
+ "md5" ->
+ Caps#caps.version == make_disco_hash(Els, md5);
+ "sha-1" ->
+ Caps#caps.version == make_disco_hash(Els, sha1);
+ "sha-224" ->
+ Caps#caps.version == make_disco_hash(Els, sha224);
+ "sha-256" ->
+ Caps#caps.version == make_disco_hash(Els, sha256);
+ "sha-384" ->
+ Caps#caps.version == make_disco_hash(Els, sha384);
+ "sha-512" ->
+ Caps#caps.version == make_disco_hash(Els, sha512);
+ _ ->
+ true
+ end.
+-endif.
+
+concat_features(Els) ->
+ lists:usort(
+ lists:flatmap(
+ fun({xmlelement, "feature", Attrs, _}) ->
+ [[xml:get_attr_s("var", Attrs), $<]];
+ (_) ->
+ []
+ end, Els)).
+
+concat_identities(Els) ->
+ lists:sort(
+ lists:flatmap(
+ fun({xmlelement, "identity", Attrs, _}) ->
+ [[xml:get_attr_s("category", Attrs), $/,
+ xml:get_attr_s("type", Attrs), $/,
+ xml:get_attr_s("xml:lang", Attrs), $/,
+ xml:get_attr_s("name", Attrs), $<]];
+ (_) ->
+ []
+ end, Els)).
+
+concat_info(Els) ->
+ lists:sort(
+ lists:flatmap(
+ fun({xmlelement, "x", Attrs, Fields}) ->
+ case {xml:get_attr_s("xmlns", Attrs),
+ xml:get_attr_s("type", Attrs)} of
+ {?NS_XDATA, "result"} ->
+ [concat_xdata_fields(Fields)];
+ _ ->
+ []
+ end;
+ (_) ->
+ []
+ end, Els)).
+
+concat_xdata_fields(Fields) ->
+ [Form, Res] =
+ lists:foldl(
+ fun({xmlelement, "field", Attrs, Els} = El,
+ [FormType, VarFields] = Acc) ->
+ case xml:get_attr_s("var", Attrs) of
+ "" ->
+ Acc;
+ "FORM_TYPE" ->
+ [xml:get_subtag_cdata(El, "value"), VarFields];
+ Var ->
+ [FormType,
+ [[[Var, $<],
+ lists:sort(
+ lists:flatmap(
+ fun({xmlelement, "value", _, VEls}) ->
+ [[xml:get_cdata(VEls), $<]];
+ (_) ->
+ []
+ end, Els))] | VarFields]]
+ end;
+ (_, Acc) ->
+ Acc
+ end, ["", []], Fields),
+ [Form, $<, lists:sort(Res)].
diff --git a/src/mod_configure.erl b/src/mod_configure.erl
index e879470f2..cb50a9366 100644
--- a/src/mod_configure.erl
+++ b/src/mod_configure.erl
@@ -237,7 +237,23 @@ get_local_features(Acc, From, #jid{lserver = LServer} = _To, Node, _Lang) ->
?INFO_RESULT(Allow, [?NS_COMMANDS]);
["config", _] ->
?INFO_RESULT(Allow, [?NS_COMMANDS]);
- ["http:" | _] ->
+ ?NS_ADMINL("add-user") ->
+ ?INFO_RESULT(Allow, [?NS_COMMANDS]);
+ ?NS_ADMINL("delete-user") ->
+ ?INFO_RESULT(Allow, [?NS_COMMANDS]);
+ ?NS_ADMINL("end-user-session") ->
+ ?INFO_RESULT(Allow, [?NS_COMMANDS]);
+ ?NS_ADMINL("get-user-password") ->
+ ?INFO_RESULT(Allow, [?NS_COMMANDS]);
+ ?NS_ADMINL("change-user-password") ->
+ ?INFO_RESULT(Allow, [?NS_COMMANDS]);
+ ?NS_ADMINL("get-user-lastlogin") ->
+ ?INFO_RESULT(Allow, [?NS_COMMANDS]);
+ ?NS_ADMINL("user-stats") ->
+ ?INFO_RESULT(Allow, [?NS_COMMANDS]);
+ ?NS_ADMINL("get-registered-users-num") ->
+ ?INFO_RESULT(Allow, [?NS_COMMANDS]);
+ ?NS_ADMINL("get-online-users-num") ->
?INFO_RESULT(Allow, [?NS_COMMANDS]);
_ ->
Acc
@@ -449,7 +465,23 @@ get_local_items(Acc, From, #jid{lserver = LServer} = To, Node, Lang) ->
?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
["config", _] ->
?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
- ?NS_ADMINL(_) ->
+ ?NS_ADMINL("add-user") ->
+ ?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
+ ?NS_ADMINL("delete-user") ->
+ ?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
+ ?NS_ADMINL("end-user-session") ->
+ ?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
+ ?NS_ADMINL("get-user-password") ->
+ ?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
+ ?NS_ADMINL("change-user-password") ->
+ ?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
+ ?NS_ADMINL("get-user-lastlogin") ->
+ ?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
+ ?NS_ADMINL("user-stats") ->
+ ?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
+ ?NS_ADMINL("get-registered-users-num") ->
+ ?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
+ ?NS_ADMINL("get-online-users-num") ->
?ITEMS_RESULT(Allow, LNode, {error, ?ERR_FORBIDDEN});
_ ->
Acc
diff --git a/src/mod_disco.erl b/src/mod_disco.erl
index 16a930894..151bf0d9c 100644
--- a/src/mod_disco.erl
+++ b/src/mod_disco.erl
@@ -172,7 +172,7 @@ process_local_iq_info(From, To, #iq{type = Type, lang = Lang,
[{"xmlns", ?NS_DISCO_INFO} | ANode],
Identity ++
Info ++
- lists:map(fun feature_to_xml/1, Features)
+ features_to_xml(Features)
}]};
{error, Error} ->
IQ#iq{type = error, sub_el = [SubEl, Error]}
@@ -209,10 +209,16 @@ get_local_features(Acc, _From, _To, _Node, _Lang) ->
end.
-feature_to_xml({{Feature, _Host}}) ->
- feature_to_xml(Feature);
-feature_to_xml(Feature) when is_list(Feature) ->
- {xmlelement, "feature", [{"var", Feature}], []}.
+features_to_xml(FeatureList) ->
+ %% Avoid duplicating features
+ [{xmlelement, "feature", [{"var", Feat}], []} ||
+ Feat <- lists:usort(
+ lists:map(
+ fun({{Feature, _Host}}) ->
+ Feature;
+ (Feature) when is_list(Feature) ->
+ Feature
+ end, FeatureList))].
domain_to_xml({Domain}) ->
{xmlelement, "item", [{"jid", Domain}], []};
@@ -263,42 +269,48 @@ process_sm_iq_items(From, To, #iq{type = Type, lang = Lang, sub_el = SubEl} = IQ
set ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
get ->
- Host = To#jid.lserver,
- Node = xml:get_tag_attr_s("node", SubEl),
- case ejabberd_hooks:run_fold(disco_sm_items,
- Host,
- empty,
- [From, To, Node, Lang]) of
- {result, Items} ->
- ANode = case Node of
- "" -> [];
- _ -> [{"node", Node}]
- end,
- IQ#iq{type = result,
- sub_el = [{xmlelement, "query",
- [{"xmlns", ?NS_DISCO_ITEMS} | ANode],
- Items
- }]};
- {error, Error} ->
- IQ#iq{type = error, sub_el = [SubEl, Error]}
- end
+ case is_presence_subscribed(From, To) of
+ true ->
+ Host = To#jid.lserver,
+ Node = xml:get_tag_attr_s("node", SubEl),
+ case ejabberd_hooks:run_fold(disco_sm_items,
+ Host,
+ empty,
+ [From, To, Node, Lang]) of
+ {result, Items} ->
+ ANode = case Node of
+ "" -> [];
+ _ -> [{"node", Node}]
+ end,
+ IQ#iq{type = result,
+ sub_el = [{xmlelement, "query",
+ [{"xmlns", ?NS_DISCO_ITEMS} | ANode],
+ Items
+ }]};
+ {error, Error} ->
+ IQ#iq{type = error, sub_el = [SubEl, Error]}
+ end;
+ false ->
+ IQ#iq{type = error, sub_el = [SubEl, ?ERR_SERVICE_UNAVAILABLE]}
+ end
end.
get_sm_items({error, _Error} = Acc, _From, _To, _Node, _Lang) ->
Acc;
-get_sm_items(Acc,
- #jid{luser = LFrom, lserver = LSFrom},
- #jid{user = User, server = Server, luser = LTo, lserver = LSTo} = _To,
+get_sm_items(Acc, From,
+ #jid{user = User, server = Server} = To,
[], _Lang) ->
Items = case Acc of
{result, Its} -> Its;
empty -> []
end,
- Items1 = case {LFrom, LSFrom} of
- {LTo, LSTo} -> get_user_resources(User, Server);
- _ -> []
- end,
+ Items1 = case is_presence_subscribed(From, To) of
+ true ->
+ get_user_resources(User, Server);
+ _ ->
+ []
+ end,
{result, Items ++ Items1};
get_sm_items({result, _} = Acc, _From, _To, _Node, _Lang) ->
@@ -314,39 +326,63 @@ get_sm_items(empty, From, To, _Node, _Lang) ->
{error, ?ERR_NOT_ALLOWED}
end.
+is_presence_subscribed(#jid{luser=User, lserver=Server}, #jid{luser=LUser, lserver=LServer}) ->
+ lists:any(fun({roster, _, _, {TUser, TServer, _}, _, S, _, _, _, _}) ->
+ if
+ LUser == TUser, LServer == TServer, S/=none ->
+ true;
+ true ->
+ false
+ end
+ end,
+ ejabberd_hooks:run_fold(roster_get, Server, [], [{User, Server}]))
+ orelse User == LUser andalso Server == LServer.
+
process_sm_iq_info(From, To, #iq{type = Type, lang = Lang, sub_el = SubEl} = IQ) ->
case Type of
set ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
get ->
- Host = To#jid.lserver,
- Node = xml:get_tag_attr_s("node", SubEl),
- Identity = ejabberd_hooks:run_fold(disco_sm_identity,
- Host,
- [],
- [From, To, Node, Lang]),
- case ejabberd_hooks:run_fold(disco_sm_features,
- Host,
- empty,
- [From, To, Node, Lang]) of
- {result, Features} ->
- ANode = case Node of
- "" -> [];
- _ -> [{"node", Node}]
- end,
- IQ#iq{type = result,
- sub_el = [{xmlelement, "query",
- [{"xmlns", ?NS_DISCO_INFO} | ANode],
- Identity ++
- lists:map(fun feature_to_xml/1, Features)
- }]};
- {error, Error} ->
- IQ#iq{type = error, sub_el = [SubEl, Error]}
- end
+ case is_presence_subscribed(From, To) of
+ true ->
+ Host = To#jid.lserver,
+ Node = xml:get_tag_attr_s("node", SubEl),
+ Identity = ejabberd_hooks:run_fold(disco_sm_identity,
+ Host,
+ [],
+ [From, To, Node, Lang]),
+ case ejabberd_hooks:run_fold(disco_sm_features,
+ Host,
+ empty,
+ [From, To, Node, Lang]) of
+ {result, Features} ->
+ ANode = case Node of
+ "" -> [];
+ _ -> [{"node", Node}]
+ end,
+ IQ#iq{type = result,
+ sub_el = [{xmlelement, "query",
+ [{"xmlns", ?NS_DISCO_INFO} | ANode],
+ Identity ++
+ features_to_xml(Features)
+ }]};
+ {error, Error} ->
+ IQ#iq{type = error, sub_el = [SubEl, Error]}
+ end;
+ false ->
+ IQ#iq{type = error, sub_el = [SubEl, ?ERR_SERVICE_UNAVAILABLE]}
+ end
+ end.
+
+get_sm_identity(Acc, _From, #jid{luser = LUser, lserver=LServer}, _Node, _Lang) ->
+ Acc ++ case ejabberd_auth:is_user_exists(LUser, LServer) of
+ true ->
+ [{xmlelement, "identity", [{"category", "account"},
+ {"type", "registered"}], []}];
+ _ ->
+ []
end.
-get_sm_identity(Acc, _From, _To, _Node, _Lang) ->
- Acc.
get_sm_features(empty, From, To, _Node, _Lang) ->
#jid{luser = LFrom, lserver = LSFrom} = From,
@@ -373,7 +409,13 @@ get_user_resources(User, Server) ->
%%% Support for: XEP-0157 Contact Addresses for XMPP Services
-get_info(_A, Host, Module, Node, _Lang) when Node == [] ->
+get_info(_A, Host, Mod, Node, _Lang) when Node == [] ->
+ Module = case Mod of
+ undefined ->
+ ?MODULE;
+ _ ->
+ Mod
+ end,
Serverinfo_fields = get_fields_xml(Host, Module),
[{xmlelement, "x",
[{"xmlns", ?NS_XDATA}, {"type", "result"}],
@@ -387,8 +429,8 @@ get_info(_A, Host, Module, Node, _Lang) when Node == [] ->
++ Serverinfo_fields
}];
-get_info(_, _, _, _Node, _) ->
- [].
+get_info(Acc, _, _, _Node, _) ->
+ Acc.
get_fields_xml(Host, Module) ->
Fields = gen_mod:get_module_opt(Host, ?MODULE, server_info, []),
diff --git a/src/mod_irc/iconv_erl.c b/src/mod_irc/iconv_erl.c
index 9e560610d..3212568d9 100644
--- a/src/mod_irc/iconv_erl.c
+++ b/src/mod_irc/iconv_erl.c
@@ -64,15 +64,15 @@ static int iconv_erl_control(ErlDrvData drv_data,
ei_decode_version(buf, &index, &i);
ei_decode_tuple_header(buf, &index, &i);
ei_get_type(buf, &index, &i, &size);
- from = malloc(size + 1);
+ from = driver_alloc(size + 1);
ei_decode_string(buf, &index, from);
ei_get_type(buf, &index, &i, &size);
- to = malloc(size + 1);
+ to = driver_alloc(size + 1);
ei_decode_string(buf, &index, to);
ei_get_type(buf, &index, &i, &size);
- stmp = string = malloc(size + 1);
+ stmp = string = driver_alloc(size + 1);
ei_decode_string(buf, &index, string);
/* Special mode: parse as UTF-8 if possible; otherwise assume it's
@@ -92,9 +92,9 @@ static int iconv_erl_control(ErlDrvData drv_data,
*rbuf = (char*)(b = driver_alloc_binary(size));
memcpy(b->orig_bytes, string, size);
- free(from);
- free(to);
- free(string);
+ driver_free(from);
+ driver_free(to);
+ driver_free(string);
return size;
}
@@ -102,7 +102,7 @@ static int iconv_erl_control(ErlDrvData drv_data,
outleft = avail = 4*size;
inleft = size;
- rtmp = rstring = malloc(avail);
+ rtmp = rstring = driver_alloc(avail);
while (inleft > 0) {
if (iconv(cd, &stmp, &inleft, &rtmp, &outleft) == (size_t) -1) {
if (invalid_utf8_as_latin1 && (*stmp & 0x80) && outleft >= 2) {
@@ -121,10 +121,10 @@ static int iconv_erl_control(ErlDrvData drv_data,
*rbuf = (char*)(b = driver_alloc_binary(size));
memcpy(b->orig_bytes, rstring, size);
- free(from);
- free(to);
- free(string);
- free(rstring);
+ driver_free(from);
+ driver_free(to);
+ driver_free(string);
+ driver_free(rstring);
iconv_close(cd);
return size;
diff --git a/src/mod_last.erl b/src/mod_last.erl
index bb97effba..d3b561f60 100644
--- a/src/mod_last.erl
+++ b/src/mod_last.erl
@@ -1,7 +1,7 @@
%%%----------------------------------------------------------------------
%%% File : mod_last.erl
%%% Author : Alexey Shchepin
-%%% Purpose : jabber:iq:last support (JEP-0012)
+%%% Purpose : jabber:iq:last support (XEP-0012)
%%% Created : 24 Oct 2003 by Alexey Shchepin
%%%
%%%
@@ -127,7 +127,7 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
[User, Server, UserListRecord,
{From, To,
{xmlelement, "presence", [], []}},
- out]) of
+ in]) of
allow ->
get_last(IQ, SubEl, User, Server);
deny ->
diff --git a/src/mod_last_odbc.erl b/src/mod_last_odbc.erl
index b66480e29..7616c5020 100644
--- a/src/mod_last_odbc.erl
+++ b/src/mod_last_odbc.erl
@@ -1,7 +1,7 @@
%%%----------------------------------------------------------------------
%%% File : mod_last_odbc.erl
%%% Author : Alexey Shchepin
-%%% Purpose : jabber:iq:last support (JEP-0012)
+%%% Purpose : jabber:iq:last support (XEP-0012)
%%% Created : 24 Oct 2003 by Alexey Shchepin
%%%
%%%
@@ -119,7 +119,7 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
[User, Server, UserListRecord,
{From, To,
{xmlelement, "presence", [], []}},
- out]) of
+ in]) of
allow ->
get_last(IQ, SubEl, User, Server);
deny ->
diff --git a/src/mod_muc/mod_muc.erl b/src/mod_muc/mod_muc.erl
index 9b6f797f1..f79f4cd24 100644
--- a/src/mod_muc/mod_muc.erl
+++ b/src/mod_muc/mod_muc.erl
@@ -1,7 +1,7 @@
%%%----------------------------------------------------------------------
%%% File : mod_muc.erl
%%% Author : Alexey Shchepin
-%%% Purpose : MUC support (JEP-0045)
+%%% Purpose : MUC support (XEP-0045)
%%% Created : 19 Mar 2003 by Alexey Shchepin
%%%
%%%
@@ -336,7 +336,7 @@ do_route(Host, ServerHost, Access, HistorySize, RoomShaper,
ErrText = "Access denied by service policy",
Err = jlib:make_error_reply(Packet,
?ERRT_FORBIDDEN(Lang, ErrText)),
- ejabberd_router:route(To, From, Err)
+ ejabberd_router:route_error(To, From, Err, Packet)
end.
diff --git a/src/mod_muc/mod_muc_log.erl b/src/mod_muc/mod_muc_log.erl
index f1c57eac0..d010e86b8 100644
--- a/src/mod_muc/mod_muc_log.erl
+++ b/src/mod_muc/mod_muc_log.erl
@@ -860,7 +860,9 @@ roomconfig_to_string(Options, Lang, FileFormat) ->
T ->
case Opt of
password -> "" ++ OptText ++ " ";
- title -> "" ++ ?T("Room title") ++ ": \"" ++ htmlize(T, FileFormat) ++ "\" ";
+ max_users -> "" ++ OptText ++ ": \"" ++ htmlize(integer_to_list(T), FileFormat) ++ "\" ";
+ title -> "" ++ OptText ++ ": \"" ++ htmlize(T, FileFormat) ++ "\" ";
+ description -> "" ++ OptText ++ ": \"" ++ htmlize(T, FileFormat) ++ "\" ";
_ -> "\"" ++ T ++ "\""
end
end,
@@ -876,7 +878,7 @@ get_roomconfig_text(public) -> "Make room public searchable";
get_roomconfig_text(public_list) -> "Make participants list public";
get_roomconfig_text(password_protected) -> "Make room password protected";
get_roomconfig_text(password) -> "Password";
-get_roomconfig_text(anonymous) -> "Make room semianonymous";
+get_roomconfig_text(anonymous) -> "This room is not anonymous";
get_roomconfig_text(members_only) -> "Make room members-only";
get_roomconfig_text(moderated) -> "Make room moderated";
get_roomconfig_text(members_by_default) -> "Default users as participants";
@@ -885,6 +887,13 @@ get_roomconfig_text(allow_private_messages) -> "Allow users to send private mess
get_roomconfig_text(allow_query_users) -> "Allow users to query other users";
get_roomconfig_text(allow_user_invites) -> "Allow users to send invites";
get_roomconfig_text(logging) -> "Enable logging";
+get_roomconfig_text(allow_visitor_nickchange) -> "Allow visitors to change nickname";
+get_roomconfig_text(allow_visitor_status) -> "Allow visitors to send status text in presence updates";
+get_roomconfig_text(captcha_protected) -> "Make room captcha protected";
+get_roomconfig_text(description) -> "Room description";
+%% get_roomconfig_text(subject) -> "Subject";
+%% get_roomconfig_text(subject_author) -> "Subject author";
+get_roomconfig_text(max_users) -> "Maximum Number of Occupants";
get_roomconfig_text(_) -> undefined.
%% Users = [{JID, Nick, Role}]
diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl
index 7caa93f7a..0eeea91e8 100644
--- a/src/mod_muc/mod_muc_room.erl
+++ b/src/mod_muc/mod_muc_room.erl
@@ -162,7 +162,7 @@ normal_state({route, From, "",
trunc(gen_mod:get_module_opt(
StateData#state.server_host,
mod_muc, min_message_interval, 0) * 1000000),
- Size = lists:flatlength(xml:element_to_string(Packet)),
+ Size = element_size(Packet),
{MessageShaper, MessageShaperInterval} =
shaper:update(Activity#activity.message_shaper, Size),
if
@@ -593,35 +593,8 @@ handle_event(_Event, StateName, StateData) ->
%% {stop, Reason, Reply, NewStateData}
%%----------------------------------------------------------------------
handle_sync_event({get_disco_item, JID, Lang}, _From, StateName, StateData) ->
- FAffiliation = get_affiliation(JID, StateData),
- FRole = get_role(JID, StateData),
- Tail =
- case ((StateData#state.config)#config.public_list == true) orelse
- (FRole /= none) orelse
- (FAffiliation == admin) orelse
- (FAffiliation == owner) of
- true ->
- Desc = case (StateData#state.config)#config.public of
- true ->
- "";
- _ ->
- translate:translate(Lang, "private, ")
- end,
- Len = ?DICT:fold(fun(_, _, Acc) -> Acc + 1 end, 0,
- StateData#state.users),
- " (" ++ Desc ++ integer_to_list(Len) ++ ")";
- _ ->
- " (n/a)"
- end,
- Reply = case ((StateData#state.config)#config.public == true) orelse
- (FRole /= none) orelse
- (FAffiliation == admin) orelse
- (FAffiliation == owner) of
- true ->
- {item, get_title(StateData) ++ Tail};
- _ ->
- false
- end,
+ Reply = get_roomdesc_reply(JID, StateData,
+ get_roomdesc_tail(StateData, Lang)),
{reply, Reply, StateName, StateData};
handle_sync_event(get_config, _From, StateName, StateData) ->
{reply, {ok, StateData#state.config}, StateName, StateData};
@@ -1000,6 +973,18 @@ is_user_online(JID, StateData) ->
LJID = jlib:jid_tolower(JID),
?DICT:is_key(LJID, StateData#state.users).
+%% Check if the user is occupant of the room, or at least is an admin or owner.
+is_occupant_or_admin(JID, StateData) ->
+ FAffiliation = get_affiliation(JID, StateData),
+ FRole = get_role(JID, StateData),
+ case (FRole /= none) orelse
+ (FAffiliation == admin) orelse
+ (FAffiliation == owner) of
+ true ->
+ true;
+ _ ->
+ false
+ end.
%%%
%%% Handle IQ queries of vCard
@@ -1409,7 +1394,7 @@ prepare_room_queue(StateData) ->
{{value, {message, From}}, _RoomQueue} ->
Activity = get_user_activity(From, StateData),
Packet = Activity#activity.message,
- Size = lists:flatlength(xml:element_to_string(Packet)),
+ Size = element_size(Packet),
{RoomShaper, RoomShaperInterval} =
shaper:update(StateData#state.room_shaper, Size),
erlang:send_after(
@@ -1420,7 +1405,7 @@ prepare_room_queue(StateData) ->
{{value, {presence, From}}, _RoomQueue} ->
Activity = get_user_activity(From, StateData),
{_Nick, Packet} = Activity#activity.presence,
- Size = lists:flatlength(xml:element_to_string(Packet)),
+ Size = element_size(Packet),
{RoomShaper, RoomShaperInterval} =
shaper:update(StateData#state.room_shaper, Size),
erlang:send_after(
@@ -1902,10 +1887,18 @@ send_new_presence(NJID, Reason, StateData) ->
false ->
[]
end,
+ Status2 = case ((StateData#state.config)#config.anonymous==false)
+ andalso (NJID == Info#user.jid) of
+ true ->
+ [{xmlelement, "status", [{"code", "100"}], []}
+ | Status];
+ false ->
+ Status
+ end,
Packet = xml:append_subtags(
Presence,
[{xmlelement, "x", [{"xmlns", ?NS_MUC_USER}],
- [{xmlelement, "item", ItemAttrs, ItemEls} | Status]}]),
+ [{xmlelement, "item", ItemAttrs, ItemEls} | Status2]}]),
ejabberd_router:route(
jlib:jid_replace_resource(StateData#state.jid, Nick),
Info#user.jid,
@@ -2083,7 +2076,7 @@ add_message_to_history(FromNick, FromJID, Packet, StateData) ->
jlib:jid_replace_resource(StateData#state.jid, FromNick),
StateData#state.jid,
TSPacket),
- Size = lists:flatlength(xml:element_to_string(SPacket)),
+ Size = element_size(SPacket),
Q1 = lqueue_in({FromNick, TSPacket, HaveSubject, TimeStamp, Size},
StateData#state.history),
add_to_log(text, {FromNick, Packet}, StateData),
@@ -3329,28 +3322,16 @@ process_iq_disco_items(_From, set, _Lang, _StateData) ->
{error, ?ERR_NOT_ALLOWED};
process_iq_disco_items(From, get, _Lang, StateData) ->
- FAffiliation = get_affiliation(From, StateData),
- FRole = get_role(From, StateData),
- case ((StateData#state.config)#config.public_list == true) orelse
- (FRole /= none) orelse
- (FAffiliation == admin) orelse
- (FAffiliation == owner) of
+ case (StateData#state.config)#config.public_list of
true ->
- UList =
- lists:map(
- fun({_LJID, Info}) ->
- Nick = Info#user.nick,
- {xmlelement, "item",
- [{"jid", jlib:jid_to_string(
- {StateData#state.room,
- StateData#state.host,
- Nick})},
- {"name", Nick}], []}
- end,
- ?DICT:to_list(StateData#state.users)),
- {result, UList, StateData};
+ {result, get_mucroom_disco_items(StateData), StateData};
_ ->
- {error, ?ERR_FORBIDDEN}
+ case is_occupant_or_admin(From, StateData) of
+ true ->
+ {result, get_mucroom_disco_items(StateData), StateData};
+ _ ->
+ {error, ?ERR_FORBIDDEN}
+ end
end.
process_iq_captcha(_From, get, _Lang, _SubEl, _StateData) ->
@@ -3372,6 +3353,38 @@ get_title(StateData) ->
Name
end.
+get_roomdesc_reply(JID, StateData, Tail) ->
+ IsOccupantOrAdmin = is_occupant_or_admin(JID, StateData),
+ if (StateData#state.config)#config.public or IsOccupantOrAdmin ->
+ if (StateData#state.config)#config.public_list or IsOccupantOrAdmin ->
+ {item, get_title(StateData) ++ Tail};
+ true ->
+ {item, get_title(StateData)}
+ end;
+ true ->
+ false
+ end.
+
+get_roomdesc_tail(StateData, Lang) ->
+ Desc = case (StateData#state.config)#config.public of
+ true ->
+ "";
+ _ ->
+ translate:translate(Lang, "private, ")
+ end,
+ Len = ?DICT:fold(fun(_, _, Acc) -> Acc + 1 end, 0, StateData#state.users),
+ " (" ++ Desc ++ integer_to_list(Len) ++ ")".
+
+get_mucroom_disco_items(StateData) ->
+ lists:map(
+ fun({_LJID, Info}) ->
+ Nick = Info#user.nick,
+ {xmlelement, "item",
+ [{"jid", jlib:jid_to_string({StateData#state.room,
+ StateData#state.host, Nick})},
+ {"name", Nick}], []}
+ end,
+ ?DICT:to_list(StateData#state.users)).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Invitation support
@@ -3577,3 +3590,6 @@ tab_count_user(JID) ->
_ ->
0
end.
+
+element_size(El) ->
+ size(xml:element_to_binary(El)).
diff --git a/src/mod_offline_odbc.erl b/src/mod_offline_odbc.erl
index cb7318e7d..ab63b00b3 100644
--- a/src/mod_offline_odbc.erl
+++ b/src/mod_offline_odbc.erl
@@ -126,8 +126,7 @@ loop(Host, AccessMaxOfflineMsgs) ->
M#offline_msg.timestamp))]},
XML =
ejabberd_odbc:escape(
- lists:flatten(
- xml:element_to_string(Packet))),
+ xml:element_to_binary(Packet)),
odbc_queries:add_spool_sql(Username, XML)
end, Msgs),
case catch odbc_queries:add_spool(Host, Query) of
diff --git a/src/mod_privacy_odbc.erl b/src/mod_privacy_odbc.erl
index ae572ae64..5ad2fb958 100644
--- a/src/mod_privacy_odbc.erl
+++ b/src/mod_privacy_odbc.erl
@@ -726,11 +726,11 @@ raw_to_item({SType, SValue, SAction, SOrder, SMatchAll, SMatchIQ,
"d" -> deny
end,
Order = list_to_integer(SOrder),
- MatchAll = SMatchAll == "1" orelse SMatchAll == "t",
- MatchIQ = SMatchIQ == "1" orelse SMatchIQ == "t" ,
- MatchMessage = SMatchMessage == "1" orelse SMatchMessage == "t",
- MatchPresenceIn = SMatchPresenceIn == "1" orelse SMatchPresenceIn == "t",
- MatchPresenceOut = SMatchPresenceOut == "1" orelse SMatchPresenceOut == "t",
+ MatchAll = ejabberd_odbc:to_bool(SMatchAll),
+ MatchIQ = ejabberd_odbc:to_bool(SMatchIQ),
+ MatchMessage = ejabberd_odbc:to_bool(SMatchMessage),
+ MatchPresenceIn = ejabberd_odbc:to_bool(SMatchPresenceIn),
+ MatchPresenceOut = ejabberd_odbc:to_bool(SMatchPresenceOut),
#listitem{type = Type,
value = Value,
action = Action,
diff --git a/src/mod_private_odbc.erl b/src/mod_private_odbc.erl
index f0e4dbfd1..13e6683b4 100644
--- a/src/mod_private_odbc.erl
+++ b/src/mod_private_odbc.erl
@@ -92,7 +92,7 @@ set_data(LUser, LServer, El) ->
Username = ejabberd_odbc:escape(LUser),
LXMLNS = ejabberd_odbc:escape(XMLNS),
SData = ejabberd_odbc:escape(
- lists:flatten(xml:element_to_string(El))),
+ xml:element_to_binary(El)),
odbc_queries:set_private_data(LServer, Username, LXMLNS, SData)
end;
_ ->
diff --git a/src/mod_pubsub/mod_pubsub.erl b/src/mod_pubsub/mod_pubsub.erl
index 7553468c6..a9293212d 100644
--- a/src/mod_pubsub/mod_pubsub.erl
+++ b/src/mod_pubsub/mod_pubsub.erl
@@ -73,8 +73,7 @@
disco_sm_items/5
]).
%% exported iq handlers
--export([iq_local/3,
- iq_sm/3
+-export([iq_sm/3
]).
%% exports for console debug manual use
@@ -183,9 +182,8 @@ init([ServerHost, Opts]) ->
pubsub_index:init(Host, ServerHost, Opts),
ets:new(gen_mod:get_module_proc(Host, config), [set, named_table]),
ets:new(gen_mod:get_module_proc(ServerHost, config), [set, named_table]),
- ets:new(gen_mod:get_module_proc(Host, last_items), [set, named_table]),
- ets:new(gen_mod:get_module_proc(ServerHost, last_items), [set, named_table]),
{Plugins, NodeTree, PepMapping} = init_plugins(Host, ServerHost, Opts),
+ mnesia:create_table(pubsub_last_item, [{ram_copies, [node()]}, {attributes, record_info(fields, pubsub_last_item)}]),
mod_disco:register_feature(ServerHost, ?NS_PUBSUB),
ets:insert(gen_mod:get_module_proc(Host, config), {nodetree, NodeTree}),
ets:insert(gen_mod:get_module_proc(Host, config), {plugins, Plugins}),
@@ -199,24 +197,22 @@ init([ServerHost, Opts]) ->
ets:insert(gen_mod:get_module_proc(ServerHost, config), {ignore_pep_from_offline, PepOffline}),
ets:insert(gen_mod:get_module_proc(ServerHost, config), {host, Host}),
ejabberd_hooks:add(sm_remove_connection_hook, ServerHost, ?MODULE, on_user_offline, 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_items, ServerHost, ?MODULE, disco_sm_items, 75),
+ ejabberd_hooks:add(disco_local_identity, ServerHost, ?MODULE, disco_local_identity, 75),
+ ejabberd_hooks:add(disco_local_features, ServerHost, ?MODULE, disco_local_features, 75),
+ ejabberd_hooks:add(disco_local_items, ServerHost, ?MODULE, disco_local_items, 75),
ejabberd_hooks:add(presence_probe_hook, ServerHost, ?MODULE, presence_probe, 80),
ejabberd_hooks:add(roster_in_subscription, ServerHost, ?MODULE, in_subscription, 50),
ejabberd_hooks:add(roster_out_subscription, ServerHost, ?MODULE, out_subscription, 50),
ejabberd_hooks:add(remove_user, ServerHost, ?MODULE, remove_user, 50),
ejabberd_hooks:add(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50),
- gen_iq_handler:add_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB, ?MODULE, iq_sm, IQDisc),
- gen_iq_handler:add_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB_OWNER, ?MODULE, iq_sm, IQDisc),
case lists:member(?PEPNODE, Plugins) of
true ->
ejabberd_hooks:add(feature_check_packet, ServerHost, ?MODULE, feature_check_packet, 75),
- ejabberd_hooks:add(disco_local_identity, ServerHost, ?MODULE, disco_local_identity, 75),
- ejabberd_hooks:add(disco_local_features, ServerHost, ?MODULE, disco_local_features, 75),
- ejabberd_hooks:add(disco_local_items, ServerHost, ?MODULE, disco_local_items, 75),
- gen_iq_handler:add_iq_handler(ejabberd_local, ServerHost, ?NS_PUBSUB, ?MODULE, iq_local, IQDisc),
- gen_iq_handler:add_iq_handler(ejabberd_local, ServerHost, ?NS_PUBSUB_OWNER, ?MODULE, iq_local, IQDisc);
+ ejabberd_hooks:add(disco_sm_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
+ ejabberd_hooks:add(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 75),
+ ejabberd_hooks:add(disco_sm_items, ServerHost, ?MODULE, disco_sm_items, 75),
+ gen_iq_handler:add_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB, ?MODULE, iq_sm, IQDisc),
+ gen_iq_handler:add_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB_OWNER, ?MODULE, iq_sm, IQDisc);
false ->
ok
end,
@@ -585,15 +581,12 @@ send_loop(State) ->
%% disco hooks handling functions
%%
-identity(Host) ->
- Identity = case lists:member(?PEPNODE, plugins(Host)) of
- true -> [{"category", "pubsub"}, {"type", "pep"}];
- false -> [{"category", "pubsub"}, {"type", "service"}]
- end,
- {xmlelement, "identity", Identity, []}.
-
disco_local_identity(Acc, _From, To, [], _Lang) ->
- Acc ++ [identity(To#jid.lserver)];
+ case lists:member(?PEPNODE, plugins(To#jid.lserver)) of
+ true ->
+ [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []} | Acc];
+ false -> Acc
+ end;
disco_local_identity(Acc, _From, _To, _Node, _Lang) ->
Acc.
@@ -614,76 +607,116 @@ disco_local_items(Acc, _From, _To, [], _Lang) ->
disco_local_items(Acc, _From, _To, _Node, _Lang) ->
Acc.
-disco_sm_identity(Acc, _From, To, [], _Lang) ->
- Acc ++ [identity(To#jid.lserver)];
+disco_sm_identity(Acc, From, To, Node, Lang) when is_list(Node) ->
+ disco_sm_identity(Acc, From, To, list_to_binary(Node), Lang);
+disco_sm_identity(empty, From, To, Node, Lang) ->
+ disco_sm_identity([], From, To, Node, Lang);
disco_sm_identity(Acc, From, To, Node, _Lang) ->
- LOwner = jlib:jid_tolower(jlib:jid_remove_resource(To)),
- Acc ++ case node_disco_identity(LOwner, From, Node) of
- {result, I} -> I;
- _ -> []
- end.
+ disco_identity(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From) ++ Acc.
-disco_sm_features(Acc, _From, _To, [], _Lang) ->
- Acc;
-disco_sm_features(Acc, From, To, Node, _Lang) ->
- LOwner = jlib:jid_tolower(jlib:jid_remove_resource(To)),
- Features = node_disco_features(LOwner, From, Node),
- case {Acc, Features} of
- {{result, AccFeatures}, {result, AddFeatures}} ->
- {result, AccFeatures++AddFeatures};
- {_, {result, AddFeatures}} ->
- {result, AddFeatures};
- {_, _} ->
- Acc
+disco_identity(_Host, <<>>, _From) ->
+ [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []}];
+disco_identity(Host, Node, From) ->
+ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options, owners = Owners}) ->
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ {result, [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []},
+ {xmlelement, "identity",
+ [{"category", "pubsub"},
+ {"type", "leaf"}
+ | case get_option(Options, title) of
+ false -> [];
+ [Title] -> [{"name", Title}]
+ end],
+ []}]};
+ _ -> {result, []}
+ end
+ end,
+ case transaction(Host, Node, Action, sync_dirty) of
+ {result, {_, Result}} -> Result;
+ _ -> []
end.
-disco_sm_items(Acc, From, To, [], _Lang) ->
- Host = To#jid.lserver,
- case tree_action(Host, get_subnodes, [Host, <<>>, From]) of
- [] ->
- Acc;
- Nodes ->
- SBJID = jlib:jid_to_string(jlib:jid_remove_resource(To)),
- Items = case Acc of
- {result, I} -> I;
- _ -> []
- end,
- NodeItems = lists:map(
- fun(#pubsub_node{nodeid = {_, Node}}) ->
- {xmlelement, "item",
- [{"jid", SBJID}|nodeAttr(Node)],
- []}
- end, Nodes),
- {result, NodeItems ++ Items}
+disco_sm_features(Acc, From, To, Node, Lang) when is_list(Node) ->
+ disco_sm_features(Acc, From, To, list_to_binary(Node), Lang);
+disco_sm_features(empty, From, To, Node, Lang) ->
+ disco_sm_features({result, []}, From, To, Node, Lang);
+disco_sm_features({result, OtherFeatures} = _Acc, From, To, Node, _Lang) ->
+ {result,
+ OtherFeatures ++
+ disco_features(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From)};
+disco_sm_features(Acc, _From, _To, _Node, _Lang) ->
+ Acc.
+
+disco_features(_Host, <<>>, _From) ->
+ [?NS_PUBSUB
+ | [?NS_PUBSUB++"#"++Feature || Feature <- features("pep")]];
+disco_features(Host, Node, From) ->
+ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options, owners = Owners}) ->
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ {result, [?NS_PUBSUB
+ | [?NS_PUBSUB ++ "#" ++ Feature || Feature <- features("pep")]]};
+ _ -> {result, []}
+ end
+ end,
+ case transaction(Host, Node, Action, sync_dirty) of
+ {result, {_, Result}} -> Result;
+ _ -> []
+ end.
+
+disco_sm_items(Acc, From, To, Node, Lang) when is_list(Node) ->
+ disco_sm_items(Acc, From, To, list_to_binary(Node), Lang);
+disco_sm_items(empty, From, To, Node, Lang) ->
+ disco_sm_items({result, []}, From, To, Node, Lang);
+disco_sm_items({result, OtherItems}, From, To, Node, _Lang) ->
+ {result,
+ lists:usort(OtherItems ++
+ disco_items(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From))};
+disco_sm_items(Acc, _From, _To, _Node, _Lang) ->
+ Acc.
+
+disco_items(Host, <<>>, From) ->
+ Action = fun(#pubsub_node{nodeid ={_, NodeID}, options = Options, type = Type, id = Idx, owners = Owners}, Acc) ->
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ [{xmlelement, "item",
+ [{"node", binary_to_list(NodeID)},
+ {"jid", case Host of
+ {_,_,_} -> jlib:jid_to_string(Host);
+ _Host -> Host
+ end}
+ | case get_option(Options, title) of
+ false -> [];
+ [Title] -> [{"name", Title}]
+ end],
+ []}
+ | Acc];
+ _ -> Acc
+ end
+ end,
+ case transaction(Host, Action, sync_dirty) of
+ {result, Items} -> Items;
+ _ -> []
end;
-disco_sm_items(Acc, From, To, SNode, _Lang) ->
- Host = To#jid.lserver,
- Node = string_to_node(SNode),
- Action = fun(#pubsub_node{type = Type, id = NodeId}) ->
- % TODO call get_items/6 instead for access control (EJAB-1033)
- case node_call(Type, get_items, [NodeId, From]) of
- {result, []} ->
- none;
- {result, AllItems} ->
- SBJID = jlib:jid_to_string(jlib:jid_remove_resource(To)),
- Items = case Acc of
- {result, I} -> I;
- _ -> []
- end,
- NodeItems = lists:map(
- fun(#pubsub_item{itemid = {Id, _}}) ->
- {result, Name} = node_call(Type, get_item_name, [Host, Node, Id]),
- {xmlelement, "item", [{"jid", SBJID}, {"name", Name}], []}
- end, AllItems),
- {result, NodeItems ++ Items};
- _ ->
- none
- end
- end,
+disco_items(Host, Node, From) ->
+ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options, owners = Owners}) ->
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, Items} ->
+ {result, [{xmlelement, "item",
+ [{"jid", case Host of
+ {_,_,_} -> jlib:jid_to_string(Host);
+ _Host -> Host
+ end},
+ {"name", ItemID}], []}
+ || #pubsub_item{itemid = {ItemID,_}} <- Items]};
+ _ -> {result, []}
+ end
+ end,
case transaction(Host, Node, Action, sync_dirty) of
- {result, {_, Items}} -> {result, Items};
- _ -> Acc
+ {result, {_, Result}} -> Result;
+ _ -> []
end.
%% -------
@@ -859,25 +892,23 @@ terminate(_Reason, #state{host = Host,
case lists:member(?PEPNODE, Plugins) of
true ->
ejabberd_hooks:delete(feature_check_packet, ServerHost, ?MODULE, feature_check_packet, 75),
- ejabberd_hooks:delete(disco_local_identity, ServerHost, ?MODULE, disco_local_identity, 75),
- ejabberd_hooks:delete(disco_local_features, ServerHost, ?MODULE, disco_local_features, 75),
- ejabberd_hooks:delete(disco_local_items, ServerHost, ?MODULE, disco_local_items, 75),
- gen_iq_handler:remove_iq_handler(ejabberd_local, ServerHost, ?NS_PUBSUB),
- gen_iq_handler:remove_iq_handler(ejabberd_local, ServerHost, ?NS_PUBSUB_OWNER);
+ ejabberd_hooks:delete(disco_sm_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
+ ejabberd_hooks:delete(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 75),
+ ejabberd_hooks:delete(disco_sm_items, ServerHost, ?MODULE, disco_sm_items, 75),
+ gen_iq_handler:remove_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB),
+ gen_iq_handler:remove_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB_OWNER);
false ->
ok
end,
ejabberd_hooks:delete(sm_remove_connection_hook, ServerHost, ?MODULE, on_user_offline, 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_items, ServerHost, ?MODULE, disco_sm_items, 75),
+ ejabberd_hooks:delete(disco_local_identity, ServerHost, ?MODULE, disco_local_identity, 75),
+ ejabberd_hooks:delete(disco_local_features, ServerHost, ?MODULE, disco_local_features, 75),
+ ejabberd_hooks:delete(disco_local_items, ServerHost, ?MODULE, disco_local_items, 75),
ejabberd_hooks:delete(presence_probe_hook, ServerHost, ?MODULE, presence_probe, 80),
ejabberd_hooks:delete(roster_in_subscription, ServerHost, ?MODULE, in_subscription, 50),
ejabberd_hooks:delete(roster_out_subscription, ServerHost, ?MODULE, out_subscription, 50),
ejabberd_hooks:delete(remove_user, ServerHost, ?MODULE, remove_user, 50),
ejabberd_hooks:delete(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50),
- gen_iq_handler:remove_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB),
- gen_iq_handler:remove_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB_OWNER),
mod_disco:unregister_feature(ServerHost, ?NS_PUBSUB),
gen_mod:get_module_proc(ServerHost, ?LOOPNAME) ! stop,
terminate_plugins(Host, ServerHost, Plugins, TreePlugin).
@@ -1018,10 +1049,10 @@ command_disco_info(_Host, <>, _From) ->
node_disco_info(Host, Node, From) ->
node_disco_info(Host, Node, From, true, true).
-node_disco_identity(Host, Node, From) ->
- node_disco_info(Host, Node, From, true, false).
-node_disco_features(Host, Node, From) ->
- node_disco_info(Host, Node, From, false, true).
+%node_disco_identity(Host, Node, From) ->
+% node_disco_info(Host, Node, From, true, false).
+%node_disco_features(Host, Node, From) ->
+% node_disco_info(Host, Node, From, false, true).
node_disco_info(Host, Node, From, Identity, Features) ->
Action =
fun(#pubsub_node{type = Type, id = NodeId}) ->
@@ -1121,17 +1152,15 @@ iq_disco_items(Host, Item, From) ->
{result, []};
[SNode] ->
Node = string_to_node(SNode),
- Action =
- fun(#pubsub_node{type = Type, id = NodeId}) ->
- % TODO call get_items/6 instead for access control (EJAB-1033)
- NodeItems = case node_call(Type, get_items, [NodeId, From]) of
- {result, I} -> I;
- _ -> []
- end,
+ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options, owners = Owners}) ->
+ NodeItems = case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, R} -> R;
+ _ -> []
+ end,
Nodes = lists:map(
- fun(#pubsub_node{nodeid = {_, SubNode}, options = Options}) ->
+ fun(#pubsub_node{nodeid = {_, SubNode}, options = SubOptions}) ->
Attrs =
- case get_option(Options, title) of
+ case get_option(SubOptions, title) of
false ->
[{"jid", Host} |nodeAttr(SubNode)];
Title ->
@@ -1152,24 +1181,6 @@ iq_disco_items(Host, Item, From) ->
end
end.
-iq_local(From, To, #iq{type = Type, sub_el = SubEl, xmlns = XMLNS, lang = Lang} = IQ) ->
- ServerHost = To#jid.lserver,
- %% Accept IQs to server only from our own users.
- if
- From#jid.lserver /= ServerHost ->
- IQ#iq{type = error, sub_el = [?ERR_FORBIDDEN, SubEl]};
- true ->
- LOwner = jlib:jid_tolower(jlib:jid_remove_resource(From)),
- Res = case XMLNS of
- ?NS_PUBSUB -> iq_pubsub(LOwner, ServerHost, From, Type, SubEl, Lang);
- ?NS_PUBSUB_OWNER -> iq_pubsub_owner(LOwner, ServerHost, From, Type, SubEl, Lang)
- end,
- case Res of
- {result, IQRes} -> IQ#iq{type = result, sub_el = IQRes};
- {error, Error} -> IQ#iq{type = error, sub_el = [Error, SubEl]}
- end
- end.
-
iq_sm(From, To, #iq{type = Type, sub_el = SubEl, xmlns = XMLNS, lang = Lang} = IQ) ->
ServerHost = To#jid.lserver,
LOwner = jlib:jid_tolower(jlib:jid_remove_resource(To)),
@@ -1737,9 +1748,17 @@ create_node(Host, ServerHost, Node, Owner, GivenType, Access, Configuration) ->
{result, true} ->
case tree_call(Host, create_node, [Host, Node, Type, Owner, NodeOptions, Parents]) of
{ok, NodeId} ->
- node_call(Type, create_node, [NodeId, Owner]);
+ ParentTree = tree_call(Host, get_parentnodes_tree, [Host, Node, Owner]),
+ SubsByDepth = [{Depth, [{N, get_node_subs(N)} || N <- Nodes]} || {Depth, Nodes} <- ParentTree],
+ case node_call(Type, create_node, [NodeId, Owner]) of
+ {result, Result} -> {result, {NodeId, SubsByDepth, Result}};
+ Error -> Error
+ end;
{error, {virtual, NodeId}} ->
- node_call(Type, create_node, [NodeId, Owner]);
+ case node_call(Type, create_node, [NodeId, Owner]) of
+ {result, Result} -> {result, {NodeId, [], Result}};
+ Error -> Error
+ end;
Error ->
Error
end;
@@ -1751,20 +1770,15 @@ create_node(Host, ServerHost, Node, Owner, GivenType, Access, Configuration) ->
[{xmlelement, "create", nodeAttr(Node),
[]}]}],
case transaction(CreateNode, transaction) of
- {result, {Result, broadcast}} ->
- %%Lang = "en", %% TODO: fix
- %%OwnerKey = jlib:jid_tolower(jlib:jid_remove_resource(Owner)),
- %%broadcast_publish_item(Host, Node, uniqid(), Owner,
- %% [{xmlelement, "x", [{"xmlns", ?NS_XDATA}, {"type", "result"}],
- %% [?XFIELD("hidden", "", "FORM_TYPE", ?NS_PUBSUB_NMI),
- %% ?XFIELD("jid-single", "Node Creator", "creator", jlib:jid_to_string(OwnerKey))]}]),
+ {result, {NodeId, SubsByDepth, {Result, broadcast}}} ->
+ broadcast_created_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth),
case Result of
default -> {result, Reply};
_ -> {result, Result}
end;
- {result, default} ->
+ {result, {_NodeId, _SubsByDepth, default}} ->
{result, Reply};
- {result, Result} ->
+ {result, {_NodeId, _SubsByDepth, Result}} ->
{result, Result};
Error ->
%% in case we change transaction to sync_dirty...
@@ -1866,7 +1880,7 @@ subscribe_node(Host, Node, From, JID, Configuration) ->
error -> {"", "", ""};
J -> jlib:jid_tolower(J)
end,
- Action = fun(#pubsub_node{options = Options, owners = [Owner|_], type = Type, id = NodeId}) ->
+ Action = fun(#pubsub_node{options = Options, owners = Owners, type = Type, id = NodeId}) ->
Features = features(Type),
SubscribeFeature = lists:member("subscribe", Features),
OptionsFeature = lists:member("subscription-options", Features),
@@ -1875,21 +1889,7 @@ subscribe_node(Host, Node, From, JID, Configuration) ->
AccessModel = get_option(Options, access_model),
SendLast = get_option(Options, send_last_published_item),
AllowedGroups = get_option(Options, roster_groups_allowed, []),
- {PresenceSubscription, RosterGroup} =
- case Host of
- {OUser, OServer, _} ->
- get_roster_info(OUser, OServer,
- Subscriber, AllowedGroups);
- _ ->
- case Subscriber of
- {"", "", ""} ->
- {false, false};
- _ ->
- {OU, OS, _} = Owner,
- get_roster_info(OU, OS,
- Subscriber, AllowedGroups)
- end
- end,
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, Subscriber, Owners, AccessModel, AllowedGroups),
if
not SubscribeFeature ->
%% Node does not support subscriptions
@@ -2054,7 +2054,7 @@ publish_item(Host, ServerHost, Node, Publisher, ItemId, Payload) ->
PluginPayload -> PluginPayload
end,
broadcast_publish_item(Host, Node, NodeId, Type, Options, Removed, ItemId, jlib:jid_tolower(Publisher), BroadcastPayload),
- set_cached_item(Host, NodeId, ItemId, Payload),
+ set_cached_item(Host, NodeId, ItemId, Publisher, Payload),
case Result of
default -> {result, Reply};
_ -> {result, Result}
@@ -2064,14 +2064,14 @@ publish_item(Host, ServerHost, Node, Publisher, ItemId, Payload) ->
Type = TNode#pubsub_node.type,
Options = TNode#pubsub_node.options,
broadcast_retract_items(Host, Node, NodeId, Type, Options, Removed),
- set_cached_item(Host, NodeId, ItemId, Payload),
+ set_cached_item(Host, NodeId, ItemId, Publisher, Payload),
{result, Reply};
{result, {TNode, {Result, Removed}}} ->
NodeId = TNode#pubsub_node.id,
Type = TNode#pubsub_node.type,
Options = TNode#pubsub_node.options,
broadcast_retract_items(Host, Node, NodeId, Type, Options, Removed),
- set_cached_item(Host, NodeId, ItemId, Payload),
+ set_cached_item(Host, NodeId, ItemId, Publisher, Payload),
{result, Result};
{result, {_, default}} ->
{result, Reply};
@@ -2232,20 +2232,13 @@ get_items(Host, Node, From, SubId, SMaxItems, ItemIDs) ->
{error, Error} ->
{error, Error};
_ ->
- Action = fun(#pubsub_node{options = Options, type = Type, id = NodeId}) ->
+ Action = fun(#pubsub_node{options = Options, type = Type, id = NodeId, owners = Owners}) ->
Features = features(Type),
RetreiveFeature = lists:member("retrieve-items", Features),
PersistentFeature = lists:member("persistent-items", Features),
AccessModel = get_option(Options, access_model),
AllowedGroups = get_option(Options, roster_groups_allowed, []),
- {PresenceSubscription, RosterGroup} =
- case Host of
- {OUser, OServer, _} ->
- get_roster_info(OUser, OServer,
- jlib:jid_tolower(From), AllowedGroups);
- _ ->
- {true, true}
- end,
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups),
if
not RetreiveFeature ->
%% Item Retrieval Not Supported
@@ -2295,6 +2288,12 @@ get_item(Host, Node, ItemId) ->
{result, {_, Items}} -> Items;
Error -> Error
end.
+get_allowed_items_call(Host, NodeIdx, From, Type, Options, Owners) ->
+ AccessModel = get_option(Options, access_model),
+ AllowedGroups = get_option(Options, roster_groups_allowed, []),
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups),
+ node_call(Type, get_items, [NodeIdx, From, AccessModel, PresenceSubscription, RosterGroup, undefined]).
+
%% @spec (Host, Node, NodeId, Type, LJID, Number) -> any()
%% Host = pubsubHost()
@@ -2310,10 +2309,10 @@ send_items(Host, Node, NodeId, Type, LJID, last) ->
undefined ->
send_items(Host, Node, NodeId, Type, LJID, 1);
LastItem ->
- {ModifNow, ModifLjid} = LastItem#pubsub_item.modification,
+ {ModifNow, ModifUSR} = LastItem#pubsub_item.modification,
Stanza = event_stanza_with_delay(
[{xmlelement, "items", nodeAttr(Node),
- itemsEls([LastItem])}], ModifNow, ModifLjid),
+ itemsEls([LastItem])}], ModifNow, ModifUSR),
ejabberd_router:route(service_jid(Host), jlib:make_jid(LJID), Stanza)
end;
send_items(Host, Node, NodeId, Type, LJID, Number) ->
@@ -2330,10 +2329,10 @@ send_items(Host, Node, NodeId, Type, LJID, Number) ->
end,
Stanza = case ToSend of
[LastItem] ->
- {ModifNow, ModifLjid} = LastItem#pubsub_item.modification,
+ {ModifNow, ModifUSR} = LastItem#pubsub_item.modification,
event_stanza_with_delay(
[{xmlelement, "items", nodeAttr(Node),
- itemsEls(ToSend)}], ModifNow, ModifLjid);
+ itemsEls(ToSend)}], ModifNow, ModifUSR);
_ ->
event_stanza(
[{xmlelement, "items", nodeAttr(Node),
@@ -2444,6 +2443,11 @@ set_affiliations(Host, Node, From, EntitiesEls) ->
Action = fun(#pubsub_node{owners = Owners, type = Type, id = NodeId}=N) ->
case lists:member(Owner, Owners) of
true ->
+ OwnerJID = jlib:make_jid(Owner),
+ FilteredEntities = case Owners of
+ [Owner] -> [E || E <- Entities, element(1, E) =/= OwnerJID];
+ _ -> Entities
+ end,
lists:foreach(
fun({JID, Affiliation}) ->
node_call(Type, set_affiliation, [NodeId, JID, Affiliation]),
@@ -2464,7 +2468,7 @@ set_affiliations(Host, Node, From, EntitiesEls) ->
_ ->
ok
end
- end, Entities),
+ end, FilteredEntities),
{result, []};
_ ->
{error, ?ERR_FORBIDDEN}
@@ -2767,8 +2771,24 @@ set_subscriptions(Host, Node, From, EntitiesEls) ->
end
end.
+
+get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups) ->
+ if (AccessModel == presence) or (AccessModel == roster) ->
+ case Host of
+ {User, Server, _} ->
+ get_roster_info(User, Server, From, AllowedGroups);
+ _ ->
+ [{OUser, OServer, _}|_] = Owners,
+ get_roster_info(OUser, OServer, From, AllowedGroups)
+ end;
+ true ->
+ {true, true}
+ end.
+
%% @spec (OwnerUser, OwnerServer, {SubscriberUser, SubscriberServer, SubscriberResource}, AllowedGroups)
%% -> {PresenceSubscription, RosterGroup}
+get_roster_info(_, _, {"", "", _}, _) ->
+ {false, false};
get_roster_info(OwnerUser, OwnerServer, {SubscriberUser, SubscriberServer, _}, AllowedGroups) ->
{Subscription, Groups} =
ejabberd_hooks:run_fold(
@@ -2780,7 +2800,9 @@ get_roster_info(OwnerUser, OwnerServer, {SubscriberUser, SubscriberServer, _}, A
RosterGroup = lists:any(fun(Group) ->
lists:member(Group, AllowedGroups)
end, Groups),
- {PresenceSubscription, RosterGroup}.
+ {PresenceSubscription, RosterGroup};
+get_roster_info(OwnerUser, OwnerServer, JID, AllowedGroups) ->
+ get_roster_info(OwnerUser, OwnerServer, jlib:jid_tolower(JID), AllowedGroups).
%% @spec (AffiliationStr) -> Affiliation
%% AffiliationStr = string()
@@ -2868,15 +2890,66 @@ node_to_deliver(LJID, NodeOptions) ->
presence_can_deliver(LJID, PresenceDelivery).
presence_can_deliver(_, false) -> true;
-presence_can_deliver({User, Server, _}, true) ->
+presence_can_deliver({User, Server, Resource}, true) ->
case mnesia:dirty_match_object({session, '_', '_', {User, Server}, '_', '_'}) of
[] -> false;
Ss ->
- lists:foldl(fun({session, _, _, _, undefined, _}, Acc) -> Acc;
- ({session, _, _, _, _Priority, _}, _Acc) -> true
+ lists:foldl(fun(_, true) -> true;
+ ({session, _, _ , _, undefined, _}, _Acc) -> false;
+ ({session, _, {_, _, R}, _, _Priority, _}, _Acc) ->
+ case Resource of
+ [] -> true;
+ R -> true;
+ _ -> false
+ end
end, false, Ss)
end.
+state_can_deliver({U, S, R}, []) -> [{U, S, R}];
+state_can_deliver({U, S, R}, SubOptions) ->
+ %% Check SubOptions for 'show_values'
+ case lists:keysearch('show_values', 1, SubOptions) of
+ %% If not in suboptions, item can be delivered, case doesn't apply
+ false -> [{U, S, R}];
+ %% If in a suboptions ...
+ {_, {_, ShowValues}} ->
+ %% Get subscriber resources
+ Resources = case R of
+ %% If the subscriber JID is a bare one, get all its resources
+ [] -> user_resources(U, S);
+ %% If the subscriber JID is a full one, use its resource
+ R -> [R]
+ end,
+ %% For each resource, test if the item is allowed to be delivered
+ %% based on resource state
+ lists:foldl(
+ fun(Resource, Acc) ->
+ get_resource_state({U, S, Resource}, ShowValues, Acc)
+ end, [], Resources)
+ end.
+
+get_resource_state({U, S, R}, ShowValues, JIDs) ->
+ %% Get user session PID
+ case ejabberd_sm:get_session_pid(U, S, R) of
+ %% If no PID, item can be delivered
+ none -> lists:append([{U, S, R}], JIDs);
+ %% If PID ...
+ Pid ->
+ %% Get user resource state
+ %% TODO : add a catch clause
+ Show = case ejabberd_c2s:get_presence(Pid) of
+ {_, _, "available", _} -> "online";
+ {_, _, State, _} -> State
+ end,
+ %% Is current resource state listed in 'show-values' suboption ?
+ case lists:member(Show, ShowValues) of %andalso Show =/= "online" of
+ %% If yes, item can be delivered
+ true -> lists:append([{U, S, R}], JIDs);
+ %% If no, item can't be delivered
+ false -> JIDs
+ end
+ end.
+
%% @spec (Payload) -> int()
%% Payload = term()
%% @doc Count occurence of XML elements in payload.
@@ -2891,9 +2964,9 @@ payload_xmlelements([_|Tail], Count) -> payload_xmlelements(Tail, Count).
event_stanza(Els) ->
event_stanza_withmoreels(Els, []).
-event_stanza_with_delay(Els, ModifNow, ModifLjid) ->
+event_stanza_with_delay(Els, ModifNow, ModifUSR) ->
DateTime = calendar:now_to_datetime(ModifNow),
- MoreEls = [jlib:timestamp_to_xml(DateTime, utc, ModifLjid, "")],
+ MoreEls = [jlib:timestamp_to_xml(DateTime, utc, ModifUSR, "")],
event_stanza_withmoreels(Els, MoreEls).
event_stanza_withmoreels(Els, MoreEls) ->
@@ -2979,7 +3052,7 @@ broadcast_removed_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth) ->
case get_option(NodeOptions, notify_delete) of
true ->
case SubsByDepth of
- [] ->
+ [] ->
{result, false};
_ ->
Stanza = event_stanza(
@@ -2993,6 +3066,13 @@ broadcast_removed_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth) ->
{result, false}
end.
+broadcast_created_node(_, _, _, _, _, []) ->
+ {result, false};
+broadcast_created_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth) ->
+ Stanza = event_stanza([{xmlelement, "create", nodeAttr(Node), []}]),
+ broadcast_stanza(Host, Node, NodeId, Type, NodeOptions, SubsByDepth, nodes, Stanza, true),
+ {result, true}.
+
broadcast_config_notification(Host, Node, NodeId, Type, NodeOptions, Lang) ->
case get_option(NodeOptions, notify_config) of
true ->
@@ -3010,7 +3090,7 @@ broadcast_config_notification(Host, Node, NodeId, Type, NodeOptions, Lang) ->
broadcast_stanza(Host, Node, NodeId, Type,
NodeOptions, SubsByDepth, nodes, Stanza, false),
{result, true};
- _ ->
+ _ ->
{result, false}
end;
_ ->
@@ -3135,20 +3215,25 @@ subscribed_nodes_by_jid(NotifyType, SubsByDepth) ->
NodeOptions = Node#pubsub_node.options,
lists:foldl(fun({LJID, SubID, SubOptions}, {JIDs, Recipients}) ->
case is_to_deliver(LJID, NotifyType, Depth, NodeOptions, SubOptions) of
- true ->
- %% If is to deliver :
- case lists:member(LJID, JIDs) of
+ true ->
+ %% If is to deliver :
+ case state_can_deliver(LJID, SubOptions) of
+ [] -> {JIDs, Recipients};
+ JIDsToDeliver ->
+ lists:foldl(
+ fun(JIDToDeliver, {JIDsAcc, RecipientsAcc}) ->
+ case lists:member(JIDToDeliver, JIDs) of
%% check if the JIDs co-accumulator contains the Subscription Jid,
- false ->
+ false ->
%% - if not,
%% - add the Jid to JIDs list co-accumulator ;
%% - create a tuple of the Jid, NodeId, and SubID (as list),
%% and add the tuple to the Recipients list co-accumulator
- {[LJID | JIDs], [{LJID, NodeName, [SubID]} | Recipients]};
- true ->
+ {[JIDToDeliver | JIDsAcc], [{JIDToDeliver, NodeName, [SubID]} | RecipientsAcc]};
+ true ->
%% - if the JIDs co-accumulator contains the Jid
%% get the tuple containing the Jid from the Recipient list co-accumulator
- {_, {LJID, NodeName1, SubIDs}} = lists:keysearch(LJID, 1, Recipients),
+ {_, {JIDToDeliver, NodeName1, SubIDs}} = lists:keysearch(JIDToDeliver, 1, RecipientsAcc),
%% delete the tuple from the Recipients list
% v1 : Recipients1 = lists:keydelete(LJID, 1, Recipients),
% v2 : Recipients1 = lists:keyreplace(LJID, 1, Recipients, {LJID, NodeId1, [SubID | SubIDs]}),
@@ -3157,17 +3242,19 @@ subscribed_nodes_by_jid(NotifyType, SubsByDepth) ->
% v1.1 : {JIDs, lists:append(Recipients1, [{LJID, NodeId1, lists:append(SubIDs, [SubID])}])}
% v1.2 : {JIDs, [{LJID, NodeId1, [SubID | SubIDs]} | Recipients1]}
% v2: {JIDs, Recipients1}
- {JIDs, lists:keyreplace(LJID, 1, Recipients, {LJID, NodeName1, [SubID | SubIDs]})}
- end;
+ {JIDsAcc, lists:keyreplace(JIDToDeliver, 1, RecipientsAcc, {JIDToDeliver, NodeName1, [SubID | SubIDs]})}
+ end
+ end, {JIDs, Recipients}, JIDsToDeliver)
+ end;
false ->
{JIDs, Recipients}
end
end, Acc, Subs)
end,
- DepthsToDeliver = fun({Depth, SubsByNode}, Acc) ->
+ DepthsToDeliver = fun({Depth, SubsByNode}, Acc1) ->
lists:foldl(fun({Node, Subs}, Acc2) ->
NodesToDeliver(Depth, Node, Subs, Acc2)
- end, Acc, SubsByNode)
+ end, Acc1, SubsByNode)
end,
{_, JIDSubs} = lists:foldl(DepthsToDeliver, {[], []}, SubsByDepth),
JIDSubs.
@@ -3494,18 +3581,18 @@ is_last_item_cache_enabled(Host) ->
_ -> false
end.
-set_cached_item({_, ServerHost, _}, NodeId, ItemId, Payload) ->
- set_cached_item(ServerHost, NodeId, ItemId, Payload);
-set_cached_item(Host, NodeId, ItemId, Payload) ->
+set_cached_item({_, ServerHost, _}, NodeId, ItemId, Publisher, Payload) ->
+ set_cached_item(ServerHost, NodeId, ItemId, Publisher, Payload);
+set_cached_item(Host, NodeId, ItemId, Publisher, Payload) ->
case is_last_item_cache_enabled(Host) of
- true -> ets:insert(gen_mod:get_module_proc(Host, last_items), {NodeId, {ItemId, Payload}});
+ true -> mnesia:dirty_write({pubsub_last_item, NodeId, ItemId, {now(), jlib:jid_tolower(jlib:jid_remove_resource(Publisher))}, Payload});
_ -> ok
end.
unset_cached_item({_, ServerHost, _}, NodeId) ->
unset_cached_item(ServerHost, NodeId);
unset_cached_item(Host, NodeId) ->
case is_last_item_cache_enabled(Host) of
- true -> ets:delete(gen_mod:get_module_proc(Host, last_items), NodeId);
+ true -> mnesia:dirty_delete({pubsub_last_item, NodeId});
_ -> ok
end.
get_cached_item({_, ServerHost, _}, NodeId) ->
@@ -3513,9 +3600,10 @@ get_cached_item({_, ServerHost, _}, NodeId) ->
get_cached_item(Host, NodeId) ->
case is_last_item_cache_enabled(Host) of
true ->
- case catch ets:lookup(gen_mod:get_module_proc(Host, last_items), NodeId) of
- [{NodeId, {ItemId, Payload}}] ->
- #pubsub_item{itemid = {ItemId, NodeId}, payload = Payload};
+ case mnesia:dirty_read({pubsub_last_item, NodeId}) of
+ [{pubsub_last_item, NodeId, ItemId, Creation, Payload}] ->
+ #pubsub_item{itemid = {ItemId, NodeId}, payload = Payload,
+ creation = Creation, modification = Creation};
_ ->
undefined
end;
@@ -3669,6 +3757,10 @@ transaction(Host, Node, Action, Trans) ->
Error
end
end, Trans).
+transaction(Host, Action, Trans) ->
+ transaction(fun() ->
+ {result, lists:foldl(Action, [], tree_call(Host, get_nodes, [Host]))}
+ end, Trans).
transaction(Fun, Trans) ->
case catch mnesia:Trans(Fun) of
diff --git a/src/mod_pubsub/mod_pubsub_odbc.erl b/src/mod_pubsub/mod_pubsub_odbc.erl
index e1753a45f..3507091f2 100644
--- a/src/mod_pubsub/mod_pubsub_odbc.erl
+++ b/src/mod_pubsub/mod_pubsub_odbc.erl
@@ -73,8 +73,7 @@
disco_sm_items/5
]).
%% exported iq handlers
--export([iq_local/3,
- iq_sm/3
+-export([iq_sm/3
]).
%% exports for console debug manual use
@@ -183,9 +182,8 @@ init([ServerHost, Opts]) ->
pubsub_index:init(Host, ServerHost, Opts),
ets:new(gen_mod:get_module_proc(Host, config), [set, named_table]),
ets:new(gen_mod:get_module_proc(ServerHost, config), [set, named_table]),
- ets:new(gen_mod:get_module_proc(Host, last_items), [set, named_table]),
- ets:new(gen_mod:get_module_proc(ServerHost, last_items), [set, named_table]),
{Plugins, NodeTree, PepMapping} = init_plugins(Host, ServerHost, Opts),
+ mnesia:create_table(pubsub_last_item, [{ram_copies, [node()]}, {attributes, record_info(fields, pubsub_last_item)}]),
mod_disco:register_feature(ServerHost, ?NS_PUBSUB),
ets:insert(gen_mod:get_module_proc(Host, config), {nodetree, NodeTree}),
ets:insert(gen_mod:get_module_proc(Host, config), {plugins, Plugins}),
@@ -199,24 +197,22 @@ init([ServerHost, Opts]) ->
ets:insert(gen_mod:get_module_proc(ServerHost, config), {ignore_pep_from_offline, PepOffline}),
ets:insert(gen_mod:get_module_proc(ServerHost, config), {host, Host}),
ejabberd_hooks:add(sm_remove_connection_hook, ServerHost, ?MODULE, on_user_offline, 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_items, ServerHost, ?MODULE, disco_sm_items, 75),
+ ejabberd_hooks:add(disco_local_identity, ServerHost, ?MODULE, disco_local_identity, 75),
+ ejabberd_hooks:add(disco_local_features, ServerHost, ?MODULE, disco_local_features, 75),
+ ejabberd_hooks:add(disco_local_items, ServerHost, ?MODULE, disco_local_items, 75),
ejabberd_hooks:add(presence_probe_hook, ServerHost, ?MODULE, presence_probe, 80),
ejabberd_hooks:add(roster_in_subscription, ServerHost, ?MODULE, in_subscription, 50),
ejabberd_hooks:add(roster_out_subscription, ServerHost, ?MODULE, out_subscription, 50),
ejabberd_hooks:add(remove_user, ServerHost, ?MODULE, remove_user, 50),
ejabberd_hooks:add(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50),
- gen_iq_handler:add_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB, ?MODULE, iq_sm, IQDisc),
- gen_iq_handler:add_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB_OWNER, ?MODULE, iq_sm, IQDisc),
case lists:member(?PEPNODE, Plugins) of
true ->
ejabberd_hooks:add(feature_check_packet, ServerHost, ?MODULE, feature_check_packet, 75),
- ejabberd_hooks:add(disco_local_identity, ServerHost, ?MODULE, disco_local_identity, 75),
- ejabberd_hooks:add(disco_local_features, ServerHost, ?MODULE, disco_local_features, 75),
- ejabberd_hooks:add(disco_local_items, ServerHost, ?MODULE, disco_local_items, 75),
- gen_iq_handler:add_iq_handler(ejabberd_local, ServerHost, ?NS_PUBSUB, ?MODULE, iq_local, IQDisc),
- gen_iq_handler:add_iq_handler(ejabberd_local, ServerHost, ?NS_PUBSUB_OWNER, ?MODULE, iq_local, IQDisc);
+ ejabberd_hooks:add(disco_sm_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
+ ejabberd_hooks:add(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 75),
+ ejabberd_hooks:add(disco_sm_items, ServerHost, ?MODULE, disco_sm_items, 75),
+ gen_iq_handler:add_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB, ?MODULE, iq_sm, IQDisc),
+ gen_iq_handler:add_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB_OWNER, ?MODULE, iq_sm, IQDisc);
false ->
ok
end,
@@ -388,15 +384,12 @@ send_loop(State) ->
%% disco hooks handling functions
%%
-identity(Host) ->
- Identity = case lists:member(?PEPNODE, plugins(Host)) of
- true -> [{"category", "pubsub"}, {"type", "pep"}];
- false -> [{"category", "pubsub"}, {"type", "service"}]
- end,
- {xmlelement, "identity", Identity, []}.
-
disco_local_identity(Acc, _From, To, [], _Lang) ->
- Acc ++ [identity(To#jid.lserver)];
+ case lists:member(?PEPNODE, plugins(To#jid.lserver)) of
+ true ->
+ [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []} | Acc];
+ false -> Acc
+ end;
disco_local_identity(Acc, _From, _To, _Node, _Lang) ->
Acc.
@@ -417,76 +410,120 @@ disco_local_items(Acc, _From, _To, [], _Lang) ->
disco_local_items(Acc, _From, _To, _Node, _Lang) ->
Acc.
-disco_sm_identity(Acc, _From, To, [], _Lang) ->
- Acc ++ [identity(To#jid.lserver)];
+disco_sm_identity(Acc, From, To, Node, Lang) when is_list(Node) ->
+ disco_sm_identity(Acc, From, To, list_to_binary(Node), Lang);
+disco_sm_identity(empty, From, To, Node, Lang) ->
+ disco_sm_identity([], From, To, Node, Lang);
disco_sm_identity(Acc, From, To, Node, _Lang) ->
- LOwner = jlib:jid_tolower(jlib:jid_remove_resource(To)),
- Acc ++ case node_disco_identity(LOwner, From, Node) of
- {result, I} -> I;
- _ -> []
- end.
+ disco_identity(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From) ++ Acc.
-disco_sm_features(Acc, _From, _To, [], _Lang) ->
- Acc;
-disco_sm_features(Acc, From, To, Node, _Lang) ->
- LOwner = jlib:jid_tolower(jlib:jid_remove_resource(To)),
- Features = node_disco_features(LOwner, From, Node),
- case {Acc, Features} of
- {{result, AccFeatures}, {result, AddFeatures}} ->
- {result, AccFeatures++AddFeatures};
- {_, {result, AddFeatures}} ->
- {result, AddFeatures};
- {_, _} ->
- Acc
+disco_identity(_Host, <<>>, _From) ->
+ [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []}];
+disco_identity(Host, Node, From) ->
+ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options}) ->
+ Owners = node_owners_call(Type, Idx),
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ {result, [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []},
+ {xmlelement, "identity",
+ [{"category", "pubsub"},
+ {"type", "leaf"}
+ | case get_option(Options, title) of
+ false -> [];
+ [Title] -> [{"name", Title}]
+ end],
+ []}]};
+ _ -> {result, []}
+ end
+ end,
+ case transaction(Host, Node, Action, sync_dirty) of
+ {result, {_, Result}} -> Result;
+ _ -> []
end.
-disco_sm_items(Acc, From, To, [], _Lang) ->
- Host = To#jid.lserver,
- case tree_action(Host, get_subnodes, [Host, <<>>, From]) of
- [] ->
- Acc;
- Nodes ->
- SBJID = jlib:jid_to_string(jlib:jid_remove_resource(To)),
- Items = case Acc of
- {result, I} -> I;
- _ -> []
- end,
- NodeItems = lists:map(
- fun(#pubsub_node{nodeid = {_, Node}}) ->
- {xmlelement, "item",
- [{"jid", SBJID}|nodeAttr(Node)],
- []}
- end, Nodes),
- {result, NodeItems ++ Items}
+disco_sm_features(Acc, From, To, Node, Lang) when is_list(Node) ->
+ disco_sm_features(Acc, From, To, list_to_binary(Node), Lang);
+disco_sm_features(empty, From, To, Node, Lang) ->
+ disco_sm_features({result, []}, From, To, Node, Lang);
+disco_sm_features({result, OtherFeatures} = _Acc, From, To, Node, _Lang) ->
+ {result,
+ OtherFeatures ++
+ disco_features(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From)};
+disco_sm_features(Acc, _From, _To, _Node, _Lang) ->
+ Acc.
+
+disco_features(_Host, <<>>, _From) ->
+ [?NS_PUBSUB
+ | [?NS_PUBSUB++"#"++Feature || Feature <- features("pep")]];
+disco_features(Host, Node, From) ->
+ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options}) ->
+ Owners = node_owners_call(Type, Idx),
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ {result, [?NS_PUBSUB
+ | [?NS_PUBSUB ++ "#" ++ Feature || Feature <- features("pep")]]};
+ _ -> {result, []}
+ end
+ end,
+ case transaction(Host, Node, Action, sync_dirty) of
+ {result, {_, Result}} -> Result;
+ _ -> []
+ end.
+
+disco_sm_items(Acc, From, To, Node, Lang) when is_list(Node) ->
+ disco_sm_items(Acc, From, To, list_to_binary(Node), Lang);
+disco_sm_items(empty, From, To, Node, Lang) ->
+ disco_sm_items({result, []}, From, To, Node, Lang);
+disco_sm_items({result, OtherItems}, From, To, Node, _Lang) ->
+ {result,
+ lists:usort(OtherItems ++
+ disco_items(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From))};
+disco_sm_items(Acc, _From, _To, _Node, _Lang) ->
+ Acc.
+
+disco_items(Host, <<>>, From) ->
+ Action = fun(#pubsub_node{nodeid ={_, NodeID}, options = Options, type = Type, id = Idx}, Acc) ->
+ Owners = node_owners_call(Type, Idx),
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ [{xmlelement, "item",
+ [{"node", binary_to_list(NodeID)},
+ {"jid", case Host of
+ {_,_,_} -> jlib:jid_to_string(Host);
+ _Host -> Host
+ end}
+ | case get_option(Options, title) of
+ false -> [];
+ [Title] -> [{"name", Title}]
+ end],
+ []}
+ | Acc];
+ _ -> Acc
+ end
+ end,
+ case transaction_on_nodes(Host, Action, sync_dirty) of
+ {result, Items} -> Items;
+ _ -> []
end;
-disco_sm_items(Acc, From, To, SNode, _Lang) ->
- Host = To#jid.lserver,
- Node = string_to_node(SNode),
- Action = fun(#pubsub_node{type = Type, id = NodeId}) ->
- % TODO call get_items/6 instead for access control (EJAB-1033)
- case node_call(Type, get_items, [NodeId, From]) of
- {result, []} ->
- none;
- {result, AllItems} ->
- SBJID = jlib:jid_to_string(jlib:jid_remove_resource(To)),
- Items = case Acc of
- {result, I} -> I;
- _ -> []
- end,
- NodeItems = lists:map(
- fun(#pubsub_item{itemid = {Id, _}}) ->
- {result, Name} = node_call(Type, get_item_name, [Host, Node, Id]),
- {xmlelement, "item", [{"jid", SBJID}, {"name", Name}], []}
- end, AllItems),
- {result, NodeItems ++ Items};
- _ ->
- none
- end
- end,
+disco_items(Host, Node, From) ->
+ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options}) ->
+ Owners = node_owners_call(Type, Idx),
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, Items} ->
+ {result, [{xmlelement, "item",
+ [{"jid", case Host of
+ {_,_,_} -> jlib:jid_to_string(Host);
+ _Host -> Host
+ end},
+ {"name", ItemID}], []}
+ || #pubsub_item{itemid = {ItemID,_}} <- Items]};
+ _ -> {result, []}
+ end
+ end,
case transaction(Host, Node, Action, sync_dirty) of
- {result, {_, Items}} -> {result, Items};
- _ -> Acc
+ {result, {_, Result}} -> Result;
+ _ -> []
end.
%% -------
@@ -662,25 +699,23 @@ terminate(_Reason, #state{host = Host,
case lists:member(?PEPNODE, Plugins) of
true ->
ejabberd_hooks:delete(feature_check_packet, ServerHost, ?MODULE, feature_check_packet, 75),
- ejabberd_hooks:delete(disco_local_identity, ServerHost, ?MODULE, disco_local_identity, 75),
- ejabberd_hooks:delete(disco_local_features, ServerHost, ?MODULE, disco_local_features, 75),
- ejabberd_hooks:delete(disco_local_items, ServerHost, ?MODULE, disco_local_items, 75),
- gen_iq_handler:remove_iq_handler(ejabberd_local, ServerHost, ?NS_PUBSUB),
- gen_iq_handler:remove_iq_handler(ejabberd_local, ServerHost, ?NS_PUBSUB_OWNER);
+ ejabberd_hooks:delete(disco_sm_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
+ ejabberd_hooks:delete(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 75),
+ ejabberd_hooks:delete(disco_sm_items, ServerHost, ?MODULE, disco_sm_items, 75),
+ gen_iq_handler:remove_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB),
+ gen_iq_handler:remove_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB_OWNER);
false ->
ok
end,
ejabberd_hooks:delete(sm_remove_connection_hook, ServerHost, ?MODULE, on_user_offline, 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_items, ServerHost, ?MODULE, disco_sm_items, 75),
+ ejabberd_hooks:delete(disco_local_identity, ServerHost, ?MODULE, disco_local_identity, 75),
+ ejabberd_hooks:delete(disco_local_features, ServerHost, ?MODULE, disco_local_features, 75),
+ ejabberd_hooks:delete(disco_local_items, ServerHost, ?MODULE, disco_local_items, 75),
ejabberd_hooks:delete(presence_probe_hook, ServerHost, ?MODULE, presence_probe, 80),
ejabberd_hooks:delete(roster_in_subscription, ServerHost, ?MODULE, in_subscription, 50),
ejabberd_hooks:delete(roster_out_subscription, ServerHost, ?MODULE, out_subscription, 50),
ejabberd_hooks:delete(remove_user, ServerHost, ?MODULE, remove_user, 50),
ejabberd_hooks:delete(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50),
- gen_iq_handler:remove_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB),
- gen_iq_handler:remove_iq_handler(ejabberd_sm, ServerHost, ?NS_PUBSUB_OWNER),
mod_disco:unregister_feature(ServerHost, ?NS_PUBSUB),
gen_mod:get_module_proc(ServerHost, ?LOOPNAME) ! stop,
terminate_plugins(Host, ServerHost, Plugins, TreePlugin).
@@ -822,10 +857,10 @@ command_disco_info(_Host, <>, _From) ->
node_disco_info(Host, Node, From) ->
node_disco_info(Host, Node, From, true, true).
-node_disco_identity(Host, Node, From) ->
- node_disco_info(Host, Node, From, true, false).
-node_disco_features(Host, Node, From) ->
- node_disco_info(Host, Node, From, false, true).
+%node_disco_identity(Host, Node, From) ->
+% node_disco_info(Host, Node, From, true, false).
+%node_disco_features(Host, Node, From) ->
+% node_disco_info(Host, Node, From, false, true).
node_disco_info(Host, Node, From, Identity, Features) ->
Action =
fun(#pubsub_node{type = Type, id = NodeId}) ->
@@ -927,17 +962,16 @@ iq_disco_items(Host, Item, From, RSM) ->
{result, []};
[SNode] ->
Node = string_to_node(SNode),
- Action =
- fun(#pubsub_node{type = Type, id = NodeId}) ->
- %% TODO call get_items/6 instead for access control (EJAB-1033)
- {NodeItems, RsmOut} = case node_call(Type, get_items, [NodeId, From, RSM]) of
- {result, I} -> I;
- _ -> {[], none}
- end,
+ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options}) ->
+ Owners = node_owners_call(Type, Idx),
+ {NodeItems, RsmOut} = case get_allowed_items_call(Host, Idx, From, Type, Options, Owners, RSM) of
+ {result, R} -> R;
+ _ -> {[], none}
+ end,
Nodes = lists:map(
- fun(#pubsub_node{nodeid = {_, SubNode}, options = Options}) ->
+ fun(#pubsub_node{nodeid = {_, SubNode}, options = SubOptions}) ->
Attrs =
- case get_option(Options, title) of
+ case get_option(SubOptions, title) of
false ->
[{"jid", Host} |nodeAttr(SubNode)];
Title ->
@@ -958,24 +992,6 @@ iq_disco_items(Host, Item, From, RSM) ->
end
end.
-iq_local(From, To, #iq{type = Type, sub_el = SubEl, xmlns = XMLNS, lang = Lang} = IQ) ->
- ServerHost = To#jid.lserver,
- %% Accept IQs to server only from our own users.
- if
- From#jid.lserver /= ServerHost ->
- IQ#iq{type = error, sub_el = [?ERR_FORBIDDEN, SubEl]};
- true ->
- LOwner = jlib:jid_tolower(jlib:jid_remove_resource(From)),
- Res = case XMLNS of
- ?NS_PUBSUB -> iq_pubsub(LOwner, ServerHost, From, Type, SubEl, Lang);
- ?NS_PUBSUB_OWNER -> iq_pubsub_owner(LOwner, ServerHost, From, Type, SubEl, Lang)
- end,
- case Res of
- {result, IQRes} -> IQ#iq{type = result, sub_el = IQRes};
- {error, Error} -> IQ#iq{type = error, sub_el = [Error, SubEl]}
- end
- end.
-
iq_sm(From, To, #iq{type = Type, sub_el = SubEl, xmlns = XMLNS, lang = Lang} = IQ) ->
ServerHost = To#jid.lserver,
LOwner = jlib:jid_tolower(jlib:jid_remove_resource(To)),
@@ -1547,9 +1563,17 @@ create_node(Host, ServerHost, Node, Owner, GivenType, Access, Configuration) ->
{result, true} ->
case tree_call(Host, create_node, [Host, Node, Type, Owner, NodeOptions, Parents]) of
{ok, NodeId} ->
- node_call(Type, create_node, [NodeId, Owner]);
+ ParentTree = tree_call(Host, get_parentnodes_tree, [Host, Node, Owner]),
+ SubsByDepth = [{Depth, [{N, get_node_subs(N)} || N <- Nodes]} || {Depth, Nodes} <- ParentTree],
+ case node_call(Type, create_node, [NodeId, Owner]) of
+ {result, Result} -> {result, {NodeId, SubsByDepth, Result}};
+ Error -> Error
+ end;
{error, {virtual, NodeId}} ->
- node_call(Type, create_node, [NodeId, Owner]);
+ case node_call(Type, create_node, [NodeId, Owner]) of
+ {result, Result} -> {result, {NodeId, [], Result}};
+ Error -> Error
+ end;
Error ->
Error
end;
@@ -1561,20 +1585,15 @@ create_node(Host, ServerHost, Node, Owner, GivenType, Access, Configuration) ->
[{xmlelement, "create", nodeAttr(Node),
[]}]}],
case transaction(Host, CreateNode, transaction) of
- {result, {Result, broadcast}} ->
- %%Lang = "en", %% TODO: fix
- %%OwnerKey = jlib:jid_tolower(jlib:jid_remove_resource(Owner)),
- %%broadcast_publish_item(Host, Node, uniqid(), Owner,
- %% [{xmlelement, "x", [{"xmlns", ?NS_XDATA}, {"type", "result"}],
- %% [?XFIELD("hidden", "", "FORM_TYPE", ?NS_PUBSUB_NMI),
- %% ?XFIELD("jid-single", "Node Creator", "creator", jlib:jid_to_string(OwnerKey))]}]),
+ {result, {NodeId, SubsByDepth, {Result, broadcast}}} ->
+ broadcast_created_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth),
case Result of
default -> {result, Reply};
_ -> {result, Result}
end;
- {result, default} ->
+ {result, {_NodeId, _SubsByDepth, default}} ->
{result, Reply};
- {result, Result} ->
+ {result, {_NodeId, _SubsByDepth, Result}} ->
{result, Result};
Error ->
%% in case we change transaction to sync_dirty...
@@ -1685,25 +1704,8 @@ subscribe_node(Host, Node, From, JID, Configuration) ->
AccessModel = get_option(Options, access_model),
SendLast = get_option(Options, send_last_published_item),
AllowedGroups = get_option(Options, roster_groups_allowed, []),
- {PresenceSubscription, RosterGroup} =
- case Host of
- {OUser, OServer, _} ->
- get_roster_info(OUser, OServer,
- Subscriber, AllowedGroups);
- _ ->
- case Subscriber of
- {"", "", ""} ->
- {false, false};
- _ ->
- case node_owners_call(Type, NodeId) of
- [{OU, OS, _}|_] ->
- get_roster_info(OU, OS,
- Subscriber, AllowedGroups);
- _ ->
- {false, false}
- end
- end
- end,
+ Owners = node_owners_call(Type, NodeId),
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, Subscriber, Owners, AccessModel, AllowedGroups),
if
not SubscribeFeature ->
%% Node does not support subscriptions
@@ -1868,7 +1870,7 @@ publish_item(Host, ServerHost, Node, Publisher, ItemId, Payload) ->
PluginPayload -> PluginPayload
end,
broadcast_publish_item(Host, Node, NodeId, Type, Options, Removed, ItemId, jlib:jid_tolower(Publisher), BroadcastPayload),
- set_cached_item(Host, NodeId, ItemId, Payload),
+ set_cached_item(Host, NodeId, ItemId, Publisher, Payload),
case Result of
default -> {result, Reply};
_ -> {result, Result}
@@ -1878,14 +1880,14 @@ publish_item(Host, ServerHost, Node, Publisher, ItemId, Payload) ->
Type = TNode#pubsub_node.type,
Options = TNode#pubsub_node.options,
broadcast_retract_items(Host, Node, NodeId, Type, Options, Removed),
- set_cached_item(Host, NodeId, ItemId, Payload),
+ set_cached_item(Host, NodeId, ItemId, Publisher, Payload),
{result, Reply};
{result, {TNode, {Result, Removed}}} ->
NodeId = TNode#pubsub_node.id,
Type = TNode#pubsub_node.type,
Options = TNode#pubsub_node.options,
broadcast_retract_items(Host, Node, NodeId, Type, Options, Removed),
- set_cached_item(Host, NodeId, ItemId, Payload),
+ set_cached_item(Host, NodeId, ItemId, Publisher, Payload),
{result, Result};
{result, {_, default}} ->
{result, Reply};
@@ -2052,14 +2054,8 @@ get_items(Host, Node, From, SubId, SMaxItems, ItemIDs, RSM) ->
PersistentFeature = lists:member("persistent-items", Features),
AccessModel = get_option(Options, access_model),
AllowedGroups = get_option(Options, roster_groups_allowed, []),
- {PresenceSubscription, RosterGroup} =
- case Host of
- {OUser, OServer, _} ->
- get_roster_info(OUser, OServer,
- jlib:jid_tolower(From), AllowedGroups);
- _ ->
- {true, true}
- end,
+ Owners = node_owners_call(Type, NodeId),
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups),
if
not RetreiveFeature ->
%% Item Retrieval Not Supported
@@ -2110,6 +2106,17 @@ get_item(Host, Node, ItemId) ->
{result, {_, Items}} -> Items;
Error -> Error
end.
+get_allowed_items_call(Host, NodeIdx, From, Type, Options, Owners) ->
+ case get_allowed_items_call(Host, NodeIdx, From, Type, Options, Owners, none) of
+ {result, {I, _}} -> {result, I};
+ Error -> Error
+ end.
+get_allowed_items_call(Host, NodeIdx, From, Type, Options, Owners, RSM) ->
+ AccessModel = get_option(Options, access_model),
+ AllowedGroups = get_option(Options, roster_groups_allowed, []),
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups),
+ node_call(Type, get_items, [NodeIdx, From, AccessModel, PresenceSubscription, RosterGroup, undefined, RSM]).
+
%% @spec (Host, Node, NodeId, Type, LJID, Number) -> any()
%% Host = pubsubHost()
@@ -2126,20 +2133,20 @@ send_items(Host, Node, NodeId, Type, LJID, last) ->
% special ODBC optimization, works only with node_hometree_odbc, node_flat_odbc and node_pep_odbc
case node_action(Host, Type, get_last_items, [NodeId, LJID, 1]) of
{result, [LastItem]} ->
- {ModifNow, ModifLjid} = LastItem#pubsub_item.modification,
+ {ModifNow, ModifUSR} = LastItem#pubsub_item.modification,
event_stanza_with_delay(
[{xmlelement, "items", nodeAttr(Node),
- itemsEls([LastItem])}], ModifNow, ModifLjid);
+ itemsEls([LastItem])}], ModifNow, ModifUSR);
_ ->
event_stanza(
[{xmlelement, "items", nodeAttr(Node),
itemsEls([])}])
end;
LastItem ->
- {ModifNow, ModifLjid} = LastItem#pubsub_item.modification,
+ {ModifNow, ModifUSR} = LastItem#pubsub_item.modification,
event_stanza_with_delay(
[{xmlelement, "items", nodeAttr(Node),
- itemsEls([LastItem])}], ModifNow, ModifLjid)
+ itemsEls([LastItem])}], ModifNow, ModifUSR)
end,
ejabberd_router:route(service_jid(Host), jlib:make_jid(LJID), Stanza);
send_items(Host, Node, NodeId, Type, LJID, Number) ->
@@ -2156,10 +2163,10 @@ send_items(Host, Node, NodeId, Type, LJID, Number) ->
end,
Stanza = case ToSend of
[LastItem] ->
- {ModifNow, ModifLjid} = LastItem#pubsub_item.modification,
+ {ModifNow, ModifUSR} = LastItem#pubsub_item.modification,
event_stanza_with_delay(
[{xmlelement, "items", nodeAttr(Node),
- itemsEls(ToSend)}], ModifNow, ModifLjid);
+ itemsEls(ToSend)}], ModifNow, ModifUSR);
_ ->
event_stanza(
[{xmlelement, "items", nodeAttr(Node),
@@ -2268,12 +2275,18 @@ set_affiliations(Host, Node, From, EntitiesEls) ->
{error, ?ERR_BAD_REQUEST};
_ ->
Action = fun(#pubsub_node{type = Type, id = NodeId}) ->
- case lists:member(Owner, node_owners_call(Type, NodeId)) of
+ Owners = node_owners_call(Type, NodeId),
+ case lists:member(Owner, Owners) of
true ->
+ OwnerJID = jlib:make_jid(Owner),
+ FilteredEntities = case Owners of
+ [Owner] -> [E || E <- Entities, element(1, E) =/= OwnerJID];
+ _ -> Entities
+ end,
lists:foreach(
fun({JID, Affiliation}) ->
node_call(Type, set_affiliation, [NodeId, JID, Affiliation])
- end, Entities),
+ end, FilteredEntities),
{result, []};
_ ->
{error, ?ERR_FORBIDDEN}
@@ -2576,8 +2589,24 @@ set_subscriptions(Host, Node, From, EntitiesEls) ->
end
end.
+
+get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups) ->
+ if (AccessModel == presence) or (AccessModel == roster) ->
+ case Host of
+ {User, Server, _} ->
+ get_roster_info(User, Server, From, AllowedGroups);
+ _ ->
+ [{OUser, OServer, _}|_] = Owners,
+ get_roster_info(OUser, OServer, From, AllowedGroups)
+ end;
+ true ->
+ {true, true}
+ end.
+
%% @spec (OwnerUser, OwnerServer, {SubscriberUser, SubscriberServer, SubscriberResource}, AllowedGroups)
%% -> {PresenceSubscription, RosterGroup}
+get_roster_info(_, _, {"", "", _}, _) ->
+ {false, false};
get_roster_info(OwnerUser, OwnerServer, {SubscriberUser, SubscriberServer, _}, AllowedGroups) ->
{Subscription, Groups} =
ejabberd_hooks:run_fold(
@@ -2589,7 +2618,9 @@ get_roster_info(OwnerUser, OwnerServer, {SubscriberUser, SubscriberServer, _}, A
RosterGroup = lists:any(fun(Group) ->
lists:member(Group, AllowedGroups)
end, Groups),
- {PresenceSubscription, RosterGroup}.
+ {PresenceSubscription, RosterGroup};
+get_roster_info(OwnerUser, OwnerServer, JID, AllowedGroups) ->
+ get_roster_info(OwnerUser, OwnerServer, jlib:jid_tolower(JID), AllowedGroups).
%% @spec (AffiliationStr) -> Affiliation
%% AffiliationStr = string()
@@ -2677,15 +2708,66 @@ node_to_deliver(LJID, NodeOptions) ->
presence_can_deliver(LJID, PresenceDelivery).
presence_can_deliver(_, false) -> true;
-presence_can_deliver({User, Server, _}, true) ->
+presence_can_deliver({User, Server, Resource}, true) ->
case mnesia:dirty_match_object({session, '_', '_', {User, Server}, '_', '_'}) of
[] -> false;
Ss ->
- lists:foldl(fun({session, _, _, _, undefined, _}, Acc) -> Acc;
- ({session, _, _, _, _Priority, _}, _Acc) -> true
+ lists:foldl(fun(_, true) -> true;
+ ({session, _, _ , _, undefined, _}, _Acc) -> false;
+ ({session, _, {_, _, R}, _, _Priority, _}, _Acc) ->
+ case Resource of
+ [] -> true;
+ R -> true;
+ _ -> false
+ end
end, false, Ss)
end.
+state_can_deliver({U, S, R}, []) -> [{U, S, R}];
+state_can_deliver({U, S, R}, SubOptions) ->
+ %% Check SubOptions for 'show_values'
+ case lists:keysearch('show_values', 1, SubOptions) of
+ %% If not in suboptions, item can be delivered, case doesn't apply
+ false -> [{U, S, R}];
+ %% If in a suboptions ...
+ {_, {_, ShowValues}} ->
+ %% Get subscriber resources
+ Resources = case R of
+ %% If the subscriber JID is a bare one, get all its resources
+ [] -> user_resources(U, S);
+ %% If the subscriber JID is a full one, use its resource
+ R -> [R]
+ end,
+ %% For each resource, test if the item is allowed to be delivered
+ %% based on resource state
+ lists:foldl(
+ fun(Resource, Acc) ->
+ get_resource_state({U, S, Resource}, ShowValues, Acc)
+ end, [], Resources)
+ end.
+
+get_resource_state({U, S, R}, ShowValues, JIDs) ->
+ %% Get user session PID
+ case ejabberd_sm:get_session_pid(U, S, R) of
+ %% If no PID, item can be delivered
+ none -> lists:append([{U, S, R}], JIDs);
+ %% If PID ...
+ Pid ->
+ %% Get user resource state
+ %% TODO : add a catch clause
+ Show = case ejabberd_c2s:get_presence(Pid) of
+ {_, _, "available", _} -> "online";
+ {_, _, State, _} -> State
+ end,
+ %% Is current resource state listed in 'show-values' suboption ?
+ case lists:member(Show, ShowValues) of %andalso Show =/= "online" of
+ %% If yes, item can be delivered
+ true -> lists:append([{U, S, R}], JIDs);
+ %% If no, item can't be delivered
+ false -> JIDs
+ end
+ end.
+
%% @spec (Payload) -> int()
%% Payload = term()
%% @doc Count occurence of XML elements in payload.
@@ -2700,9 +2782,9 @@ payload_xmlelements([_|Tail], Count) -> payload_xmlelements(Tail, Count).
event_stanza(Els) ->
event_stanza_withmoreels(Els, []).
-event_stanza_with_delay(Els, ModifNow, ModifLjid) ->
+event_stanza_with_delay(Els, ModifNow, ModifUSR) ->
DateTime = calendar:now_to_datetime(ModifNow),
- MoreEls = [jlib:timestamp_to_xml(DateTime, utc, ModifLjid, "")],
+ MoreEls = [jlib:timestamp_to_xml(DateTime, utc, ModifUSR, "")],
event_stanza_withmoreels(Els, MoreEls).
event_stanza_withmoreels(Els, MoreEls) ->
@@ -2788,7 +2870,7 @@ broadcast_removed_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth) ->
case get_option(NodeOptions, notify_delete) of
true ->
case SubsByDepth of
- [] ->
+ [] ->
{result, false};
_ ->
Stanza = event_stanza(
@@ -2802,6 +2884,13 @@ broadcast_removed_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth) ->
{result, false}
end.
+broadcast_created_node(_, _, _, _, _, []) ->
+ {result, false};
+broadcast_created_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth) ->
+ Stanza = event_stanza([{xmlelement, "create", nodeAttr(Node), []}]),
+ broadcast_stanza(Host, Node, NodeId, Type, NodeOptions, SubsByDepth, nodes, Stanza, true),
+ {result, true}.
+
broadcast_config_notification(Host, Node, NodeId, Type, NodeOptions, Lang) ->
case get_option(NodeOptions, notify_config) of
true ->
@@ -2819,7 +2908,7 @@ broadcast_config_notification(Host, Node, NodeId, Type, NodeOptions, Lang) ->
broadcast_stanza(Host, Node, NodeId, Type,
NodeOptions, SubsByDepth, nodes, Stanza, false),
{result, true};
- _ ->
+ _ ->
{result, false}
end;
_ ->
@@ -2944,20 +3033,25 @@ subscribed_nodes_by_jid(NotifyType, SubsByDepth) ->
NodeOptions = Node#pubsub_node.options,
lists:foldl(fun({LJID, SubID, SubOptions}, {JIDs, Recipients}) ->
case is_to_deliver(LJID, NotifyType, Depth, NodeOptions, SubOptions) of
- true ->
- %% If is to deliver :
- case lists:member(LJID, JIDs) of
+ true ->
+ %% If is to deliver :
+ case state_can_deliver(LJID, SubOptions) of
+ [] -> {JIDs, Recipients};
+ JIDsToDeliver ->
+ lists:foldl(
+ fun(JIDToDeliver, {JIDsAcc, RecipientsAcc}) ->
+ case lists:member(JIDToDeliver, JIDs) of
%% check if the JIDs co-accumulator contains the Subscription Jid,
- false ->
+ false ->
%% - if not,
%% - add the Jid to JIDs list co-accumulator ;
%% - create a tuple of the Jid, NodeId, and SubID (as list),
%% and add the tuple to the Recipients list co-accumulator
- {[LJID | JIDs], [{LJID, NodeName, [SubID]} | Recipients]};
- true ->
+ {[JIDToDeliver | JIDsAcc], [{JIDToDeliver, NodeName, [SubID]} | RecipientsAcc]};
+ true ->
%% - if the JIDs co-accumulator contains the Jid
%% get the tuple containing the Jid from the Recipient list co-accumulator
- {_, {LJID, NodeName1, SubIDs}} = lists:keysearch(LJID, 1, Recipients),
+ {_, {JIDToDeliver, NodeName1, SubIDs}} = lists:keysearch(JIDToDeliver, 1, RecipientsAcc),
%% delete the tuple from the Recipients list
% v1 : Recipients1 = lists:keydelete(LJID, 1, Recipients),
% v2 : Recipients1 = lists:keyreplace(LJID, 1, Recipients, {LJID, NodeId1, [SubID | SubIDs]}),
@@ -2966,17 +3060,19 @@ subscribed_nodes_by_jid(NotifyType, SubsByDepth) ->
% v1.1 : {JIDs, lists:append(Recipients1, [{LJID, NodeId1, lists:append(SubIDs, [SubID])}])}
% v1.2 : {JIDs, [{LJID, NodeId1, [SubID | SubIDs]} | Recipients1]}
% v2: {JIDs, Recipients1}
- {JIDs, lists:keyreplace(LJID, 1, Recipients, {LJID, NodeName1, [SubID | SubIDs]})}
- end;
+ {JIDsAcc, lists:keyreplace(JIDToDeliver, 1, RecipientsAcc, {JIDToDeliver, NodeName1, [SubID | SubIDs]})}
+ end
+ end, {JIDs, Recipients}, JIDsToDeliver)
+ end;
false ->
{JIDs, Recipients}
end
end, Acc, Subs)
end,
- DepthsToDeliver = fun({Depth, SubsByNode}, Acc) ->
+ DepthsToDeliver = fun({Depth, SubsByNode}, Acc1) ->
lists:foldl(fun({Node, Subs}, Acc2) ->
NodesToDeliver(Depth, Node, Subs, Acc2)
- end, Acc, SubsByNode)
+ end, Acc1, SubsByNode)
end,
{_, JIDSubs} = lists:foldl(DepthsToDeliver, {[], []}, SubsByDepth),
JIDSubs.
@@ -3327,18 +3423,18 @@ is_last_item_cache_enabled(Host) ->
_ -> false
end.
-set_cached_item({_, ServerHost, _}, NodeId, ItemId, Payload) ->
- set_cached_item(ServerHost, NodeId, ItemId, Payload);
-set_cached_item(Host, NodeId, ItemId, Payload) ->
+set_cached_item({_, ServerHost, _}, NodeId, ItemId, Publisher, Payload) ->
+ set_cached_item(ServerHost, NodeId, ItemId, Publisher, Payload);
+set_cached_item(Host, NodeId, ItemId, Publisher, Payload) ->
case is_last_item_cache_enabled(Host) of
- true -> ets:insert(gen_mod:get_module_proc(Host, last_items), {NodeId, {ItemId, Payload}});
+ true -> mnesia:dirty_write({pubsub_last_item, NodeId, ItemId, {now(), jlib:jid_tolower(jlib:jid_remove_resource(Publisher))}, Payload});
_ -> ok
end.
unset_cached_item({_, ServerHost, _}, NodeId) ->
unset_cached_item(ServerHost, NodeId);
unset_cached_item(Host, NodeId) ->
case is_last_item_cache_enabled(Host) of
- true -> ets:delete(gen_mod:get_module_proc(Host, last_items), NodeId);
+ true -> mnesia:dirty_delete({pubsub_last_item, NodeId});
_ -> ok
end.
get_cached_item({_, ServerHost, _}, NodeId) ->
@@ -3346,9 +3442,10 @@ get_cached_item({_, ServerHost, _}, NodeId) ->
get_cached_item(Host, NodeId) ->
case is_last_item_cache_enabled(Host) of
true ->
- case catch ets:lookup(gen_mod:get_module_proc(Host, last_items), NodeId) of
- [{NodeId, {ItemId, Payload}}] ->
- #pubsub_item{itemid = {ItemId, NodeId}, payload = Payload};
+ case mnesia:dirty_read({pubsub_last_item, NodeId}) of
+ [{pubsub_last_item, NodeId, ItemId, Creation, Payload}] ->
+ #pubsub_item{itemid = {ItemId, NodeId}, payload = Payload,
+ creation = Creation, modification = Creation};
_ ->
undefined
end;
@@ -3508,6 +3605,10 @@ transaction(Host, Node, Action, Trans) ->
Error
end
end, Trans).
+transaction_on_nodes(Host, Action, Trans) ->
+ transaction(Host, fun() ->
+ {result, lists:foldl(Action, [], tree_call(Host, get_nodes, [Host]))}
+ end, Trans).
transaction(Host, Fun, Trans) ->
transaction_retry(Host, Fun, Trans, 2).
diff --git a/src/mod_pubsub/node_hometree.erl b/src/mod_pubsub/node_hometree.erl
index 69deef211..5d45492e4 100644
--- a/src/mod_pubsub/node_hometree.erl
+++ b/src/mod_pubsub/node_hometree.erl
@@ -379,7 +379,7 @@ unsubscribe_node(NodeId, Sender, Subscriber, SubId) ->
%% {error, ?ERR_EXTENDED(?ERR_NOT_ACCEPTABLE, "invalid-subid")};
%% Requesting entity is not a subscriber
Subscriptions == [] ->
- {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST, "not-subscribed")};
+ {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST_CANCEL, "not-subscribed")};
%% Subid supplied, so use that.
SubIdExists ->
Sub = first_in_list(fun(S) ->
@@ -393,7 +393,7 @@ unsubscribe_node(NodeId, Sender, Subscriber, SubId) ->
delete_subscriptions(SubKey, NodeId, [S], SubState),
{result, default};
false ->
- {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST, "not-subscribed")}
+ {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST_CANCEL, "not-subscribed")}
end;
%% Asking to remove all subscriptions to the given node
SubId == all ->
diff --git a/src/mod_pubsub/node_hometree_odbc.erl b/src/mod_pubsub/node_hometree_odbc.erl
index a3618b78c..5adf24c00 100644
--- a/src/mod_pubsub/node_hometree_odbc.erl
+++ b/src/mod_pubsub/node_hometree_odbc.erl
@@ -379,7 +379,7 @@ unsubscribe_node(NodeId, Sender, Subscriber, SubId) ->
%% {error, ?ERR_EXTENDED(?ERR_NOT_ACCEPTABLE, "invalid-subid")};
%% Requesting entity is not a subscriber
Subscriptions == [] ->
- {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST, "not-subscribed")};
+ {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST_CANCEL, "not-subscribed")};
%% Subid supplied, so use that.
SubIdExists ->
Sub = first_in_list(fun(S) ->
@@ -393,7 +393,7 @@ unsubscribe_node(NodeId, Sender, Subscriber, SubId) ->
delete_subscription(SubKey, NodeId, S, Affiliation, Subscriptions),
{result, default};
false ->
- {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST, "not-subscribed")}
+ {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST_CANCEL, "not-subscribed")}
end;
%% Asking to remove all subscriptions to the given node
SubId == all ->
diff --git a/src/mod_pubsub/pubsub.hrl b/src/mod_pubsub/pubsub.hrl
index 1c033a5a9..ee21818b6 100644
--- a/src/mod_pubsub/pubsub.hrl
+++ b/src/mod_pubsub/pubsub.hrl
@@ -135,3 +135,12 @@
%% This is the format of the subscriptions table. The type of the
%% table is: set,ram/disc.
-record(pubsub_subscription, {subid, options}).
+
+%% @type pubsubLastItem() = #pubsub_last_item{
+%% nodeid = nodeidx(),
+%% itemid = string(),
+%% payload = XMLContent::string()}.
+%% This is the format of the last items table. it stores last item payload
+%% for every node
+-record(pubsub_last_item, {nodeid, itemid, creation, payload}).
+
diff --git a/src/mod_pubsub/pubsub_odbc.patch b/src/mod_pubsub/pubsub_odbc.patch
index 6de093d02..0e32e198c 100644
--- a/src/mod_pubsub/pubsub_odbc.patch
+++ b/src/mod_pubsub/pubsub_odbc.patch
@@ -1,5 +1,5 @@
---- mod_pubsub.erl 2010-03-11 15:55:35.000000000 +0100
-+++ mod_pubsub_odbc.erl 2010-03-11 15:59:40.000000000 +0100
+--- mod_pubsub.erl 2010-08-02 16:07:28.000000000 +0200
++++ mod_pubsub_odbc.erl 2010-08-02 17:04:37.000000000 +0200
@@ -42,7 +42,7 @@
%%% 6.2.3.1, 6.2.3.5, and 6.3. For information on subscription leases see
%%% XEP-0060 section 12.18.
@@ -22,7 +22,7 @@
%% exports for hooks
-export([presence_probe/3,
-@@ -104,7 +104,7 @@
+@@ -103,7 +103,7 @@
string_to_affiliation/1,
extended_error/2,
extended_error/3,
@@ -31,7 +31,7 @@
]).
%% API and gen_server callbacks
-@@ -123,7 +123,7 @@
+@@ -122,7 +122,7 @@
-export([send_loop/1
]).
@@ -40,7 +40,7 @@
-define(LOOPNAME, ejabberd_mod_pubsub_loop).
-define(PLUGIN_PREFIX, "node_").
-define(TREE_PREFIX, "nodetree_").
-@@ -221,8 +221,6 @@
+@@ -217,8 +217,6 @@
ok
end,
ejabberd_router:register_route(Host),
@@ -49,7 +49,7 @@
init_nodes(Host, ServerHost, NodeTree, Plugins),
State = #state{host = Host,
server_host = ServerHost,
-@@ -281,207 +279,14 @@
+@@ -277,207 +275,14 @@
init_nodes(Host, ServerHost, _NodeTree, Plugins) ->
%% TODO, this call should be done plugin side
@@ -260,7 +260,7 @@
send_loop(State) ->
receive
{presence, JID, Pid} ->
-@@ -492,17 +297,15 @@
+@@ -488,17 +293,15 @@
%% for each node From is subscribed to
%% and if the node is so configured, send the last published item to From
lists:foreach(fun(PType) ->
@@ -284,7 +284,54 @@
true ->
% resource not concerned about that subscription
ok
-@@ -748,10 +551,10 @@
+@@ -617,7 +420,8 @@
+ disco_identity(_Host, <<>>, _From) ->
+ [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []}];
+ disco_identity(Host, Node, From) ->
+- Action = fun(#pubsub_node{id = Idx, type = Type, options = Options, owners = Owners}) ->
++ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options}) ->
++ Owners = node_owners_call(Type, Idx),
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ {result, [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []},
+@@ -652,7 +456,8 @@
+ [?NS_PUBSUB
+ | [?NS_PUBSUB++"#"++Feature || Feature <- features("pep")]];
+ disco_features(Host, Node, From) ->
+- Action = fun(#pubsub_node{id = Idx, type = Type, options = Options, owners = Owners}) ->
++ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options}) ->
++ Owners = node_owners_call(Type, Idx),
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ {result, [?NS_PUBSUB
+@@ -677,7 +482,8 @@
+ Acc.
+
+ disco_items(Host, <<>>, From) ->
+- Action = fun(#pubsub_node{nodeid ={_, NodeID}, options = Options, type = Type, id = Idx, owners = Owners}, Acc) ->
++ Action = fun(#pubsub_node{nodeid ={_, NodeID}, options = Options, type = Type, id = Idx}, Acc) ->
++ Owners = node_owners_call(Type, Idx),
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, _} ->
+ [{xmlelement, "item",
+@@ -695,13 +501,14 @@
+ _ -> Acc
+ end
+ end,
+- case transaction(Host, Action, sync_dirty) of
++ case transaction_on_nodes(Host, Action, sync_dirty) of
+ {result, Items} -> Items;
+ _ -> []
+ end;
+
+ disco_items(Host, Node, From) ->
+- Action = fun(#pubsub_node{id = Idx, type = Type, options = Options, owners = Owners}) ->
++ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options}) ->
++ Owners = node_owners_call(Type, Idx),
+ case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
+ {result, Items} ->
+ {result, [{xmlelement, "item",
+@@ -781,10 +588,10 @@
lists:foreach(fun(PType) ->
{result, Subscriptions} = node_action(Host, PType, get_entity_subscriptions, [Host, Entity]),
lists:foreach(fun
@@ -297,7 +344,7 @@
true ->
node_action(Host, PType, unsubscribe_node, [NodeId, Entity, JID, all]);
false ->
-@@ -921,7 +724,8 @@
+@@ -952,7 +759,8 @@
sub_el = SubEl} = IQ ->
{xmlelement, _, QAttrs, _} = SubEl,
Node = xml:get_attr_s("node", QAttrs),
@@ -307,7 +354,7 @@
{result, IQRes} ->
jlib:iq_to_xml(
IQ#iq{type = result,
-@@ -1034,7 +838,7 @@
+@@ -1065,7 +873,7 @@
[] ->
["leaf"]; %% No sub-nodes: it's a leaf node
_ ->
@@ -316,7 +363,7 @@
{result, []} -> ["collection"];
{result, _} -> ["leaf", "collection"];
_ -> []
-@@ -1050,8 +854,9 @@
+@@ -1081,8 +889,9 @@
[];
true ->
[{xmlelement, "feature", [{"var", ?NS_PUBSUB}], []} |
@@ -328,7 +375,7 @@
end, features(Type))]
end,
%% TODO: add meta-data info (spec section 5.4)
-@@ -1080,8 +885,9 @@
+@@ -1111,8 +920,9 @@
{xmlelement, "feature", [{"var", ?NS_PUBSUB}], []},
{xmlelement, "feature", [{"var", ?NS_COMMANDS}], []},
{xmlelement, "feature", [{"var", ?NS_VCARD}], []}] ++
@@ -340,7 +387,7 @@
end, features(Host, Node))};
<> ->
command_disco_info(Host, Node, From);
-@@ -1091,7 +897,7 @@
+@@ -1122,7 +932,7 @@
node_disco_info(Host, Node, From)
end.
@@ -349,7 +396,7 @@
case tree_action(Host, get_subnodes, [Host, <<>>, From]) of
Nodes when is_list(Nodes) ->
{result, lists:map(
-@@ -1108,14 +914,14 @@
+@@ -1139,23 +949,24 @@
Other ->
Other
end;
@@ -367,21 +414,20 @@
case string:tokens(Item, "!") of
[_SNode, _ItemID] ->
{result, []};
-@@ -1123,10 +929,10 @@
+ [SNode] ->
Node = string_to_node(SNode),
- Action =
- fun(#pubsub_node{type = Type, id = NodeId}) ->
-- % TODO call get_items/6 instead for access control (EJAB-1033)
-- NodeItems = case node_call(Type, get_items, [NodeId, From]) of
-+ %% TODO call get_items/6 instead for access control (EJAB-1033)
-+ {NodeItems, RsmOut} = case node_call(Type, get_items, [NodeId, From, RSM]) of
- {result, I} -> I;
-- _ -> []
-+ _ -> {[], none}
- end,
+- Action = fun(#pubsub_node{id = Idx, type = Type, options = Options, owners = Owners}) ->
+- NodeItems = case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
++ Action = fun(#pubsub_node{id = Idx, type = Type, options = Options}) ->
++ Owners = node_owners_call(Type, Idx),
++ {NodeItems, RsmOut} = case get_allowed_items_call(Host, Idx, From, Type, Options, Owners, RSM) of
+ {result, R} -> R;
+- _ -> []
++ _ -> {[], none}
+ end,
Nodes = lists:map(
- fun(#pubsub_node{nodeid = {_, SubNode}, options = Options}) ->
-@@ -1144,7 +950,7 @@
+ fun(#pubsub_node{nodeid = {_, SubNode}, options = SubOptions}) ->
+@@ -1173,7 +984,7 @@
{result, Name} = node_call(Type, get_item_name, [Host, Node, RN]),
{xmlelement, "item", [{"jid", Host}, {"name", Name}], []}
end, NodeItems),
@@ -390,7 +436,7 @@
end,
case transaction(Host, Node, Action, sync_dirty) of
{result, {_, Result}} -> {result, Result};
-@@ -1273,7 +1079,8 @@
+@@ -1284,7 +1095,8 @@
(_, Acc) ->
Acc
end, [], xml:remove_cdata(Els)),
@@ -400,7 +446,7 @@
{get, "subscriptions"} ->
get_subscriptions(Host, Node, From, Plugins);
{get, "affiliations"} ->
-@@ -1296,7 +1103,9 @@
+@@ -1307,7 +1119,9 @@
iq_pubsub_owner(Host, ServerHost, From, IQType, SubEl, Lang) ->
{xmlelement, _, _, SubEls} = SubEl,
@@ -411,7 +457,7 @@
case Action of
[{xmlelement, Name, Attrs, Els}] ->
Node = string_to_node(xml:get_attr_s("node", Attrs)),
-@@ -1426,7 +1235,8 @@
+@@ -1437,7 +1251,8 @@
_ -> []
end
end,
@@ -421,7 +467,7 @@
sync_dirty) of
{result, Res} -> Res;
Err -> Err
-@@ -1465,7 +1275,7 @@
+@@ -1476,7 +1291,7 @@
%%% authorization handling
@@ -430,7 +476,7 @@
Lang = "en", %% TODO fix
Stanza = {xmlelement, "message",
[],
-@@ -1494,7 +1304,7 @@
+@@ -1505,7 +1320,7 @@
[{xmlelement, "value", [], [{xmlcdata, "false"}]}]}]}]},
lists:foreach(fun(Owner) ->
ejabberd_router:route(service_jid(Host), jlib:make_jid(Owner), Stanza)
@@ -439,7 +485,7 @@
find_authorization_response(Packet) ->
{xmlelement, _Name, _Attrs, Els} = Packet,
-@@ -1558,8 +1368,8 @@
+@@ -1569,8 +1384,8 @@
"true" -> true;
_ -> false
end,
@@ -450,16 +496,16 @@
{result, Subscriptions} = node_call(Type, get_subscriptions, [NodeId, Subscriber]),
if
not IsApprover ->
-@@ -1750,7 +1560,7 @@
+@@ -1769,7 +1584,7 @@
Reply = [{xmlelement, "pubsub", [{"xmlns", ?NS_PUBSUB}],
[{xmlelement, "create", nodeAttr(Node),
[]}]}],
- case transaction(CreateNode, transaction) of
+ case transaction(Host, CreateNode, transaction) of
- {result, {Result, broadcast}} ->
- %%Lang = "en", %% TODO: fix
- %%OwnerKey = jlib:jid_tolower(jlib:jid_remove_resource(Owner)),
-@@ -1858,7 +1668,7 @@
+ {result, {NodeId, SubsByDepth, {Result, broadcast}}} ->
+ broadcast_created_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth),
+ case Result of
+@@ -1872,7 +1687,7 @@
%%The node does not exist.
%%
subscribe_node(Host, Node, From, JID, Configuration) ->
@@ -468,33 +514,24 @@
{result, GoodSubOpts} -> GoodSubOpts;
_ -> invalid
end,
-@@ -1866,7 +1676,7 @@
+@@ -1880,7 +1695,7 @@
error -> {"", "", ""};
J -> jlib:jid_tolower(J)
end,
-- Action = fun(#pubsub_node{options = Options, owners = [Owner|_], type = Type, id = NodeId}) ->
+- Action = fun(#pubsub_node{options = Options, owners = Owners, type = Type, id = NodeId}) ->
+ Action = fun(#pubsub_node{options = Options, type = Type, id = NodeId}) ->
Features = features(Type),
SubscribeFeature = lists:member("subscribe", Features),
OptionsFeature = lists:member("subscription-options", Features),
-@@ -1885,9 +1695,13 @@
- {"", "", ""} ->
- {false, false};
- _ ->
-- {OU, OS, _} = Owner,
-- get_roster_info(OU, OS,
-- Subscriber, AllowedGroups)
-+ case node_owners_call(Type, NodeId) of
-+ [{OU, OS, _}|_] ->
-+ get_roster_info(OU, OS,
-+ Subscriber, AllowedGroups);
-+ _ ->
-+ {false, false}
-+ end
- end
- end,
+@@ -1889,6 +1704,7 @@
+ AccessModel = get_option(Options, access_model),
+ SendLast = get_option(Options, send_last_published_item),
+ AllowedGroups = get_option(Options, roster_groups_allowed, []),
++ Owners = node_owners_call(Type, NodeId),
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, Subscriber, Owners, AccessModel, AllowedGroups),
if
-@@ -2218,7 +2032,7 @@
+ not SubscribeFeature ->
+@@ -2218,7 +2034,7 @@
%% The permission are not checked in this function.
%% @todo We probably need to check that the user doing the query has the right
%% to read the items.
@@ -503,7 +540,22 @@
MaxItems =
if
SMaxItems == "" -> get_max_items_node(Host);
-@@ -2257,11 +2071,11 @@
+@@ -2232,12 +2048,13 @@
+ {error, Error} ->
+ {error, Error};
+ _ ->
+- Action = fun(#pubsub_node{options = Options, type = Type, id = NodeId, owners = Owners}) ->
++ Action = fun(#pubsub_node{options = Options, type = Type, id = NodeId}) ->
+ Features = features(Type),
+ RetreiveFeature = lists:member("retrieve-items", Features),
+ PersistentFeature = lists:member("persistent-items", Features),
+ AccessModel = get_option(Options, access_model),
+ AllowedGroups = get_option(Options, roster_groups_allowed, []),
++ Owners = node_owners_call(Type, NodeId),
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups),
+ if
+ not RetreiveFeature ->
+@@ -2250,11 +2067,11 @@
node_call(Type, get_items,
[NodeId, From,
AccessModel, PresenceSubscription, RosterGroup,
@@ -517,7 +569,7 @@
SendItems = case ItemIDs of
[] ->
Items;
-@@ -2274,7 +2088,8 @@
+@@ -2267,7 +2084,8 @@
%% number of items sent to MaxItems:
{result, [{xmlelement, "pubsub", [{"xmlns", ?NS_PUBSUB}],
[{xmlelement, "items", nodeAttr(Node),
@@ -527,7 +579,24 @@
Error ->
Error
end
-@@ -2306,16 +2121,27 @@
+@@ -2289,10 +2107,15 @@
+ Error -> Error
+ end.
+ get_allowed_items_call(Host, NodeIdx, From, Type, Options, Owners) ->
++ case get_allowed_items_call(Host, NodeIdx, From, Type, Options, Owners, none) of
++ {result, {I, _}} -> {result, I};
++ Error -> Error
++ end.
++get_allowed_items_call(Host, NodeIdx, From, Type, Options, Owners, RSM) ->
+ AccessModel = get_option(Options, access_model),
+ AllowedGroups = get_option(Options, roster_groups_allowed, []),
+ {PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups),
+- node_call(Type, get_items, [NodeIdx, From, AccessModel, PresenceSubscription, RosterGroup, undefined]).
++ node_call(Type, get_items, [NodeIdx, From, AccessModel, PresenceSubscription, RosterGroup, undefined, RSM]).
+
+
+ %% @spec (Host, Node, NodeId, Type, LJID, Number) -> any()
+@@ -2305,16 +2128,27 @@
%% @doc Resend the items of a node to the user.
%% @todo use cache-last-item feature
send_items(Host, Node, NodeId, Type, LJID, last) ->
@@ -538,38 +607,41 @@
+ % special ODBC optimization, works only with node_hometree_odbc, node_flat_odbc and node_pep_odbc
+ case node_action(Host, Type, get_last_items, [NodeId, LJID, 1]) of
+ {result, [LastItem]} ->
-+ {ModifNow, ModifLjid} = LastItem#pubsub_item.modification,
++ {ModifNow, ModifUSR} = LastItem#pubsub_item.modification,
+ event_stanza_with_delay(
+ [{xmlelement, "items", nodeAttr(Node),
-+ itemsEls([LastItem])}], ModifNow, ModifLjid);
++ itemsEls([LastItem])}], ModifNow, ModifUSR);
+ _ ->
+ event_stanza(
+ [{xmlelement, "items", nodeAttr(Node),
+ itemsEls([])}])
+ end;
LastItem ->
- {ModifNow, ModifLjid} = LastItem#pubsub_item.modification,
+ {ModifNow, ModifUSR} = LastItem#pubsub_item.modification,
- Stanza = event_stanza_with_delay(
+ event_stanza_with_delay(
[{xmlelement, "items", nodeAttr(Node),
-- itemsEls([LastItem])}], ModifNow, ModifLjid),
+- itemsEls([LastItem])}], ModifNow, ModifUSR),
- ejabberd_router:route(service_jid(Host), jlib:make_jid(LJID), Stanza)
- end;
-+ itemsEls([LastItem])}], ModifNow, ModifLjid)
++ itemsEls([LastItem])}], ModifNow, ModifUSR)
+ end,
+ ejabberd_router:route(service_jid(Host), jlib:make_jid(LJID), Stanza);
send_items(Host, Node, NodeId, Type, LJID, Number) ->
ToSend = case node_action(Host, Type, get_items, [NodeId, LJID]) of
{result, []} ->
-@@ -2441,29 +2267,12 @@
+@@ -2440,7 +2274,8 @@
error ->
{error, ?ERR_BAD_REQUEST};
_ ->
- Action = fun(#pubsub_node{owners = Owners, type = Type, id = NodeId}=N) ->
-- case lists:member(Owner, Owners) of
+ Action = fun(#pubsub_node{type = Type, id = NodeId}) ->
-+ case lists:member(Owner, node_owners_call(Type, NodeId)) of
++ Owners = node_owners_call(Type, NodeId),
+ case lists:member(Owner, Owners) of
true ->
+ OwnerJID = jlib:make_jid(Owner),
+@@ -2450,24 +2285,7 @@
+ end,
lists:foreach(
fun({JID, Affiliation}) ->
- node_call(Type, set_affiliation, [NodeId, JID, Affiliation]),
@@ -591,10 +663,10 @@
- ok
- end
+ node_call(Type, set_affiliation, [NodeId, JID, Affiliation])
- end, Entities),
+ end, FilteredEntities),
{result, []};
_ ->
-@@ -2516,11 +2325,11 @@
+@@ -2520,11 +2338,11 @@
end.
read_sub(Subscriber, Node, NodeID, SubID, Lang) ->
@@ -608,7 +680,7 @@
OptionsEl = {xmlelement, "options", [{"jid", jlib:jid_to_string(Subscriber)},
{"subid", SubID}|nodeAttr(Node)],
[XdataEl]},
-@@ -2546,7 +2355,7 @@
+@@ -2550,7 +2368,7 @@
end.
set_options_helper(Configuration, JID, NodeID, SubID, Type) ->
@@ -617,7 +689,7 @@
{result, GoodSubOpts} -> GoodSubOpts;
_ -> invalid
end,
-@@ -2575,7 +2384,7 @@
+@@ -2579,7 +2397,7 @@
write_sub(_Subscriber, _NodeID, _SubID, invalid) ->
{error, extended_error(?ERR_BAD_REQUEST, "invalid-options")};
write_sub(Subscriber, NodeID, SubID, Options) ->
@@ -626,7 +698,7 @@
{error, notfound} ->
{error, extended_error(?ERR_NOT_ACCEPTABLE, "invalid-subid")};
{result, _} ->
-@@ -2743,8 +2552,8 @@
+@@ -2747,8 +2565,8 @@
{"subscription", subscription_to_string(Sub)} | nodeAttr(Node)], []}]}]},
ejabberd_router:route(service_jid(Host), jlib:make_jid(JID), Stanza)
end,
@@ -637,7 +709,7 @@
true ->
Result = lists:foldl(fun({JID, Subscription, SubId}, Acc) ->
-@@ -3023,7 +2832,7 @@
+@@ -3103,7 +2921,7 @@
{Depth, [{N, get_node_subs(N)} || N <- Nodes]}
end, tree_call(Host, get_parentnodes_tree, [Host, Node, service_jid(Host)]))}
end,
@@ -646,7 +718,7 @@
{result, CollSubs} -> CollSubs;
_ -> []
end.
-@@ -3037,9 +2846,9 @@
+@@ -3117,9 +2935,9 @@
get_options_for_subs(NodeID, Subs) ->
lists:foldl(fun({JID, subscribed, SubID}, Acc) ->
@@ -658,7 +730,7 @@
_ -> Acc
end;
(_, Acc) ->
-@@ -3236,6 +3045,30 @@
+@@ -3323,6 +3141,30 @@
Result
end.
@@ -689,7 +761,7 @@
%% @spec (Host, Options) -> MaxItems
%% Host = host()
%% Options = [Option]
-@@ -3631,7 +3464,13 @@
+@@ -3719,7 +3561,13 @@
tree_action(Host, Function, Args) ->
?DEBUG("tree_action ~p ~p ~p",[Host,Function,Args]),
Fun = fun() -> tree_call(Host, Function, Args) end,
@@ -704,7 +776,7 @@
%% @doc node plugin call.
node_call(Type, Function, Args) ->
-@@ -3651,13 +3490,13 @@
+@@ -3739,13 +3587,13 @@
node_action(Host, Type, Function, Args) ->
?DEBUG("node_action ~p ~p ~p ~p",[Host,Type,Function,Args]),
@@ -720,9 +792,16 @@
case tree_call(Host, get_node, [Host, Node]) of
N when is_record(N, pubsub_node) ->
case Action(N) of
-@@ -3670,8 +3509,14 @@
+@@ -3757,13 +3605,19 @@
+ Error
end
end, Trans).
+-transaction(Host, Action, Trans) ->
+- transaction(fun() ->
++transaction_on_nodes(Host, Action, Trans) ->
++ transaction(Host, fun() ->
+ {result, lists:foldl(Action, [], tree_call(Host, get_nodes, [Host]))}
+ end, Trans).
-transaction(Fun, Trans) ->
- case catch mnesia:Trans(Fun) of
@@ -737,7 +816,7 @@
{result, Result} -> {result, Result};
{error, Error} -> {error, Error};
{atomic, {result, Result}} -> {result, Result};
-@@ -3679,6 +3524,15 @@
+@@ -3771,6 +3625,15 @@
{aborted, Reason} ->
?ERROR_MSG("transaction return internal error: ~p~n", [{aborted, Reason}]),
{error, ?ERR_INTERNAL_SERVER_ERROR};
@@ -753,7 +832,7 @@
{'EXIT', Reason} ->
?ERROR_MSG("transaction return internal error: ~p~n", [{'EXIT', Reason}]),
{error, ?ERR_INTERNAL_SERVER_ERROR};
-@@ -3687,6 +3541,17 @@
+@@ -3779,6 +3642,17 @@
{error, ?ERR_INTERNAL_SERVER_ERROR}
end.
diff --git a/src/mod_register.erl b/src/mod_register.erl
index 2a6c7c20b..11d4d4959 100644
--- a/src/mod_register.erl
+++ b/src/mod_register.erl
@@ -31,7 +31,7 @@
-export([start/2,
stop/1,
- stream_feature_register/1,
+ stream_feature_register/2,
unauthenticated_iq_register/4,
try_register/5,
process_iq/3]).
@@ -65,7 +65,7 @@ stop(Host) ->
gen_iq_handler:remove_iq_handler(ejabberd_sm, Host, ?NS_REGISTER).
-stream_feature_register(Acc) ->
+stream_feature_register(Acc, _Host) ->
[{xmlelement, "register",
[{"xmlns", ?NS_FEATURE_IQREGISTER}], []} | Acc].
@@ -187,6 +187,18 @@ process_iq(From, To,
sub_el = [SubEl, ?ERR_BAD_REQUEST]}
end;
get ->
+ {UsernameSubels, QuerySubels} =
+ case From of
+ #jid{user = User, lserver = Server} ->
+ case ejabberd_auth:is_user_exists(User,Server) of
+ true ->
+ {[{xmlcdata, User}], [{xmlelement, "registered", [], []}]};
+ false ->
+ {[{xmlcdata, User}], []}
+ end;
+ _ ->
+ {[], []}
+ end,
IQ#iq{type = result,
sub_el = [{xmlelement,
"query",
@@ -197,8 +209,9 @@ process_iq(From, To,
Lang,
"Choose a username and password "
"to register with this server")}]},
- {xmlelement, "username", [], []},
- {xmlelement, "password", [], []}]}]}
+ {xmlelement, "username", [], UsernameSubels},
+ {xmlelement, "password", [], []}
+ | QuerySubels]}]}
end.
%% @doc Try to change password and return IQ response
diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl
index 60bf6a1af..64a8291b6 100644
--- a/src/mod_shared_roster.erl
+++ b/src/mod_shared_roster.erl
@@ -655,6 +655,7 @@ push_user_to_members(User, Server, Subscription) ->
UserGroups = get_user_displayed_groups(LUser, LServer, GroupsOpts),
lists:foreach(
fun(Group) ->
+ remove_user_from_group(LServer, {LUser, LServer}, Group),
GroupOpts = proplists:get_value(Group, GroupsOpts, []),
GroupName = proplists:get_value(name, GroupOpts, Group),
lists:foreach(
diff --git a/src/mod_sic.erl b/src/mod_sic.erl
index e487539cd..08f356496 100644
--- a/src/mod_sic.erl
+++ b/src/mod_sic.erl
@@ -57,10 +57,7 @@ process_local_iq(#jid{user = User, server = Server, resource = Resource}, _To,
get_ip({User, Server, Resource}, IQ);
process_local_iq(_From, _To, #iq{type = 'set', sub_el = SubEl} = IQ) ->
- IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
-
-process_local_iq(_From, _To, #iq{sub_el = SubEl} = IQ) ->
- IQ#iq{type = error, sub_el = [SubEl, ?ERR_UNEXPECTED_REQUEST]}.
+ IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]}.
process_sm_iq(#jid{user = User, server = Server, resource = Resource},
@@ -72,11 +69,7 @@ process_sm_iq(_From, _To, #iq{type = 'get', sub_el = SubEl} = IQ) ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_FORBIDDEN]};
process_sm_iq(_From, _To, #iq{type = 'set', sub_el = SubEl} = IQ) ->
- IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
-
-process_sm_iq(_From, _To, #iq{sub_el = SubEl} = IQ) ->
- IQ#iq{type = error, sub_el = [SubEl, ?ERR_UNEXPECTED_REQUEST]}.
-
+ IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]}.
get_ip({User, Server, Resource},
#iq{sub_el = {xmlelement, Name, Attrs, _} = SubEl} = IQ) ->
diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl
index 4384087f4..3cdd3cffa 100644
--- a/src/mod_vcard.erl
+++ b/src/mod_vcard.erl
@@ -267,7 +267,8 @@ set_vcard(User, LServer, VCARD) ->
orgunit = OrgUnit, lorgunit = LOrgUnit
})
end,
- mnesia:transaction(F)
+ mnesia:transaction(F),
+ ejabberd_hooks:run(vcard_set, LServer, [LUser, LServer, VCARD])
end.
-define(TLFIELD(Type, Label, Var),
diff --git a/src/mod_vcard_ldap.erl b/src/mod_vcard_ldap.erl
index f4078dfc4..ed52a0593 100644
--- a/src/mod_vcard_ldap.erl
+++ b/src/mod_vcard_ldap.erl
@@ -62,7 +62,7 @@
servers,
backups,
port,
- encrypt,
+ tls_options,
dn,
base,
password,
@@ -181,7 +181,7 @@ init([Host, Opts]) ->
State#state.port,
State#state.dn,
State#state.password,
- State#state.encrypt),
+ State#state.tls_options),
case State#state.search of
true ->
ejabberd_router:register_route(State#state.myhost);
@@ -686,6 +686,11 @@ parse_options(Host, Opts) ->
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,
LDAPPortTemp = case gen_mod:get_opt(ldap_port, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_port, Host});
@@ -766,7 +771,8 @@ parse_options(Host, Opts) ->
servers = LDAPServers,
backups = LDAPBackups,
port = LDAPPort,
- encrypt = LDAPEncrypt,
+ tls_options = [{encrypt, LDAPEncrypt},
+ {tls_verify, LDAPTLSVerify}],
dn = RootDN,
base = LDAPBase,
password = Password,
diff --git a/src/mod_vcard_odbc.erl b/src/mod_vcard_odbc.erl
index 30c28883a..701babb40 100644
--- a/src/mod_vcard_odbc.erl
+++ b/src/mod_vcard_odbc.erl
@@ -216,7 +216,7 @@ set_vcard(User, LServer, VCARD) ->
Username = ejabberd_odbc:escape(User),
LUsername = ejabberd_odbc:escape(LUser),
SVCARD = ejabberd_odbc:escape(
- lists:flatten(xml:element_to_string(VCARD))),
+ xml:element_to_binary(VCARD)),
SFN = ejabberd_odbc:escape(FN),
SLFN = ejabberd_odbc:escape(LFN),
@@ -247,7 +247,9 @@ set_vcard(User, LServer, VCARD) ->
SLLocality, SLMiddle, SLNickname,
SLOrgName, SLOrgUnit, SLocality,
SMiddle, SNickname, SOrgName,
- SOrgUnit, SVCARD, Username)
+ SOrgUnit, SVCARD, Username),
+
+ ejabberd_hooks:run(vcard_set, LServer, [LUser, LServer, VCARD])
end.
-define(TLFIELD(Type, Label, Var),
diff --git a/src/mod_vcard_xupdate.erl b/src/mod_vcard_xupdate.erl
new file mode 100644
index 000000000..38503c4c3
--- /dev/null
+++ b/src/mod_vcard_xupdate.erl
@@ -0,0 +1,121 @@
+%%%----------------------------------------------------------------------
+%%% File : mod_vcard_xupdate.erl
+%%% Author : Igor Goryachev
+%%% Purpose : Add avatar hash in presence on behalf of client (XEP-0153)
+%%% Created : 9 Mar 2007 by Igor Goryachev
+%%%----------------------------------------------------------------------
+
+-module(mod_vcard_xupdate).
+
+-behaviour(gen_mod).
+
+%% gen_mod callbacks
+-export([start/2,
+ stop/1]).
+
+%% hooks
+-export([update_presence/3,
+ vcard_set/3]).
+
+-include("ejabberd.hrl").
+-include("jlib.hrl").
+
+-record(vcard_xupdate, {us, hash}).
+
+%%====================================================================
+%% gen_mod callbacks
+%%====================================================================
+
+start(Host, _Opts) ->
+ mnesia:create_table(vcard_xupdate,
+ [{disc_copies, [node()]},
+ {attributes, record_info(fields, vcard_xupdate)}]),
+ ejabberd_hooks:add(c2s_update_presence, Host,
+ ?MODULE, update_presence, 100),
+ ejabberd_hooks:add(vcard_set, Host,
+ ?MODULE, vcard_set, 100),
+ ok.
+
+stop(Host) ->
+ ejabberd_hooks:delete(c2s_update_presence, Host,
+ ?MODULE, update_presence, 100),
+ ejabberd_hooks:delete(vcard_set, Host,
+ ?MODULE, vcard_set, 100),
+ ok.
+
+%%====================================================================
+%% Hooks
+%%====================================================================
+
+update_presence({xmlelement, "presence", Attrs, _Els} = Packet, User, Host) ->
+ case xml:get_attr_s("type", Attrs) of
+ [] ->
+ presence_with_xupdate(Packet, User, Host);
+ _ ->
+ Packet
+ end;
+update_presence(Packet, _User, _Host) ->
+ Packet.
+
+vcard_set(LUser, LServer, VCARD) ->
+ US = {LUser, LServer},
+ case xml:get_path_s(VCARD, [{elem, "PHOTO"}, {elem, "BINVAL"}, cdata]) of
+ [] ->
+ remove_xupdate(LUser, LServer);
+ BinVal ->
+ add_xupdate(LUser, LServer, sha:sha(jlib:decode_base64(BinVal)))
+ end,
+ ejabberd_sm:force_update_presence(US).
+
+%%====================================================================
+%% Mnesia storage
+%%====================================================================
+
+add_xupdate(LUser, LServer, Hash) ->
+ F = fun() ->
+ mnesia:write(#vcard_xupdate{us = {LUser, LServer}, hash = Hash})
+ end,
+ mnesia:transaction(F).
+
+get_xupdate(LUser, LServer) ->
+ case mnesia:dirty_read(vcard_xupdate, {LUser, LServer}) of
+ [#vcard_xupdate{hash = Hash}] ->
+ Hash;
+ _ ->
+ undefined
+ end.
+
+remove_xupdate(LUser, LServer) ->
+ F = fun() ->
+ mnesia:delete({vcard_xupdate, {LUser, LServer}})
+ end,
+ mnesia:transaction(F).
+
+%%%----------------------------------------------------------------------
+%%% Presence stanza rebuilding
+%%%----------------------------------------------------------------------
+
+presence_with_xupdate({xmlelement, "presence", Attrs, Els}, User, Host) ->
+ XPhotoEl = build_xphotoel(User, Host),
+ Els2 = presence_with_xupdate2(Els, [], XPhotoEl),
+ {xmlelement, "presence", Attrs, Els2}.
+
+presence_with_xupdate2([], Els2, XPhotoEl) ->
+ lists:reverse([XPhotoEl | Els2]);
+%% This clause assumes that the x element contains only the XMLNS attribute:
+presence_with_xupdate2([{xmlelement, "x", [{"xmlns", ?NS_VCARD_UPDATE}], _}
+ | Els], Els2, XPhotoEl) ->
+ presence_with_xupdate2(Els, Els2, XPhotoEl);
+presence_with_xupdate2([El | Els], Els2, XPhotoEl) ->
+ presence_with_xupdate2(Els, [El | Els2], XPhotoEl).
+
+build_xphotoel(User, Host) ->
+ Hash = get_xupdate(User, Host),
+ PhotoSubEls = case Hash of
+ Hash when is_list(Hash) ->
+ [{xmlcdata, Hash}];
+ _ ->
+ []
+ end,
+ PhotoEl = [{xmlelement, "photo", [], PhotoSubEls}],
+ {xmlelement, "x", [{"xmlns", ?NS_VCARD_UPDATE}], PhotoEl}.
diff --git a/src/msgs/ca.msg b/src/msgs/ca.msg
index 6cc871f21..7d93979b9 100644
--- a/src/msgs/ca.msg
+++ b/src/msgs/ca.msg
@@ -36,6 +36,10 @@
{"Change Password","Canviar password"}.
{"Change User Password","Canviar Password d'Usuari"}.
{"Chatroom configuration modified","Configuració de la sala de xat modificada"}.
+{"Chatroom is created","La sala s'ha creat"}.
+{"Chatroom is destroyed","La sala s'ha destruït"}.
+{"Chatroom is started","La sala s'ha iniciat"}.
+{"Chatroom is stopped","La sala s'ha aturat"}.
{"Chatrooms","Sales de xat"}.
{"Choose a username and password to register with this server","Tria nom d'usuari i password per a registrar-te en aquest servidor"}.
{"Choose modules to stop","Selecciona mòduls a detindre"}.
@@ -246,6 +250,7 @@
{"Protocol","Protocol"}.
{"Publish-Subscribe","Publicar-subscriure't"}.
{"PubSub subscriber request","Petició de subscriptor PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Eliminar tots els elements quan el publicant relevant es desconnecti"}.
{"Queries to the conference members are not allowed in this room"," En aquesta sala no es permeten solicituts als membres de la sala"}.
{"RAM and disc copy","Còpia en RAM i disc"}.
{"RAM copy","Còpia en RAM"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Apager el Servei"}.
{"~s invites you to the room ~s","~s et convida a la sala ~s"}.
{"Specify the access model","Especificar el model d'accés"}.
+{"Specify the event message type","Especifica el tipus de missatge d'event"}.
{"Specify the publisher model","Especificar el model del publicant"}.
{"~s's Offline Messages Queue","~s's cua de missatges offline"}.
{"Start","Iniciar"}.
diff --git a/src/msgs/ca.po b/src/msgs/ca.po
index 2b5071bbe..416efecac 100644
--- a/src/msgs/ca.po
+++ b/src/msgs/ca.po
@@ -8,15 +8,15 @@ msgstr ""
"X-Language: Catalan (català)\n"
"X-Additional-Translator: Vicent Alberola Canet\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "És obligatori utilitzar STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Recurs no disponible"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Reemplaçat per una nova connexió"
@@ -45,382 +45,384 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Segur que vols eliminar el missatge del dia?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Assumpte"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Missatge"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "No hi ha proveedor per al missatge anunci"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Anuncis"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Enviar anunci a tots els usuaris"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Enviar anunci a tots els usuaris de tots els hosts"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Enviar anunci a tots els usuaris connectats"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Enviar anunci a tots els usuaris connectats a tots els hosts"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Configurar el missatge del dia i enviar a tots els usuaris"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Escriure missatge del dia en tots els hosts i enviar-ho als usuaris "
"connectats"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Actualitzar el missatge del dia (no enviar)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Actualitza el missatge del dia en tots els hosts (no enviar)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Eliminar el missatge del dia"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Elimina el missatge del dis de tots els hosts"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Configuració"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Base de dades"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Iniciar mòduls"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Parar mòduls"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Guardar còpia de seguretat"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Restaurar"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Exportar a fitxer de text"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importar fitxer"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importar directori"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Reiniciar el Servei"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Apager el Servei"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Afegir usuari"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Eliminar Usuari"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Finalitzar Sesió d'Usuari"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Obtenir Password d'usuari"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Canviar Password d'Usuari"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Obtenir la última connexió d'Usuari"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Obtenir Estadístiques d'Usuari"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Obtenir Número d'Usuaris Registrats"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Obtenir Número d'Usuaris Connectats"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Llista de Control d'Accés"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Regles d'Accés"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Gestió d'Usuaris"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Usuaris conectats"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Tots els usuaris"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Connexions s2s d'eixida"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Nodes funcionant"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Nodes parats"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Mòduls"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Gestió de còpia de seguretat"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar usuaris de jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "A ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "De ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Configuració de la base de dades en "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Selecciona el tipus d'almacenament de les taules"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Còpia sols en disc"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Còpia en RAM i disc"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Còpia en RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Còpia remota"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Detindre mòduls en "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Selecciona mòduls a detindre"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Iniciar mòduls en "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Introdueix llista de {mòdul, [opcions]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Llista de mòduls a iniciar"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Desar còpia de seguretat a fitxer en "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Introdueix ruta al fitxer de còpia de seguretat"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Ruta al fitxer"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Restaura còpia de seguretat des del fitxer en "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Exporta còpia de seguretat a fitxer de text en "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Introdueix ruta al fitxer de text"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importa usuari des de fitxer en "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Introdueix ruta al fitxer jabberd14 spool"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importar usuaris des del directori en "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Introdueix la ruta al directori de jabberd14 spools"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Ruta al directori"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Temps de retard"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Configuració de la Llista de Control d'Accés"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Llistes de Control de Accés"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Configuració d'accesos"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Regles d'accés"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "ID Jabber"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Password"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Verificació del Password"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Número d'Usuaris Registrats"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Número d'usuaris connectats"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Mai"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Connectat"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Últim login"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Tamany de la llista"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Adreça IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Recursos"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administració de "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Acció en l'usuari"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Editar propietats"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Eliminar usuari"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Accés denegat per la política del servei"
@@ -532,205 +534,221 @@ msgstr "Codificació pel servidor ~b"
msgid "Server ~b"
msgstr "Servidor ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Sols els administradors del servei tenen permís per a enviar missatges de "
"servei"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Se t'ha denegat el crear la sala per política del servei"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "La sala de conferències no existeix"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Sales de xat"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Necessites un client amb suport x:data per a poder registrar el Nickname"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registre del Nickname en "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Introdueix el nickname que vols registrar"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Nickname"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "El nickname ja està registrat per una altra persona"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Deus d'omplir el camp \"Nickname\" al formulari"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "mòdul ejabberd MUC"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Configuració de la sala de xat modificada"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "Entrar a la sala"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "Deixar la sala"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "Has sigut banejat"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "Has sigut expulsat"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "Has sigut expulsat a causa d'un canvi d'afiliació"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "Has sigut expulsat perquè la sala ha canviat a sols membres"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "Has sigut expulsat perquè el sistema s'ha apagat"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "ara es conegut com"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " ha posat l'assumpte: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "La sala s'ha creat"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "La sala s'ha destruït"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "La sala s'ha iniciat"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "La sala s'ha aturat"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Dilluns"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Dimarts"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Dimecres"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Dijous"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Divendres"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Dissabte"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Diumenge"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Gener"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Febrer"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Març"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Abril"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Maig"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Juny"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Juliol"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Agost"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Setembre"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Octubre"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Novembre"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Decembre"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Configuració de la sala"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Nombre d'ocupants"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "El llímit de tràfic ha sigut sobrepassat"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Aquest participant ha sigut expulsat de la sala perque ha enviat un missatge "
"d'error"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "No està permés l'enviament de missatges privats a la sala"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Tipus de missatge incorrecte"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -738,270 +756,270 @@ msgstr ""
"Aquest participant ha sigut expulsat de la sala perque ha enviat un missatge "
"erroni a un altre participant"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "No està permés enviar missatges del tipus \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "El receptor no està en la sala de conferència"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Sols els ocupants poden enviar missatges a la sala"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "No està permés enviar missatges privats"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Sols els ocupants poden enviar solicituts a la sala"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr " En aquesta sala no es permeten solicituts als membres de la sala"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privat"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
"Només els moderadors i participants poden canviar l'assumpte d'aquesta sala"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Només els moderadors poden canviar l'assumpte d'aquesta sala"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Els visitants no poden enviar missatges a tots els ocupants"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Aquest participant ha sigut expulsat de la sala perque ha enviat un error de "
"presencia"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Els visitants no tenen permés canviar el seus Nicknames en esta sala"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "El Nickname està siguent utilitzat per una altra persona"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Has sigut bloquejat en aquesta sala"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Necessites ser membre d'aquesta sala per a poder entrar"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Aquesta sala no és anònima"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Es necessita password per a entrar en aquesta sala"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "No s'ha pogut generar un captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Password incorrecte"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Es necessita tenir privilegis d'administrador"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Es necessita tenir privilegis de moderador"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "El Jabber ID ~s no és vàlid"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "El Nickname ~s no existeix a la sala"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Afiliació invàlida: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Rol invàlid: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Es requerixen privilegis de propietari de la sala"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Configuració de la sala ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Descripció de la sala:"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Crear una sala persistent"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Crear una sala pública"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Crear una llista de participants pública"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Crear una sala amb password"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Número màxim d'ocupants"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Sense Llímit"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Presentar Jabber ID's reals a"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "només moderadors"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "qualsevol"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Crear una sala de \"només membres\""
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Crear una sala moderada"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Els usuaris són participants per defecte"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Permetre que els usuaris canviin el tema"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Permetre que els usuaris envien missatges privats"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Permetre que els usuaris fagen peticions a altres usuaris"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Permetre que els usuaris envien invitacions"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Permetre als visitants enviar text d'estat en les actualitzacions de "
"presència"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Permetre als visitants canviar el Nickname"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Crear una sala protegida per captcha"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Habilitar el registre de la conversa"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Necessites un client amb suport x:data per a configurar la sala"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Número d'ocupants"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privat"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s et convida a la sala ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "el password és"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "La cua de missatges offline és plena. El missatge ha sigut descartat"
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s's cua de missatges offline"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Enviat"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Data"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "De"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Per a"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paquet"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminar els seleccionats"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Missatges fora de línia:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Eliminar tots els missatges offline"
@@ -1009,192 +1027,195 @@ msgstr "Eliminar tots els missatges offline"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "mòdul ejabberd SOCKS5 Bytestreams"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publicar-subscriure't"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Mòdul ejannerd Publicar-Subscriure"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Petició de subscriptor PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Tria si aprova aquesta entitat de subscripció"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID del Node"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Adreça del Subscriptor"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Permetre que aquesta Jabber ID es puga subscriure a aquest node pubsub"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Enviar payloads junt a les notificacions d'events"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Entrega de notificacions d'events"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptors quan canvia la configuració del node"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptors quan el node és eliminat"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptors quan els elements són eliminats del node"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Persistir elements al guardar"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Un nom per al node"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Màxim # d'elements que persistixen"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Permetre subscripcions"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Especificar el model d'accés"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Llista de grups que tenen permés subscriures"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Especificar el model del publicant"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Especificar el model d'accés"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Eliminar tots els elements quan el publicant relevant es desconnecti"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Especifica el tipus de missatge d'event"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Màxim tamany del payload en bytes"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Quan s'ha enviat l'última publicació"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Sols enviar notificacions als usuaris disponibles"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Les col.leccions amb les que un node està afiliat"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Tria nom d'usuari i password per a registrar-te en aquest servidor"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Els usuaris no tenen permís per a crear comptes tan depresa"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Cap"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Subscripció"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Pendent"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grups"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Validar"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Borrar"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Llista de contactes de "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Format erroni"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Afegir Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Llista de contactes"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Grups de contactes compartits"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Afegir nou"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Nom:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Descripció:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Membre:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Mostrar grups:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Grup "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Enviar"
@@ -1202,32 +1223,32 @@ msgstr "Enviar"
msgid "Erlang Jabber Server"
msgstr "Servidor Erlang Jabber"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Aniversari"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Ciutat"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Pais"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Email"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Cognom"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1235,53 +1256,53 @@ msgstr ""
"Emplena el formulari per a buscar usuaris Jabber. Afegix * al final d'un "
"camp per a buscar subcadenes."
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Nom complet"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Segon nom"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Nom"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Nom de la organizació"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Unitat de la organizació"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Cerca usuaris en "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Necesites un client amb suport x:data per a poder buscar"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Recerca de vCard d'usuari"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Mòdul ejabberd vCard"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Resultat de la búsqueda"
@@ -1289,182 +1310,182 @@ msgstr "Resultat de la búsqueda"
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Emplena camps per a buscar usuaris Jabber que concorden"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "No autoritzat"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "Web d'administració del ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administració"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "en format text"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Configuració de les Regles d'Accés ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Hosts virtuals del ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Usuaris"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Última activitat d'usuari"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Període: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Últim mes"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Últim any"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Tota l'activitat"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Mostrar Taula Ordinaria"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Mostrar Taula Integral"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Estadístiques"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "No Trobat"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Node no trobat"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Host"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Usuaris registrats"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Missatges offline"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Última activitat"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Usuaris registrats:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Usuaris en línia:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Connexions d'eixida s2s"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Servidors d'eixida de s2s"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Canviar password"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Usuari "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Recursos connectats:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Password:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "No hi ha dades"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nodes"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Node "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Ports a l'escolta"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Actualitzar"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Reiniciar"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Detindre"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Error de cridada RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Taules de la base de dades en "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Tipus d'emmagatzematge"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elements"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Memòria"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Error"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Còpia de seguretat de "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1474,142 +1495,142 @@ msgstr ""
"dades Mnesia. Si estàs utilitzant el mòdul d'ODBC també deus de fer una "
"còpia de seguretat de la base de dades de SQL a part."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Guardar una còpia de seguretat binària:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "Acceptar"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Restaurar una còpia de seguretat binària ara mateix."
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Restaurar una còpia de seguretat binària després de reiniciar el ejabberd "
"(requereix menys memòria:"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Guardar una còpia de seguretat en format de text pla:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Restaurar una còpia de seguretat en format de text pla ara mateix:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importar dades d'usuaris des d'un arxiu PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportar dades de tots els usuaris del servidor a arxius PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr "Exportar dades d'usuaris d'un host a arxius PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importar dades d'usuaris de l'arxiu de spool de jabberd14"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importar dades d'usuaris del directori de spool de jabberd14:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Ports a la escolta en "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Mòduls en "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Estadístiques de ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Temps en marxa"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Temps de CPU"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transaccions Realitzades:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transaccions Avortades"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transaccions reiniciades"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transaccions registrades"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Actualitzar"
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Pla d'actualització"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Mòduls modificats"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Script d'actualització"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Script d'actualització de baix nivell"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Comprovar script"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Port"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protocol"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Mòdul"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Opcions"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Eliminar"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Iniciar"
diff --git a/src/msgs/cs.msg b/src/msgs/cs.msg
index 850f6f221..be2197f44 100644
--- a/src/msgs/cs.msg
+++ b/src/msgs/cs.msg
@@ -36,6 +36,10 @@
{"Change Password","Změnit heslo"}.
{"Change User Password","Změnit heslo uživatele"}.
{"Chatroom configuration modified","Nastavení diskuzní místnosti bylo změněno"}.
+{"Chatroom is created","Konference vytvořena"}.
+{"Chatroom is destroyed","Konference zrušena"}.
+{"Chatroom is started","Konference spuštěna"}.
+{"Chatroom is stopped","Konference zastavena"}.
{"Chatrooms","Konference"}.
{"Choose a username and password to register with this server","Zadejte jméno uživatele a heslo pro registraci na tomto serveru"}.
{"Choose modules to stop","Vyberte moduly, které mají být zastaveny"}.
@@ -246,6 +250,7 @@
{"Protocol","Protokol"}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","Žádost odběratele PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Smazat všechny položky, pokud se příslušný poskytovatel odpojí"}.
{"Queries to the conference members are not allowed in this room","Požadavky (queries) na členy konference nejsou v této místnosti povolené"}.
{"RAM and disc copy","Kopie RAM a disku"}.
{"RAM copy","Kopie RAM"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Vypnout službu"}.
{"~s invites you to the room ~s","~s vás zve do místnosti ~s"}.
{"Specify the access model","Uveďte přístupový model"}.
+{"Specify the event message type","Zvolte typ zpráv pro události"}.
{"Specify the publisher model","Specifikovat model pro publikování"}.
{"~s's Offline Messages Queue","Fronta offline zpráv uživatele ~s"}.
{"Start Modules at ","Spustit moduly na "}.
diff --git a/src/msgs/cs.po b/src/msgs/cs.po
index b2cd2602c..c2ae2f504 100644
--- a/src/msgs/cs.po
+++ b/src/msgs/cs.po
@@ -8,15 +8,15 @@ msgstr ""
"X-Language: Czech (čeština)\n"
"X-Additional-Translator: Milos Svasek [DuxforD] from openheads.net\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Je vyžadováno STARTTLS."
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Nebyl poskytnut žádný zdroj"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Nahrazeno novým spojením"
@@ -44,380 +44,382 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Skutečně smazat zprávu dne?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Předmět"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Tělo zprávy"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Zpráva neobsahuje text"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Oznámení"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Odeslat oznámení všem uživatelům"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Odeslat oznámení všem uživatelům na všech hostitelích"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Odeslat oznámení všem online uživatelům"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Odeslat oznámení všem online uživatelům na všech hostitelích"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Nastavit zprávu dne a odeslat ji online uživatelům"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr "Nastavit zprávu dne a odeslat ji online uživatelům"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Aktualizovat zprávu dne (neodesílat)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Aktualizovat zprávu dne pro všechny hostitele (neodesílat)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Smazat zprávu dne"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Smazat zprávu dne na všech hostitelích"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Konfigurace"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Databáze"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Spustit moduly"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Zastavit moduly"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Zálohovat"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Obnovit"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Uložit do textového souboru"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Import souboru"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Import adresáře"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Restartovat službu"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Vypnout službu"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Přidat uživatele"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Smazat uživatele"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Ukončit sezení uživatele"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Získat heslo uživatele"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Změnit heslo uživatele"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Získat čas podleního přihlášení uživatele"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Získat statistiky uživatele"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Získat počet registrovaných uživatelů"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Získat počet online uživatelů"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Seznamy přístupových práv (ACL)"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Pravidla přístupů"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Správa uživatelů"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Online uživatelé"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Všichni uživatelé"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Odchozí s2s spojení"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Běžící uzly"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Zastavené uzly"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Moduly"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Správa zálohování"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importovat uživatele z jabberd14 spool souborů"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Pro ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Od ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Konfigurace databázových tabulek "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Vyberte typ úložiště pro tabulky"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Jen kopie disku"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Kopie RAM a disku"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Kopie RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Vzdálená kopie"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Zastavit moduly na "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Vyberte moduly, které mají být zastaveny"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Spustit moduly na "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Vložte seznam modulů {Modul, [Parametry]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Seznam modulů, které mají být spuštěné"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Záloha do souboru na "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Zadajte cestu k souboru se zálohou"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Cesta k souboru"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Obnovit zálohu ze souboru na "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Uložit zálohu do textového souboru na "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Zadajte cestu k textovému souboru"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importovat uživatele ze souboru na "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Zadejte cestu k spool souboru jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importovat uživatele z adresáře na "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Zadejte cestu k jabberd14 spool adresáři"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Cesta k adresáři"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Časový posun"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Konfigurace seznamu přístupových práv (ACL)"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Seznamy přístupových práv (ACL)"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Konfigurace přístupů"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Pravidla přístupů"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Heslo"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Ověření hesla"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Počet registrovaných uživatelů"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Počet online uživatelů"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nikdy"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Online"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Poslední přihlášení"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Velikost seznamu kontaktů"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP adresy"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Zdroje"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administrace "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Akce aplikovaná na uživatele"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Upravit vlastnosti"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Odstranit uživatele"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Přístup byl zamítnut nastavením služby"
@@ -526,200 +528,216 @@ msgstr "Kódování pro server ~b"
msgid "Server ~b"
msgstr "Server ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Pouze správci služby smí odesílat servisní zprávy"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Pravidla služby nepovolují vytvořit místnost"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Konferenční místnost neexistuje"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Konference"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "K registraci přezdívky potřebujete klienta s podporou x:data"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registrace přezdívky na "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Zadejte přezdívku, kterou chcete zaregistrovat"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Přezdívka"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Přezdívka je zaregistrována jinou osobou"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Musíte vyplnit políčko \"Přezdívka\" ve formuláři"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC modul"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Nastavení diskuzní místnosti bylo změněno"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "vstoupil(a) do místnosti"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "opustil(a) místnost"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "byl(a) zablokován(a)"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "byl(a) vyhozen(a) z místnosti"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "byl(a) vyhozen(a) kvůli změně přiřazení"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "byl(a) vyhozen(a), protože mísnost je nyní pouze pro členy"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "byl(a) vyhozen(a), protože dojde k vypnutí systému"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "se přejmenoval(a) na"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " změnil(a) téma na: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Konference vytvořena"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Konference zrušena"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Konference spuštěna"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Konference zastavena"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Pondělí"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Úterý"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Středa"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Čtvrtek"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Pátek"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Sobota"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Neděle"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr ". ledna"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr ". února"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr ". března"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr ". dubna"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr ". května"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr ". června"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr ". července"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr ". srpna"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr ". září"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr ". října"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr ". listopadu"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr ". prosince"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Nastavení místnosti"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Počet účastníků"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Byl překročen limit"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr "Tento účastník byl vyhozen, protože odeslal chybovou zprávu"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Není povoleno odesílat soukromé zprávy do konference"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Nesprávný typ zprávy"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -727,266 +745,266 @@ msgstr ""
"Tento účastník byl vyhozen, protože odeslal chybovou zprávu jinému "
"účastníkovi"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Není dovoleno odeslání soukromé zprávy typu \"skupinová zpráva\" "
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Příjemce se nenachází v konferenční místnosti"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Jen členové mají povolené zasílat zprávy do konference"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Je zakázáno posílat soukromé zprávy"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Jen členové mohou odesílat požadavky (query) do konference"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Požadavky (queries) na členy konference nejsou v této místnosti povolené"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "soukromá, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Jen moderátoři a účastníci mají povoleno měnit téma této místnosti"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Jen moderátoři mají povoleno měnit téma místnosti"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Návštevníci nemají povoleno zasílat zprávy všem účastníkům konference"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr "Tento účastník byl vyhozen, protože odeslal chybový status"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Návštěvníkům této místnosti je zakázáno měnit přezdívku"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Přezdívka je již používána jiným členem"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Byl jste vyloučen z této místnosti"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Pro vstup do místnosti musíte být členem"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Tato místnost není anonymní"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Pro vstup do místnosti musíte zadat heslo"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Nebylo možné vygenerovat CAPTCHA"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Nesprávné heslo"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Potřebujete práva administrátora"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Potřebujete práva moderátora"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s je neplatné"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Přezdívka ~s v místnosti neexistuje"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Neplatné přiřazení: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Neplatná role: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Jsou vyžadována práva vlastníka"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Konfigurace místnosti ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Popis místnosti"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Nastavit místnost jako stálou"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Nastavit místnost jako veřejnou"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Nastavit seznam účastníků jako veřejný"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Chránit místnost heslem"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Počet účastníků"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Bez limitu"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Odhalovat skutečná Jabber ID"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "moderátorům"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "každému"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Zpřístupnit místnost jen členům"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Nastavit místnost jako moderovanou"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Uživatelé jsou implicitně členy"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Povolit uživatelům měnit téma místnosti"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Povolit uživatelům odesílat soukromé zprávy"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Povolit uživatelům odesílat požadavky (query) ostatním uživatelům"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Povolit uživatelům posílání pozvánek"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Povolit návštěvníkům posílat stavové zprávy ve statusu"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Povolit návštěvníkům měnit přezdívku"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Chránit místnost pomocí CAPTCHA"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Zaznamenávat konverzace"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Ke konfiguraci místnosti potřebujete klienta podporujícího x:data"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Počet účastníků"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "soukromá, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s vás zve do místnosti ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "heslo je"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Fronta offline zpráv pro váš kontakt je plná. Zpráva byla zahozena."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Fronta offline zpráv uživatele ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Odeslané"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Čas"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Od"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Pro"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paket"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Smazat vybrané"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Offline zprávy:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Odstranit všechny offline zprávy"
@@ -994,192 +1012,195 @@ msgstr "Odstranit všechny offline zprávy"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Žádost odběratele PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Zvolte, zda chcete schválit odebírání touto entitou"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID uzlu"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Adresa odběratele"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Povolit tomuto Jabber ID odebírat tento pubsub uzel?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Doručovat náklad s upozorněním na událost"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Doručovat upozornění na události"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Upozornit odběratele na změnu nastavení uzlu"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Upozornit odběratele na smazání uzlu"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Upozornit odběratele na odstranění položek z uzlu"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Uložit položky natrvalo do úložiště"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Přívětivé jméno pro uzel"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Maximální počet položek, které je možné natrvalo uložit"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Povolit odebírání"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Uveďte přístupový model"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Skupiny kontaktů, které mohou odebírat"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Specifikovat model pro publikování"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Uveďte přístupový model"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Smazat všechny položky, pokud se příslušný poskytovatel odpojí"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Zvolte typ zpráv pro události"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Maximální náklad v bajtech"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Kdy odeslat poslední publikovanou položku"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Doručovat upozornění jen právě přihlášeným uživatelům"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Kolekce, se kterými je uzel spřízněn"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Zadejte jméno uživatele a heslo pro registraci na tomto serveru"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Je zakázáno registrovat účty v tak rychlém sledu"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Nic"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Přihlášení"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Čekající"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Skupiny"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Ověřit"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Odstranit"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Seznam kontaktů "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Nesprávný formát"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Přidat Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Seznam kontaktů"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Skupiny pro sdílený seznam kontaktů"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Přidat nový"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Jméno:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Popis:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Členové:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Zobrazené skupiny:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Skupina "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Odeslat"
@@ -1187,32 +1208,32 @@ msgstr "Odeslat"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Datum narození"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Město"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Země"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "E-mail"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Příjmení"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1220,53 +1241,53 @@ msgstr ""
"Pro vyhledání uživatele Jabberu vyplňte formulář (na konec přidejte znak * "
"pro vyhledání podřetězce)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Celé jméno"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Druhé jméno"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Jméno"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Název firmy"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Oddělení"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Hledat uživatele v "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "K vyhledávání potřebujete klienta podporujícího x:data"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Hledání uživatelů podle vizitek"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard modul"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Výsledky hledání pro "
@@ -1274,182 +1295,182 @@ msgstr "Výsledky hledání pro "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Vyplňte políčka pro vyhledání uživatele Jabberu"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Nemáte oprávnění"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "Webová administrace ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administrace"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Zdroj"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s konfigurace pravidla přístupu"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Virtuální hostitelé ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Uživatelé"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Poslední aktivita uživatele"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Čas: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Poslední měsíc"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Poslední rok"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Všechny aktivity"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Zobrazit běžnou tabulku"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Zobrazit kompletní tabulku"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statistiky"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Nenalezeno"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Uzel nenalezen"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Hostitel"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Registrovaní uživatelé"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Offline zprávy"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Poslední aktivita"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Registrovaní živatelé:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Online uživatelé:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Odchozí s2s spojení:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Odchozí s2s servery:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Změnit heslo"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Uživatel "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Připojené zdroje:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Heslo:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Žádná data"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Uzly"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Uzel "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Otevřené porty"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Aktualizovat"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Restart"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Stop"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Chyba RPC volání"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Databázové tabulky na "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Typ úložiště"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Položek"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Paměť"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Chyba"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Záloha na "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1459,142 +1480,142 @@ msgstr ""
"Mnesia. Pokud používáte ODBC modul, musíte zálohovat svoji SQL databázi "
"samostatně."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Uložit binární zálohu:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Okamžitě obnovit binární zálohu:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Obnovit binární zálohu při následujícím restartu ejabberd (vyžaduje méně "
"paměti)"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Uložit zálohu do textového souboru:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Okamžitě obnovit zálohu z textového souboru:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importovat uživatele ze souboru ve formátu PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr "Exportovat všechny uživatele do souboru ve formátu PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportovat uživatele na hostiteli do souboru ve formátu PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importovat uživatele z jabberd14 spool souborů:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importovat uživatele z jabberd14 spool souborů:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Otevřené porty na "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Moduly na "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statistiky ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Čas běhu:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Čas procesoru"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transakce potvrzena"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transakce zrušena"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transakce restartována"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transakce zaznamenána"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Aktualizovat "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Aktualizovat plán"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Aktualizované moduly"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Aktualizované skripty"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Nízkoúrovňový aktualizační skript"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Kontrola skriptu"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Port"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protokol"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Modul"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Nastavení"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Smazat"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Start"
diff --git a/src/msgs/de.msg b/src/msgs/de.msg
index 17420cb02..e554ce1d1 100644
--- a/src/msgs/de.msg
+++ b/src/msgs/de.msg
@@ -1,20 +1,20 @@
{"Access Configuration","Zugangskonfiguration"}.
-{"Access Control List Configuration","Zugangskontroll-Liste (ACL) Konfiguration"}.
+{"Access Control List Configuration","Konfiguration der Zugangskontrolllisten"}.
{"Access control lists","Zugangskontroll-Listen (ACL)"}.
{"Access Control Lists","Zugangskontroll-Listen (ACL)"}.
{"Access denied by service policy","Zugang aufgrund der Dienstrichtlinien verweigert"}.
{"Access rules","Zugangsregeln"}.
{"Access Rules","Zugangsregeln"}.
{"Action on user","Aktion auf Benutzer"}.
-{"Add Jabber ID","Jabber ID hinzufügen"}.
+{"Add Jabber ID","Jabber-ID hinzufügen"}.
{"Add New","Neuen hinzufügen"}.
{"Add User","Benutzer hinzufügen"}.
{"Administration of ","Administration von "}.
{"Administration","Verwaltung"}.
{"Administrator privileges required","Administratorenrechte benötigt"}.
-{"A friendly name for the node","Ein passender Name für den Knoten"}.
+{"A friendly name for the node","Ein merkbarer Name für den Knoten"}.
{"All activity","Alle Aktivitäten"}.
-{"Allow this Jabber ID to subscribe to this pubsub node?","Erlauben sie dieser Jabber ID das Abonnement dieses pubsub Knotens?"}.
+{"Allow this Jabber ID to subscribe to this pubsub node?","Dieser Jabber-ID das Abonnement dieses pubsub-Knotens erlauben?"}.
{"Allow users to change the subject","Erlaube Benutzern das Thema zu ändern"}.
{"Allow users to query other users","Erlaube Benutzern andere Benutzer abzufragen"}.
{"Allow users to send invites","Erlaube Benutzern Einladungen zu senden"}.
@@ -28,85 +28,89 @@
{"April","April"}.
{"August","August"}.
{"Backup","Datensicherung"}.
-{"Backup Management","Datensicherungsmanagement"}.
+{"Backup Management","Datensicherungsverwaltung"}.
{"Backup of ","Sicherung von "}.
{"Backup to File at ","Datensicherung in die Datei "}.
{"Bad format","Ungültiges Format"}.
{"Birthday","Geburtsdatum"}.
{"Change Password","Passwort ändern"}.
-{"Change User Password","Benutzer Passwort ändern"}.
-{"Chatroom configuration modified","Chatraum Konfiguration geändert"}.
+{"Change User Password","Benutzer-Passwort ändern"}.
+{"Chatroom configuration modified","Chatraum-Konfiguration geändert"}.
+{"Chatroom is created","Chatraum wurde erstellt"}.
+{"Chatroom is destroyed","Chatraum wurde entfernt"}.
+{"Chatroom is started","Chatraum wurde gestartet"}.
+{"Chatroom is stopped","Chatraum wurde beendet"}.
{"Chatrooms","Chaträume"}.
{"Choose a username and password to register with this server","Wählen sie zum Registrieren einen Benutzernamen und ein Passwort"}.
{"Choose modules to stop","Wähle zu stoppende Module"}.
{"Choose storage type of tables","Wähle Speichertyp der Tabellen"}.
-{"Choose whether to approve this entity's subscription.","Wähle ob dieses Abonnement bestätigt wird."}.
+{"Choose whether to approve this entity's subscription.","Wähle Sie, ob dieses Abonnement akzeptiert werden soll."}.
{"City","Stadt"}.
{"Commands","Befehle"}.
{"Conference room does not exist","Konferenzraum existiert nicht"}.
{"Configuration","Konfiguration"}.
{"Configuration of room ~s","Konfiguration für Raum ~s"}.
-{"Connected Resources:","Verbundene Resourcen"}.
+{"Connected Resources:","Verbundene Ressourcen"}.
{"Connections parameters","Verbindungsparameter"}.
{"Country","Land"}.
-{"CPU Time:","CPU Zeit:"}.
+{"CPU Time:","CPU-Zeit:"}.
{"Database","Datenbank"}.
-{"Database Tables at ","Datenbank Tabellen bei "}.
-{"Database Tables Configuration at ","Datenbank Tabellen Konfiguration bei "}.
+{"Database Tables at ","Datenbanktabellen auf "}.
+{"Database Tables Configuration at ","Datenbanktabellen-Konfiguration auf "}.
{"December","Dezember"}.
{"Default users as participants","Standardbenutzer als Teilnehmer"}.
{"Delete","Löschen"}.
{"Delete message of the day","Lösche Nachricht des Tages"}.
{"Delete message of the day on all hosts","Lösche Nachricht des Tages auf allen Hosts"}.
-{"Delete Selected","Markiertes löschen"}.
+{"Delete Selected","Markierte löschen"}.
{"Delete User","Benutzer löschen"}.
-{"Deliver event notifications","Versende Ereignisbenachrichtigungen"}.
-{"Deliver payloads with event notifications","Versende Nutzlast mit Ereignisbenachrichtigungen"}.
+{"Deliver event notifications","Ereignisbenachrichtigung zustellen"}.
+{"Deliver payloads with event notifications","Nachrichten mit mit Ereignis-Benachrichtigungen zustellen"}.
{"Description:","Beschreibung:"}.
-{"Disc only copy","Festplatten Kopie"}.
+{"Disc only copy","Nur auf Festplatte"}.
{"Displayed Groups:","Angezeigte Gruppen:"}.
{"Dump Backup to Text File at ","Ausgabe der Sicherung in diese Textdatei "}.
{"Dump to Text File","Ausgabe in Textdatei"}.
{"Edit Properties","Einstellungen ändern"}.
-{"ejabberd IRC module","ejabberd IRC Modul"}.
-{"ejabberd MUC module","ejabberd MUC Modul"}.
-{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe Modul"}.
-{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams Modul"}.
-{"ejabberd vCard module","ejabberd vCard Modul"}.
+{"ejabberd IRC module","ejabberd IRC-Modul"}.
+{"ejabberd MUC module","ejabberd MUC-Modul"}.
+{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe-Modul"}.
+{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5-Bytestreams-Modul"}.
+{"ejabberd vCard module","ejabberd vCard-Modul"}.
{"ejabberd virtual hosts","ejabberd virtuelle Hosts"}.
-{"ejabberd Web Admin","ejabberd Web Admin"}.
+{"ejabberd Web Admin","ejabberd Web-Admin"}.
{"Elements","Elemente"}.
{"Email","E-Mail"}.
-{"Enable logging","Log-Funktion aktivieren"}.
+{"Enable logging","Protokollierung aktivieren"}.
{"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 nickname you want to register","Geben sie den zu registrierenden Spitznamen ein"}.
{"Enter path to backup file","Geben sie den Pfad zur Datensicherung ein"}.
-{"Enter path to 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 dir","Geben Sie den Pfad zum jabberd14-Spool-Verzeichnis ein"}.
+{"Enter path to jabberd14 spool file","Geben Sie den Pfad zur jabberd14-Spool-Datei ein"}.
{"Enter path to text file","Geben sie den Pfad zur Textdatei ein"}.
{"Enter the text you see","Geben sie den Text den sie sehen ein"}.
{"Enter username and encodings you wish to use for connecting to IRC servers. Press 'Next' to get more fields to fill in. Press 'Complete' to save settings.","Geben sie Benutzernamen und Kodierung für Verbindungen zu IRC Servern an. Drücken sie 'Mehr' um leere Felder hinzuzufügen. Drücken sie 'Beenden' um die Einstellungen zu speichern."}.
-{"Enter username, encodings, ports and passwords you wish to use for connecting to IRC servers","Geben sie Benutzernamen, Kodierungen, Ports und Passwörter für die Verbindung zu IRC Servern an"}.
-{"Erlang Jabber Server","Erlang Jabber Server"}.
+{"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"}.
{"Error","Fehler"}.
{"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}].","Beispiel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."}.
{"Export data of all users in the server to PIEFXIS files (XEP-0227):","Alle Benutzerdaten des Servers in PIEFXIS Dateien (XEP-0227) exportieren:"}.
{"Export data of users in a host to PIEFXIS files (XEP-0227):","Alle Benutzerdaten des Hosts in PIEFXIS Dateien (XEP-0227) exportieren:"}.
{"Family Name","Nachname"}.
{"February","Februar"}.
-{"Fill in fields to search for any matching Jabber User","Felder ausfüllen, um nach passenden Jabber Benutzern zu suchen"}.
-{"Fill in the form to search for any matching Jabber User (Add * to the end of field to match substring)","Füllen sie die Felder aus, um nach passenden Jabber Benutzern zu suchen (beenden sie ein Feld mit *, um auch nach Teilzeichenketten zu suchen)"}.
+{"Fill in fields to search for any matching Jabber User","Füllen Sie die Felder aus, um nach passenden Jabber-Benutzern zu suchen"}.
+{"Fill in the form to search for any matching Jabber User (Add * to the end of field to match substring)","Füllen Sie die Felder aus, um nach passenden Jabber-Benutzern zu suchen (beenden Sie ein Feld mit *, um auch nach Teilzeichenketten zu suchen)"}.
{"Friday","Freitag"}.
{"From ~s","Von ~s"}.
{"From","Von"}.
-{"Full Name","Gesamter Name"}.
+{"Full Name","Vollständiger Name"}.
{"Get Number of Online Users","Anzahl der angemeldeten Benutzer abrufen"}.
{"Get Number of Registered Users","Anzahl der registrierten Benutzer abrufen"}.
{"Get User Last Login Time","letzte Anmeldezeit abrufen"}.
-{"Get User Password","Benutzer Passwort abrufen"}.
-{"Get User Statistics","Benutzer Statistik abrufen"}.
+{"Get User Password","Benutzer-Passwort abrufen"}.
+{"Get User Statistics","Benutzer-Statistiken abrufen"}.
{"Group ","Gruppe "}.
{"Groups","Gruppen"}.
{"has been banned","wurde gebannt"}.
@@ -123,8 +127,8 @@
{"Import User from File at ","Benutzer aus dieser Datei importieren "}.
{"Import users data from a PIEFXIS file (XEP-0227):","Benutzerdaten von einer PIEFXIS Datei (XEP-0227) importieren:"}.
{"Import users data from jabberd14 spool directory:","Importiere Benutzer von jabberd14 Spool Verzeichnis:"}.
-{"Import Users from Dir at ","Benutzer vom Verzeichnis importieren "}.
-{"Import Users From jabberd14 Spool Files","Importiere Benutzer von jabberd14 Spool Dateien"}.
+{"Import Users from Dir at ","Benutzer importieren aus dem Verzeichnis "}.
+{"Import Users From jabberd14 Spool Files","Importiere Benutzer aus jabberd14-Spool-Dateien"}.
{"Improper message type","Unzulässiger Nachrichtentyp"}.
{"Incorrect password","Falsches Passwort"}.
{"Invalid affiliation: ~s","Ungültige Mitgliedschaft: ~s"}.
@@ -136,13 +140,13 @@
{"IRC settings","IRC Einstellungen"}.
{"IRC Transport","IRC Transport"}.
{"IRC username","IRC Benutzername"}.
-{"IRC Username","IRC Benutzername"}.
+{"IRC Username","IRC-Benutzername"}.
{"is now known as","ist nun bekannt als"}.
{"It is not allowed to send private messages","Es ist nicht erlaubt private Nachrichten zu senden"}.
{"It is not allowed to send private messages of type \"groupchat\"","Es ist nicht erlaubt private Nachrichten des Typs \"Gruppenchat\" zu senden"}.
{"It is not allowed to send private messages to the conference","Es ist nicht erlaubt private Nachrichten an den Raum zu schicken"}.
{"Jabber ID","Jabber ID"}.
-{"Jabber ID ~s is invalid","Jabber ID ~s ist ungültig"}.
+{"Jabber ID ~s is invalid","Die Jabber-ID ~s ist ungültig"}.
{"January","Januar"}.
{"Join IRC channel","IRC Channel beitreten"}.
{"joins the room","kommt in den Raum"}.
@@ -150,7 +154,7 @@
{"Join the IRC channel in this Jabber ID: ~s","Den IRC Channel mit dieser Jabber ID beitreten: ~s"}.
{"July","Juli"}.
{"June","Juni"}.
-{"Last Activity","Letzte Aktion"}.
+{"Last Activity","Letzte Aktivität"}.
{"Last login","Letzte Anmeldung"}.
{"Last month","Letzter Monat"}.
{"Last year","Letztes Jahr"}.
@@ -162,8 +166,8 @@
{"Make participants list public","Teilnehmerliste öffentlich machen"}.
{"Make room captcha protected","Raum mit Verifizierung (Captcha) versehen"}.
{"Make room members-only","Raum nur für Mitglieder zugänglich machen"}.
-{"Make room moderated","Raum modieriert machen"}.
-{"Make room password protected","Raum passwortgeschützt machen"}.
+{"Make room moderated","Raum moderiert machen"}.
+{"Make room password protected","Raum mit Passwort schützen"}.
{"Make room persistent","Raum persistent machen"}.
{"Make room public searchable","Raum öffentlich suchbar machen"}.
{"March","März"}.
@@ -187,11 +191,11 @@
{"Name","Vorname"}.
{"Never","Nie"}.
{"Nickname Registration at ","Registrieren des Spitznamens bei"}.
-{"Nickname ~s does not exist in the room","Spitzname ~s existiert im Raum nicht"}.
+{"Nickname ~s does not exist in the room","Der Spitzname ~s existiert im Raum nicht"}.
{"Nickname","Spitzname"}.
{"No body provided for announce message","Kein Text für die Ankündigung angegeben"}.
{"No Data","Keine Daten"}.
-{"Node ID","Knoten ID"}.
+{"Node ID","Knoten-ID"}.
{"Node ","Knoten "}.
{"Node not found","Knoten nicht gefunden"}.
{"Nodes","Knoten"}.
@@ -200,15 +204,15 @@
{"No resource provided","Keine Ressource angegeben"}.
{"Not Found","nicht gefunden"}.
{"Notify subscribers when items are removed from the node","Abonnenten benachrichtigen, wenn Einträge vom Knoten entfernt werden"}.
-{"Notify subscribers when the node configuration changes","Abonnenten benachrichtigen, wenn die Knotenkonfiguration sich ä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"}.
{"November","November"}.
{"Number of occupants","Anzahl der Teilnehmer"}.
{"Number of online users","Anzahl der angemeldeten Benutzer"}.
{"Number of registered users","Anzahl der registrierten Benutzer"}.
{"October","Oktober"}.
-{"Offline Messages:","Offline Nachrichten:"}.
-{"Offline Messages","Offline Nachrichten"}.
+{"Offline Messages:","Offline-Nachrichten:"}.
+{"Offline Messages","Offline-Nachrichten"}.
{"OK","OK"}.
{"Online","Angemeldet"}.
{"Online Users:","Angemeldete Benutzer:"}.
@@ -218,13 +222,13 @@
{"Only moderators are allowed to change the subject in this room","Nur Moderatoren dürfen das Thema in diesem Raum ändern"}.
{"Only occupants are allowed to send messages to the conference","Nur Teilnehmer dürfen Nachrichten an den Raum schicken"}.
{"Only occupants are allowed to send queries to the conference","Nur Teilnehmer sind berechtig Anfragen an die Konferenz zu senden"}.
-{"Only service administrators are allowed to send service messages","Nur Service Administratoren sind berechtigt, Servicenachrichten zu senden"}.
+{"Only service administrators are allowed to send service messages","Nur Service-Administratoren sind berechtigt, Servicenachrichten zu versenden"}.
{"Options","Optionen"}.
-{"Organization Name","Firmenname"}.
+{"Organization Name","Organisation"}.
{"Organization Unit","Abteilung"}.
-{"Outgoing s2s Connections:","Ausgehende s2s Verbindungen:"}.
-{"Outgoing s2s Connections","Ausgehende s2s Verbindungen"}.
-{"Outgoing s2s Servers:","Ausgehende s2s Server:"}.
+{"Outgoing s2s Connections:","Ausgehende s2s-Verbindungen:"}.
+{"Outgoing s2s Connections","Ausgehende s2s-Verbindungen"}.
+{"Outgoing s2s Servers:","Ausgehende s2s-Server:"}.
{"Owner privileges required","Besitzerrechte benötigt"}.
{"Packet","Paket"}.
{"Password ~b","Passwort ~b"}.
@@ -233,24 +237,25 @@
{"Password Verification","Passwort bestätigen"}.
{"Path to Dir","Pfad zum Verzeichnis"}.
{"Path to File","Pfad zur Datei"}.
-{"Pending","schwebend"}.
+{"Pending","anhängig"}.
{"Period: ","Zeitraum: "}.
{"Persist items to storage","Einträge dauerhaft speichern"}.
{"Ping","Ping"}.
-{"Please note that these options will only backup the builtin Mnesia database. If you are using the ODBC module, you also need to backup your SQL database separately.","Beachten sie, das diese Optionen nur die eingebaute Mnesia Datenbank sichert. Wenn sie das ODBC Modul verwenden müssen sie die SQL Datenbank zusätzlich manuell sichern."}.
+{"Please note that these options will only backup the builtin Mnesia database. If you are using the ODBC module, you also need to backup your SQL database separately.","Beachten sie, das diese Optionen nur die eingebaute Mnesia-Datenbank sichern. Wenn sie das ODBC-Modul verwenden, müssen sie die SQL-Datenbank manuell sichern."}.
{"Pong","Pong"}.
{"Port ~b","Port ~b"}.
{"Port","Port"}.
-{"Present real Jabber IDs to","Echte Jabber IDs anzeigen für"}.
+{"Present real Jabber IDs to","Echte Jabber-IDs anzeigen für"}.
{"private, ","privat, "}.
{"Protocol","Protokoll"}.
{"Publish-Subscribe","Publish-Subscribe"}.
-{"PubSub subscriber request","PubSub Abonnenten Anfrage"}.
+{"PubSub subscriber request","PubSub-Abonnenten-Anfrage"}.
+{"Purge all items when the relevant publisher goes offline","Alle Einträge entfernen, wenn der relevante Veröffentlicher offline geht"}.
{"Queries to the conference members are not allowed in this room","Anfragen an die Teilnehmer sind in diesem Raum nicht erlaubt"}.
-{"RAM and disc copy","RAM und Festplatten Kopie"}.
-{"RAM copy","RAM Kopie"}.
+{"RAM and disc copy","RAM und Festplatte"}.
+{"RAM copy","Nur RAM"}.
{"Raw","Unformatiert"}.
-{"Really delete message of the day?","Wirklich die Nachricht des Tages 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"}.
{"Registered Users:","Registrierte Benutzer:"}.
{"Registered Users","Registrierte Benutzer"}.
@@ -264,11 +269,11 @@
{"Restart","Neustart"}.
{"Restart Service","Dienst neustarten"}.
{"Restore Backup from File at ","Datenwiederherstellung aus der Datei "}.
-{"Restore binary backup after next ejabberd restart (requires less memory):","Stelle binäre Sicherung beim nächsten ejabberd Neustart wieder her (benötigt weniger Speicher):"}.
+{"Restore binary backup after next ejabberd restart (requires less memory):","Stelle binäre Sicherung beim nächsten ejabberd-Neustart wieder her (benötigt weniger Speicher):"}.
{"Restore binary backup immediately:","Stelle binäre Sicherung sofort wieder her:"}.
{"Restore plain text backup immediately:","Stelle Klartext-Sicherung sofort wieder her:"}.
{"Restore","Wiederherstellung"}.
-{"Room Configuration","Raum Konfiguration"}.
+{"Room Configuration","Raum-Konfiguration"}.
{"Room creation is denied by service policy","Anlegen des Raumes aufgrund der Dienstrichtlinien verweigert"}.
{"Room description","Raum Beschreibung"}.
{"Room Occupants","Teilnehmer in diesem Raum"}.
@@ -277,11 +282,11 @@
{"Roster","Kontaktliste"}.
{"Roster of ","Kontaktliste von "}.
{"Roster size","Kontaktlistengröße"}.
-{"RPC Call Error","RPC Abruf-Fehler"}.
+{"RPC Call Error","Fehler bei RPC-Aufruf"}.
{"Running Nodes","Aktive Knoten"}.
-{"~s access rule configuration","~s Zugangsregel Konfiguration"}.
+{"~s access rule configuration","~s Zugangsregel-Konfiguration"}.
{"Saturday","Samstag"}.
-{"Script check","Script Überprüfung"}.
+{"Script check","Script-Überprüfung"}.
{"Search Results for ","Suchergebnisse für "}.
{"Search users in ","Benutzer suchen in "}.
{"Send announcement to all online users on all hosts","Sende Ankündigung an alle angemeldeten Benutzer auf allen Hosts"}.
@@ -296,49 +301,50 @@
{"Show Integral Table","Vollständige Tabelle anzeigen"}.
{"Show Ordinary Table","Normale Tabelle anzeigen"}.
{"Shut Down Service","Dienst herunterfahren"}.
-{"~s invites you to the room ~s","~s lädt sie in den Raum ~s ein"}.
+{"~s invites you to the room ~s","~s lädt Sie in den Raum ~s ein"}.
{"Specify the access model","Geben sie das Zugangsmodell an"}.
+{"Specify the event message type","Geben sie den Ereignis-Nachrichtentyp an"}.
{"Specify the publisher model","Geben sie das Publikationsmodell an"}.
-{"~s's Offline Messages Queue","~s's Offline Nachrichten Warteschlange"}.
-{"Start","Anfang"}.
-{"Start Modules at ","Starte Module bei "}.
+{"~s's Offline Messages Queue","~s's Offline-Nachrichten-Warteschlange"}.
+{"Start Modules at ","Starte Module auf "}.
{"Start Modules","Module starten"}.
+{"Start","Starten"}.
{"Statistics of ~p","Statistiken von ~p"}.
{"Statistics","Statistik"}.
-{"Stop Modules at ","Stoppe Module bei "}.
+{"Stop Modules at ","Stoppe Module auf "}.
{"Stop Modules","Module stoppen"}.
{"Stopped Nodes","Inaktive Knoten"}.
-{"Stop","Stop"}.
+{"Stop","Stoppen"}.
{"Storage Type","Speichertyp"}.
{"Store binary backup:","Speichere binäre Sicherung:"}.
{"Store plain text backup:","Speichere Klartext-Sicherung:"}.
-{"Subject","Thema"}.
+{"Subject","Betreff"}.
{"Submit","Senden"}.
{"Submitted","Gesendet"}.
-{"Subscriber Address","Abonnenten Adresse"}.
+{"Subscriber Address","Abonnenten-Adresse"}.
{"Subscription","Abonnement"}.
{"Sunday","Sonntag"}.
{"That nickname is already in use by another occupant","Dieser Spitzname wird bereits von einem Teilnehmer genutzt"}.
{"That nickname is registered by another person","Dieser Spitzname wurde bereits von jemand anderem registriert"}.
{"The captcha is valid.","Die Verifizierung ist gültig."}.
{"The collections with which a node is affiliated","Sammlungen, mit denen ein Knoten verknüpft ist"}.
-{"the password is","das Passwort ist"}.
-{"This participant is kicked from the room because he sent an error message","Dieser Teilnehmer wurde aus dem Raum gekickt, 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 gekickt, da er eine Fehlernachricht an einen anderen Teilnehmer gesendet hat"}.
+{"the password is","das Passwort lautet"}.
+{"This participant is kicked from the room because he sent an error message","Dieser Teilnehmer wurde aus dem Raum geworfen, da er eine Fehlernachricht gesendet hat"}.
+{"This participant is kicked from the room because he sent an error message to another participant","Dieser Teilnehmer wurde aus dem Raum geworfen, da er eine Fehlernachricht an einen anderen Teilnehmer gesendet hat"}.
{"This participant is kicked from the room because he sent an error presence","Dieser Teilnehmer wurde aus dem Raum gekickt, da er einen fehlerhaften Status gesendet hat"}.
{"This room is not anonymous","Dieser Raum ist nicht anonym"}.
{"Thursday","Donnerstag"}.
{"Time delay","Zeitverzögerung"}.
{"Time","Zeit"}.
+{"To","An"}.
{"To ~s","An ~s"}.
-{"To","Zu"}.
{"Traffic rate limit is exceeded","Datenratenlimit wurde überschritten"}.
-{"Transactions Aborted:","Vorgänge abgebrochen:"}.
-{"Transactions Committed:","Vorgänge durchgeführt:"}.
-{"Transactions Logged:","Vorgänge protokolliert:"}.
-{"Transactions Restarted:","Vorgänge neu gestartet:"}.
+{"Transactions Aborted:","Abgebrochene Transaktionen:"}.
+{"Transactions Committed:","Durchgeführte Transaktionen:"}.
+{"Transactions Logged:","Protokollierte Transaktionen:"}.
+{"Transactions Restarted:","Neugestartete Transaktionen:"}.
{"Tuesday","Dienstag"}.
-{"Unable to generate a captcha","Konnte Verifizierung nicht erstellen"}.
+{"Unable to generate a captcha","Konnte Verifizierung (Captcha) nicht erstellen"}.
{"Unauthorized","Nicht berechtigt"}.
{"Update","Aktualisieren"}.
{"Update ","Aktualisierung "}.
@@ -350,12 +356,12 @@
{"Use of STARTTLS required","Verwendung von STARTTLS erforderlich"}.
{"User ","Benutzer "}.
{"User","Benutzer"}.
-{"User Management","Benutzer Verwaltung"}.
+{"User Management","Benutzerverwaltung"}.
{"Users are not allowed to register accounts so quickly","Benutzer dürfen Konten nicht so schnell registrieren"}.
{"Users","Benutzer"}.
{"Users Last Activity","Letzte Benutzeraktivität"}.
{"Validate","Validieren"}.
-{"vCard User Search","vCard Benutzer Suche"}.
+{"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 send messages to all occupants","Besucher dürfen nicht an alle Teilnehmer Nachrichten verschicken"}.
{"Wednesday","Mittwoch"}.
@@ -363,9 +369,9 @@
{"Whether to allow subscriptions","Ob Abonnements erlaubt sind"}.
{"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 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 register nickname","Sie benötigen einen Client, der x:data unterstützt, um Ihren Spitznamen zu registrieren"}.
{"You need an x:data capable client to search","Sie benötigen einen Client, der x:data unterstützt, um suchen zu können"}.
-{"Your contact offline message queue is full. The message has been discarded.","Ihre offline Kontakt 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 messages to ~s are being blocked. To unblock them, visit ~s","Ihre Nachrichten an ~s werden blockiert. Um dies zu ändern, besuchen sie ~s"}.
diff --git a/src/msgs/de.po b/src/msgs/de.po
index 790ebd8c8..1e35eaaf3 100644
--- a/src/msgs/de.po
+++ b/src/msgs/de.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: 2.1.0-alpha\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
-"Last-Translator: Nikolaus Polak \n"
+"Last-Translator: Nikolaus Polak \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -16,15 +16,15 @@ msgstr ""
"X-Additional-Translator: Torsten Werner\n"
"X-Additional-Translator: Marina Hahn\n"
-#: ejabberd_c2s.erl:362 ejabberd_c2s.erl:665
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Verwendung von STARTTLS erforderlich"
-#: ejabberd_c2s.erl:441
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Keine Ressource angegeben"
-#: ejabberd_c2s.erl:1086
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Durch neue Verbindung ersetzt"
@@ -57,11 +57,11 @@ msgstr "Pong"
msgid "Really delete message of the day?"
msgstr "Die Nachricht des Tages wirklich löschen?"
-#: mod_announce.erl:514 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Betreff"
-#: mod_announce.erl:519 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Nachrichtentext"
@@ -85,7 +85,7 @@ msgstr "Sende Ankündigung an alle Benutzer auf allen Hosts"
msgid "Send announcement to all online users"
msgstr "Sende Ankündigung an alle angemeldeten Benutzer"
-#: mod_announce.erl:642 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Sende Ankündigung an alle angemeldeten Benutzer auf allen Hosts"
@@ -115,318 +115,318 @@ msgstr "Lösche Nachricht des Tages"
msgid "Delete message of the day on all hosts"
msgstr "Lösche Nachricht des Tages auf allen Hosts"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Konfiguration"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1914
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Datenbank"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Module starten"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Module stoppen"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1915
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Datensicherung"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Wiederherstellung"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Ausgabe in Textdatei"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Datei importieren"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Verzeichnis importieren"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Dienst neustarten"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Dienst herunterfahren"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Benutzer hinzufügen"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Benutzer löschen"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Benutzer-Sitzung beenden"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Benutzer-Passwort abrufen"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Benutzer-Passwort ändern"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "letzte Anmeldezeit abrufen"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
-msgstr "Benutzer-Statistik abrufen"
+msgstr "Benutzer-Statistiken abrufen"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Anzahl der registrierten Benutzer abrufen"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Anzahl der angemeldeten Benutzer abrufen"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Zugangskontroll-Listen (ACL)"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Zugangsregeln"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Benutzerverwaltung"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Angemeldete Benutzer"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Alle Benutzer"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Ausgehende s2s-Verbindungen"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1885
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Aktive Knoten"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1887
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Inaktive Knoten"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1931
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Module"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Datensicherungsverwaltung"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importiere Benutzer aus jabberd14-Spool-Dateien"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "An ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Von ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
-msgstr "Datenbank-Tabellen-Konfiguration bei "
+msgstr "Datenbanktabellen-Konfiguration auf "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Wähle Speichertyp der Tabellen"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Nur auf Festplatte"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "RAM und Festplatte"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Nur RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Fernkopie"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
-msgstr "Stoppe Module bei "
+msgstr "Stoppe Module auf "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Wähle zu stoppende Module"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
-msgstr "Starte Module bei "
+msgstr "Starte Module auf "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Geben sie eine Liste bestehend aus {Modul, [Optionen]} ein"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Liste der zu startenden Module"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Datensicherung in die Datei "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Geben sie den Pfad zur Datensicherung ein"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Pfad zur Datei"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Datenwiederherstellung aus der Datei "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Ausgabe der Sicherung in diese Textdatei "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Geben sie den Pfad zur Textdatei ein"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Benutzer aus dieser Datei importieren "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Geben Sie den Pfad zur jabberd14-Spool-Datei ein"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Benutzer importieren aus dem Verzeichnis "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Geben Sie den Pfad zum jabberd14-Spool-Verzeichnis ein"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Pfad zum Verzeichnis"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Zeitverzögerung"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Konfiguration der Zugangskontrolllisten"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Zugangskontroll-Listen (ACL)"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Zugangskonfiguration"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Zugangsregeln"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2925
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Passwort"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Passwort bestätigen"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Anzahl der registrierten Benutzer"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Anzahl der angemeldeten Benutzer"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1569
-#: web/ejabberd_web_admin.erl:1721
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nie"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1582
-#: web/ejabberd_web_admin.erl:1734
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Angemeldet"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Kontaktlistengröße"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP Addresse"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Ressourcen"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administration von "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Aktion auf Benutzer"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Einstellungen ändern"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1747
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Benutzer löschen"
@@ -573,14 +573,14 @@ msgstr "Registrieren des Spitznamens bei"
msgid "Enter nickname you want to register"
msgstr "Geben sie den zu registrierenden Spitznamen ein"
-#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Spitzname"
-#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:956
-#: mod_muc/mod_muc_room.erl:1588
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Dieser Spitzname wurde bereits von jemand anderem registriert"
@@ -629,29 +629,25 @@ msgid "is now known as"
msgstr "ist nun bekannt als"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
-#: mod_muc/mod_muc_room.erl:2115
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " hat das Thema geändert auf: "
#: mod_muc/mod_muc_log.erl:452
-#, fuzzy
msgid "Chatroom is created"
-msgstr "Chaträume"
+msgstr "Chatraum wurde erstellt"
#: mod_muc/mod_muc_log.erl:453
-#, fuzzy
msgid "Chatroom is destroyed"
-msgstr "Chaträume"
+msgstr "Chatraum wurde entfernt"
#: mod_muc/mod_muc_log.erl:454
-#, fuzzy
msgid "Chatroom is started"
-msgstr "Chaträume"
+msgstr "Chatraum wurde gestartet"
#: mod_muc/mod_muc_log.erl:455
-#, fuzzy
msgid "Chatroom is stopped"
-msgstr "Chaträume"
+msgstr "Chatraum wurde beendet"
#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
@@ -737,7 +733,7 @@ msgstr "Raum-Konfiguration"
msgid "Room Occupants"
msgstr "Teilnehmer in diesem Raum"
-#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2901
+#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Raumname"
@@ -749,7 +745,7 @@ msgstr "Datenratenlimit wurde überschritten"
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
-"Dieser Teilnehmer wurde aus dem Raum gekickt, da er eine Fehlernachricht "
+"Dieser Teilnehmer wurde aus dem Raum geworfen, da er eine Fehlernachricht "
"gesendet hat"
#: mod_muc/mod_muc_room.erl:251
@@ -765,7 +761,7 @@ msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
msgstr ""
-"Dieser Teilnehmer wurde aus dem Raum gekickt, da er eine Fehlernachricht an "
+"Dieser Teilnehmer wurde aus dem Raum geworfen, da er eine Fehlernachricht an "
"einen anderen Teilnehmer gesendet hat"
#: mod_muc/mod_muc_room.erl:419
@@ -777,8 +773,8 @@ msgstr ""
msgid "Recipient is not in the conference room"
msgstr "Der Empfänger ist nicht im Raum"
-#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:856
-#: mod_muc/mod_muc_room.erl:3523
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Nur Teilnehmer dürfen Nachrichten an den Raum schicken"
@@ -794,194 +790,194 @@ msgstr "Nur Teilnehmer sind berechtig Anfragen an die Konferenz zu senden"
msgid "Queries to the conference members are not allowed in this room"
msgstr "Anfragen an die Teilnehmer sind in diesem Raum nicht erlaubt"
-#: mod_muc/mod_muc_room.erl:608
-msgid "private, "
-msgstr "privat, "
-
-#: mod_muc/mod_muc_room.erl:832
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Nur Moderatoren und Mitglieder dürfen das Thema in diesem Raum ändern"
-#: mod_muc/mod_muc_room.erl:837
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Nur Moderatoren dürfen das Thema in diesem Raum ändern"
-#: mod_muc/mod_muc_room.erl:847
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besucher dürfen nicht an alle Teilnehmer Nachrichten verschicken"
-#: mod_muc/mod_muc_room.erl:914
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Dieser Teilnehmer wurde aus dem Raum gekickt, da er einen fehlerhaften "
"Status gesendet hat"
-#: mod_muc/mod_muc_room.erl:932
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Besucher dürfen in diesem Raum ihren Spitznamen nicht ändern"
-#: mod_muc/mod_muc_room.erl:945 mod_muc/mod_muc_room.erl:1580
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Dieser Spitzname wird bereits von einem Teilnehmer genutzt"
-#: mod_muc/mod_muc_room.erl:1569
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Sie wurden aus diesem Raum verbannt"
-#: mod_muc/mod_muc_room.erl:1572
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Um diesen Raum zu betreten müssen sie Mitglied sein"
-#: mod_muc/mod_muc_room.erl:1608
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Dieser Raum ist nicht anonym"
-#: mod_muc/mod_muc_room.erl:1634
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Sie brauchen ein Passwort um diesen Raum zu betreten"
-#: mod_muc/mod_muc_room.erl:1656
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
-msgstr "Konnte Verifizierung nicht erstellen"
+msgstr "Konnte Verifizierung (Captcha) nicht erstellen"
-#: mod_muc/mod_muc_room.erl:1666
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Falsches Passwort"
-#: mod_muc/mod_muc_room.erl:2170
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Administratorenrechte benötigt"
-#: mod_muc/mod_muc_room.erl:2185
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Moderatorrechte benötigt"
-#: mod_muc/mod_muc_room.erl:2340
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Die Jabber-ID ~s ist ungültig"
-#: mod_muc/mod_muc_room.erl:2354
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Der Spitzname ~s existiert im Raum nicht"
-#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2759
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Ungültige Mitgliedschaft: ~s"
-#: mod_muc/mod_muc_room.erl:2437
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Ungültige Rolle: ~s"
-#: mod_muc/mod_muc_room.erl:2736 mod_muc/mod_muc_room.erl:2772
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Besitzerrechte benötigt"
-#: mod_muc/mod_muc_room.erl:2896
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Konfiguration für Raum ~s"
-#: mod_muc/mod_muc_room.erl:2904 mod_muc/mod_muc_room.erl:3322
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Raum Beschreibung"
-#: mod_muc/mod_muc_room.erl:2911
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Raum persistent machen"
-#: mod_muc/mod_muc_room.erl:2916
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Raum öffentlich suchbar machen"
-#: mod_muc/mod_muc_room.erl:2919
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Teilnehmerliste öffentlich machen"
-#: mod_muc/mod_muc_room.erl:2922
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Raum mit Passwort schützen"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Maximale Anzahl von Teilnehmern"
-#: mod_muc/mod_muc_room.erl:2940
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Keine Begrenzung"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Echte Jabber-IDs anzeigen für"
-#: mod_muc/mod_muc_room.erl:2959
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "ausschliesslich Moderatoren"
-#: mod_muc/mod_muc_room.erl:2961
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "jeder"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Raum nur für Mitglieder zugänglich machen"
-#: mod_muc/mod_muc_room.erl:2966
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Raum moderiert machen"
-#: mod_muc/mod_muc_room.erl:2969
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Standardbenutzer als Teilnehmer"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Erlaube Benutzern das Thema zu ändern"
-#: mod_muc/mod_muc_room.erl:2975
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Erlaube Benutzern private Nachrichten zu senden"
-#: mod_muc/mod_muc_room.erl:2978
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Erlaube Benutzern andere Benutzer abzufragen"
-#: mod_muc/mod_muc_room.erl:2981
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Erlaube Benutzern Einladungen zu senden"
-#: mod_muc/mod_muc_room.erl:2984
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Erlaube Besuchern einen Text bei Statusänderung zu setzen"
-#: mod_muc/mod_muc_room.erl:2987
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Erlaube Besuchern ihren Spitznamen zu ändern"
-#: mod_muc/mod_muc_room.erl:2993
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Raum mit Verifizierung (Captcha) versehen"
-#: mod_muc/mod_muc_room.erl:3002
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
-msgstr "Log-Funktion aktivieren"
+msgstr "Protokollierung aktivieren"
-#: mod_muc/mod_muc_room.erl:3010
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um den Raum zu "
"konfigurieren"
-#: mod_muc/mod_muc_room.erl:3324
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Anzahl der Teilnehmer"
-#: mod_muc/mod_muc_room.erl:3443
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privat, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s lädt Sie in den Raum ~s ein"
-#: mod_muc/mod_muc_room.erl:3452
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "das Passwort lautet"
@@ -997,14 +993,14 @@ msgid "~s's Offline Messages Queue"
msgstr "~s's Offline-Nachrichten-Warteschlange"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:809
-#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1738
-#: web/ejabberd_web_admin.erl:1909 web/ejabberd_web_admin.erl:1941
-#: web/ejabberd_web_admin.erl:2010 web/ejabberd_web_admin.erl:2114
-#: web/ejabberd_web_admin.erl:2139 web/ejabberd_web_admin.erl:2227
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Gesendet"
@@ -1025,7 +1021,7 @@ msgid "Packet"
msgstr "Paket"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Markierte löschen"
@@ -1041,99 +1037,104 @@ msgstr "Alle Offline Nachrichten löschen"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5-Bytestreams-Modul"
-#: mod_pubsub/mod_pubsub.erl:1099 mod_pubsub/mod_pubsub_odbc.erl:904
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
-#: mod_pubsub/mod_pubsub.erl:1203 mod_pubsub/mod_pubsub_odbc.erl:1009
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe-Modul"
-#: mod_pubsub/mod_pubsub.erl:1486 mod_pubsub/mod_pubsub_odbc.erl:1296
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "PubSub-Abonnenten-Anfrage"
-#: mod_pubsub/mod_pubsub.erl:1488 mod_pubsub/mod_pubsub_odbc.erl:1298
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Wähle Sie, ob dieses Abonnement akzeptiert werden soll."
-#: mod_pubsub/mod_pubsub.erl:1494 mod_pubsub/mod_pubsub_odbc.erl:1304
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Knoten-ID"
-#: mod_pubsub/mod_pubsub.erl:1499 mod_pubsub/mod_pubsub_odbc.erl:1309
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Abonnenten-Adresse"
-#: mod_pubsub/mod_pubsub.erl:1505 mod_pubsub/mod_pubsub_odbc.erl:1315
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Dieser Jabber-ID das Abonnement dieses pubsub-Knotens erlauben?"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Nachrichten mit mit Ereignis-Benachrichtigungen zustellen"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Ereignisbenachrichtigung zustellen"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Abonnenten benachrichtigen, wenn sich die Knotenkonfiguration ändert"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Abonnenten benachrichtigen, wenn der Knoten gelöscht wird"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Abonnenten benachrichtigen, wenn Einträge vom Knoten entfernt werden"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Einträge dauerhaft speichern"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Ein merkbarer Name für den Knoten"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Maximale Anzahl dauerhaft zu speichernder Einträge"
-#: mod_pubsub/mod_pubsub.erl:3340 mod_pubsub/mod_pubsub_odbc.erl:3173
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Ob Abonnements erlaubt sind"
-#: mod_pubsub/mod_pubsub.erl:3341 mod_pubsub/mod_pubsub_odbc.erl:3174
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Geben sie das Zugangsmodell an"
-#: mod_pubsub/mod_pubsub.erl:3344 mod_pubsub/mod_pubsub_odbc.erl:3177
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Kontaktlisten-Gruppen die abonnieren dürfen"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Geben sie das Publikationsmodell an"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
-msgid "Specify the event message type"
-msgstr "Geben sie das Zugangsmodell an"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+"Alle Einträge entfernen, wenn der relevante Veröffentlicher offline geht"
-#: mod_pubsub/mod_pubsub.erl:3349 mod_pubsub/mod_pubsub_odbc.erl:3182
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Geben sie den Ereignis-Nachrichtentyp an"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Maximale Nutzlastgrösse in Bytes"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Wann soll das letzte veröffentlichte Objekt gesendet werden"
-#: mod_pubsub/mod_pubsub.erl:3352 mod_pubsub/mod_pubsub_odbc.erl:3185
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Benachrichtigungen nur an verfügbare Benutzer schicken"
-#: mod_pubsub/mod_pubsub.erl:3353 mod_pubsub/mod_pubsub_odbc.erl:3186
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Sammlungen, mit denen ein Knoten verknüpft ist"
@@ -1145,51 +1146,51 @@ msgstr "Wählen sie zum Registrieren einen Benutzernamen und ein Passwort"
msgid "Users are not allowed to register accounts so quickly"
msgstr "Benutzer dürfen Konten nicht so schnell registrieren"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1679
-#: web/ejabberd_web_admin.erl:1864 web/ejabberd_web_admin.erl:1875
-#: web/ejabberd_web_admin.erl:2198
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Keine"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Abonnement"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "anhängig"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Gruppen"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Validieren"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Entfernen"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Kontaktliste von "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:810
-#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1739
-#: web/ejabberd_web_admin.erl:1910 web/ejabberd_web_admin.erl:2115
-#: web/ejabberd_web_admin.erl:2140 web/ejabberd_web_admin.erl:2228
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Ungültiges Format"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Jabber-ID hinzufügen"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Kontaktliste"
@@ -1198,8 +1199,8 @@ msgstr "Kontaktliste"
msgid "Shared Roster Groups"
msgstr "Gruppen der gemeinsamen Kontaktliste"
-#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2440
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Neuen hinzufügen"
@@ -1223,9 +1224,9 @@ msgstr "Angezeigte Gruppen:"
msgid "Group "
msgstr "Gruppe "
-#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1995
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Senden"
@@ -1233,32 +1234,32 @@ msgstr "Senden"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber-Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Geburtsdatum"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Stadt"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Land"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "E-Mail"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Nachname"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1266,54 +1267,54 @@ msgstr ""
"Füllen Sie die Felder aus, um nach passenden Jabber-Benutzern zu suchen "
"(beenden Sie ein Feld mit *, um auch nach Teilzeichenketten zu suchen)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Vollständiger Name"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Zweiter Vorname"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1984
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Vorname"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Organisation"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Abteilung"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Benutzer suchen in "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1553
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um suchen zu können"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "vCard-Benutzer-Suche"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard-Modul"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Suchergebnisse für "
@@ -1322,182 +1323,182 @@ msgid "Fill in fields to search for any matching Jabber User"
msgstr ""
"Füllen Sie die Felder aus, um nach passenden Jabber-Benutzern zu suchen"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Nicht berechtigt"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web-Admin"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Verwaltung"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Unformatiert"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s Zugangsregel-Konfiguration"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd virtuelle Hosts"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Benutzer"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Letzte Benutzeraktivität"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Zeitraum: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Letzter Monat"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Letztes Jahr"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Alle Aktivitäten"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Normale Tabelle anzeigen"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Vollständige Tabelle anzeigen"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1917
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statistik"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "nicht gefunden"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Knoten nicht gefunden"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Host"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Registrierte Benutzer"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Offline-Nachrichten"
-#: web/ejabberd_web_admin.erl:1555 web/ejabberd_web_admin.erl:1745
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Letzte Aktivität"
-#: web/ejabberd_web_admin.erl:1637 web/ejabberd_web_admin.erl:1653
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Registrierte Benutzer:"
-#: web/ejabberd_web_admin.erl:1639 web/ejabberd_web_admin.erl:1655
-#: web/ejabberd_web_admin.erl:2171
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Angemeldete Benutzer:"
-#: web/ejabberd_web_admin.erl:1641
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Ausgehende s2s-Verbindungen:"
-#: web/ejabberd_web_admin.erl:1643
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Ausgehende s2s-Server:"
-#: web/ejabberd_web_admin.erl:1712
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Passwort ändern"
-#: web/ejabberd_web_admin.erl:1736
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Benutzer "
-#: web/ejabberd_web_admin.erl:1743
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Verbundene Ressourcen"
-#: web/ejabberd_web_admin.erl:1744
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Passwort:"
-#: web/ejabberd_web_admin.erl:1806
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Keine Daten"
-#: web/ejabberd_web_admin.erl:1884
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Knoten"
-#: web/ejabberd_web_admin.erl:1907 web/ejabberd_web_admin.erl:1929
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Knoten "
-#: web/ejabberd_web_admin.erl:1916
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Aktive Ports"
-#: web/ejabberd_web_admin.erl:1918 web/ejabberd_web_admin.erl:2239
-#: web/ejabberd_web_admin.erl:2427
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Aktualisieren"
-#: web/ejabberd_web_admin.erl:1921 web/ejabberd_web_admin.erl:2548
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Neustart"
-#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:2550
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Stoppen"
-#: web/ejabberd_web_admin.erl:1937
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Fehler bei RPC-Aufruf"
-#: web/ejabberd_web_admin.erl:1978
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
-msgstr "Datenbank-Tabellen bei "
+msgstr "Datenbanktabellen auf "
-#: web/ejabberd_web_admin.erl:1985
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Speichertyp"
-#: web/ejabberd_web_admin.erl:1986
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elemente"
-#: web/ejabberd_web_admin.erl:1987
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Speicher"
-#: web/ejabberd_web_admin.erl:2011 web/ejabberd_web_admin.erl:2116
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Fehler"
-#: web/ejabberd_web_admin.erl:2013
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Sicherung von "
-#: web/ejabberd_web_admin.erl:2015
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1507,143 +1508,143 @@ msgstr ""
"sichern. Wenn sie das ODBC-Modul verwenden, müssen sie die SQL-Datenbank "
"manuell sichern."
-#: web/ejabberd_web_admin.erl:2020
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Speichere binäre Sicherung:"
-#: web/ejabberd_web_admin.erl:2024 web/ejabberd_web_admin.erl:2031
-#: web/ejabberd_web_admin.erl:2039 web/ejabberd_web_admin.erl:2046
-#: web/ejabberd_web_admin.erl:2053 web/ejabberd_web_admin.erl:2060
-#: web/ejabberd_web_admin.erl:2067 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2082 web/ejabberd_web_admin.erl:2089
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:2027
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Stelle binäre Sicherung sofort wieder her:"
-#: web/ejabberd_web_admin.erl:2035
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Stelle binäre Sicherung beim nächsten ejabberd-Neustart wieder her (benötigt "
"weniger Speicher):"
-#: web/ejabberd_web_admin.erl:2042
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Speichere Klartext-Sicherung:"
-#: web/ejabberd_web_admin.erl:2049
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Stelle Klartext-Sicherung sofort wieder her:"
-#: web/ejabberd_web_admin.erl:2056
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Benutzerdaten von einer PIEFXIS Datei (XEP-0227) importieren:"
-#: web/ejabberd_web_admin.erl:2063
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Alle Benutzerdaten des Servers in PIEFXIS Dateien (XEP-0227) exportieren:"
-#: web/ejabberd_web_admin.erl:2070
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Alle Benutzerdaten des Hosts in PIEFXIS Dateien (XEP-0227) exportieren:"
-#: web/ejabberd_web_admin.erl:2078
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importiere Benutzer von jabberd14 Spool Datei:"
-#: web/ejabberd_web_admin.erl:2085
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importiere Benutzer von jabberd14 Spool Verzeichnis:"
-#: web/ejabberd_web_admin.erl:2111
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Aktive Ports bei"
-#: web/ejabberd_web_admin.erl:2136
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Module bei "
-#: web/ejabberd_web_admin.erl:2162
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statistiken von ~p"
-#: web/ejabberd_web_admin.erl:2165
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Betriebszeit:"
-#: web/ejabberd_web_admin.erl:2168
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "CPU-Zeit:"
-#: web/ejabberd_web_admin.erl:2174
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
-msgstr "Committete Transaktionen:"
+msgstr "Durchgeführte Transaktionen:"
-#: web/ejabberd_web_admin.erl:2177
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Abgebrochene Transaktionen:"
-#: web/ejabberd_web_admin.erl:2180
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Neugestartete Transaktionen:"
-#: web/ejabberd_web_admin.erl:2183
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
-msgstr "Geloggte Transaktionen:"
+msgstr "Protokollierte Transaktionen:"
-#: web/ejabberd_web_admin.erl:2225
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Aktualisierung "
-#: web/ejabberd_web_admin.erl:2233
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Aktualisierungsplan"
-#: web/ejabberd_web_admin.erl:2234
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Geänderte Module"
-#: web/ejabberd_web_admin.erl:2235
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Aktualisierungsscript"
-#: web/ejabberd_web_admin.erl:2236
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Low level Aktualisierungsscript"
-#: web/ejabberd_web_admin.erl:2237
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Script-Überprüfung"
-#: web/ejabberd_web_admin.erl:2405
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Port"
-#: web/ejabberd_web_admin.erl:2406
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2407
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protokoll"
-#: web/ejabberd_web_admin.erl:2408 web/ejabberd_web_admin.erl:2535
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Modul"
-#: web/ejabberd_web_admin.erl:2409 web/ejabberd_web_admin.erl:2536
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Optionen"
-#: web/ejabberd_web_admin.erl:2429
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Löschen"
-#: web/ejabberd_web_admin.erl:2558
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Starten"
diff --git a/src/msgs/ejabberd.pot b/src/msgs/ejabberd.pot
index 64019f844..9d603cb89 100644
--- a/src/msgs/ejabberd.pot
+++ b/src/msgs/ejabberd.pot
@@ -1,21 +1,21 @@
msgid ""
msgstr ""
-"Project-Id-Version: 2.1.x\n"
+"Project-Id-Version: 2.1.3\n"
"X-Language: Language Name\n"
"Last-Translator: Translator name and contact method\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr ""
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr ""
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr ""
@@ -43,380 +43,382 @@ msgstr ""
msgid "Pong"
msgstr ""
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr ""
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr ""
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr ""
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr ""
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr ""
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr ""
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr ""
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr ""
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr ""
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr ""
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr ""
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr ""
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr ""
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr ""
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr ""
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr ""
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr ""
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr ""
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr ""
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr ""
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr ""
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr ""
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr ""
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr ""
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr ""
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr ""
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr ""
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr ""
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr ""
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr ""
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr ""
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr ""
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr ""
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr ""
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr ""
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr ""
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr ""
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr ""
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr ""
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr ""
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr ""
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr ""
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr ""
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr ""
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr ""
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr ""
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr ""
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr ""
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr ""
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr ""
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr ""
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr ""
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr ""
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr ""
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr ""
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr ""
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr ""
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr ""
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr ""
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr ""
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr ""
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr ""
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr ""
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr ""
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr ""
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr ""
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr ""
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr ""
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr ""
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr ""
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr ""
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr ""
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr ""
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr ""
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr ""
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr ""
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr ""
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr ""
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr ""
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr ""
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr ""
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr ""
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr ""
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr ""
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr ""
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr ""
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr ""
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr ""
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr ""
@@ -515,464 +517,480 @@ msgstr ""
msgid "Server ~b"
msgstr ""
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr ""
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr ""
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr ""
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr ""
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr ""
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr ""
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr ""
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr ""
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr ""
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr ""
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr ""
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr ""
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr ""
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr ""
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr ""
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr ""
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr ""
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr ""
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr ""
-#: mod_muc/mod_muc_log.erl:448
-msgid "Monday"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:449
-msgid "Tuesday"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:450
-msgid "Wednesday"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:451
-msgid "Thursday"
-msgstr ""
-
#: mod_muc/mod_muc_log.erl:452
-msgid "Friday"
+msgid "Chatroom is created"
msgstr ""
#: mod_muc/mod_muc_log.erl:453
-msgid "Saturday"
+msgid "Chatroom is destroyed"
msgstr ""
#: mod_muc/mod_muc_log.erl:454
-msgid "Sunday"
+msgid "Chatroom is started"
msgstr ""
-#: mod_muc/mod_muc_log.erl:458
-msgid "January"
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
msgstr ""
#: mod_muc/mod_muc_log.erl:459
-msgid "February"
+msgid "Monday"
msgstr ""
#: mod_muc/mod_muc_log.erl:460
-msgid "March"
+msgid "Tuesday"
msgstr ""
#: mod_muc/mod_muc_log.erl:461
-msgid "April"
+msgid "Wednesday"
msgstr ""
#: mod_muc/mod_muc_log.erl:462
-msgid "May"
+msgid "Thursday"
msgstr ""
#: mod_muc/mod_muc_log.erl:463
-msgid "June"
+msgid "Friday"
msgstr ""
#: mod_muc/mod_muc_log.erl:464
-msgid "July"
+msgid "Saturday"
msgstr ""
#: mod_muc/mod_muc_log.erl:465
-msgid "August"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:466
-msgid "September"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:467
-msgid "October"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:468
-msgid "November"
+msgid "Sunday"
msgstr ""
#: mod_muc/mod_muc_log.erl:469
+msgid "January"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:470
+msgid "February"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:471
+msgid "March"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:472
+msgid "April"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:473
+msgid "May"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:474
+msgid "June"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:475
+msgid "July"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:476
+msgid "August"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:477
+msgid "September"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:478
+msgid "October"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:479
+msgid "November"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr ""
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr ""
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr ""
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr ""
-#: mod_muc/mod_muc_room.erl:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr ""
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr ""
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr ""
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
msgstr ""
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr ""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr ""
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr ""
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr ""
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr ""
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr ""
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr ""
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr ""
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr ""
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr ""
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr ""
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr ""
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr ""
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr ""
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr ""
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr ""
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr ""
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr ""
@@ -980,191 +998,195 @@ msgstr ""
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
msgid "Specify the event message type"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr ""
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr ""
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr ""
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr ""
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr ""
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr ""
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr ""
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr ""
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr ""
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr ""
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr ""
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr ""
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr ""
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr ""
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr ""
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr ""
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr ""
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr ""
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr ""
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr ""
@@ -1172,84 +1194,84 @@ msgstr ""
msgid "Erlang Jabber Server"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr ""
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr ""
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr ""
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr ""
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr ""
@@ -1257,321 +1279,321 @@ msgstr ""
msgid "Fill in fields to search for any matching Jabber User"
msgstr ""
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr ""
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr ""
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr ""
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr ""
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr ""
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr ""
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr ""
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr ""
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr ""
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr ""
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr ""
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr ""
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr ""
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr ""
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr ""
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr ""
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr ""
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr ""
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr ""
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr ""
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr ""
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr ""
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr ""
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr ""
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr ""
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr ""
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr ""
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr ""
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr ""
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr ""
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr ""
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr ""
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr ""
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr ""
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr ""
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr ""
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr ""
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr ""
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr ""
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr ""
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr ""
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr ""
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr ""
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
"separately."
msgstr ""
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr ""
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr ""
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr ""
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr ""
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr ""
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr ""
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr ""
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr ""
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr ""
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr ""
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr ""
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr ""
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr ""
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr ""
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr ""
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr ""
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr ""
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr ""
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr ""
diff --git a/src/msgs/el.msg b/src/msgs/el.msg
index fe5a7affd..c58ec65c4 100644
--- a/src/msgs/el.msg
+++ b/src/msgs/el.msg
@@ -36,6 +36,10 @@
{"Change Password","Αλλαγή κωδικού"}.
{"Change User Password","Αλλαγή Κωδικού Πρόσβασης Χρήστη"}.
{"Chatroom configuration modified","Διαμόρφωση Αίθουσaς σύνεδριασης τροποποιηθηκε"}.
+{"Chatroom is created","Η αίθουσα σύνεδριασης δημιουργήθηκε"}.
+{"Chatroom is destroyed","Η αίθουσα σύνεδριασης διαγράφηκε"}.
+{"Chatroom is started","Η αίθουσα σύνεδριασης έχει ξεκινήσει"}.
+{"Chatroom is stopped","Η αίθουσα σύνεδριασης έχει σταματήσει"}.
{"Chatrooms","Αίθουσες σύνεδριασης"}.
{"Choose a username and password to register with this server","Επιλέξτε ένα όνομα χρήστη και κωδικό πρόσβασης για να εγγραφείτε σε αυτό τον διακομιστή"}.
{"Choose modules to stop","Επιλέξτε modules για να σταματήσουν"}.
@@ -246,6 +250,7 @@
{"Protocol","Πρωτόκολλο"}.
{"Publish-Subscribe","Δημοσίευση-Εγγραφή"}.
{"PubSub subscriber request","Αίτηση συνδρομητή Δημοσίευσης-Εγγραφής"}.
+{"Purge all items when the relevant publisher goes offline","Διαγραφή όλων των στοιχείων όταν ο σχετικός εκδότης αποσυνδέεται"}.
{"Queries to the conference members are not allowed in this room","Ερωτήματα πρώς τα μέλη της διασκέψεως δεν επιτρέπονται σε αυτήν την αίθουσα"}.
{"RAM and disc copy","Αντίγραφο μόνο σε RAM καί δίσκο"}.
{"RAM copy","Αντίγραφο σε RAM"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Κλείσιμο Υπηρεσίας"}.
{"~s invites you to the room ~s","~s σας προσκαλεί στην αίθουσα ~s"}.
{"Specify the access model","Καθορίστε το μοντέλο πρόσβασης"}.
+{"Specify the event message type","Καθορίστε τον τύπο μηνύματος συμβάντος"}.
{"Specify the publisher model","Καθορίστε το μοντέλο εκδότη"}.
{"~s's Offline Messages Queue","Η Σειρά Χωρίς Σύνδεση Μηνύματων τού ~s"}.
{"Start Modules at ","Εκκίνηση Modules στο "}.
diff --git a/src/msgs/el.po b/src/msgs/el.po
index 1783ed8bc..57d3e9cfb 100644
--- a/src/msgs/el.po
+++ b/src/msgs/el.po
@@ -1,22 +1,24 @@
msgid ""
msgstr ""
"Project-Id-Version: el\n"
-"PO-Revision-Date: 2009-08-12 12:39+0200\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2010-05-24 21:08+0200\n"
"Last-Translator: James Iakovos Mandelis \n"
+"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Greek (ελληνικά)\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Απαιτείται χρήση STARTTLS "
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Δεν προμηθεύτικε πόρος"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Αντικαταστάθικε από νέα σύνδεση"
@@ -45,388 +47,390 @@ msgstr "Πινγκ"
msgid "Pong"
msgstr "Πονγκ"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Πραγματικά να διαγράψετε το μήνυμα της ημέρας;"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Θέμα"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Περιεχόμενο μηνυμάτως"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Δεν προμηθεύτικε περιεχόμενο ανακοινώσης"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Ανακοινώσεις"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Αποστολή ανακοίνωσης σε όλους τους χρήστες"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr ""
"Αποστολή ανακοίνωσης σε όλους τους χρήστες σε όλους τους κεντρικούς "
"υπολογιστές"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Αποστολή ανακοίνωσης σε όλους τους συνδεδεμένους χρήστες"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
"Αποστολή ανακοίνωσης σε όλους τους συνδεδεμένους χρήστες σε όλους τους "
"κεντρικούς υπολογιστές"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Ορίστε μήνυμα ημέρας και αποστολή στους συνδεδεμένους χρήστες"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Ορίστε μήνυμα ημέρας και άμεση αποστολή στους συνδεδεμένους χρήστες σε όλους "
"τους κεντρικούς υπολογιστές"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Ενημέρωση μηνύματως ημέρας (χωρίς άμεση αποστολή)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr ""
"Ενημέρωση μηνύματως ημέρας σε όλους τους κεντρικούς υπολογιστές (χωρίς άμεση "
"αποστολή)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Διαγράψτε το μήνυμα της ημέρας"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Διαγράψτε το μήνυμα της ημέρας σε όλους τους κεντρικούς υπολογιστές"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Διαμόρφωση"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Βάση δεδομένων"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Εκκίνηση Modules"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "ΠαύσηModules"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Αποθήκευση Αντιγράφου Ασφαλείας"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Επαναφορά Αντιγράφου Ασφαλείας"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Αποθήκευση σε αρχείο κειμένου"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Εισαγωγή αρχείων"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Εισαγωγή κατάλογου αρχείων"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Επανεκκίνηση Υπηρεσίας"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Κλείσιμο Υπηρεσίας"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Προσθήκη Χρήστη"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Διαγραφή Χρήστη"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Τερματισμός Συνεδρίας Χρήστη"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Έκθεση Κωδικού Πρόσβασης Χρήστη"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Αλλαγή Κωδικού Πρόσβασης Χρήστη"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Έκθεση Τελευταίας Ώρας Σύνδεσης Χρήστη"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Έκθεση Στατιστικών Χρήστη"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Έκθεση αριθμού εγγεγραμμένων χρηστών"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Έκθεση αριθμού συνδεδεμένων χρηστών"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Λίστες Ελέγχου Πρόσβασης"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Κανόνες Πρόσβασης"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Διαχείριση χρηστών"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Συνδεμένοι χρήστες"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Όλοι οι χρήστες"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Εξερχόμενες S2S Συνδέσεις"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Ενεργοί Κόμβοι"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Σταματημένοι Κόμβοι"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Modules"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Διαχείριση Αντιγράφου Ασφαλείας"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Εισαγωγή Χρηστών από αρχεία σειράς jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Πρώς ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Από ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Διαμόρφωση Πίνακων βάσης δεδομένων στο "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Επιλέξτε τύπο αποθήκευσης των πινάκων"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Αντίγραφο μόνο σε δίσκο"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Αντίγραφο μόνο σε RAM καί δίσκο"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Αντίγραφο σε RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Απομεμακρυσμένο αντίγραφο"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Παύση Modules στο "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Επιλέξτε modules για να σταματήσουν"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Εκκίνηση Modules στο "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Εισάγετε κατάλογο των (Module, [Επιλογές])"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Λίστα των Module για Εκκίνηση"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Αποθήκευση Αντιγράφου Ασφαλείας σε Αρχείο στο "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Εισάγετε τοποθεσία αρχείου αντιγράφου ασφαλείας"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Τοποθεσία Αρχείου"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Επαναφορά Αντιγράφου Ασφαλείας από αρχείο στο "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Αποθήκευση Αντιγράφου Ασφαλείας σε αρχείο κειμένου στο "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Εισάγετε Τοποθεσία Αρχείου Κειμένου"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Εισαγωγή χρηστών από αρχείο στο "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Εισάγετε τοποθεσία αρχείου σειράς jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Εισαγωγή χρηστών από κατάλογο αρχείων στο "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Εισάγετε κατάλογο αρχείων σειράς jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Τοποθεσία κατάλογου αρχείων"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Χρόνος καθυστέρησης"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Διαχείριση στις Λίστες Ελέγχου Πρόσβασης"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Λίστες Ελέγχου Πρόσβασης"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Διαμόρφωση Πρόσβασης"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Κανόνες Πρόσβασης"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Ταυτότητα Jabber"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Κωδικός Πρόσβασης"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Επαλήθευση κωδικού πρόσβασης"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Αριθμός εγγεγραμμένων χρηστών"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Αριθμός συνδεδεμένων χρηστών"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Ποτέ"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Συνδεδεμένο"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Τελευταία σύνδεση"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Μέγεθος Καταλόγου Επαφών"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Διευθύνσεις IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Πόροι"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Διαχείριση του"
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Eνέργεια για το χρήστη"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Επεξεργασία ιδιοτήτων"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Αφαίρεση χρήστη"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Άρνηση πρόσβασης, λόγω τακτικής παροχής υπηρεσιών"
@@ -538,204 +542,220 @@ msgstr "Κωδικοποίηση για διακομιστή ~b"
msgid "Server ~b"
msgstr "Διακομιστής ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Μόνο οι διαχειριστές των υπηρεσιών επιτρέπεται να στείλουν υπηρεσιακά "
"μηνύματα"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Άρνηση δημιουργίας αίθουσας , λόγω τακτικής παροχής υπηρεσιών"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Αίθουσα σύνεδριασης δεν υπάρχει"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Αίθουσες σύνεδριασης"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να εγγράφή με ψευδώνυμο"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Εγγραφή με Ψευδώνυμο στο "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Πληκτρολογήστε το ψευδώνυμο που θέλετε να εγγραφείτε"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Ψευδώνυμο"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Αυτό το ψευδώνυμο είναι καταχωρημένο από άλλο πρόσωπο"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Θα πρέπει να συμπληρώσετε το πεδίο \"Ψευδώνυμο\" στη φόρμα"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC module"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Διαμόρφωση Αίθουσaς σύνεδριασης τροποποιηθηκε"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "συνδέετε στην αίθουσα"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "εγκαταλείπει την αίθουσα"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "έχει απαγορευθεί"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "αποβλήθηκε "
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "Έχει αποβληθεί λόγω αλλαγής υπαγωγής"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "αποβλήθηκε επειδή η αίθουσα αλλάξε γιά μέλη μόνο"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "αποβλήθηκε λόγω τερματισμού συστήματος"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "είναι τώρα γνωστή ως"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " έχει θέσει το θέμα σε: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Η αίθουσα σύνεδριασης δημιουργήθηκε"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Η αίθουσα σύνεδριασης διαγράφηκε"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Η αίθουσα σύνεδριασης έχει ξεκινήσει"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Η αίθουσα σύνεδριασης έχει σταματήσει"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Δευτέρα"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Τρίτη"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Τετάρτη"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Πέμπτη"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Παρασκευή"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Σάββατο"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Κυριακή"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Ιανουάριος"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Φεβρουάριος"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Μάρτιος"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Απρίλιος"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Μάιος"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Ιούνιος"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Ιούλιος"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Αύγουστος"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Σεπτέμβριος"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Οκτώβριος"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Νοέμβριος"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Δεκέμβριος"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Διαμόρφωση Αίθουσας σύνεδριασης"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Συμετεχόντες Αίθουσας σύνεδριασης"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Τίτλος Αίθουσας "
-#: mod_muc/mod_muc_room.erl:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Υπέρφορτωση"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε ένα μήνυμα "
"σφάλματος"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Δεν επιτρέπεται να στείλει προσωπικά μηνύματα για τη διάσκεψη"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Ακατάλληλο είδος μηνύματος"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -743,37 +763,33 @@ msgstr ""
"Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε ένα μήνυμα "
"σφάλματος σε άλλον συμμετέχων"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Δεν επιτρέπεται να στείλει προσωπικά μηνύματα του τύπου \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Παραλήπτης δεν είναι στην αίθουσα συνεδριάσεων"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Μόνο οι συμμετέχωντες μπορούν να στέλνουν μηνύματα στο συνέδριο"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Δεν επιτρέπεται η αποστολή προσωπικών μηνυμάτων"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Μόνο οι συμετεχόντες μπορούν να στείλουν ερωτήματα στη διάσκεψη"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Ερωτήματα πρώς τα μέλη της διασκέψεως δεν επιτρέπονται σε αυτήν την αίθουσα"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "ιδιωτικό,"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@@ -781,239 +797,243 @@ msgstr ""
"Μόνο οι συντονιστές και οι συμμετέχοντες μπορούν να αλλάξουν το θέμα αυτής "
"της αίθουσας"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Μόνο οι συντονιστές μπορούν να αλλάξουν το θέμα αυτής της αίθουσας"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
"Οι επισκέπτες δεν επιτρέπεται να στείλουν μηνύματα σε όλους τους "
"συμμετέχωντες"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε σφάλμα "
"παρουσίας "
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"Οι επισκέπτες δεν επιτρέπεται να αλλάξουν τα ψευδώνυμα τους σε αυτή την "
"αίθουσα"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Αυτό το ψευδώνυμο είναι ήδη σε χρήση από άλλον συμμετέχων"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Σας έχει απαγορευθεί η είσοδος σε αυτή την αίθουσα"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Απαιτείται αίτηση συμετοχής για είσοδο σε αυτή την αίθουσα"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Η αίθουσα αυτή δεν είναι ανώνυμη"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Απαιτείται κωδικός πρόσβασης για είσοδο σε αυτή την αίθουσα"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Αδήνατο να δημιουργηθεί CAPTCHA"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Εσφαλμένος κωδικός πρόσβασης"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Aπαιτούνται προνόμια διαχειριστή"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Aπαιτούνται προνόμια συντονιστή"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Η Jabber Ταυτότητα ~s είναι άκυρη"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Ψευδώνυμο ~s δεν υπάρχει σε αυτή την αίθουσα"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Άκυρη υπαγωγή: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Άκυρος ρόλο: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Aπαιτούνται προνόμια ιδιοκτήτη"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Διαμόρφωση Αίθουσας σύνεδριασης ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Περιγραφή Αίθουσας"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Κάντε αίθουσα μόνιμη"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Κάντε την δημόσια αναζήτηση δυνατή για αυτή την αίθουσα"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Κάντε κοινό τον κατάλογο συμμετεχόντων"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Κάντε την αίθουσα προστατεύομενη με κωδικό πρόσβασης"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Μέγιστος αριθμός συμετεχόντων"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Χωρίς όριο"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Παρούσιαση πραγματικών ταυτοτήτων Jabber σε"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "συντονιστές μόνο"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "οποιοσδήποτε"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Κάντε την αίθουσα μόνο για μέλη"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Κάντε την αίθουσα εποπτεύονομενη"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Προεπιλογη χρήστων ως συμμετέχοντες"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Επιτρέψετε στους χρήστες να αλλάζουν το θέμα"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Επιτρέψετε στους χρήστες να αποστέλλουν ιδιωτικά μηνύματα"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Επιτρέπστε στους χρήστες να ερωτούν άλλους χρήστες"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Επιτρέψετε στους χρήστες να αποστέλλουν προσκλήσεις"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Επιτρέψτε στους επισκέπτες να αποστέλλουν κατάσταση στις ενημερώσεις "
"παρουσίας"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Επιτρέψετε στους επισκέπτες να αλλάζου ψευδώνυμο"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Κάντε την αίθουσα CAPTCHA προστατεύονομενη"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Ενεργοποίηση καταγραφής"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε την αίθουσα "
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Αριθμός συμετεχόντων"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "ιδιωτικό,"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s σας προσκαλεί στην αίθουσα ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "ο κωδικός πρόσβασης είναι"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Η μνήμη χωρίς σύνδεση μήνυματών είναι πλήρης. Το μήνυμα έχει απορριφθεί."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Η Σειρά Χωρίς Σύνδεση Μηνύματων τού ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Υποβλήθηκε"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Χρόνος"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Από"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Πρώς"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Πακέτο"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Διαγραφή επιλεγμένων"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Χωρίς Σύνδεση Μηνύματα:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύματων"
@@ -1021,196 +1041,199 @@ msgstr "Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύμα
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Δημοσίευση-Εγγραφή"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd module Δημοσίευσης-Εγγραφής"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Αίτηση συνδρομητή Δημοσίευσης-Εγγραφής"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Επιλέξτε αν θα εγκρίθεί η εγγραφή αυτής της οντότητας."
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Ταυτότητα Κόμβου"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Διεύθυνση Συνδρομητή"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
"Επιτρέπετε σε αυτή την Jabber Ταυτότητα να εγγραφεί σε αυτό τον κόμβο "
"Δημοσίευσης-Εγγραφής;"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Κοινοποιήσεις με την παράδοση φορτίων"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Κοινοποιήσεις παράδοσης"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Ειδοποιηση στους συνδρομητές όταν αλλάζει η διαμόρφωση κόμβου"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Ειδοποιηση στους συνδρομητές όταν ο κόμβος διαγράφεται"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Ειδοποιηση στους συνδρομητές όταν αφαίρούντε στοιχεία από τον κόμβο"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Μονιμη αποθήκευση στοιχείων"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Ένα φιλικό όνομα για τον κόμβο"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Μέγιστος αριθμός μόνιμων στοιχείων"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Εάν επιτρέποντε συνδρομές"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Καθορίστε το μοντέλο πρόσβασης"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Ομάδες Καταλόγου Επαφών μπορούν να εγγραφούν"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Καθορίστε το μοντέλο εκδότη"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Καθορίστε το μοντέλο πρόσβασης"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Διαγραφή όλων των στοιχείων όταν ο σχετικός εκδότης αποσυνδέεται"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Καθορίστε τον τύπο μηνύματος συμβάντος"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Μέγιστο μέγεθος φορτίου σε bytes"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Πότε να αποσταλθεί το τελευταίο στοιχείο που δημοσιεύθηκε"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Παράδωση κοινοποιήσεων μόνο σε διαθέσιμους χρήστες"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Οι συλλογές με την οποία είναι ένας κόμβος συνδέεται"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Επιλέξτε ένα όνομα χρήστη και κωδικό πρόσβασης για να εγγραφείτε σε αυτό τον "
"διακομιστή"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Οι χρήστες δεν επιτρέπεται να εγγραφούν λογαριασμούς τόσο γρήγορα"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Κανένα"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Συνδρομή"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Εκκρεμεί"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Ομάδες"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Επαληθεύστε"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Αφαίρεστε"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Καταλόγος Επαφών τού"
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Ακατάλληλη μορφή"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Προσθήκη Jabber Ταυτότητας"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Καταλόγος Επαφών"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Κοινές Ομάδες Καταλόγων Επαφών"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Προσθήκη νέου"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Όνομα:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Περιγραφή:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Μέλη:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Εμφανίσμενες Ομάδες:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Ομάδα"
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Υποβοβολή"
@@ -1218,32 +1241,32 @@ msgstr "Υποβοβολή"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Διακομιστής"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Γενέθλια"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Πόλη"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Χώρα"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Email"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Επώνυμο"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1252,53 +1275,53 @@ msgstr ""
"ταιριάζει (Προσθέστε * στο τέλος τού πεδίου για να ταιριάξει σε μεγαλύτερες "
"γραμματοσηρές)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Ονοματεπώνυμο"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Πατρώνυμο"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Όνομα"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Όνομα Οργανισμού"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Μονάδα Οργανισμού"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Αναζήτηση χρηστών στο"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για αναζήτηση"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "vCard Αναζήτηση χρηστών"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard module"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Αποτελέσματα αναζήτησης για "
@@ -1307,182 +1330,182 @@ msgid "Fill in fields to search for any matching Jabber User"
msgstr ""
"Συμπληρώστε τα πεδία για να αναζητήσετε οποιαδήποτε ταιριάζοντα Jabber χρήστη"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Χορίς Εξουσιοδότηση"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web Admin"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Διαχείριση"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Ακατέργαστο"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s διαμόρφωση κανόνα πρόσβασης"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "εικονικοί κεντρικοί υπολογιστές ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Χρήστες"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Τελευταία Δραστηριότητα Χρήστη"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Περίοδος: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Περασμένο μήνα"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Πέρυσι"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Όλες οι δραστηριότητες"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Δείτε Κοινό Πίνακα"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Δείτε Ολοκληρωτικό Πίνακα"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Στατιστικές"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Δεν Βρέθηκε"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Κόμβος δεν βρέθηκε"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Κεντρικός Υπολογιστής"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Εγγεγραμμένοι Χρήστες"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Χωρίς Σύνδεση Μηνύματα"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Τελευταία Δραστηριότητα"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Εγγεγραμμένοι Χρήστες:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Online Χρήστες:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Εξερχόμενες S2S Συνδέσεις:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Εξερχόμενοι S2S διακομιστές:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Αλλαγή κωδικού"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Χρήστης"
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Συνδεδεμένοι Πόροι:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Κωδικός πρόσβασης:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Κανένα στοιχείο"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Κόμβοι"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Κόμβος"
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Παρακολουθούμενες Θύρες"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Ενημέρωση"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Επανεκκίνηση"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Σταμάτημα"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Σφάλμα RPC Κλήσης"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Πίνακες βάσης δεδομένων στο "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Τύπος Αποθήκευσης"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Στοιχεία"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Μνήμη"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Σφάλμα"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Αντιγράφο Ασφαλείας του "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1493,145 +1516,145 @@ msgstr ""
"ODBC, θα πρέπει επίσης να κάνετε χωριστά Αντιγράφο Ασφαλείας της SQL βάση "
"δεδομένων σας ."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Αποθηκεύση δυαδικού αντιγράφου ασφαλείας:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "Όλλα Καλά"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Επαναφορά δυαδικού αντιγράφου ασφαλείας αμέσως:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Επαναφορά δυαδικού αντιγράφου ασφαλείας μετά την επόμενη επανεκκίνηση του "
"ejabberd (απαιτεί λιγότερη μνήμη):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Αποθηκεύση αντιγράφου ασφαλείας σε αρχείο κειμένου:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Επαναφορά αντιγράφου ασφαλείας από αρχείο κειμένου αμέσως:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Εισαγωγή δεδομένων χρηστών από ένα αρχείο PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Εξαγωγή δεδομένων όλων των χρηστών του διακομιστή σε PIEFXIS αρχεία (XEP-"
"0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Εξαγωγή δεδομένων των χρηστών κεντρικού υπολογιστή σε PIEFXIS αρχεία (XEP-"
"0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Εισαγωγή δεδομένων χρήστη από το αρχείο σειράς jabberd14:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Εισαγωγή δεδομένων χρηστών από κατάλογο αρχείων σειράς jabberd14:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Παρακολουθούμενες Θύρες στο "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Modules στο "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Στατιστικές του ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Uptime:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Ώρα CPU:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Παραδοθείς συναλλαγές:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Αποτυχημένες συναλλαγές:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Επανειλημμένες συναλλαγές:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Καταγραμμένες συναλλαγές:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Ενημέρωση"
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Σχέδιο ενημέρωσης"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Τροποποιημένα modules"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Προγράμα ενημέρωσης"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Προγράμα ενημέρωσης χαμηλού επίπεδου "
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Script ελέγχου"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Θύρα"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Πρωτόκολλο"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Module"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Επιλογές"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Διαγραφή"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Εκκίνηση"
diff --git a/src/msgs/eo.msg b/src/msgs/eo.msg
index 27c832f16..514c8a010 100644
--- a/src/msgs/eo.msg
+++ b/src/msgs/eo.msg
@@ -36,6 +36,10 @@
{"Change Password","Ŝanĝu pasvorton"}.
{"Change User Password","Ŝanĝu pasvorton de uzanto"}.
{"Chatroom configuration modified","Agordo de babilejo ŝanĝita"}.
+{"Chatroom is created","Babilejo kreita"}.
+{"Chatroom is destroyed","Babilejo neniigita"}.
+{"Chatroom is started","Babilejo lanĉita"}.
+{"Chatroom is stopped","Babilejo haltita"}.
{"Chatrooms","Babilejoj"}.
{"Choose a username and password to register with this server","Elektu uzantnomon kaj pasvorton por registri je ĉi tiu servilo"}.
{"Choose modules to stop","Elektu modulojn por fini"}.
@@ -246,6 +250,7 @@
{"Protocol","Protokolo"}.
{"Publish-Subscribe","Public-Abonado"}.
{"PubSub subscriber request","PubAbo abonpeto"}.
+{"Purge all items when the relevant publisher goes offline","Forigu ĉiujn erojn kiam la rilata publikanto malkonektiĝas"}.
{"Queries to the conference members are not allowed in this room","Malpermesas informmendoj al partoprenantoj en ĉi tiu babilejo"}.
{"RAM and disc copy","RAM- kaj disk-kopio"}.
{"RAM copy","RAM-kopio"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Haltigu Servon"}.
{"~s invites you to the room ~s","~s invitas vin al la babilejo ~s"}.
{"Specify the access model","Specifu atingo-modelon"}.
+{"Specify the event message type","Specifu tipo de event-mesaĝo"}.
{"Specify the publisher model","Enmetu publikadan modelon"}.
{"~s's Offline Messages Queue","Mesaĝo-atendovico de ~s"}.
{"Start Modules at ","Startu modulojn je "}.
diff --git a/src/msgs/eo.po b/src/msgs/eo.po
index da05dc30c..612efa6a6 100644
--- a/src/msgs/eo.po
+++ b/src/msgs/eo.po
@@ -10,15 +10,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Esperanto\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Uzo de STARTTLS bezonata"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Neniu risurco donita"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Anstataŭigita je nova konekto"
@@ -46,381 +46,383 @@ msgstr "Sondaĵo"
msgid "Pong"
msgstr "Resondaĵo"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Ĉu vere forigi mesaĝon de la tago?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Temo"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Teksto de mesaĝo"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Neniu teksto donita por anonc-mesaĝo"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Anoncoj"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Sendu anoncon al ĉiu uzanto"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Sendu anoncon al ĉiu uzanto de ĉiu gastigo"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Sendu anoncon al ĉiu konektata uzanto"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Sendu anoncon al ĉiu konektata uzanto de ĉiu gastigo"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Enmetu mesaĝon de la tago kaj sendu al konektataj uzantoj"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Enmetu mesaĝon de la tago je ĉiu gastigo kaj sendu al konektataj uzantoj"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Ŝanĝu mesaĝon de la tago (ne sendu)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Ŝanĝu mesaĝon de la tago je ĉiu gastigo (ne sendu)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Forigu mesaĝo de la tago"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Forigu mesaĝo de la tago je ĉiu gastigo"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Agordo"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Datumbazo"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Startu Modulojn"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Haltigu Modulojn"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Faru Sekurkopion"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Restaŭru"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Skribu en plata tekst-dosiero"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importu dosieron"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importu dosierujo"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Restartu Servon"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Haltigu Servon"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Aldonu Uzanton"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Forigu Uzanton"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Haltigu Uzant-seancon"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Montru pasvorton de uzanto"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Ŝanĝu pasvorton de uzanto"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Montru tempon de lasta ensaluto"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Montru statistikojn de uzanto"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Montru nombron de registritaj uzantoj"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Montru nombron de konektataj uzantoj"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Atingokontrol-listoj"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Atingo-reguloj"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Uzanto-administrado"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Konektataj Uzantoj"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Ĉiuj Uzantoj"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Elirantaj s-al-s-konektoj"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Funkciantaj Nodoj"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Neaktivaj Nodoj"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Moduloj"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Mastrumado de sekurkopioj"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importu uzantojn de jabberd14-uzantdosieroj"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Al ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "De ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Agordo de datumbaz-tabeloj je "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Elektu konserv-tipon de tabeloj"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Nur disk-kopio"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "RAM- kaj disk-kopio"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "RAM-kopio"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Fora kopio"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Haltigu modulojn je "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Elektu modulojn por fini"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Startu modulojn je "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Enmetu liston de {Modulo, [Elektebloj]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Listo de moduloj por starti"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Faru sekurkopion je "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Enmetu vojon por sekurkopio"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Voje de dosiero"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Restaŭrigu de dosiero el "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Skribu sekurkopion en plata teksto al "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Enmetu vojon al plata teksto"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importu uzanton de dosiero el "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Enmetu vojon al jabberd14-uzantdosiero"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importu uzantojn de dosierujo ĉe "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Enmetu vojon al jabberd14-uzantdosierujo"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Vojo al dosierujo"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Prokrasto"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Agordo de atingokontrolo"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Atingokontrol-listoj"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Agordo de atingo"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Atingo-reguloj"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Pasvorto"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Pasvortkontrolo"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Nombro de registritaj uzantoj"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Nombro de konektataj uzantoj"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Neniam"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Konektata"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Lasta ensaluto"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Kontaktlist-grando"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP-adresoj"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Risurcoj"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Mastrumado de "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Ago je uzanto"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Redaktu atributojn"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Forigu uzanton"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Atingo rifuzita de serv-politiko"
@@ -530,202 +532,218 @@ msgstr "Enkodigo por servilo ~b"
msgid "Server ~b"
msgstr "Servilo ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Nur servo-administrantoj rajtas sendi serv-mesaĝojn"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Ĉi tiu serv-politiko ne permesas babilejo-kreadon"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Babilejo ne ekzistas"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Babilejoj"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Vi bezonas klienton kun x:data-funkcio por registri kaŝnomon"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Kaŝnomo-registrado je "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Enmetu kaŝnomon kiun vi volas registri"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Kaŝnomo"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Kaŝnomo estas registrita de alia persono"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Vi devas kompletigi la \"Kaŝnomo\" kampon"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC-modulo"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Agordo de babilejo ŝanĝita"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "eniras la babilejo"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "eliras la babilejo"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "estas forbarita"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "estas forpelita"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "estas forpelita pro aparteneca ŝanĝo"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "estas forpelita ĉar la babilejo fariĝis sole por membroj"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "estas forpelita pro sistem-haltigo"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "nun nomiĝas"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " ŝanĝis la temon al: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Babilejo kreita"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Babilejo neniigita"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Babilejo lanĉita"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Babilejo haltita"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Lundo"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Mardo"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Merkredo"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Ĵaŭdo"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Vendredo"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Sabato"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Dimanĉo"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Januaro"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Februaro"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Marĉo"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Aprilo"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Majo"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Junio"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Julio"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Aŭgusto"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Septembro"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Oktobro"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Novembro"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Decembro"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Babilejo-agordo"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Nombro de ĉeestantoj"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Trafikrapida limigo superita"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Ĉi tiu partoprenanta estas forpelata de la babilejo pro sendado de erar-"
"mesaĝo"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Nur partoprenantoj rajtas sendi privatajn mesaĝojn al la babilejo"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Malĝusta mesaĝo-tipo"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -733,270 +751,270 @@ msgstr ""
"Ĉi tiu partoprenanto estas forpelata de la babilejo pro sendo de erar-mesaĝo "
"al alia partoprenanto"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Malpermesas sendi mesaĝojn de tipo \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Ricevanto ne ĉeestas en la babilejo "
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Nur partoprenantoj rajtas sendi mesaĝojn al la babilejo"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Ne estas permesata sendi privatajn mesaĝojn"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Nur partoprenantoj rajtas sendi informmendojn al la babilejoj"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Malpermesas informmendoj al partoprenantoj en ĉi tiu babilejo"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privata, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
"Nur moderigantoj kaj partoprenantoj rajtas ŝanĝi la temon en ĉi tiu babilejo"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Nur moderigantoj rajtas ŝanĝi la temon en ĉi tiu babilejo"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Vizitantoj ne rajtas sendi mesaĝojn al ĉiuj partoprenantoj"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Ĉi tiu partoprenanto estas forpelata de la babilejo pro sendo de erar-ĉeesto"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"Ne estas permesata al vizitantoj ŝanĝi siajn kaŝnomojn en ĉi tiu ĉambro"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Tiu kaŝnomo jam estas uzata de alia partoprenanto"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Vi estas malpermesata en ĉi tiu babilejo"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Membreco estas bezonata por eniri ĉi tiun babilejon"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Ĉi tiu babilejo ne estas anonima"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Pasvorto estas bezonata por eniri ĉi tiun babilejon"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Ne eblis krei aŭtomatas turingteston"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Nekorekta pasvorto"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Administrantaj rajtoj bezonata"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Moderantaj rajtoj bezonata"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s estas nevalida"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Kaŝnomo ~s ne ekzistas en la babilejo"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Nevalida aparteneco: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Nevalida rolo: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Mastraj rajtoj bezonata"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Agordo de babilejo ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Babilejo-priskribo"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Farigu babilejon daŭra"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Farigu babilejon publike trovebla"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Farigu partoprento-liston publika"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Farigu babilejon protektata per pasvorto"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Limigo de nombro de partoprenantoj"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Neniu limigo"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Montru verajn Jabber ID-ojn al"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "moderantoj sole"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "iu ajn"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Farigu babilejon sole por membroj"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Farigu babilejon moderigata"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Kutime farigu uzantojn kiel partpoprenantoj"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Permesu uzantojn ŝanĝi la temon"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Permesu uzantojn sendi privatajn mesaĝojn"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Permesu uzantojn informpeti aliajn uzantojn"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Permesu uzantojn sendi invitojn"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Permesu al vizitantoj sendi statmesaĝon en ĉeest-sciigoj"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Permesu al vizitantoj ŝanĝi siajn kaŝnomojn"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Farigu babilejon protektata per aŭtomata Turingtesto"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Ŝaltu protokoladon"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Vi bezonas klienton kun x:data-funkcio por agordi la babilejon"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Nombro de ĉeestantoj"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privata, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s invitas vin al la babilejo ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "la pasvorto estas"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Mesaĝo-atendovico de la senkonekta kontakto estas plena. La mesaĝo estas "
"forĵetita"
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Mesaĝo-atendovico de ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Sendita"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Tempo"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "De"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Ĝis"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Pakaĵo"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Forigu elektata(j)n"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Liverontaj mesaĝoj"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Forigu ĉiujn liverontajn mesaĝojn"
@@ -1004,192 +1022,195 @@ msgstr "Forigu ĉiujn liverontajn mesaĝojn"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bajtfluo modulo"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Public-Abonado"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Public-Abonada modulo"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "PubAbo abonpeto"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Elektu ĉu permesi la abonon de ĉi tiu ento"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Nodo ID"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Abonanta adreso"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Ĉu permesi ĉi tiun Jabber ID aboni al la jena PubAbo-nodo"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Liveru aĵojn de event-sciigoj"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Liveru event-sciigojn"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Sciigu abonantoj kiam la agordo de la nodo ŝanĝas"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Sciigu abonantoj kiam la nodo estas forigita"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Sciigu abonantoj kiam eroj estas forigita de la nodo"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Savu erojn en konservado"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Kromnomo por ĉi tiu nodo"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Maksimuma kiomo de eroj en konservado"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Ĉu permesi aboni"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Specifu atingo-modelon"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Kontaktlist-grupoj kiuj rajtas aboni"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Enmetu publikadan modelon"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Specifu atingo-modelon"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Forigu ĉiujn erojn kiam la rilata publikanto malkonektiĝas"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Specifu tipo de event-mesaĝo"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Maksimuma aĵo-grando je bajtoj"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Kiam sendi la laste publicitan eron"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Nur liveru sciigojn al konektataj uzantoj"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Aro kun kiu nodo estas filigita"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Elektu uzantnomon kaj pasvorton por registri je ĉi tiu servilo"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Ne estas permesata al uzantoj registri tiel rapide"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Nenio"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Abono"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Atendanta"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grupoj"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Validigu"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Forigu"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Kontaktlisto de "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Malĝusta formo"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Aldonu Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Kontaktlisto"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Komuna Kontaktlist-grupo"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Aldonu novan"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Nomo:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Priskribo:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Membroj:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Montrataj grupoj:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Grupo "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Sendu"
@@ -1197,32 +1218,32 @@ msgstr "Sendu"
msgid "Erlang Jabber Server"
msgstr "Erlang-a Jabber-Servilo"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Naskiĝtago"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Urbo"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Lando"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Retpoŝto"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Lasta Nomo"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1230,53 +1251,53 @@ msgstr ""
"Kompletigu la formon por serĉi rekonata Jabber-uzanto (Aldonu * je la fino "
"de la kampo por rekoni subĉenon"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Plena Nomo"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Meza Nomo"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Nomo"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Organiz-nomo"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Organiz-parto"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Serĉu uzantojn en "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Vi bezonas klienton kun x:data-funkcio por serĉado"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Serĉado de vizitkartoj"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard-modulo"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Serĉ-rezultoj de "
@@ -1284,182 +1305,182 @@ msgstr "Serĉ-rezultoj de "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Kompletigu la formon por serĉi rekonata Jabber-uzanto"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Nepermesita"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Teksaĵa Administro"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administro"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Kruda"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Agordo de atingo-reguloj de ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd virtual-gastigoj"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Uzantoj"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Lasta aktiveco de uzanto"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Periodo: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Lasta monato"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Lasta jaro"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Ĉiu aktiveco"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Montru ordinaran tabelon"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Montru integran tabelon"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statistikoj"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Ne trovita"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Nodo ne trovita"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Gastigo"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Registritaj uzantoj"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Liverontaj mesaĝoj"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Lasta aktiveco"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Registritaj uzantoj:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Konektataj uzantoj:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Elirantaj s-al-s-konektoj:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Elirantaj s-al-s-serviloj"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Ŝanĝu pasvorton"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Uzanto "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Konektataj risurcoj:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Pasvorto:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Neniu datumo"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nodoj"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nodo "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Atentataj pordoj"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Ĝisdatigu"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Restartu"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Haltigu"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Eraro de RPC-alvoko"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Datumbaz-tabeloj je "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Konserv-tipo"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Eroj"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Memoro"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Eraro"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Sekurkopio de "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1469,141 +1490,141 @@ msgstr ""
"Se vi uzas la ODBC-modulon, vi ankaŭ devas sekurkopii tiujn SQL-datumbazoj "
"aparte."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Konservu duuman sekurkopion:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "Bone"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Restaŭrigu duuman sekurkopion tuj:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr "Restaŭrigu duuman sekurkopion post sekvonta ejabberd-restarto"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Skribu sekurkopion en plata tekstdosiero"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Restaŭrigu sekurkopion el plata tekstdosiero tuj"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importu uzanto-datumojn de PIEFXIS dosiero (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Eksportu datumojn de ĉiuj uzantoj en servilo al PIEFXIS dosieroj (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr "Eksportu datumoj de uzantoj en gastigo al PIEFXIS dosieroj (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importu uzantojn de jabberd14-uzantdosieroj"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importu uzantojn de jabberd14-uzantdosieroj"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Atentataj pordoj je "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Moduloj je "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statistikoj de ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Daŭro de funkciado"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "CPU-tempo"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transakcioj enmetitaj"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transakcioj nuligitaj"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transakcioj restartitaj"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transakcioj protokolitaj"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Ĝisdatigu "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Ĝisdatigo-plano"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Ĝisdatigitaj moduloj"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Ĝisdatigo-skripto"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Bazanivela ĝisdatigo-skripto"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Skript-kontrolo"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Pordo"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protokolo"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Modulo"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Elektebloj"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Forigu"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Startu"
diff --git a/src/msgs/es.msg b/src/msgs/es.msg
index f3504b489..0fd902411 100644
--- a/src/msgs/es.msg
+++ b/src/msgs/es.msg
@@ -36,6 +36,10 @@
{"Change Password","Cambiar contraseña"}.
{"Change User Password","Cambiar contraseña de usuario"}.
{"Chatroom configuration modified","Configuración de la sala modificada"}.
+{"Chatroom is created","Se ha creado la sala"}.
+{"Chatroom is destroyed","Se ha destruido la sala"}.
+{"Chatroom is started","Se ha iniciado la sala"}.
+{"Chatroom is stopped","Se ha detenido la sala"}.
{"Chatrooms","Salas de charla"}.
{"Choose a username and password to register with this server","Escoge un nombre de usuario y contraseña para registrarte en este servidor"}.
{"Choose modules to stop","Selecciona módulos a detener"}.
@@ -246,6 +250,7 @@
{"Protocol","Protocolo"}.
{"Publish-Subscribe","Servicio de Publicar-Subscribir"}.
{"PubSub subscriber request","Petición de subscriptor de PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Borra todos los elementos cuando el publicador relevante se desconecta"}.
{"Queries to the conference members are not allowed in this room","En esta sala no se permiten solicitudes a los miembros de la sala"}.
{"RAM and disc copy","Copia en RAM y disco"}.
{"RAM copy","Copia en RAM"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Detener el servicio"}.
{"~s invites you to the room ~s","~s te invita a la sala ~s"}.
{"Specify the access model","Especifica el modelo de acceso"}.
+{"Specify the event message type","Especifica el tipo del mensaje de evento"}.
{"Specify the publisher model","Especificar el modelo del publicante"}.
{"~s's Offline Messages Queue","Cola de mensajes diferidos de ~s"}.
{"Start","Iniciar"}.
diff --git a/src/msgs/es.po b/src/msgs/es.po
index 6b09c4a63..c55f50d9b 100644
--- a/src/msgs/es.po
+++ b/src/msgs/es.po
@@ -3,7 +3,7 @@
msgid ""
msgstr ""
"Project-Id-Version: es\n"
-"PO-Revision-Date: 2009-08-12 12:39+0200\n"
+"PO-Revision-Date: 2010-05-21 00:15+0200\n"
"Last-Translator: Badlop \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -12,15 +12,15 @@ msgstr ""
"X-Language: Spanish (castellano)\n"
"X-Generator: KBabel 1.11.4\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Es obligatorio usar STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "No se ha proporcionado recurso"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Reemplazado por una nueva conexión"
@@ -49,382 +49,384 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "¿Está seguro de quere borrar el mensaje del dia?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Asunto"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Cuerpo del mensaje"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "No se ha proporcionado cuerpo de mensaje para el anuncio"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Anuncios"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Enviar anuncio a todos los usuarios"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Enviar anuncio a todos los usuarios en todos los dominios"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Enviar anuncio a todos los usuarios conectados"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Enviar anuncio a todos los usuarios conectados en todos los dominios"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Poner mensaje del dia y enviar a todos los usuarios conectados"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Poner mensaje del día en todos los dominios y enviar a los usuarios "
"conectados"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Actualizar mensaje del dia, pero no enviarlo"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Actualizar el mensaje del día en todos los dominos (pero no enviarlo)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Borrar mensaje del dia"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Borrar el mensaje del día en todos los dominios"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Configuración"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Base de datos"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Iniciar módulos"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Detener módulos"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Guardar copia de seguridad"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Restaurar"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Exportar a fichero de texto"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importar fichero"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importar directorio"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Reiniciar el servicio"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Detener el servicio"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Añadir usuario"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Borrar usuario"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Cerrar sesión de usuario"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Ver contraseña de usuario"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Cambiar contraseña de usuario"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Ver fecha de la última conexión de usuario"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Ver estadísticas de usuario"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Ver número de usuarios registrados"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Ver número de usuarios conectados"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Listas de Control de Acceso"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Reglas de Acceso"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Administración de usuarios"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Usuarios conectados"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Todos los usuarios"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Conexiones S2S salientes"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Nodos funcionando"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Nodos detenidos"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Módulos"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Gestión de copia de seguridad"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar usuarios de ficheros spool de jabberd-1.4"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "A ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "De ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Configuración de tablas de la base de datos en "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Selecciona tipo de almacenamiento de las tablas"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Copia en disco solamente"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Copia en RAM y disco"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Copia en RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Copia remota"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Detener módulos en "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Selecciona módulos a detener"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Iniciar módulos en "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Introduce lista de {módulo, [opciones]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Lista de módulos a iniciar"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Guardar copia de seguridad en fichero en "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Introduce ruta al fichero de copia de seguridad"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Ruta al fichero"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Restaura copia de seguridad desde el fichero en "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Exporta copia de seguridad a fichero de texto en "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Introduce ruta al fichero de texto"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importa usuario desde fichero en "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Introduce ruta al fichero jabberd14 spool"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importar usuarios desde el directorio en "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Introduce la ruta al directorio de jabberd14 spools"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Ruta al directorio"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Retraso temporal"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Configuración de la Lista de Control de Acceso"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Listas de Control de Acceso"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Configuración de accesos"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Reglas de acceso"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Contraseña"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Verificación de la contraseña"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Número de usuarios registrados"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Número de usuarios conectados"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nunca"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Conectado"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Última conexión"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Tamaño de la lista de contactos"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Direcciones IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Recursos"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administración de "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Acción en el usuario"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Editar propiedades"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Eliminar usuario"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Acceso denegado por la política del servicio"
@@ -536,205 +538,221 @@ msgstr "Codificación del servidor ~b"
msgid "Server ~b"
msgstr "Servidor ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Solo los administradores del servicio tienen permiso para enviar mensajes de "
"servicio"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Se te ha denegado crear la sala por política del servicio"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "La sala de conferencias no existe"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Salas de charla"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Necesitas un cliente con soporte de x:data para poder registrar el apodo"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registro del apodo en "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Introduce el apodo que quieras registrar"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Apodo"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "El apodo ya está registrado por otra persona"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Debes rellenar el campo \"Apodo\" en el formulario"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Módulo de MUC para ejabberd"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Configuración de la sala modificada"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "entra en la sala"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "sale de la sala"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "ha sido bloqueado"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "ha sido expulsado"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "ha sido expulsado por un cambio de su afiliación"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "ha sido expulsado porque la sala es ahora solo para miembros"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "ha sido expulsado porque el sistema se va a detener"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "se cambia el nombre a"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " ha puesto el asunto: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Se ha creado la sala"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Se ha destruido la sala"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Se ha iniciado la sala"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Se ha detenido la sala"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "lunes"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "martes"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "miércoles"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "jueves"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "viernes"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "sábado"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "domingo"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "enero"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "febrero"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "marzo"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "abril"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "mayo"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "junio"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "julio"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "agosto"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "septiembre"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "octubre"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "noviembre"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "diciembre"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Configuración de la sala"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Ocupantes de la sala"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Se ha exedido el límite de tráfico"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Este participante ha sido expulsado de la sala porque envió un mensaje de "
"error"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Impedir el envio de mensajes privados a la sala"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Tipo de mensaje incorrecto"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -742,272 +760,272 @@ msgstr ""
"Este participante ha sido expulsado de la sala porque envió un mensaje de "
"error a otro participante"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "No está permitido enviar mensajes privados del tipo \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "El receptor no está en la sala de conferencia"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Solo los ocupantes pueden enviar mensajes a la sala"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "No está permitido enviar mensajes privados"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Solo los ocupantes pueden enviar solicitudes a la sala"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "En esta sala no se permiten solicitudes a los miembros de la sala"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privado"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
"Solo los moderadores y participantes pueden cambiar el asunto de esta sala"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Solo los moderadores pueden cambiar el asunto de esta sala"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Los visitantes no pueden enviar mensajes a todos los ocupantes"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Este participante ha sido expulsado de la sala porque envió una presencia de "
"error"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Los visitantes no tienen permitido cambiar sus apodos en esta sala"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Ese apodo ya está siendo usado por otro ocupante"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Has sido bloqueado en esta sala"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Necesitas ser miembro de esta sala para poder entrar"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Sala no anónima"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Se necesita contraseña para entrar en esta sala"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "No se pudo generar un captcha."
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Contraseña incorrecta"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Se necesita privilegios de administrador"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Se necesita privilegios de moderador"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "El Jabber ID ~s no es válido"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "El apodo ~s no existe en la sala"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Afiliación no válida: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Rol no válido: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Se requieren privilegios de propietario de la sala"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Configuración para la sala ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Descripción de la sala"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Sala permanente"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Sala públicamente visible"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "La lista de participantes es pública"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Proteger la sala con contraseña"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Número máximo de ocupantes"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Sin límite"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Los Jabber ID reales pueden verlos"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "solo moderadores"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "cualquiera"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Sala sólo para miembros"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Sala moderada"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Los usuarios son participantes por defecto"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Permitir a los usuarios cambiar el asunto"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Permitir a los usuarios enviar mensajes privados"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Permitir a los usuarios consultar a otros usuarios"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Permitir a los usuarios enviar invitaciones"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Permitir a los visitantes enviar texto de estado en las actualizaciones de "
"presencia"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Permitir a los visitantes cambiarse el apodo"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Proteger la sala con captcha"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Guardar históricos"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Necesitas un cliente con soporte de x:data para configurar la sala"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Número de ocupantes"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privado"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s te invita a la sala ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "la contraseña es"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Tu cola de mensajes diferidos de contactos está llena. El mensaje se ha "
"descartado."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Cola de mensajes diferidos de ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Enviado"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Fecha"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "De"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Para"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paquete"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminar los seleccionados"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Mensajes diferidos:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Borrar todos los mensajes diferidos"
@@ -1015,193 +1033,196 @@ msgstr "Borrar todos los mensajes diferidos"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Módulo SOCKS5 Bytestreams para ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Servicio de Publicar-Subscribir"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo de Publicar-Subscribir de ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Petición de subscriptor de PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Decidir si aprobar la subscripción de esta entidad."
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Nodo ID"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Dirección del subscriptor"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "¿Deseas permitir a este JabberID que se subscriba a este nodo PubSub?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Enviar contenidos junto con las notificaciones de eventos"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Entregar notificaciones de eventos"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptores cuando cambia la configuración del nodo"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptores cuando el nodo se borra"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptores cuando los elementos se borran del nodo"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Persistir elementos al almacenar"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Un nombre sencillo para el nodo"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Máximo # de elementos que persisten"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Permitir subscripciones"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Especifica el modelo de acceso"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Grupos de contactos que pueden suscribirse"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Especificar el modelo del publicante"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Especifica el modelo de acceso"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Borra todos los elementos cuando el publicador relevante se desconecta"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Especifica el tipo del mensaje de evento"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Máximo tamaño del contenido en bytes"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Cuando enviar el último elemento publicado"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Solo enviar notificaciones a los usuarios disponibles"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Las colecciones a las que un nodo está afiliado"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Escoge un nombre de usuario y contraseña para registrarte en este servidor"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Los usuarios no tienen permitido crear cuentas con tanta rapidez"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Ninguno"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Subscripción"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Pendiente"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grupos"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Validar"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Borrar"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Lista de contactos de "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Mal formato"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Añadir Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Lista de contactos"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Grupos Compartidos"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Añadir nuevo"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Nombre:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Descripción:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Miembros:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Mostrar grupos:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Grupo "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Enviar"
@@ -1209,32 +1230,32 @@ msgstr "Enviar"
msgid "Erlang Jabber Server"
msgstr "Servidor Jabber en Erlang"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Cumpleaños"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Ciudad"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "País"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "correo"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Apellido"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1242,53 +1263,53 @@ msgstr ""
"Rellena el formulario para buscar usuarios Jabber. Añade * al final de un "
"campo para buscar subcadenas."
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Nombre completo"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Segundo nombre"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Nombre"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Nombre de la organización"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Unidad de la organización"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Buscar usuarios en "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Necesitas un cliente con soporte de x:data para poder buscar"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Buscar vCard de usuario"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Módulo vCard para ejabberd"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Buscar resultados por "
@@ -1296,182 +1317,182 @@ msgstr "Buscar resultados por "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Rellena campos para buscar usuarios Jabber que concuerden"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "No autorizado"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web Admin"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administración"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Crudo"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Configuración de las Regla de Acceso ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Dominios de ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Usuarios"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Última actividad de los usuarios"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Periodo: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Último mes"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Último año"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Toda la actividad"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Mostrar Tabla Ordinaria"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Mostrar Tabla Integral"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Estadísticas"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "No encontrado"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Nodo no encontrado"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Dominio"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Usuarios registrados"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Mensajes diferidos"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Última actividad"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Usuarios registrados:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Usuarios conectados:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Conexiones S2S salientes:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S salientes:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Cambiar contraseña"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Usuario "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Recursos conectados:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Contraseña:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Sin datos"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nodos"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nodo "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Puertos de escucha"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Actualizar"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Reiniciar"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Detener"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Error en la llamada RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Tablas de la base de datos en "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Tipo de almacenamiento"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elementos"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Memoria"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Error"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Copia de seguridad de "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1481,144 +1502,144 @@ msgstr ""
"datos Mnesia embebida. Si estás usando ODBC tendrás que hacer también copia "
"de seguridad de tu base de datos SQL."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Guardar copia de seguridad binaria:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "Aceptar"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Restaurar inmediatamente copia de seguridad binaria:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Restaurar copia de seguridad binaria en el siguiente reinicio de ejabberd "
"(requiere menos memoria que si instantánea):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Guardar copia de seguridad en texto plano:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Restaurar copias de seguridad de texto plano inmediatamente:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importar usuarios desde un fichero PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportar datos de todos los usuarios del servidor a ficheros PIEFXIS (XEP-"
"0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportar datos de los usuarios de un dominio a ficheros PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importar usuario de fichero spool de jabberd14:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importar usuarios del directorio spool de jabberd14:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Puertos de escucha en "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Módulos en "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Estadísticas de ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Tiempo desde el inicio:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Tiempo consumido de CPU:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transacciones finalizadas:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transacciones abortadas:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transacciones reiniciadas:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transacciones registradas:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Actualizar "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Plan de actualización"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Módulos modificados"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Script de actualización"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Script de actualización a bajo nivel"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Comprobación de script"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Puerto"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protocolo"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Módulo"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Opciones"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Eliminar"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Iniciar"
diff --git a/src/msgs/fr.msg b/src/msgs/fr.msg
index bd725f931..34fe0b623 100644
--- a/src/msgs/fr.msg
+++ b/src/msgs/fr.msg
@@ -36,6 +36,10 @@
{"Change Password","Modifier le mot de passe"}.
{"Change User Password","Changer le mot de passe de l'utilisateur"}.
{"Chatroom configuration modified","Configuration du salon modifiée"}.
+{"Chatroom is created","Le salon de discussion est créé"}.
+{"Chatroom is destroyed","Le salon de discussion est détruit"}.
+{"Chatroom is started","Le salon de discussion a démarré"}.
+{"Chatroom is stopped","Le salon de discussion est stoppé"}.
{"Chatrooms","Salons de discussion"}.
{"Choose a username and password to register with this server","Choisissez un nom d'utilisateur et un mot de passe pour s'enregistrer sur ce serveur"}.
{"Choose modules to stop","Sélectionnez les modules à arrêter"}.
@@ -246,6 +250,7 @@
{"Protocol","Protocole"}.
{"Publish-Subscribe","Publication-Abonnement"}.
{"PubSub subscriber request","Demande d'abonnement PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Purger tous les items lorsque publieur est hors-ligne"}.
{"Queries to the conference members are not allowed in this room","Les requêtes sur les membres de la conférence ne sont pas autorisé dans ce salon"}.
{"RAM and disc copy","Copie en mémoire vive (RAM) et sur disque"}.
{"RAM copy","Copie en mémoire vive (RAM)"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Arrêter le service"}.
{"~s invites you to the room ~s","~s vous a invité dans la salle de discussion ~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 publisher model","Définir le modèle de publication"}.
{"~s's Offline Messages Queue","~s messages en file d'attente"}.
{"Start","Démarrer"}.
diff --git a/src/msgs/fr.po b/src/msgs/fr.po
index 85909be2a..a06db22a5 100644
--- a/src/msgs/fr.po
+++ b/src/msgs/fr.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: 2.1.0-alpha\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
-"Last-Translator: Nicolas Vérité \n"
+"Last-Translator: Nicolas Vérité \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -13,15 +13,15 @@ msgstr ""
"X-Additional-Translator: Mickaël Rémond\n"
"X-Additional-Translator: Vincent Ricard\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "L'utilisation de STARTTLS est impérative"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Aucune ressource fournie"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Remplacé par une nouvelle connexion"
@@ -50,384 +50,386 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Confirmer la suppression du message du jour ?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Sujet"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Corps du message"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Pas de corps de message pour l'annonce"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Annonces"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Envoyer l'annonce à tous les utilisateurs"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Envoyer une annonce à tous les utilisateurs de tous les domaines"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Envoyer l'annonce à tous les utilisateurs en ligne"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
"Envoyer l'annonce à tous les utilisateurs en ligne sur tous les serveurs"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Définir le message du jour et l'envoyer aux utilisateurs en ligne"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Définir le message du jour pour tous domaines et l'envoyer aux utilisateurs "
"en ligne"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Mise à jour du message du jour (pas d'envoi)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr ""
"Mettre à jour le message du jour sur tous les domaines (ne pas envoyer)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Supprimer le message du jour"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Supprimer le message du jour sur tous les domaines"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Configuration"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Base de données"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Modules de démarrage"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Modules d'arrêt"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Sauvegarde"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Restauration"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Sauvegarder dans un fichier texte"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importer un fichier"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importer une répertoire"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Redémarrer le service"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Arrêter le service"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Ajouter un utilisateur"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Supprimer l'utilisateur"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Terminer la session de l'utilisateur"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Récupérer le mot de passe de l'utilisateur"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Changer le mot de passe de l'utilisateur"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Récupérer la dernière date de connexion de l'utilisateur"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Récupérer les statistiques de l'utilisateur"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Récupérer le nombre d'utilisateurs enregistrés"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Récupérer le nombre d'utilisateurs en ligne"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Droits (ACL)"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Règles d'accès"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Gestion des utilisateurs"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Utilisateurs en ligne"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Tous les utilisateurs"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Connexions s2s sortantes"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Noeuds actifs"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Noeuds arrêtés"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Modules"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Gestion des sauvegardes"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importer des utilisateurs depuis un fichier spool Jabberd 1.4"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "A ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "De ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Configuration des tables de base de données sur "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Choisissez un type de stockage pour les tables"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Copie sur disque uniquement"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Copie en mémoire vive (RAM) et sur disque"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Copie en mémoire vive (RAM)"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Copie distante"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Arrêter les modules sur "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Sélectionnez les modules à arrêter"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Démarrer les modules sur "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Entrez une liste de {Module, [Options]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Liste des modules à démarrer"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Sauvegarde sur fichier sur "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Entrez le chemin vers le fichier de sauvegarde"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Chemin vers le fichier"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Restaurer la sauvegarde depuis le fichier sur "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Enregistrer la sauvegarde dans un fichier texte sur "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Entrez le chemin vers le fichier texte"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importer un utilisateur depuis le fichier sur "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Entrez le chemin vers le fichier spool jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importer des utilisateurs depuis le répertoire sur "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Entrez le chemin vers le répertoire de spool jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Chemin vers le répertoire"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Délais"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Configuration des droits (ACL)"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Droits (ACL)"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Configuration d'accès"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Règles d'accès"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Mot de passe"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Vérification du mot de passe"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Nombre d'utilisateurs enregistrés"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Nombre d'utilisateurs en ligne"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Jamais"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "En ligne"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Dernière connexion"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Taille de la liste de contacts"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Adresses IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Ressources"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administration de "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Action sur l'utilisateur"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Modifier les propriétés"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Supprimer l'utilisateur"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "L'accès au service est refusé"
@@ -538,204 +540,220 @@ msgstr "Codage pour le serveur ~b"
msgid "Server ~b"
msgstr "Serveur ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Seuls les administrateurs du service sont autoriser à envoyer des messages "
"de service"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "La création de salons est interdite par le service"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "La salle de conférence n'existe pas"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Salons de discussion"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Vous avez besoin d'un client supportant x:data pour enregistrer un pseudo"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Enregistrement d'un pseudo sur "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Entrez le pseudo que vous souhaitez enregistrer"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Pseudo"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Le pseudo est enregistré par une autre personne"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Vous devez préciser le champ \"pseudo\" dans le formulaire"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Module MUC ejabberd"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Configuration du salon modifiée"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "rejoint le salon"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "quitte le salon"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "a été banni"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "a été expulsé"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "a été éjecté à cause d'un changement d'autorisation"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "a été éjecté car la salle est désormais réservée aux membres"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "a été éjecté en raison de l'arrêt du système"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "est maintenant connu comme"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " a changé le sujet pour: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Le salon de discussion est créé"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Le salon de discussion est détruit"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Le salon de discussion a démarré"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Le salon de discussion est stoppé"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Lundi"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Mardi"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Mercredi"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Jeudi"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Vendredi"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Samedi"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Dimanche"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Janvier"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Février"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Mars"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Avril"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Mai"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Juin"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Juillet"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Août"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Septembre"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Octobre"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Novembre"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Décembre"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Configuration du salon"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Occupants du salon"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "La limite de trafic a été dépassée"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Ce participant est expulsé du salon pour avoir envoyé un message erroné"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Il n'est pas permis d'envoyer des messages \"normaux\" à la conférence"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Mauvais type de message"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -743,40 +761,36 @@ msgstr ""
"Ce participant est expulsé du salon pour avoir envoyé un message erroné à un "
"autre participant"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr ""
"Il n'est pas permis d'envoyer des messages privés de type \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Le destinataire n'est pas dans la conférence"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Seuls les occupants peuvent envoyer des messages à la conférence"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "L'envoi de messages privés n'est pas autorisé"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr ""
"Seuls les occupants sont autorisés à envoyer des requêtes à la conférence"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Les requêtes sur les membres de la conférence ne sont pas autorisé dans ce "
"salon"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privé"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@@ -784,237 +798,241 @@ msgstr ""
"Seuls les modérateurs et les participants peuvent changer le sujet dans ce "
"salon"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Seuls les modérateurs peuvent changer le sujet dans ce salon"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
"Les visiteurs ne sont pas autorisés à envoyer des messages à tout les "
"occupants"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Ce participant est expulsé du salon pour avoir envoyé une présence erroné"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Les visiteurs ne sont pas autorisés à changer de pseudo dans ce salon"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Le pseudo est déjà utilisé par un autre occupant"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Vous avez été exclus de ce salon"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Vous devez être membre pour accèder à ce salon"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Ce salon n'est pas anonyme"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Un mot de passe est nécessaire pour accèder à ce salon"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Impossible de générer le captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Mot de passe incorrect"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Les droits d'administrateur sont nécessaires"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Les droits de modérateur sont nécessaires"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Le Jabber ID ~s n'est pas valide"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Le pseudo ~s n'existe pas dans ce salon"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Affiliation invalide : ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Role invalide : ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Les droits de propriétaire sont nécessaires"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Configuration pour le salon ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Description :"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Rendre le salon persistant"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Rendre le salon public"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Rendre la liste des participants publique"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Protéger le salon par mot de passe"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Nombre maximum d'occupants"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Pas de limite"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Rendre le Jabber ID réel visible pour"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "modérateurs seulement"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "tout le monde"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Réserver le salon aux membres uniquement"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Rendre le salon modéré"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Les utilisateurs sont par défaut participant"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Autoriser les utilisateurs à changer le sujet"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Autoriser les utilisateurs à envoyer des messages privés"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr ""
"Permettre aux utilisateurs d'envoyer des requêtes aux autres utilisateurs"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Permettre aux utilisateurs d'envoyer des invitations"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Autoriser les visiteurs à envoyer un message d'état avec leur présence"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Autoriser les visiteurs à changer de pseudo"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Protéger le salon par un captcha"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Activer l'archivage"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
"Vous avez besoin d'un client supportant x:data pour configurer le salon"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Nombre d'occupants"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privé"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s vous a invité dans la salle de discussion ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "le mot de passe est"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"La file d'attente de message de votre contact est pleine. Votre message a "
"été détruit."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s messages en file d'attente"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Soumis"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Heure"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "De"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "A"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paquet"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Suppression des éléments sélectionnés"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Messages en attente :"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Effacer tous les messages hors ligne"
@@ -1022,196 +1040,199 @@ msgstr "Effacer tous les messages hors ligne"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publication-Abonnement"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Module Publish-Subscribe d'ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Demande d'abonnement PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Accepter cet abonnement ?"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Identifiant du nœud"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Adresse de l'abonné"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Autoriser ce Jabber ID à s'abonner à ce nœud PubSub"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Inclure le contenu du message avec la notification"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Envoyer les notifications d'événement"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Avertir les abonnés lorsque la configuration du nœud change"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Avertir les abonnés lorsque le nœud est supprimé"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Avertir les abonnés lorsque des éléments sont supprimés sur le nœud"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Stockage persistant des éléments"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Un nom convivial pour le noeud"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Nombre maximum d'éléments à stocker"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Autoriser l'abonnement ?"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Définir le modèle d'accès"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Groupes de liste de contact autorisés à s'abonner"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Définir le modèle de publication"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Définir le modèle d'accès"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Purger tous les items lorsque publieur est hors-ligne"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Définir le type de message d'événement"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Taille maximum pour le contenu du message en octet"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "A quel moment envoyer le dernier élément publié"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Envoyer les notifications uniquement aux utilisateurs disponibles"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Les collections avec lesquelle un nœud est affilié"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Choisissez un nom d'utilisateur et un mot de passe pour s'enregistrer sur ce "
"serveur"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr ""
"Les utilisateurs ne sont pas autorisés à enregistrer des comptes si "
"rapidement"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Aucun"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Abonnement"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "En suspens"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Groupes"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Valider"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Enlever"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Liste de contact de "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Mauvais format"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Ajouter un Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Liste de contacts"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Groupes de liste de contacts partagée"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Ajouter"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Nom :"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Description :"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Membres :"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Groupes affichés :"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Groupe "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Soumettre"
@@ -1219,32 +1240,32 @@ msgstr "Soumettre"
msgid "Erlang Jabber Server"
msgstr "Serveur Jabber Erlang"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Date d'anniversaire"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Ville"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Pays"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Email"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Nom de famille"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1252,54 +1273,54 @@ msgstr ""
"Remplissez le formulaire pour recherche un utilisateur Jabber (Ajouter * à "
"la fin du champ pour chercher n'importe quelle fin de chaîne"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Nom complet"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Autre nom"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Nom"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Nom de l'organisation"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Unité de l'organisation"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Rechercher des utilisateurs "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
"Vous avez besoin d'un client supportant x:data pour faire une recherche"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Recherche dans l'annnuaire"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Module vCard ejabberd"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Résultats de recherche pour "
@@ -1307,182 +1328,182 @@ msgstr "Résultats de recherche pour "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Remplissez les champs pour rechercher un utilisateur Jabber"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Non autorisé"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "Console Web d'administration de ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administration"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Brut"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Configuration des règles d'accès ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Serveurs virtuels d'ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Utilisateurs"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Dernière activité des utilisateurs"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Période :"
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Dernier mois"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Dernière année"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Toute activité"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Montrer la table ordinaire"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Montrer la table intégralement"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statistiques"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Nœud non trouvé"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Noeud non trouvé"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Serveur"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Utilisateurs enregistrés"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Messages en attente"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Dernière Activité"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Utilisateurs enregistrés:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Utilisateurs connectés:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Connexions s2s sortantes:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Serveurs s2s sortants"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Modifier le mot de passe"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Utilisateur "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Ressources connectées:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Mot de passe:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Aucune information disponible"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Noeuds"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Noeud "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Ports ouverts"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Mettre à jour"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Redémarrer"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Arrêter"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Erreur d'appel RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Tables de base de données sur "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Type de stockage"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Éléments"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Mémoire"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Erreur"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Sauvegarde de "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1491,147 +1512,147 @@ msgstr ""
"Ces options sauvegardent uniquement la base de données interne Mnesia. Si "
"vous utilisez le module ODBC vous devez sauvegarde votre base SQL séparément."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Sauvegarde binaire:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Restauration immédiate d'une sauvegarde binaire:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Restauration de la sauvegarde binaire après redémarrage (nécessite moins de "
"mémoire):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Sauvegarde texte:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Restauration immédiate d'une sauvegarde texte:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr ""
"Importer les données utilisateurs à partir d'un fichier PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Exporter les données de tous les utilisateurs du serveur vers un fichier "
"PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Exporter les données utilisateurs d'un hôte vers un fichier PIEFXIS (XEP-"
"0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importer des utilisateurs depuis un fichier spool Jabberd 1.4:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importer des utilisateurs depuis un fichier spool Jabberd 1.4:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Ports ouverts sur "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Modules sur "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statistiques de ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Temps depuis le démarrage :"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Temps CPU :"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transactions commitées :"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transactions annulées :"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transactions redémarrées :"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transactions journalisées :"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Mise à jour "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Plan de mise à jour"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Modules mis à jour"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Script de mise à jour"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Script de mise à jour de bas-niveau"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Validation du script"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Port"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protocole"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Module"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Options"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Supprimer"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Démarrer"
diff --git a/src/msgs/gl.po b/src/msgs/gl.po
index bdfe70670..8421b60b7 100644
--- a/src/msgs/gl.po
+++ b/src/msgs/gl.po
@@ -7,15 +7,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Galician (galego)\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "É obrigatorio usar STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Non se proporcionou recurso"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Substituído por unha nova conexión"
@@ -44,381 +44,383 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Está seguro de quere borrar a mensaxe do dia?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Asunto"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Corpo da mensaxe"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Non se proporcionou corpo de mensaxe para o anuncio"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Anuncios"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Enviar anuncio a todos os usuarios"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Enviar anuncio a todos os usuarios en todos os dominios"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Enviar anuncio a todos los usuarios conectados"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Enviar anuncio a todos os usuarios conectados en todos os dominios"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Pór mensaxe do dia e enviar a todos os usuarios conectados"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Pór mensaxe do día en todos os dominios e enviar aos usuarios conectados"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Actualizar mensaxe do dia, pero non envialo"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Actualizar a mensaxe do día en todos os dominos (pero non envialo)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Borrar mensaxe do dia"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Borrar a mensaxe do día en todos os dominios"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Configuración"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Base de datos"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Iniciar módulos"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Detener módulos"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Gardar copia de seguridade"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Restaurar"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Exportar a ficheiro de texto"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importar ficheiro"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importar directorio"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Reiniciar o servizo"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Deter o servizo"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Engadir usuario"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Borrar usuario"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Pechar sesión de usuario"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Ver contrasinal de usuario"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Cambiar contrasinal de usuario"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Ver data da última conexión de usuario"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Ver estatísticas de usuario"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Ver número de usuarios rexistrados"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Ver número de usuarios conectados"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Listas de Control de Acceso"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Regras de Acceso"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Administración de usuarios"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Usuarios conectados"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Todos os usuarios"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Conexións S2S saíntes"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Nodos funcionando"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Nodos detidos"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Módulos"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Xestión de copia de seguridade"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar usuarios de ficheiros spool de jabberd-1.4"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "A ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "De ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Configuración de táboas da base de datos en "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Selecciona tipo de almacenamento das táboas"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Copia en disco soamente"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Copia en RAM e disco"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Copia en RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Copia remota"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Deter módulos en "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Selecciona módulos a deter"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Iniciar módulos en "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Introduce lista de {Módulo, [Opcións]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Lista de módulos a iniciar"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Copia de seguridade de arquivos en "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Introduce ruta ao ficheiro de copia de seguridade"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Ruta ao ficheiro"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Restaura copia de seguridade desde o ficheiro en "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Exporta copia de seguridade a ficheiro de texto en "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Introduce ruta ao ficheiro de texto"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importa usuario desde ficheiro en "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Introduce ruta ao ficheiro jabberd14 spool"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importar usuarios desde o directorio en "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Introduce a ruta ao directorio de jabberd14 spools"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Ruta ao directorio"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Atraso temporal"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Configuración da Lista de Control de Acceso"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Listas de Control de Acceso"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Configuración de accesos"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Regras de acceso"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Contrasinal"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Verificación da contrasinal"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Número de usuarios rexistrados"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Número de usuarios conectados"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nunca"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Conectado"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Última conexión"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Tamaño da lista de contactos"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Direccións IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Recursos"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administración de "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Acción no usuario"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Editar propiedades"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Eliminar usuario"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Acceso denegado pola política do servizo"
@@ -530,204 +532,224 @@ msgstr "Codificación de servidor ~b"
msgid "Server ~b"
msgstr "Servidor ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Só os administradores do servizo teñen permiso para enviar mensaxes de "
"servizo"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Denegar crear a sala por política do servizo"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "A sala de conferencias non existe"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Salas de charla"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Necesitas un cliente con soporte de x:data para poder rexistrar o alcume"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Rexistro do alcume en "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Introduce o alcume que queiras rexistrar"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Alcume"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "O alcume xa está rexistrado por outra persoa"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Debes encher o campo \"Alcumo\" no formulario"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Módulo de MUC para ejabberd"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Configuración de la sala modificada"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "entra en la sala"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "sae da sala"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "foi bloqueado"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "foi expulsado"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "foi expulsado debido a un cambio de afiliación"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "foi expulsado, porque a sala cambiouse a só-membros"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "foi expulsado por mor dun sistema de peche"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "cámbiase o nome a"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " puxo o asunto: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+#, fuzzy
+msgid "Chatroom is created"
+msgstr "Salas de charla"
+
+#: mod_muc/mod_muc_log.erl:453
+#, fuzzy
+msgid "Chatroom is destroyed"
+msgstr "Salas de charla"
+
+#: mod_muc/mod_muc_log.erl:454
+#, fuzzy
+msgid "Chatroom is started"
+msgstr "Salas de charla"
+
+#: mod_muc/mod_muc_log.erl:455
+#, fuzzy
+msgid "Chatroom is stopped"
+msgstr "Salas de charla"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Luns"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Martes"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Mércores"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Xoves"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Venres"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Sábado"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Domingo"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Xaneiro"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Febreiro"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Marzo"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Abril"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Maio"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Xuño"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Xullo"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Agosto"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Setembro"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Outubro"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Novembro"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Decembro"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Configuración da Sala"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Ocupantes da sala"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Hase exedido o límite de tráfico"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Este participante é expulsado da sala, xa que enviou unha mensaxe de erro"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Impedir o envio de mensaxes privadas á sala"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Tipo de mensaxe incorrecta"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -735,36 +757,32 @@ msgstr ""
"Este participante é expulsado da sala, porque el enviou unha mensaxe de erro "
"a outro participante"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Non está permitido enviar mensaxes privadas do tipo \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "O receptor non está na sala de conferencia"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Só os ocupantes poden enviar mensaxes á sala"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Non está permitido enviar mensaxes privadas"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Só os ocupantes poden enviar solicitudes á sala"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Nesta sala non se permiten solicitudes aos membros da sala"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privado"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@@ -772,235 +790,239 @@ msgstr ""
"Só os moderadores e os participantes se lles permite cambiar o tema nesta "
"sala"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Só os moderadores están autorizados a cambiar o tema nesta sala"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Os visitantes non poden enviar mensaxes a todos os ocupantes"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Este participante é expulsado da sala, porque el enviou un erro de presenza"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"Os visitantes non están autorizados a cambiar os seus That alcumes nesta sala"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Ese alcume que xa está en uso por outro ocupante"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "fuches bloqueado nesta sala"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Necesitas ser membro desta sala para poder entrar"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Sala non anónima"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Necesítase contrasinal para entrar nesta sala"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Non se pode xerar un Captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Contrasinal incorrecta"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Necesítase privilexios de administrador"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Necesítase privilexios de moderador"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s non é válido"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "O alcume ~s non existe na sala"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Afiliación non válida: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Rol non válido: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Requírense privilexios de propietario da sala"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Configuración para a sala ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Descrición da sala"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Sala permanente"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Sala publicamente visible"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "A lista de participantes é pública"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Protexer a sala con contrasinal"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Número máximo de ocupantes"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Sen límite"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Os Jabber ID reais poden velos"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "só moderadores"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "calquera"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Sala só para membros"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Facer sala moderada"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Os usuarios son participantes por defecto"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Permitir aos usuarios cambiar o asunto"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Permitir aos usuarios enviar mensaxes privadas"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Permitir aos usuarios consultar a outros usuarios"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Permitir aos usuarios enviar invitacións"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Permitir aos visitantes enviar texto de estado nas actualizacións depresenza"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Permitir aos visitantes cambiarse o alcume"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Protexer a sala con captcha"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Gardar históricos"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Necesitas un cliente con soporte de x:data para configurar a sala"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Número de ocupantes"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privado"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s invítache á sala ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "a contrasinal é"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"A túa cola de mensaxes diferidas de contactos está chea. A mensaxe "
"descartouse."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Cola de mensaxes diferidas de ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Enviado"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Data"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "De"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Para"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paquete"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminar os seleccionados"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Mensaxes sen conexión:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Borrar Todas as Mensaxes Sen conexión"
@@ -1008,193 +1030,197 @@ msgstr "Borrar Todas as Mensaxes Sen conexión"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publicar-Subscribir"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo de Publicar-Subscribir de ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Petición de subscriptor de PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Decidir se aprobar a subscripción desta entidade."
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Nodo IDE"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Dirección do subscriptor"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Desexas permitir a este JabberID que se subscriba a este nodo PubSub?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Enviar payloads xunto coas notificacións de eventos"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Entregar notificacións de eventos"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptores cando cambia a configuración do nodo"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptores cando o nodo bórrase"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptores cando os elementos bórranse do nodo"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Persistir elementos ao almacenar"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Un nome para o nodo"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Máximo # de elementos que persisten"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Permitir subscripciones"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Especifica o modelo de acceso"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Lista de grupos autorizados a subscribir"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Especificar o modelo do publicante"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#, fuzzy
msgid "Specify the event message type"
msgstr "Especifica o modelo de acceso"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Máximo tamaño do payload en bytes"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Cando enviar o último elemento publicado"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Só enviar notificacións aos usuarios dispoñibles"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "As coleccións coas que un nodo está afiliado"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Escolle un nome de usuario e contrasinal para rexistrarche neste servidor"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Os usuarios non están autorizados a rexistrar contas con tanta rapidez"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Ningún"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Subscripción"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Pendente"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grupos"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Validar"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Borrar"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Lista de contactos de "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Mal formato"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Engadir ID Jabber"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Lista de contactos"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Grupos Compartidos"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Engadir novo"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Nome:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Descrición:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Membros:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Mostrar grupos:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Grupo "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Enviar"
@@ -1202,32 +1228,32 @@ msgstr "Enviar"
msgid "Erlang Jabber Server"
msgstr "Servidor Jabber en Erlang"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Aniversario"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Cidade"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "País"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Email"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Apelido"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1235,53 +1261,53 @@ msgstr ""
"Enche o formulario para buscar usuarios Jabber. Engade * ao final dun campo "
"para buscar subcadenas."
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Nome completo"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Segundo nome"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Nome"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Nome da organización"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Unidade da organización"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Buscar usuarios en "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Necesitas un cliente con soporte de x:data para poder buscar"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Procura de usuario en vCard"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Módulo vCard para ejabberd"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Buscar resultados por "
@@ -1289,182 +1315,182 @@ msgstr "Buscar resultados por "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Rechea campos para buscar usuarios Jabber que concuerden"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Non autorizado"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "Ejabberd Administrador Web"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administración"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Cru"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Configuración das Regra de Acceso ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Hosts virtuais de ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Usuarios"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Última actividade dos usuarios"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Periodo: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Último mes"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Último ano"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Toda a actividade"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Mostrar Táboa Ordinaria"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Mostrar Táboa Integral"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Estatísticas"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Non atopado"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Nodo non atopado"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Host"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Usuarios rexistrados"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Mensaxes diferidas"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Última actividade"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Usuarios rexistrados:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Usuarios conectados:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Conexións S2S saíntes:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S saíntes:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Cambiar contrasinal"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Usuario "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Recursos conectados:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Contrasinal:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Sen datos"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nodos"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nodo "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Portos de escoita"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Actualizar"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Reiniciar"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Deter"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Erro na chamada RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Táboas da base de datos en "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Tipo de almacenamiento"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elementos"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Memoria"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Erro"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Copia de seguridade de "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1474,146 +1500,146 @@ msgstr ""
"Mnesia. Se está a utilizar o módulo de ODBC, tamén necesita unha copia de "
"seguridade da súa base de datos SQL por separado."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Gardar copia de seguridade binaria:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "Aceptar"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Restaurar inmediatamente copia de seguridade binaria:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Restaurar copia de seguridade binaria no seguinte reinicio de ejabberd "
"(require menos memoria que se instantánea):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Gardar copia de seguridade en texto plano:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Restaurar copias de seguridade de texto plano inmediatamente:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importar usuarios desde un fichero PIEFXIS"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportar datos de todos os usuarios do servidor a ficheros PIEFXIS (XEP-"
"0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportar datos de todos os usuarios do servidor a ficheros PIEFXIS (XEP-"
"0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importar usuario de fichero spool de jabberd14:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importar usuarios do directorio spool de jabberd14:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Portos de escoita en "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Módulos en "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Estatísticas de ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Tempo desde o inicio:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Tempo consumido de CPU:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transaccións finalizadas:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transaccións abortadas:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transaccións reiniciadas:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transaccións rexistradas:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Actualizar"
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Plan de actualización"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Módulos Modificados"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Script de actualización"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Script de actualización a baixo nivel"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Comprobación de script"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Porto"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protocolo"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Módulo"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Opcións"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Eliminar"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Iniciar"
diff --git a/src/msgs/it.msg b/src/msgs/it.msg
index 3a26627ab..c92cef786 100644
--- a/src/msgs/it.msg
+++ b/src/msgs/it.msg
@@ -36,6 +36,10 @@
{"Change Password","Modificare la password"}.
{"Change User Password","Cambiare la password dell'utente"}.
{"Chatroom configuration modified","Configurazione della stanza modificata"}.
+{"Chatroom is created","La stanza è creata"}.
+{"Chatroom is destroyed","La stanza è eliminata"}.
+{"Chatroom is started","La stanza è avviata"}.
+{"Chatroom is stopped","La stanza è arrestata"}.
{"Chatrooms","Stanze"}.
{"Choose a username and password to register with this server","Scegliere un nome utente e una password per la registrazione con questo server"}.
{"Choose modules to stop","Selezionare i moduli da arrestare"}.
@@ -246,6 +250,7 @@
{"Protocol","Protocollo"}.
{"Publish-Subscribe","Pubblicazione-Iscrizione"}.
{"PubSub subscriber request","Richiesta di iscrizione per PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Cancella tutti gli elementi quando chi li ha pubblicati non è più online"}.
{"Queries to the conference members are not allowed in this room","In questa stanza non sono consentite query ai membri della conferenza"}.
{"RAM and disc copy","Copia in memoria (RAM) e su disco"}.
{"RAM copy","Copia in memoria (RAM)"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Terminare il servizio"}.
{"~s invites you to the room ~s","~s ti invita nella stanza ~s"}.
{"Specify the access model","Specificare il modello di accesso"}.
+{"Specify the event message type","Specificare il tipo di messaggio di evento"}.
{"Specify the publisher model","Definire il modello di pubblicazione"}.
{"~s's Offline Messages Queue","Coda di ~s messaggi offline"}.
{"Start","Avviare"}.
diff --git a/src/msgs/it.po b/src/msgs/it.po
index 655495448..0d930bab5 100644
--- a/src/msgs/it.po
+++ b/src/msgs/it.po
@@ -9,15 +9,15 @@ msgstr ""
"X-Additional-Translator: Gabriele Stilli \n"
"X-Additional-Translator: Smart2128\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Utilizzo di STARTTLS obbligatorio"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Nessuna risorsa fornita"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Sostituito da una nuova connessione"
@@ -45,384 +45,386 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Si conferma l'eliminazione del messaggio del giorno (MOTD)?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Oggetto"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Corpo del messaggio"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Nessun corpo fornito per il messaggio di annuncio"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Annunci"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Inviare l'annuncio a tutti gli utenti"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Inviare l'annuncio a tutti gli utenti su tutti gli host"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Inviare l'annuncio a tutti gli utenti online"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Inviare l'annuncio a tutti gli utenti online su tutti gli host"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr ""
"Impostare il messaggio del giorno (MOTD) ed inviarlo agli utenti online"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Impostare il messaggio del giorno (MOTD) su tutti gli host e inviarlo agli "
"utenti online"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Aggiornare il messaggio del giorno (MOTD) (non inviarlo)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr ""
"Aggiornare il messaggio del giorno (MOTD) su tutti gli host (non inviarlo)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Eliminare il messaggio del giorno (MOTD)"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Eliminare il messaggio del giorno (MOTD) su tutti gli host"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Configurazione"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Database"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Avviare moduli"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Arrestare moduli"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Salvare"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Recuperare"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Trascrivere su file di testo"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importare un file"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importare una directory"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Riavviare il servizio"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Terminare il servizio"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Aggiungere un utente"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Eliminare l'utente"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Terminare la sessione dell'utente"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Ottenere la password dell'utente"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Cambiare la password dell'utente"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Ottenere la data di ultimo accesso dell'utente"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Ottenere le statistiche dell'utente"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Ottenere il numero di utenti registrati"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Ottenere il numero di utenti online"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Diritti di accesso (ACL)"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Regole di accesso"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Gestione degli utenti"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Utenti online"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Tutti gli utenti"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Connessioni s2s in uscita"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Nodi attivi"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Nodi arrestati"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Moduli"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Gestione dei salvataggi"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importare utenti da file di spool di jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "A ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Da ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Configurazione delle tabelle del database su "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Selezionare una modalità di conservazione delle tabelle"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Copia su disco soltanto"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Copia in memoria (RAM) e su disco"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Copia in memoria (RAM)"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Copia remota"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Arrestare moduli su "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Selezionare i moduli da arrestare"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Avviare moduli su "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Immettere un elenco di {Modulo, [Opzioni]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Elenco dei moduli da avviare"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Salvataggio sul file "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Immettere il percorso del file di salvataggio"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Percorso del file"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Recuperare il salvataggio dal file "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Trascrivere il salvataggio sul file di testo "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Immettere il percorso del file di testo"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importare un utente dal file "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Immettere il percorso del file di spool di jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importare utenti dalla directory "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Immettere il percorso della directory di spool di jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Percorso della directory"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Ritardo"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Configurazione dei diritti di accesso (ACL)"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Diritti di accesso (ACL)"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Configurazione dell'accesso"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Regole di accesso"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID (Jabber ID)"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Password"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Verifica della password"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Numero di utenti registrati"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Numero di utenti online"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Mai"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Online"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Ultimo accesso"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Dimensione della lista dei contatti"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Indirizzi IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Risorse"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Amministrazione di "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Azione sull'utente"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Modificare le proprietà"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Eliminare l'utente"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Accesso impedito dalle politiche del servizio"
@@ -534,203 +536,219 @@ msgstr "Codifica per il server ~b"
msgid "Server ~b"
msgstr "Server ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"L'invio di messaggi di servizio è consentito solamente agli amministratori "
"del servizio"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "La creazione di stanze è impedita dalle politiche del servizio"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "La stanza per conferenze non esiste"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Stanze"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Per registrare un nickname è necessario un client che supportix:data"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registrazione di un nickname su "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Immettere il nickname che si vuole registrare"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Nickname"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Questo nickname è registrato da un'altra persona"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Si deve riempire il campo \"Nickname\" nel modulo"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Modulo MUC per ejabberd"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Configurazione della stanza modificata"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "entra nella stanza"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "esce dalla stanza"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "è stata/o bandita/o"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "è stata/o espulsa/o"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "è stato espulso a causa di un cambiamento di appartenenza"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "è stato espulso per la limitazione della stanza ai soli membri"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "è stato espulso a causa dello spegnimento del sistema"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "è ora conosciuta/o come"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " ha modificato l'oggetto in: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "La stanza è creata"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "La stanza è eliminata"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "La stanza è avviata"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "La stanza è arrestata"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Lunedì"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Martedì"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Mercoledì"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Giovedì"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Venerdì"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Sabato"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Domenica"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Gennaio"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Febbraio"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Marzo"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Aprile"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Maggio"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Giugno"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Luglio"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Agosto"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Settembre"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Ottobre"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Novembre"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Dicembre"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Configurazione della stanza"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Presenti nella stanza"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Limite di traffico superato"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Partecipante espulso dalla stanza perché ha inviato un messaggio non valido"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Non è consentito l'invio di messaggi privati alla conferenza"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Tipo di messaggio non corretto"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -738,36 +756,32 @@ msgstr ""
"Partecipante espulso dalla stanza perché ha inviato un messaggio non valido "
"a un altro partecipante"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Non è consentito l'invio di messaggi privati di tipo \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Il destinatario non è nella stanza per conferenze"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "L'invio di messaggi alla conferenza è consentito soltanto ai presenti"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Non è consentito l'invio di messaggi privati"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "L'invio di query alla conferenza è consentito ai soli presenti"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "In questa stanza non sono consentite query ai membri della conferenza"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privato, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@@ -775,237 +789,241 @@ msgstr ""
"La modifica dell'oggetto di questa stanza è consentita soltanto ai "
"moderatori e ai partecipanti"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr ""
"La modifica dell'oggetto di questa stanza è consentita soltanto ai moderatori"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Non è consentito ai visitatori l'invio di messaggi a tutti i presenti"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Partecipante espulso dalla stanza perché ha inviato una presenza non valido"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Non è consentito ai visitatori cambiare il nickname in questa stanza"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Il nickname è già in uso all'interno della conferenza"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Sei stata/o bandita/o da questa stanza"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Per entrare in questa stanza è necessario essere membro"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Questa stanza non è anonima"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Per entrare in questa stanza è prevista una password"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Impossibile generare un captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Password non esatta"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Necessari i privilegi di amministratore"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Necessari i privilegi di moderatore"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Il Jabber ID ~s non è valido"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Il nickname ~s non esiste nella stanza"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Affiliazione non valida: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Ruolo non valido: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Necessari i privilegi di proprietario"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Configurazione per la stanza ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Descrizione della stanza"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Rendere la stanza persistente"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Rendere la sala visibile al pubblico"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Rendere pubblica la lista dei partecipanti"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Rendere la stanza protetta da password"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Numero massimo di occupanti"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Nessun limite"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Rendere visibile il Jabber ID reale a"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "moderatori soltanto"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "tutti"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Rendere la stanza riservata ai membri"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Rendere la stanza moderata"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Definire per default gli utenti come partecipanti"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Consentire agli utenti di cambiare l'oggetto"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Consentire agli utenti l'invio di messaggi privati"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Consentire agli utenti query verso altri utenti"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Consentire agli utenti l'invio di inviti"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Consentire ai visitatori l'invio di testo sullo stato in aggiornamenti sulla "
"presenza"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Consentire ai visitatori di cambiare il nickname"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Rendere la stanza protetta da captcha"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Abilitare i log"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
"Per la configurazione della stanza è necessario un client che supporti x:data"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Numero di presenti"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privato, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s ti invita nella stanza ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "la password è"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"La coda dei messaggi offline del contatto è piena. Il messaggio è stato "
"scartato"
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Coda di ~s messaggi offline"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Inviato"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Ora"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Da"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "A"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Pacchetto"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminare gli elementi selezionati"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Messaggi offline:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Eliminare tutti i messaggi offline"
@@ -1013,194 +1031,198 @@ msgstr "Eliminare tutti i messaggi offline"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Modulo SOCKS5 Bytestreams per ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Pubblicazione-Iscrizione"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Modulo Pubblicazione/Iscrizione (PubSub) per ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Richiesta di iscrizione per PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Scegliere se approvare l'iscrizione per questa entità"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID del nodo"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Indirizzo dell'iscritta/o"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Consentire a questo Jabber ID l'iscrizione a questo nodo pubsub?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Inviare il contenuto del messaggio con la notifica dell'evento"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Inviare notifiche degli eventi"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificare gli iscritti quando la configurazione del nodo cambia"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Notificare gli iscritti quando il nodo è cancellato"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificare gli iscritti quando sono eliminati degli elementi dal nodo"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Conservazione persistente degli elementi"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Un nome comodo per il nodo"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Numero massimo di elementi da conservare persistentemente"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Consentire iscrizioni?"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Specificare il modello di accesso"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Gruppi roster abilitati alla registrazione"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Definire il modello di pubblicazione"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Specificare il modello di accesso"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+"Cancella tutti gli elementi quando chi li ha pubblicati non è più online"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Specificare il tipo di messaggio di evento"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Dimensione massima del contenuto del messaggio in byte"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Quando inviare l'ultimo elemento pubblicato"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Inviare le notifiche solamente agli utenti disponibili"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Le collezioni a cui è affiliato un nodo"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Scegliere un nome utente e una password per la registrazione con questo "
"server"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Non è consentito agli utenti registrare account così rapidamente"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Nessuno"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Iscrizione"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Pendente"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Gruppi"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Validare"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Eliminare"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Lista dei contatti di "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Formato non valido"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Aggiungere un Jabber ID (Jabber ID)"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Lista dei contatti"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Gruppi di liste di contatti comuni"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Aggiungere nuovo"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Nome:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Descrizione:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Membri:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Gruppi visualizzati:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Gruppo "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Inviare"
@@ -1208,32 +1230,32 @@ msgstr "Inviare"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Compleanno"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Città"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Paese"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "E-mail"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Cognome"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1241,53 +1263,53 @@ msgstr ""
"Riempire il modulo per la ricerca di utenti Jabber corrispondenti ai criteri "
"(Aggiungere * alla fine del campo per la ricerca di una sottostringa"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Nome completo"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Altro nome"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Nome"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Nome dell'organizzazione"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Unità dell'organizzazione"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Cercare utenti in "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Per effettuare ricerche è necessario un client che supporti x:data"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Ricerca di utenti per vCard"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Modulo vCard per ejabberd"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Risultati della ricerca per "
@@ -1296,182 +1318,182 @@ msgid "Fill in fields to search for any matching Jabber User"
msgstr ""
"Riempire i campi per la ricerca di utenti Jabber corrispondenti ai criteri"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Non autorizzato"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "Amministrazione web ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Amministrazione"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Grezzo"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Configurazione delle regole di accesso per ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Host virtuali di ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Utenti"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Ultima attività degli utenti"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Periodo:"
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Ultimo mese"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Ultimo anno"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Tutta l'attività"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Mostrare la tabella normale"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Mostrare la tabella integrale"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statistiche"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Non trovato"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Nodo non trovato"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Host"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Utenti registrati"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Messaggi offline"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Ultima attività"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Utenti registrati:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Utenti connessi:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Connessioni s2s in uscita:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Server s2s in uscita"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Modificare la password"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Utente "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Risorse connesse:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Password:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Nessuna informazione"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nodi"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nodo "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Porte in ascolto"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Aggiornare"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Riavviare"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Arrestare"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Errore di chiamata RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Tabelle del database su "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Tipo di conservazione"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elementi"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Memoria"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Errore"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Salvataggio di "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1481,142 +1503,142 @@ msgstr ""
"interno Mnesia. Se si sta utilizzando il modulo ODBC, è necessario salvare "
"anche il proprio database SQL separatamente."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Conservare un salvataggio binario:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Recuperare un salvataggio binario adesso:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Recuperare un salvataggio binario dopo il prossimo riavvio di ejabberd "
"(necessita di meno memoria):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Conservare un salvataggio come semplice testo:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Recuperare un salvataggio come semplice testo adesso:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importare i dati utenti da un file PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Esportare i dati di tutti gli utenti nel server in file PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr "Esportare i dati degli utenti di un host in file PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importare i dati utente da file di spool di jabberd14:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importare i dati utenti da directory di spool di jabberd14:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Porte in ascolto su "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Moduli su "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statistiche di ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Tempo dall'avvio:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Tempo CPU:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transazioni avvenute:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transazioni abortite:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transazioni riavviate:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transazioni con log:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Aggiornare "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Piano di aggiornamento"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Moduli modificati"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Script di aggiornamento"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Script di aggiornamento di basso livello"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Verifica dello script"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Porta"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protocollo"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Modulo"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Opzioni"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Eliminare"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Avviare"
diff --git a/src/msgs/ja.msg b/src/msgs/ja.msg
index d4936f2de..c5a78b11e 100644
--- a/src/msgs/ja.msg
+++ b/src/msgs/ja.msg
@@ -36,6 +36,10 @@
{"Change Password","パスワードの変更"}.
{"Change User Password","パスワードを変更"}.
{"Chatroom configuration modified","チャットルームの設定を変更しました"}.
+{"Chatroom is created","チャットルームは作られました。"}.
+{"Chatroom is destroyed","チャットルームは削除されました。"}.
+{"Chatroom is started","チャットルームが開始しました。"}.
+{"Chatroom is stopped","チャットルームが停止しました。"}.
{"Chatrooms","チャットルーム"}.
{"Choose a username and password to register with this server","サーバーに登録するユーザー名とパスワードを選択して下さい"}.
{"Choose modules to stop","停止するモジュールの選択"}.
@@ -246,6 +250,7 @@
{"Protocol","プロトコル"}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","PubSub 購読リクエスト"}.
+{"Purge all items when the relevant publisher goes offline","公開者がオフラインになる時に、全てののアイテムを削除"}.
{"Queries to the conference members are not allowed in this room","このチャットルームではカンファレンスメンバーへのクエリーは禁止されています"}.
{"RAM and disc copy","RAM, ディスクコピー"}.
{"RAM copy","RAMコピー"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","サービスを停止"}.
{"~s invites you to the room ~s","~s はあなたをチャットルーム ~s に招待しています"}.
{"Specify the access model","アクセスモデルを設定する"}.
+{"Specify the event message type","イベントメッセージ種別を設定"}.
{"Specify the publisher model","公開モデルを指定する"}.
{"~s's Offline Messages Queue","~s's オフラインメッセージキュー"}.
{"Start Modules at ","モジュールの開始"}.
diff --git a/src/msgs/ja.po b/src/msgs/ja.po
index 2312ac814..1c4e341f2 100644
--- a/src/msgs/ja.po
+++ b/src/msgs/ja.po
@@ -7,15 +7,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Japanese (日本語)\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "STARTTLS を使用"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "リソースが提供されませんでした"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "新しいコネクションによって置き換えられました"
@@ -45,380 +45,382 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "本当にお知らせメッセージを削除しますか?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "件名"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "本文"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "アナウンスメッセージはありませんでした"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "アナウンス"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "アナウンスを全てのユーザーに送信"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "アナウンスを全ホストのユーザーに送信"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "アナウンスを全てのオンラインユーザーに送信"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "全ホストのオンラインユーザへアナウンスを送信"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "お知らせメッセージを設定し、オンラインユーザーに送信する"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr "全ホストのお知らせメッセージを設定し、オンラインユーザーに送信する"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "お知らせメッセージを更新する(送信しない)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "全ホストのお知らせメッセージを更新する"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "お知らせメッセージを削除する"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "全ホストのお知らせメッセージを削除する"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "設定"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "データーベース"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "モジュールの起動"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "モジュールの停止"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "バックアップ"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "リストア"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "テキストファイルに出力"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "ファイルかインポート"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "ディレクトリインポート"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "サービスを再起動"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "サービスを停止"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "ユーザーを追加"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "ユーザを削除"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "エンドユーザーセッション"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "パスワードを取得"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "パスワードを変更"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "最終ログイン時間の取得"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "ユーザー統計の取得"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "登録ユーザー数を取得"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "登録ユーザーを取得"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "アクセスコントロールリスト"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "アクセスルール"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "ユーザー管理"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "オンラインユーザー"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "全ユーザー"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "外向き s2s コネクション"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "起動ノード"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "停止ノード"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "モジュール"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "バックアップ管理"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "jabberd14 Spool ファイルからユーザーをインポート"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "宛先 ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "差出人 ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "データーベーステーブル設定 "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "テーブルのストレージタイプの選択"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "ディスクだけのコピー"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "RAM, ディスクコピー"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "RAMコピー"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "リモートコピー"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "モジュールの停止 "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "停止するモジュールの選択"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "モジュールの開始"
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "{モジュール, [オプション]}のリストを入力して下さい"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "起動モジュールの一覧"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "ファイルにバックアップ"
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "バックアップファイルのパスを入力して下さい"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "ファイルパス"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "ファイルからバックアップをリストア"
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "テキストファイルにバックアップ"
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "テキストファイルのパスを入力して下さい"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "ファイルからユーザーをインポート"
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "jabberd14 spool ファイルのパスを入力して下さい"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "ディレクトリからユーザーをインポート"
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "jabberd14 spool ディレクトリのパスを入力して下さい"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "ディレクトリのパス"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "遅延時間"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "アクセスコントロールリスト設定"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "アクセスコントロールリスト"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "アクセス設定"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "アクセスルール"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "パスワード"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "パスワード(確認)"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "登録ユーザー数"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "オンラインユーザー数"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "無し"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "オンライン"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "最終ログイン"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "名簿サイズ"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IPアドレス"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "リソース"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "管理: "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "ユーザー操作"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "プロパティの編集"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "ユーザーの削除"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "サービスポリシーによってアクセスが禁止されました"
@@ -528,472 +530,488 @@ msgstr "サーバーのエンコーディング ~b"
msgid "Server ~b"
msgstr "サーバー ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "カービス管理者のみがサービスメッセージを送信出来ます"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "サービスポリシーにっよってチャットルームの作成が禁止されています"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "カンファレンスルームは存在しません"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "チャットルーム"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"ニックネームを登録するにはクライアントが x:data をサポートする必要があります"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "ニックネーム登録: "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "登録するニックネームを入力して下さい"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "ニックネーム"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "ニックネームは他の人によって登録されています"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "フォームの\"ニックネーム\"フィールドを入力する必要があります"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC module"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "チャットルームの設定を変更しました"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "チャットルームに参加"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "チャットルームから退出"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "はバンされました"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "はキックされました"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "は提携が変更されたためキックされました"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "はチャットルームのメンバー制限によりキックされました"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "はシステムシャットダウンのためキックされました"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "は名前を変更しました: "
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " は件名を設定しました: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "チャットルームは作られました。"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "チャットルームは削除されました。"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "チャットルームが開始しました。"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "チャットルームが停止しました。"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "月曜日"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "火曜日"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "水曜日"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "木曜日"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "金曜日"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "土曜日"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "日曜日"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "1月"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "2月"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "3月"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "4月"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "5月"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "6月"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "7月"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "8月"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "9月"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "10月"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "11月"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "12月"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "チャットルーム設定"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "居住者の数"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "チャットルームタイトル"
-#: mod_muc/mod_muc_room.erl:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "トラフィックレートの制限を超えました"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr "エラーメッセージを送信したため、この参加者はキックされました"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "カンファレンスルームにプライベートメッセージを送信することは出来ません"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "誤ったメッセージタイプです"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
msgstr ""
"他の参加者にエラーメッセージを送信したため、この参加者はキックされました"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "種別が\"groupchat\" であるプライベートメッセージは許可されていません"
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "受信者がカンファレンスルームに居ません"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "移住者のみがカンファレンスに"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "プライベートメッセージを送信することは許可されませんでした"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "移住者のみがカンファレンスにクエリーを送信出来ます"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"このチャットルームではカンファレンスメンバーへのクエリーは禁止されています"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "プライベート"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
"モデレーターと参加者のみがチャットルームの件名を変更する事を許可されています"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "モデレーターのみがチャットルームの件名を変更出来ます"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "ビジターが移住者ににメッセージを送ることは許可されていません"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr "エラープレゼンスを送信したため、この参加者はキックされました"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"ビジターはこのチャットルームでニックネームを変更することは許可されていません"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "ニックネームは既に他の移住者によって使用されています"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "あなたはチャットルームからバンされています"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "チャットルームに入るにはメンバーでなければなりません"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "このチャットルームは非匿名です"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "チャットルームに入るにはパスワードが必要です"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "チャプタを生成することが出来ません。"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "パスワードが違います"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "管理者権限が必要です"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "モデレーター権限が必要です"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s は無効です"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "ニックネーム ~s はこのチャットルームに居ません"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "無効な提携です: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "無効なロールです: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "オーナー権限が必要です"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "チャットルーム ~s の設定"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "チャットルームの詳細"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "チャットルームを永続化します"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "チャットルームを検索可能にします"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "参加者一覧を公開します"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "チャットルームにパスワードを設定します"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "最大移住者数"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "制限無し"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "本当の Jabber ID を公開する"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "モデレーターのみ"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "誰でも"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "チャットルームをメンバーのみに制限する"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "チャットルームをモデレートする"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "デフォルトのユーザーは参加者にする"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "ユーザーによる件名の変更を許可する"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "ユーザーによるプライベートメッセージの送信を許可する"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "ユーザーによる他のユーザーへの問い合わせを許可する"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "ユーザーによる招待を許可する"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "ビジターがプレゼンス更新のステータス文を送信する事を許可する"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "ビジターがニックネームを変更する事を許可します"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "チャットルームをキャプチャで保護します"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "ロギングを有効にする"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
"チャットルームを設定するにはにはクライアントが x:data をサポートする必要があ"
"ります"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "居住者の数"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "プライベート"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s はあなたをチャットルーム ~s に招待しています"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "パスワードは"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"宛先のオフラインメッセージキューが一杯です。このメッセージは破棄されます。"
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s's オフラインメッセージキュー"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "送信完了"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "時間"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "差出人"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "宛先"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "パケット"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "選択した項目を削除"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "オフラインメッセージ"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "すべてのオフラインメッセージを削除します"
@@ -1001,192 +1019,195 @@ msgstr "すべてのオフラインメッセージを削除します"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe module"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "PubSub 購読リクエスト"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "このエントリを承認するかどうかを選択して下さい"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ノードID"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "購読アドレス"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "この Jabber ID をこの pubsubノードへ購読することを許可しますか?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "イベント通知と同時にペイロードを配送します"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "イベント通知を配送します"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "ノード設定に変更があった時に購読者へ通知します"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "ノードが削除された時に購読者へ通知します"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "アイテムがノードから消された時に購読者へ通知します"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "アイテムをストレージに保存する"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "ノードの為のフレンドリネーム"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "アイテムの最大保存数 #"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "購読を許可するかどうか"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "アクセスモデルを設定する"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "名簿グループは購読を許可しました"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "公開モデルを指定する"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "アクセスモデルを設定する"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "公開者がオフラインになる時に、全てののアイテムを削除"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "イベントメッセージ種別を設定"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "最大ぺイロードサイズ(byte)"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "最後の公開アイテムを送信するタイミングで"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "有効なユーザーにのみ告知を送信する"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "提携されたノードの集合です"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "サーバーに登録するユーザー名とパスワードを選択して下さい"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "早すぎるユーザーアカウント登録は許可されていません"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "無し"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "認可"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "保留"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "グループ"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "検証"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "削除"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "名簿: "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "不正なフォーマット"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Jabber ID の追加"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "名簿"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "共有名簿グループ"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "新規追加"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "名前: "
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "詳細:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "メンバー:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "表示グループ"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "グループ"
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "送信"
@@ -1194,32 +1215,32 @@ msgstr "送信"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "誕生日"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "都道府県"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "国"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "メールアドレス"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "姓"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1227,53 +1248,53 @@ msgstr ""
"フォームを埋めて Jabber User を検索して下さい(* を使用すると部分文字列にマッ"
"チします)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "氏名"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "ミドルネーム"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "名"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "会社名"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "部署名"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "ユーザーの検索: "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "検索を行うためにはクライアントが x:data をサポートする必要があります"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "vCard ユーザー検索"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard module"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "検索結果: "
@@ -1281,182 +1302,182 @@ msgstr "検索結果: "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "項目を埋めて Jabber User を検索して下さい"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "認証されていません"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web 管理"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "管理"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Raw"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s アクセスルール設定"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd ヴァーチャルホスト"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "ユーザー"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "ユーザーの活動履歴"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "期間: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "先月"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "去年"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "全て"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Ordinaryテーブルを表示"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Integralテーブルを表示"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "統計"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "見つかりません"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "ノードが見つかりません"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "ホスト"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "登録ユーザー"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "オフラインメッセージ"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "活動履歴"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "登録ユーザー:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "オンラインユーザー:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "外向き s2s コネクション:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "外向き s2s サービス:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "パスワードの変更"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "ユーザー "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "接続リソース:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "パスワード"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "データ無し"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "ノード"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "ノード "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Listenポート"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "更新"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "再起動"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "停止"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "RPC 呼び出しエラー"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "データーベーステーブル: "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "ストレージタイプ"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "要素"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "メモリ"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "エラー"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "バックアップ: "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1466,141 +1487,141 @@ msgstr ""
"とに注意して下さい。もしも ODBCモジュールを使用している場合は SQLデーターベー"
"スのバックアップを別に行う必要があります。"
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "バイナリバックアップの保存"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "直ちにバイナリバックアップからリストア"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr "ejabberd の再起動時にバイナリバックアップからリストア"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "プレーンテキストバックアップの保存"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "直ちにプレーンテキストバックアップからリストア"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "ユーザーデータを PIEFXISファイルからインポート(XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"サーバーにある全てのユーザーデータをPIEFXISファイルにエクスポート(XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr "ホストのユーザーデータをPIEFXISファイルにエクスポート(XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "ユーザーデータを jabberd14 Spool ファイルからインポート:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "ユーザーデータを jabberd14 Spool ディレクトリからインポート:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Listen ポート "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "モジュール "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "~p の統計"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "起動時間"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "CPU時間:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "トランザクションのコミット:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "トランザクションの失敗:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "トランザクションの再起動:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "トランザクションのログ: "
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "更新 "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "更新計画"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "モジュールを変更しました"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "スクリプトの更新"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "低レベル更新スクリプト"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "スクリプトチェック"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "ポート"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "プロトコル"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "モジュール"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "オプション"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "削除"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "開始"
diff --git a/src/msgs/nl.msg b/src/msgs/nl.msg
index 977aa6d1d..7eaa999cd 100644
--- a/src/msgs/nl.msg
+++ b/src/msgs/nl.msg
@@ -25,8 +25,8 @@
{"Announcements","Mededelingen"}.
{"anyone","iedereen"}.
{"A password is required to enter this room","U hebt een wachtwoord nodig om deze chatruimte te kunnen betreden"}.
-{"April","april"}.
-{"August","augustus"}.
+{"April","April"}.
+{"August","Augustus"}.
{"Backup","Backup"}.
{"Backup Management","Backup"}.
{"Backup of ","Backup maken van "}.
@@ -36,6 +36,10 @@
{"Change Password","Wachtwoord wijzigen"}.
{"Change User Password","Verander Gebruikerswachtwoord"}.
{"Chatroom configuration modified","De instellingen van de chatruimte werden veranderd"}.
+{"Chatroom is created","Gespreksruimte gecreëerd"}.
+{"Chatroom is destroyed","Gespreksruimte vernietigd"}.
+{"Chatroom is started","Gespreksruimte gestart"}.
+{"Chatroom is stopped","Gespreksruimte gestopt"}.
{"Chatrooms","Groepsgesprekken"}.
{"Choose a username and password to register with this server","Kies een gebruikersnaam en een wachtwoord om u te registreren op deze server"}.
{"Choose modules to stop","Selecteer de modules die u wilt stoppen"}.
@@ -53,7 +57,7 @@
{"Database","Database"}.
{"Database Tables at ","Databasetabellen van "}.
{"Database Tables Configuration at ","Instellingen van databasetabellen op "}.
-{"December","december"}.
+{"December","December"}.
{"Default users as participants","Gebruikers standaard instellen als deelnemers"}.
{"Delete message of the day","Bericht van de dag verwijderen"}.
{"Delete message of the day on all hosts","Verwijder bericht-van-de-dag op alle hosts"}.
@@ -95,10 +99,10 @@
{"Export data of all users in the server to PIEFXIS files (XEP-0227):","Exporteer data van alle gebruikers in de server naar PIEFXIS-bestanden (XEP-0227):"}.
{"Export data of users in a host to PIEFXIS files (XEP-0227):","Exporteer data van alle gebruikers van een host naar PIEXFIS-bestanden (XEP-0227):"}.
{"Family Name","Achternaam"}.
-{"February","februari"}.
+{"February","Februari"}.
{"Fill in fields to search for any matching Jabber User","Vul de velden in om te zoeken naar Jabber-gebruikers op deze server"}.
{"Fill in the form to search for any matching Jabber User (Add * to the end of field to match substring)","Gebruik de velden om te zoeken (Voeg achteraan het teken * toe om te zoeken naar alles wat met het eerste deel begint.)."}.
-{"Friday","vrijdag"}.
+{"Friday","Vrijdag"}.
{"From ~s","Van ~s"}.
{"From","Van"}.
{"Full Name","Volledige naam"}.
@@ -143,13 +147,13 @@
{"It is not allowed to send private messages to the conference","Er mogen geen privéberichten naar de chatruimte worden verzonden"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","De Jabber ID ~s is ongeldig"}.
-{"January","januari"}.
+{"January","Januari"}.
{"Join IRC channel","Ga IRC kanaal binnen"}.
{"joins the room","betrad de chatruimte"}.
{"Join the IRC channel here.","Ga het IRC kanaal binnen"}.
{"Join the IRC channel in this Jabber ID: ~s","Ga het IRC kanaal van deze Jabber ID binnen: ~s"}.
-{"July","juli"}.
-{"June","juni"}.
+{"July","Juli"}.
+{"June","Juni"}.
{"Last Activity","Laatste activiteit"}.
{"Last login","Laatste Aanmelding"}.
{"Last month","Afgelopen maand"}.
@@ -166,11 +170,11 @@
{"Make room password protected","Chatruimte beveiligen met een wachtwoord"}.
{"Make room persistent","Chatruimte blijvend maken"}.
{"Make room public searchable","Chatruimte doorzoekbaar maken"}.
-{"March","maart"}.
+{"March","Maart"}.
{"Maximum Number of Occupants","Maximum aantal aanwezigen"}.
{"Max # of items to persist","Maximum aantal in het geheugen te bewaren items"}.
{"Max payload size in bytes","Maximumgrootte van bericht in bytes"}.
-{"May","mei"}.
+{"May","Mei"}.
{"Members:","Groepsleden:"}.
{"Membership is required to enter this room","U moet lid zijn om deze chatruimte te kunnen betreden"}.
{"Memory","Geheugen"}.
@@ -182,7 +186,7 @@
{"Module","Module"}.
{"Modules at ","Modules op "}.
{"Modules","Modules"}.
-{"Monday","maandag"}.
+{"Monday","Maandag"}.
{"Name:","Naam:"}.
{"Name","Naam"}.
{"Never","Nooit"}.
@@ -202,11 +206,11 @@
{"Notify subscribers when items are removed from the node","Abonnees informeren wanneer items verwijderd worden uit de node"}.
{"Notify subscribers when the node configuration changes","Abonnees informeren wanneer de instellingen van de node veranderen"}.
{"Notify subscribers when the node is deleted","Abonnees informeren wanneer de node verwijderd word"}.
-{"November","november"}.
+{"November","November"}.
{"Number of occupants","Aantal aanwezigen"}.
{"Number of online users","Aantal Aanwezige Gebruikers"}.
{"Number of registered users","Aantal Geregistreerde Gebruikers"}.
-{"October","oktober"}.
+{"October","Oktober"}.
{"Offline Messages:","Offline berichten:"}.
{"Offline Messages","Offline berichten"}.
{"OK","OK"}.
@@ -246,6 +250,7 @@
{"Protocol","Protocol"}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","PubSub abonnee verzoek"}.
+{"Purge all items when the relevant publisher goes offline","Verwijder alle items wanneer de gerelateerde publiceerder offline gaat"}.
{"Queries to the conference members are not allowed in this room","Er mogen geen verzoeken verzenden worden naar deelnemers in deze chatruimte"}.
{"RAM and disc copy","RAM en harde schijf"}.
{"RAM copy","RAM"}.
@@ -280,7 +285,7 @@
{"RPC Call Error","RPC-oproepfout"}.
{"Running Nodes","Draaiende nodes"}.
{"~s access rule configuration","Access rules op ~s"}.
-{"Saturday","zaterdag"}.
+{"Saturday","Zaterdag"}.
{"Script check","Controle van script"}.
{"Search Results for ","Zoekresultaten voor "}.
{"Search users in ","Gebruikers zoeken in "}.
@@ -288,7 +293,7 @@
{"Send announcement to all online users on all hosts","Mededeling verzenden naar alle online gebruikers op alle virtuele hosts"}.
{"Send announcement to all users","Mededeling verzenden naar alle gebruikers"}.
{"Send announcement to all users on all hosts","Stuur aankondiging aan alle gebruikers op alle hosts"}.
-{"September","september"}.
+{"September","September"}.
{"Server ~b","Server ~b"}.
{"Set message of the day and send to online users","Bericht van de dag instellen en verzenden naar online gebruikers"}.
{"Set message of the day on all hosts and send to online users","Stel bericht-van-de-dag in op alle hosts en stuur naar aanwezige gebruikers"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Stop Service"}.
{"~s invites you to the room ~s","~s nodigt je uit voor het groepsgesprek ~s"}.
{"Specify the access model","Geef toegangsmodel"}.
+{"Specify the event message type","Geef type van eventbericht"}.
{"Specify the publisher model","Publicatietype opgeven"}.
{"~s's Offline Messages Queue","offline berichten van ~s"}.
{"Start Modules at ","Modules starten op "}.
@@ -317,17 +323,17 @@
{"Submit","Verzenden"}.
{"Subscriber Address","Abonnee Adres"}.
{"Subscription","Inschrijving"}.
-{"Sunday","zondag"}.
+{"Sunday","Zondag"}.
{"That nickname is already in use by another occupant","Deze bijnaam is al in gebruik door een andere aanwezige"}.
{"That nickname is registered by another person","Deze bijnaam is al geregistreerd door iemand anders"}.
-{"The captcha is valid.","De geautomatiseerde Turing test is geslaagd."}.
+{"The captcha is valid.","De geautomatiseerde Turing-test is geslaagd."}.
{"The collections with which a node is affiliated","De collecties waar een node mee is gerelateerd"}.
{"the password is","het wachtwoord is"}.
{"This participant is kicked from the room because he sent an error message","Deze deelnemer wordt weggestuurd vanwege het sturen van een foutmeldingsbericht"}.
{"This participant is kicked from the room because he sent an error message to another participant","Deze deelnemer wordt weggestuurd vanwege het sturen van een foutmeldingsbericht aan een andere deelnemer"}.
{"This participant is kicked from the room because he sent an error presence","Deze deelnemer wordt weggestuurd vanwege het sturen van een foutmelding-aanwezigheid"}.
{"This room is not anonymous","Deze chatruimte is niet anoniem"}.
-{"Thursday","donderdag"}.
+{"Thursday","Donderdag"}.
{"Time delay","Vertraging"}.
{"Time","Tijd"}.
{"To","Aan"}.
@@ -337,7 +343,7 @@
{"Transactions Committed:","Bevestigde transacties:"}.
{"Transactions Logged:","Gelogde transacties:"}.
{"Transactions Restarted:","Herstarte transacties:"}.
-{"Tuesday","dinsdag"}.
+{"Tuesday","Dinsdag"}.
{"Unable to generate a captcha","Het generen van een gautomatiseerde Turing test is mislukt"}.
{"Unauthorized","Niet geautoriseerd"}.
{"Update","Bijwerken"}.
@@ -358,7 +364,7 @@
{"vCard User Search","Gebruikers zoeken"}.
{"Visitors are not allowed to change their nicknames in this room","Het is bezoekers niet toegestaan hun naam te veranderen in dit kanaal"}.
{"Visitors are not allowed to send messages to all occupants","Bezoekers mogen geen berichten verzenden naar alle aanwezigen"}.
-{"Wednesday","woensdag"}.
+{"Wednesday","Woensdag"}.
{"When to send the last published item","Wanneer het laatst gepubliceerde item verzonden moet worden"}.
{"Whether to allow subscriptions","Abonnementsaanvraag toestaan"}.
{"You have been banned from this room","U werd verbannen uit deze chatruimte"}.
diff --git a/src/msgs/nl.po b/src/msgs/nl.po
index f0ff6db42..a79a8ab52 100644
--- a/src/msgs/nl.po
+++ b/src/msgs/nl.po
@@ -1,22 +1,25 @@
msgid ""
msgstr ""
"Project-Id-Version: 2.1.0-alpha\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
"Last-Translator: Andreas van Cranenburgh \n"
+"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Dutch (nederlands)\n"
"X-Additional-Translator: Sander Devrieze\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Gebruik van STARTTLS is vereist"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Geen bron opgegeven"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Vervangen door een nieuwe verbinding"
@@ -31,7 +34,7 @@ msgstr ""
#: ejabberd_captcha.erl:235
msgid "The captcha is valid."
-msgstr "De geautomatiseerde Turing test is geslaagd."
+msgstr "De geautomatiseerde Turing-test is geslaagd."
#: mod_adhoc.erl:95 mod_adhoc.erl:125 mod_adhoc.erl:143 mod_adhoc.erl:161
msgid "Commands"
@@ -45,382 +48,384 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Wilt u het bericht van de dag verwijderen?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Onderwerp"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Bericht"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "De mededeling bevat geen bericht"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Mededelingen"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Mededeling verzenden naar alle gebruikers"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Stuur aankondiging aan alle gebruikers op alle hosts"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Mededeling verzenden naar alle online gebruikers"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
"Mededeling verzenden naar alle online gebruikers op alle virtuele hosts"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Bericht van de dag instellen en verzenden naar online gebruikers"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Stel bericht-van-de-dag in op alle hosts en stuur naar aanwezige gebruikers"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Bericht van de dag bijwerken (niet verzenden)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Verander bericht-van-de-dag op alle hosts (niet versturen)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Bericht van de dag verwijderen"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Verwijder bericht-van-de-dag op alle hosts"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Instellingen"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Database"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Modules starten"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Modules stoppen"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Backup"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Binaire backup direct herstellen"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Backup naar een tekstbestand schrijven"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Bestand importeren"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Directory importeren"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Herstart Service"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Stop Service"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Gebruiker toevoegen"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Verwijder Gebruiker"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Verwijder Gebruikers-sessie"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Gebruikerswachtwoord Opvragen"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Verander Gebruikerswachtwoord"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Tijd van Laatste Aanmelding Opvragen"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Gebruikers-statistieken Opvragen"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Aantal Geregistreerde Gebruikers Opvragen"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Aantal Aanwezige Gebruikers Opvragen"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Access control lists"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Access rules"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Gebruikersbeheer"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Online gebruikers"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Alle gebruikers"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Uitgaande s2s-verbindingen"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Draaiende nodes"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Gestopte nodes"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Modules"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Backup"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importeer gebruikers via spool-bestanden van jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Naar ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Van ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Instellingen van databasetabellen op "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Opslagmethode voor tabellen kiezen"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Harde schijf"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "RAM en harde schijf"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Op andere nodes in de cluster"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Modules stoppen op "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Selecteer de modules die u wilt stoppen"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Modules starten op "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Voer lijst met op te starten modules als volgt in: {Module, [Opties]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Lijst met op te starten modules"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Binaire backup maken op "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Voer pad naar backupbestand in"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Pad naar bestand"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Binaire backup direct herstellen op "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Backup naar een tekstbestand schrijven op "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Voer pad naar backupbestand in"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importeer gebruiker via bestand op "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Voer pad naar jabberd14-spool-bestand in"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Gebruikers importeren vanaf directory op "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Voer pad naar jabberd14-spool-directory in"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Pad naar directory"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Vertraging"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Instellingen van access control lists"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Access control lists"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Toegangsinstellingen"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Access rules"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Wachtwoord"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Wachtwoord Bevestiging"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Aantal Geregistreerde Gebruikers"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Aantal Aanwezige Gebruikers"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nooit"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Online"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Laatste Aanmelding"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Contactlijst Groote"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP-adres"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Bronnen"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Beheer van "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Actie op gebruiker"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Eigenschappen bewerken"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Gebruiker verwijderen"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "De toegang werd geweigerd door het beleid van deze dienst"
@@ -532,209 +537,225 @@ msgstr "Karakterset voor server ~b"
msgid "Server ~b"
msgstr "Server ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Alleen beheerders van deze dienst mogen mededelingen verzenden naar alle "
"chatruimtes"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr ""
"De aanmaak van de chatruimte is verhinderd door de instellingen van deze "
"server"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "De chatruimte bestaat niet"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Groepsgesprekken"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"U hebt een client nodig die x:data ondersteunt om een bijnaam te registreren"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registratie van een bijnaam op "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Voer de bijnaam in die u wilt registreren"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Bijnaam"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Deze bijnaam is al geregistreerd door iemand anders"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "U moet het veld \"bijnaam\" invullen"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd's MUC module"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "De instellingen van de chatruimte werden veranderd"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "betrad de chatruimte"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "verliet de chatruimte"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "werd verbannen"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "werd gekicked"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "is weggestuurd vanwege een affiliatieverandering"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr ""
"is weggestuurd omdat de chatruimte vanaf heden alleen toegankelijk is voor "
"leden"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "is weggestuurd omdat het systeem gestopt wordt"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "heet nu"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " veranderde het onderwerp in: "
-#: mod_muc/mod_muc_log.erl:448
-msgid "Monday"
-msgstr "maandag"
-
-#: mod_muc/mod_muc_log.erl:449
-msgid "Tuesday"
-msgstr "dinsdag"
-
-#: mod_muc/mod_muc_log.erl:450
-msgid "Wednesday"
-msgstr "woensdag"
-
-#: mod_muc/mod_muc_log.erl:451
-msgid "Thursday"
-msgstr "donderdag"
-
#: mod_muc/mod_muc_log.erl:452
-msgid "Friday"
-msgstr "vrijdag"
+msgid "Chatroom is created"
+msgstr "Gespreksruimte gecreëerd"
#: mod_muc/mod_muc_log.erl:453
-msgid "Saturday"
-msgstr "zaterdag"
+msgid "Chatroom is destroyed"
+msgstr "Gespreksruimte vernietigd"
#: mod_muc/mod_muc_log.erl:454
-msgid "Sunday"
-msgstr "zondag"
+msgid "Chatroom is started"
+msgstr "Gespreksruimte gestart"
-#: mod_muc/mod_muc_log.erl:458
-msgid "January"
-msgstr "januari"
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Gespreksruimte gestopt"
#: mod_muc/mod_muc_log.erl:459
-msgid "February"
-msgstr "februari"
+msgid "Monday"
+msgstr "Maandag"
#: mod_muc/mod_muc_log.erl:460
-msgid "March"
-msgstr "maart"
+msgid "Tuesday"
+msgstr "Dinsdag"
#: mod_muc/mod_muc_log.erl:461
-msgid "April"
-msgstr "april"
+msgid "Wednesday"
+msgstr "Woensdag"
#: mod_muc/mod_muc_log.erl:462
-msgid "May"
-msgstr "mei"
+msgid "Thursday"
+msgstr "Donderdag"
#: mod_muc/mod_muc_log.erl:463
-msgid "June"
-msgstr "juni"
+msgid "Friday"
+msgstr "Vrijdag"
#: mod_muc/mod_muc_log.erl:464
-msgid "July"
-msgstr "juli"
+msgid "Saturday"
+msgstr "Zaterdag"
#: mod_muc/mod_muc_log.erl:465
-msgid "August"
-msgstr "augustus"
-
-#: mod_muc/mod_muc_log.erl:466
-msgid "September"
-msgstr "september"
-
-#: mod_muc/mod_muc_log.erl:467
-msgid "October"
-msgstr "oktober"
-
-#: mod_muc/mod_muc_log.erl:468
-msgid "November"
-msgstr "november"
+msgid "Sunday"
+msgstr "Zondag"
#: mod_muc/mod_muc_log.erl:469
-msgid "December"
-msgstr "december"
+msgid "January"
+msgstr "Januari"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:470
+msgid "February"
+msgstr "Februari"
+
+#: mod_muc/mod_muc_log.erl:471
+msgid "March"
+msgstr "Maart"
+
+#: mod_muc/mod_muc_log.erl:472
+msgid "April"
+msgstr "April"
+
+#: mod_muc/mod_muc_log.erl:473
+msgid "May"
+msgstr "Mei"
+
+#: mod_muc/mod_muc_log.erl:474
+msgid "June"
+msgstr "Juni"
+
+#: mod_muc/mod_muc_log.erl:475
+msgid "July"
+msgstr "Juli"
+
+#: mod_muc/mod_muc_log.erl:476
+msgid "August"
+msgstr "Augustus"
+
+#: mod_muc/mod_muc_log.erl:477
+msgid "September"
+msgstr "September"
+
+#: mod_muc/mod_muc_log.erl:478
+msgid "October"
+msgstr "Oktober"
+
+#: mod_muc/mod_muc_log.erl:479
+msgid "November"
+msgstr "November"
+
+#: mod_muc/mod_muc_log.erl:480
+msgid "December"
+msgstr "December"
+
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Instellingen van de chatruimte"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Aantal aanwezigen"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Dataverkeerslimiet overschreden"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Deze deelnemer wordt weggestuurd vanwege het sturen van een "
"foutmeldingsbericht"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Er mogen geen privéberichten naar de chatruimte worden verzonden"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Onjuist berichttype"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -742,38 +763,34 @@ msgstr ""
"Deze deelnemer wordt weggestuurd vanwege het sturen van een "
"foutmeldingsbericht aan een andere deelnemer"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr ""
"Er mogen geen privéberichten van het type \"groupchat\" worden verzonden"
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "De ontvanger is niet in de chatruimte"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Alleen aanwezigen mogen berichten naar de chatruimte verzenden"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Het is niet toegestaan priveberichten te sturen"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Alleen aanwezigen mogen verzoeken verzenden naar de chatruimte"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Er mogen geen verzoeken verzenden worden naar deelnemers in deze chatruimte"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privé, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@@ -781,236 +798,240 @@ msgstr ""
"Alleen moderators en deelnemers mogen het onderwerp van deze chatruimte "
"veranderen"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Alleen moderators mogen het onderwerp van deze chatruimte veranderen"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Bezoekers mogen geen berichten verzenden naar alle aanwezigen"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Deze deelnemer wordt weggestuurd vanwege het sturen van een foutmelding-"
"aanwezigheid"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Het is bezoekers niet toegestaan hun naam te veranderen in dit kanaal"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Deze bijnaam is al in gebruik door een andere aanwezige"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "U werd verbannen uit deze chatruimte"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "U moet lid zijn om deze chatruimte te kunnen betreden"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Deze chatruimte is niet anoniem"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "U hebt een wachtwoord nodig om deze chatruimte te kunnen betreden"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Het generen van een gautomatiseerde Turing test is mislukt"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Foutief wachtwoord"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "U hebt beheerdersprivileges nodig"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "U hebt moderatorprivileges nodig"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "De Jabber ID ~s is ongeldig"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "De bijnaam ~s bestaat niet in deze chatruimte"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Ongeldige affiliatie: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Ongeldige rol: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "U hebt eigenaarsprivileges nodig"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Instellingen van chatruimte ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Beschrijving"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Chatruimte blijvend maken"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Chatruimte doorzoekbaar maken"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Deelnemerslijst publiek maken"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Chatruimte beveiligen met een wachtwoord"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Maximum aantal aanwezigen"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Geen limiet"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Jabber ID's kunnen achterhaald worden door"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "moderators"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "iedereen"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Chatruimte enkel toegankelijk maken voor leden"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Chatruimte gemodereerd maken"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Gebruikers standaard instellen als deelnemers"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Sta gebruikers toe het onderwerp te veranderen"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Gebruikers mogen privéberichten verzenden"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Gebruikers mogen naar andere gebruikers verzoeken verzenden"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Gebruikers mogen uitnodigingen verzenden"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Sta bezoekers toe hun statusbericht in te stellen"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Sta bezoekers toe hun naam te veranderen"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Chatruimte beveiligen met een geautomatiseerde Turing test"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Logs aanzetten"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
"U hebt een client nodig die x:data ondersteunt om deze chatruimte in te "
"stellen"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Aantal aanwezigen"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privé, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s nodigt je uit voor het groepsgesprek ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "het wachtwoord is"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Te veel offline berichten voor dit contactpersoon. Het bericht is niet "
"opgeslagen."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "offline berichten van ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Verzonden"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Tijd"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Van"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Aan"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Pakket"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Geselecteerde verwijderen"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Offline berichten:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Verwijder alle offline berichten"
@@ -1018,193 +1039,196 @@ msgstr "Verwijder alle offline berichten"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe module"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "PubSub abonnee verzoek"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Beslis of dit verzoek tot abonneren zal worden goedgekeurd"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Node ID"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Abonnee Adres"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Deze gebruiker toestaan te abonneren op deze pubsub node?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Berichten bezorgen samen met gebeurtenisnotificaties"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Gebeurtenisbevestigingen Sturen"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Abonnees informeren wanneer de instellingen van de node veranderen"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Abonnees informeren wanneer de node verwijderd word"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Abonnees informeren wanneer items verwijderd worden uit de node"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Items in het geheugen bewaren"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Bijnaam voor deze knoop"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Maximum aantal in het geheugen te bewaren items"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Abonnementsaanvraag toestaan"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Geef toegangsmodel"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Contactlijst-groepen die mogen abonneren"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Publicatietype opgeven"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Geef toegangsmodel"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Verwijder alle items wanneer de gerelateerde publiceerder offline gaat"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Geef type van eventbericht"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Maximumgrootte van bericht in bytes"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Wanneer het laatst gepubliceerde item verzonden moet worden"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Notificaties alleen verzenden naar online gebruikers"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "De collecties waar een node mee is gerelateerd"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Kies een gebruikersnaam en een wachtwoord om u te registreren op deze server"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Het is gebruikers niet toegestaan zo snel achter elkaar te registreren"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Geen"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Inschrijving"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Bezig"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Groepen"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Bevestigen"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Verwijderen"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Roster van "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Slecht formaat"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Jabber ID toevoegen"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Roster"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Gedeelde rostergroepen"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Toevoegen"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Naam:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Beschrijving:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Groepsleden:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Weergegeven groepen:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Groep "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Verzenden"
@@ -1212,32 +1236,32 @@ msgstr "Verzenden"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Geboortedatum"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Plaats"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Land"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "E-mail"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Achternaam"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1245,53 +1269,53 @@ msgstr ""
"Gebruik de velden om te zoeken (Voeg achteraan het teken * toe om te zoeken "
"naar alles wat met het eerste deel begint.)."
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Volledige naam"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Tussennaam"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Naam"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Organisatie"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Afdeling"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Gebruikers zoeken in "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "U hebt een client nodig die x:data ondersteunt om te zoeken"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Gebruikers zoeken"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd's vCard-module"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Zoekresultaten voor "
@@ -1299,182 +1323,182 @@ msgstr "Zoekresultaten voor "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Vul de velden in om te zoeken naar Jabber-gebruikers op deze server"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Niet geautoriseerd"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Webbeheer"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Beheer"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Ruw"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Access rules op ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Virtuele hosts"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Gebruikers"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Laatste activiteit van gebruikers"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Periode: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Afgelopen maand"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Afgelopen jaar"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Alle activiteit"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Deel van tabel laten zien"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Volledige tabel laten zien"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statistieken"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Niet gevonden"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Node niet gevonden"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Host"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Geregistreerde gebruikers"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Offline berichten"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Laatste activiteit"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Geregistreerde gebruikers:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Online gebruikers:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Uitgaande s2s-verbindingen:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Uitgaande s2s-verbindingen:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Wachtwoord wijzigen"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Gebruiker "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Verbonden bronnen:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Wachtwoord:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Geen gegevens"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nodes"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Node "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Openstaande poorten"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Bijwerken"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Herstarten"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Stoppen"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "RPC-oproepfout"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Databasetabellen van "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Opslagmethode"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elementen"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Geheugen"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Fout"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Backup maken van "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1484,144 +1508,144 @@ msgstr ""
"Mnesia. Als U de ODBC module gebruikt dan moeten daarvan afzonderlijke "
"backups gemaakt worden."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Binaire backup maken:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Binaire backup direct herstellen:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Binaire backup herstellen na herstart van ejabberd (vereist minder geheugen):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Backup naar een tekstbestand schrijven:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Backup in een tekstbestand direct herstellen:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importeer gebruikersdata van een PIEFXIS-bestand (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Exporteer data van alle gebruikers in de server naar PIEFXIS-bestanden (XEP-"
"0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Exporteer data van alle gebruikers van een host naar PIEXFIS-bestanden (XEP-"
"0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importeer gebruikersdata via spool-bestanden van jabberd14"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importeer gebruikersdata via spool-bestanden van jabberd14"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Openstaande poorten op "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Modules op "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statistieken van ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Uptime:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Processortijd:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Bevestigde transacties:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Afgebroken transacties:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Herstarte transacties:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Gelogde transacties:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Opwaarderen van "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Plan voor de opwaardering"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Gewijzigde modules"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Script voor de opwaardering"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Lowlevel script voor de opwaardering"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Controle van script"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Poort"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protocol"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Module"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Opties"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Verwijderen"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Starten"
diff --git a/src/msgs/no.msg b/src/msgs/no.msg
index 61567cdb9..98b1a9a5c 100644
--- a/src/msgs/no.msg
+++ b/src/msgs/no.msg
@@ -36,6 +36,10 @@
{"Change Password","Endre Passord"}.
{"Change User Password","Endre Brukers Passord"}.
{"Chatroom configuration modified","Samtalerommets konfigurasjon er endret"}.
+{"Chatroom is created","Samtalerom er opprettet"}.
+{"Chatroom is destroyed","Samtalerom er fjernet"}.
+{"Chatroom is started","Samtalerom er startet"}.
+{"Chatroom is stopped","Samtalerom er stoppet"}.
{"Chatrooms","Samtalerom"}.
{"Choose a username and password to register with this server","Velg et brukernavn og passord for å registrere på "}.
{"Choose modules to stop","Velg hvilke moduler som skal stoppes"}.
@@ -246,6 +250,7 @@
{"Protocol","Protokoll"}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","PubSub abonements forespørsel"}.
+{"Purge all items when the relevant publisher goes offline","Rydd alle elementer når den aktuelle utgiveren logger av"}.
{"Queries to the conference members are not allowed in this room","Forespørsler til konferanse medlemmene er ikke tillat i dette rommet"}.
{"RAM and disc copy","RAM og diskkopi"}.
{"RAM copy","RAM kopi"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Avslutt Tjeneste"}.
{"~s invites you to the room ~s","~s inviterer deg til rommet ~s"}.
{"Specify the access model","Spesifiser aksess modellen"}.
+{"Specify the event message type","Spesifiser hendelsesbeskjed type"}.
{"Specify the publisher model","Angi publiserings modell"}.
{"~s's Offline Messages Queue","~ss kø for Frakoblede Meldinger"}.
{"Start Modules at ","Start Moduler på "}.
diff --git a/src/msgs/no.po b/src/msgs/no.po
index e767d62f0..ecc612ead 100644
--- a/src/msgs/no.po
+++ b/src/msgs/no.po
@@ -7,15 +7,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Norwegian (bokmål)\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Bruk av STARTTLS kreves"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Ingen ressurs angitt"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Erstattet av en ny tilkobling"
@@ -43,380 +43,382 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Virkelig slette melding for dagen?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Tittel"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Meldingskropp"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Ingen meldingskropp gitt for kunngjørings melding"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Kunngjøringer"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Send kunngjøring til alle brukere"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Send kunngjøring til alle brukere på alle maskiner"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Send kunngjøring alle tilkoblede brukere"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Send kunngjøring til alle tilkoblede brukere på alle "
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Angi melding for dagen og send til tilkoblede brukere"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr "Angi melding for dagen på alle maskiner og send til "
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Oppdater melding for dagen (ikke send)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Oppdater melding for dagen på alle maskiner (ikke send)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Slett melding for dagen"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Slett melding for dagen på alle maskiner"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Konfigurasjon"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Database"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Start Moduler"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Stop Moduler"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Sikkerhetskopier"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Gjenopprett"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Dump til Tekstfil"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importer File"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importer Katalog"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Start Tjeneste på Nytt"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Avslutt Tjeneste"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Legg til Bruker"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Slett Bruker"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Avslutt Bruker Sesjon"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Hent Brukers Passord"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Endre Brukers Passord"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Vis Brukers Siste Påloggings Tidspunkt"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Vis Bruker Statistikk"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Vis Antall Registrerte Brukere"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Vis Antall Tilkoblede Brukere"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Tilgangskontrollister"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Tilgangsregler"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Bruker Behandling"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Tilkoblede Brukere"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Alle Brukere"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Utgående s2s Koblinger"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Kjørende Noder"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Stoppede Noder"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Moduler"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Håndtere Sikkerehetskopiering"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importer Brukere Fra jabberd14 Spoolfiler"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Til ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Fra ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Database Tabell Konfigurasjon på "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Velg lagringstype for tabeller"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Kun diskkopi"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "RAM og diskkopi"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "RAM kopi"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Lagres ikke lokalt"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Stopp Moduler på "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Velg hvilke moduler som skal stoppes"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Start Moduler på "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Skriv inn en liste av {Module, [Options]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Liste over moduler som skal startes"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Sikkerhetskopiere til Fil på "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Skriv inn sti til sikkerhetskopi filen"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Sti til Fil"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Gjenopprett fra Sikkerhetsopifil på "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Dump Sikkerhetskopi til Tekstfil på "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Skriv inn sti til tekstfil"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importer Bruker fra Fil på "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Skriv inn sti til jabberd14 spoolfil"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importer Brukere fra Katalog på "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Skriv inn sti til jabberd14 spoolkatalog"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Sti til Katalog"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Tids forsinkelse"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Konfigurasjon for Tilgangskontroll lister"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Tilgangskontroll lister"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Tilgangskonfigurasjon"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Tilgangsregler"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Passord"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Passord Bekreftelse"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Antall registrerte brukere"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Antall tilkoblede brukere"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Aldri"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Tilkoblet"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Siste pålogging"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Kontaktliste størrelse"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP adresser"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Ressurser"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administrasjon av "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Handling på bruker"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Redigere Egenskaper"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Fjern Bruker"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Tilgang nektes på grunn av en tjeneste regel"
@@ -526,202 +528,218 @@ msgstr "Tekstkoding for server ~b"
msgid "Server ~b"
msgstr "Server ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Bare tjeneste administratorer er tilatt å sende tjeneste "
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Oppretting av rom nektes av en tjenste regel"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Konferanserommet finnes ikke"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Samtalerom"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Du trenger en klient som støtter x:data for å "
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registrer Kallenavn på "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Skriv inn kallenavnet du ønsker å registrere"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Kallenavn"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Det kallenavnet er registrert av en annen person"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Du må fylle inn feltet \"Nickname\" i skjemaet"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC modul"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Samtalerommets konfigurasjon er endret"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "kommer inn i rommet"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "forlater rommet"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "har blitt bannlyst"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "har blitt kastet ut"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "har blitt kastet ut på grunn av en tilknytnings endring"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr ""
"har blitt kastet ut på grunn av at rommet er endret til kun-for-medlemmer"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "har blitt kastet ut på grunn av at systemet avslutter"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "er nå kjent som"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " har satt emnet til: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Samtalerom er opprettet"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Samtalerom er fjernet"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Samtalerom er startet"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Samtalerom er stoppet"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "mandag"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "tirsdag"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "onsdag"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "torsdag"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "fredag"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "lørdag"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "søndag"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "januar"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "februar"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "mars"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "april"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "mai"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "juni"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "juli"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "august"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "september"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "oktober"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "november"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "desember"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Rom Konfigurasjon"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Samtalerom Deltakere"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Trafikkmengde grense overskredet"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Denne deltakeren er kastet ut av rommet fordi han sendte en feilmelding"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Det er ikke tillatt å sende private meldinger til "
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Feilaktig meldingstype"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -729,267 +747,267 @@ msgstr ""
"Denne deltakeren er kastet ut av rommet fordi han sendte en feilmelding til "
"en annen deltaker"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Det er ikke tillatt å sende private meldinger med typen "
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Mottakeren er ikke i konferanserommet"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Bare deltakere får sende normale meldinger til konferansen"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Det er ikke tillatt å sende private meldinger"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Bare deltakere er tillatt å sende forespørsler til "
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Forespørsler til konferanse medlemmene er ikke tillat i dette rommet"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privat, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Bare redaktører og deltakere kan endre emnet i dette rommet"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Bare ordstyrer tillates å endre emnet i dette rommet"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besøkende får ikke sende meldinger til alle deltakere"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Denne deltakeren er kastet ut av rommet fordi han sendte feil "
"tilstederværelse"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Besøkende får ikke lov å endre kallenavn i dette "
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Det kallenavnet er allerede i bruk av en annen deltaker"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Du har blitt bannlyst i dette rommet."
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Medlemskap kreves for tilgang til samtalerommet"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Dette rommet er ikke anonymt"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Et passord kreves for tilgang til samtalerommet"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Umulig å generere en captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Feil passord"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Administratorprivilegier kreves"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Redaktørprivilegier kreves"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Ugyldig Jabber ID ~s"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Kallenavn ~s eksisterer ikke i dette rommet"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Ugyldig rang: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Ugyldig rolle: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Eierprivilegier kreves"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Konfigurasjon for rom ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Rom beskrivelse"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Gjør rommet permanent"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Gjør rommet offentlig søkbart"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Gjør deltakerlisten offentlig"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Passordbeskytt rommet"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Maksimum Antall Deltakere"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Ingen grense"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Presenter ekte Jabber IDer til"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "kun for redaktører"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "hvem som helst"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Gjør rommet tilgjengelig kun for medlemmer"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Gjør rommet redaktørstyrt"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Standard brukere som deltakere"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Tillat brukere å endre emne"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Tillat brukere å sende private meldinger"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Tillat brukere å sende forespørsel til andre brukere"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Tillat brukere å sende invitasjoner"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Tillat besøkende å sende status tekst i "
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Tillat besøkende å endre kallenavn"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Gjør rommet captcha beskyttet"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Slå på logging"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Du trenger en klient som støtter x:data for å "
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Antall deltakere"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privat, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s inviterer deg til rommet ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "passordet er"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Kontaktens frakoblede meldingskø er full. Meldingen har blitt kassert."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~ss kø for Frakoblede Meldinger"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Innsendt"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Tid"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Fra"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Til"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Pakke"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Slett valgte"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Frakoblede Meldinger:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Fjern Alle Frakoblede Meldinger"
@@ -997,192 +1015,195 @@ msgstr "Fjern Alle Frakoblede Meldinger"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "PubSub abonements forespørsel"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Velg om du vil godkjenne denne eksistensens abonement"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Node ID"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Abonnements Adresse"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Tillat denne Jabber ID å abonnere på denne pubsub "
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Send innhold sammen med kunngjøringer"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Lever begivenhets kunngjøringer"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Informer abonnenter når node konfigurasjonen endres"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Informer abonnenter når noden slettes"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Informer abonnenter når elementer fjernes fra noden"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Vedvarende elementer til lagring"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Et vennlig navn for noden"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Høyeste # elementer som skal lagres"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Om man skal tillate abonnenter"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Spesifiser aksess modellen"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Kontaktliste grupper som tillates å abonnere"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Angi publiserings modell"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Spesifiser aksess modellen"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Rydd alle elementer når den aktuelle utgiveren logger av"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Spesifiser hendelsesbeskjed type"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Største innholdsstørrelse i byte"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Når skal siste publiserte artikkel sendes"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Send kunngjøringer bare til tilgjengelige brukere"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Samlingene som en node er assosiert med"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Velg et brukernavn og passord for å registrere på "
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Brukere får ikke lov til registrere kontoer så fort"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Ingen"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Abonnement"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Ventende"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grupper"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Bekrefte gyldighet"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Fjern"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Kontaktliste for "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Feil format"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Legg til Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Kontaktliste"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Delte Kontaktgrupper"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Legg til ny"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Navn:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Beskrivelse:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Medlemmer:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Viste grupper:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Gruppe "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Send"
@@ -1190,32 +1211,32 @@ msgstr "Send"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Fødselsdag"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "By"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Land"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Epost"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Etternavn"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1223,53 +1244,53 @@ msgstr ""
"Fyll inn skjemaet for å søke etter Jabber bruker (Legg til * på slutten av "
"feltet for å treffe alle som starter slik)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Fullstendig Navn"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Mellomnavn"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Navn"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Organisasjonsnavn"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Organisasjonsenhet"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Søk etter brukere i "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Du tregner en klient som støtter x:data for å kunne "
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "vCard Bruker Søk"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard modul"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Søke Resultater for "
@@ -1277,182 +1298,182 @@ msgstr "Søke Resultater for "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Fyll inn felt for å søke etter Jabber brukere"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Uautorisert"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web Admin"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administrasjon"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Rå"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "tilgangsregel konfigurasjon for ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "virtuella ejabberd maskiner"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Brukere"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Brukers Siste Aktivitet"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Periode: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Siste måned"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Siste året"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "All aktivitet"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Vis Ordinær Tabell"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Vis Integral Tabell"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statistikk"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Finnes Ikke"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Noden finnes ikke"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Maskin"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Registrerte Brukere"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Frakoblede Meldinger"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Siste Aktivitet"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Registrerte Brukere:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Tilkoblede Brukere:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Utgående s2s Koblinger"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Utgående s2s Tjenere"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Endre Passord"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Bruker "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Tilkoblede Ressurser:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Passord:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Ingen Data"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Noder"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Node "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Lyttende Porter"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Oppdatere"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Starte på nytt"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Stoppe"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "RPC Kall Feil"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Database Tabeller på "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Lagringstype"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elementer"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Minne"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Feil"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Sikkerhetskopi av "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1462,140 +1483,140 @@ msgstr ""
"databasen. Dersom du bruker ODBC modulen må du også ta backup av din SQL "
"database."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Lagre binær sikkerhetskopi:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Gjenopprette binær backup umiddelbart:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Gjenopprette binær backup etter neste ejabberd omstart (krever mindre minne):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Lagre rentekst sikkerhetskopi:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Gjenopprette rentekst sikkerhetskopi umiddelbart:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importer brukeres data fra en PIEFXIS fil (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr "Eksporter data om alle brukere i en server til PIEFXIS filer"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr "Eksporter data om alle brukere i en host til PIEFXIS filer (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importer bruker data fra jabberd14 spoolfiler:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importer brukeres data fra jabberd14 spoolfil katalog:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Lyttende Porter på "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Moduler på "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statistikk for ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Oppetid:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "CPU Tid:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Sendte Transaksjoner:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Avbrutte Transasksjoner:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Omstartede Transasksjoner:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Loggede Transasksjoner:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Oppdater "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Oppdaterings plan"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Endrede moduler"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Oppdaterings skript"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Lavnivå oppdaterings skript"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Skript sjekk"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Port"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protokoll"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Modul"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Alternativer"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Slett"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Start"
diff --git a/src/msgs/pl.msg b/src/msgs/pl.msg
index d75a24052..bee38c0d5 100644
--- a/src/msgs/pl.msg
+++ b/src/msgs/pl.msg
@@ -36,6 +36,10 @@
{"Change Password","Zmień hasło"}.
{"Change User Password","Zmień hasło użytkownika"}.
{"Chatroom configuration modified","Konfiguracja pokoju zmodyfikowana"}.
+{"Chatroom is created","Pokój został stworzony"}.
+{"Chatroom is destroyed","Pokój został usunięty"}.
+{"Chatroom is started","Pokój został uruchomiony"}.
+{"Chatroom is stopped","Pokój został zatrzymany"}.
{"Chatrooms","Pokoje rozmów"}.
{"Choose a username and password to register with this server","Wybierz nazwę użytkownika i hasło aby zarejestrować się na tym serwerze"}.
{"Choose modules to stop","Wybierz moduły do zatrzymania"}.
@@ -246,6 +250,7 @@
{"Protocol","Protokół"}.
{"Publish-Subscribe","PubSub"}.
{"PubSub subscriber request","Żądanie subskrybcji PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Usuń wszystkie elementy w momencie kiedy publikujący rozłączy się"}.
{"Queries to the conference members are not allowed in this room","Informacje o członkach konferencji nie są dostępne w tym pokoju"}.
{"RAM and disc copy","Kopia na dysku i w pamięci RAM"}.
{"RAM copy","Kopia w pamięci RAM"}.
diff --git a/src/msgs/pl.po b/src/msgs/pl.po
index 341f600ec..f92bb6c17 100644
--- a/src/msgs/pl.po
+++ b/src/msgs/pl.po
@@ -14,15 +14,15 @@ msgstr ""
"X-Additional-Translator: Andrzej Smyk\n"
"X-Additional-Translator: Mateusz Gajewski\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Wymagane użycie STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Nie podano zasobu"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Zastąpione przez nowe połączenie"
@@ -50,384 +50,386 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Na pewno usunąć wiadomość dnia?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Temat"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Treść wiadomości"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Brak treści powiadomienia"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Powiadomienia"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Wyślij powiadomienie do wszystkich użytkowników"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Wyślij powiadomienie do wszystkich użytkowników na wszystkich hostach"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Wyślij powiadomienie do wszystkich zalogowanych użytkowników"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
"Wyślij powiadomienie do wszystkich zalogowanych użytkowników na wszystkich "
"hostach"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Wyślij wiadomość dnia do wszystkich zalogowanych użytkowników"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Ustaw wiadomość dnia dla wszystkich hostów i wyślij do zalogowanych "
"uzytkowników"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Aktualizuj wiadomość dnia (bez wysyłania)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Aktualizuj wiadomość dnia na wszystkich hostach (bez wysyłania)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Usuń wiadomość dnia"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Usuń wiadomość dnia ze wszystkich hostów"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Konfiguracja"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Baza danych"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Uruchom moduły"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Zatrzymaj moduły"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Wykonaj kopie"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Przywróć z kopii"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Wykonaj kopie do pliku tekstowego"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importuj plik"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importuj katalog"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Restart usługi"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Wyłącz usługę"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Dodaj użytkownika"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Usuń użytkownika"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Zakończ sesję uzytkownika"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Pobierz hasło użytkownika"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Zmień hasło użytkownika"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Pokaż czas ostatniego zalogowania uzytkownika"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Pobierz statystyki użytkownika"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Pokaż liczbę zarejestrowanych użytkowników"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Pokaż liczbę zalogowanych użytkowników"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Lista dostępowa"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Zasady dostępu"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Zarządzanie użytkownikami"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Użytkownicy zalogowani"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Wszyscy użytkownicy"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Wychodzące połączenia s2s"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Uruchomione węzły"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Zatrzymane węzły"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Moduły"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Zarządzanie kopiami zapasowymi"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importuj użytkowników z plików roboczych serwera jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Do ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Od ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Konfiguracja tabel bazy na "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Wybierz typ bazy dla tablel"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Kopia tylko na dysku"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Kopia na dysku i w pamięci RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Kopia w pamięci RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Kopia zdalna"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Zatrzymaj moduły na "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Wybierz moduły do zatrzymania"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Uruchom moduły na "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Wprowadź listę {Moduł, [Opcje]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Lista modułów do uruchomienia"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Zapisz kopię w pliku na "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Wprowadź scieżkę do pliku kopii zapasowej"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Scieżka do pliku"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Odtwórz bazę danych z kopii zapasowej na "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Zapisz kopię zapasową w pliku tekstowym na "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Wprowadź scieżkę do pliku tekstowego"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importuj użytkownika z pliku na "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Wprowadź ścieżkę do roboczego pliku serwera jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importuj użytkowników z katalogu na "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Wprowadź ścieżkę do roboczego katalogu serwera jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Ścieżka do katalogu"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Opóźnienie"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Konfiguracja listy dostępowej"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Lista dostępowa"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Konfiguracja dostępu"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Reguły dostępu"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Hasło"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Weryfikacja hasła"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Liczba zarejestrowanych użytkowników"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Liczba zalogowanych użytkowników"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nigdy"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Dostępny"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Ostatnie logowanie"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Rozmiar listy kontaktów"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Adresy IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Zasoby"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Zarządzanie "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Wykonaj na użytkowniku"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Edytuj właściwości"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Usuń użytkownika"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Dostęp zabroniony zgodnie z zasadami usługi"
@@ -537,201 +539,217 @@ msgstr "Kodowanie znaków dla serwera ~b"
msgid "Server ~b"
msgstr "Serwer ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Tylko administratorzy mogą wysyłać wiadomości"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Zasady serwera zabraniają tworzyć nowe pokoje"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Pokój konferencyjny nie istnieje"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Pokoje rozmów"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Potrzebujesz klienta obsługującego x:data aby zarejestrować nick"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Rejestracja nazwy użytkownika na "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Wprowadz nazwę użytkownika którego chcesz zarejestrować"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Nazwa użytkownika"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Ta nazwa użytkownika jest już zarejestrowana przez inną osobę"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Musisz wypełnić pole \"Nazwa użytkownika\" w formularzu"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Moduł MUC"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Konfiguracja pokoju zmodyfikowana"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "dołącza do pokoju"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "opuszcza pokój"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "został wykluczony"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "został wyrzucony"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "został wyrzucony z powodu zmiany przynależności"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "został wyrzucony z powodu zmiany pokoju na \"Tylko dla Członków\""
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "został wyrzucony z powodu wyłączenia systemu"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "jest teraz znany jako"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " zmienił temat na: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Pokój został stworzony"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Pokój został usunięty"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Pokój został uruchomiony"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Pokój został zatrzymany"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Poniedziałek"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Wtorek"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Środa"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Czwartek"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Piątek"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Sobota"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Niedziela"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Styczeń"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Luty"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Marzec"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Kwiecień"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Maj"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Czerwiec"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Lipiec"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Sierpień"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Wrzesień"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Październik"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Listopad"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Grudzień"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Konfiguracja pokoju"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Lista uczestników"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Limit transferu przekroczony"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Ten uczestnik został wyrzucony z pokoju ponieważ wysłał komunikat błędu"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Nie wolno wysyłac prywatnych wiadomości na konferencję"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Nieprawidłowy typ wiadomości"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -739,268 +757,268 @@ msgstr ""
"Ten uczestnik został wyrzucony z pokoju ponieważ wysłał komunikat błędu do "
"innego uczestnika"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Nie można wysyłać prywatnych wiadomości typu \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Odbiorcy nie ma w pokoju"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Tylko uczestnicy mogą wysyłać wiadomości na konferencję"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Wysyłanie prywatnych wiadomości jest zabronione"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Tylko uczestnicy mogą wysyłać zapytania do konferencji"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Informacje o członkach konferencji nie są dostępne w tym pokoju"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "prywatny, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Tylko moderatorzy i uczestnicy mogą zmienić temat tego pokoju"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Tylko moderatorzy mogą zmienić temat tego pokoju"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Odwiedzający nie mogą wysyłać wiadomości do wszystkich obecnych"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Ten uczestnik został wyrzucony z pokoju ponieważ jego informacja o statusie "
"zawierała błędy"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Uczestnicy tego pokoju nie mogą zmieniać swoich nicków"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Ta nazwa użytkownika jest używana przez kogoś innego"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Zostałeś wykluczony z tego pokoju"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Musisz być na liście członków tego pokoju aby do niego wejść"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Ten pokój nie jest anonimowy"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Aby wejść do pokoju wymagane jest hasło"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Nie można wygenerować captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Nieprawidłowe hasło"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Wymagane uprawnienia administratora"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Wymagane uprawnienia moderatora"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s jest niepoprawny"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Nie ma nicka ~s w tym pokoju"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Nieprawidłowa przynależność: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Nieprawidłowa rola: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Wymagane uprawnienia właściciela"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Konfiguracja pokoju ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Opis pokoju"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Utwórz pokój na stałe"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Pozwól wyszukiwać pokój"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Upublicznij listę uczestników"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Pokój zabezpieczony hasłem"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Maksymalna liczba uczestników"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Bez limitu"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Prawdziwe Jabber ID widoczne dla"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "tylko moderatorzy"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "wszystkich"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Pokój tylko dla członków"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Pokój moderowany"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Domyślni użytkownicy jako uczestnicy"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Pozwól użytkownikom zmieniać temat"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Pozwól użytkownikom wysyłać prywatne wiadomości"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Pozwól użytkownikom pobierać informacje o innych użytkownikach"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Pozwól użytkownikom wysyłać zaproszenia"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Pozwól uczestnikom na wysyłanie statusów opisowych"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Pozwól uczestnikom na zmianę nicka"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Pokój zabezpieczony captchą"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Włącz logowanie"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Potrzebujesz klienta obsługującego x:data aby skonfigurować pokój"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Liczba uczestników"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "prywatny, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s zaprasza Cię do pokoju ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "hasło to:"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Kolejka wiadomości offline adresata jest pełna. Wiadomość została odrzucona."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Kolejka wiadomości offline użytkownika ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Wprowadzone"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Czas"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Od"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Do"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Pakiet"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Usuń zaznaczone"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Wiadomości offline:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Usuń wszystkie wiadomości typu 'Offline'"
@@ -1008,192 +1026,196 @@ msgstr "Usuń wszystkie wiadomości typu 'Offline'"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Moduł SOCKS5 Bytestreams"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "PubSub"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Moduł Publish-Subscribe"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Żądanie subskrybcji PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Wybierz, czy akceptować subskrypcję tej jednostki"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID węzła"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Adres subskrybenta"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Pozwól temu Jabber ID na zapisanie się do tego węzła PubSub"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Dostarczaj zawartość publikacji wraz z powiadomieniami o zdarzeniach"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Dostarczaj powiadomienia o zdarzeniach"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Informuj subskrybentów o zmianach konfiguracji węzła"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Informuj subskrybentów o usunięciu węzła"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Informuj subskrybentów o usunięciu elementów węzła"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Przechowuj na stałe dane PubSub"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Przyjazna nazwa węzła"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Maksymalna liczba przechowywanych przedmiotów"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Czy pozwolić na subskrypcje"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Określ model dostępu"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Grupy kontaktów uprawnione do subskrypcji"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Określ model publikującego"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Usuń wszystkie elementy w momencie kiedy publikujący rozłączy się"
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
msgid "Specify the event message type"
msgstr "Określ typ wiadomości"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Maksymalna wielkość powiadomienia w bajtach"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Kiedy wysłać ostatnio opublikowaną rzecz"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Dostarczaj powiadomienia tylko dostępnym użytkownikom"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Grupy, do których należy węzeł"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Wybierz nazwę użytkownika i hasło aby zarejestrować się na tym serwerze"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Użytkowncy nie mogą tak szybko rejestrować nowych kont"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Brak"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Subskrypcja"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Oczekuje"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grupy"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Potwierdź"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Usuń"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Lista kontaktów "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Błędny format"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Dodaj Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Lista kontaktów"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Wspólne grupy kontaktów"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Dodaj nowe"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Nazwa:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Opis:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Członkowie:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Wyświetlane grupy:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Grupa "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Wyślij"
@@ -1201,32 +1223,32 @@ msgstr "Wyślij"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Data urodzenia"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Miasto"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Państwo"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Email"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Nazwisko"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1234,53 +1256,53 @@ msgstr ""
"Wypełnij formularz aby wyszukać użytkowników Jabbera (dodaj * na koniec "
"zapytania aby wyszukać po fragmencie)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Pełna nazwa"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Drugie imię"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Imię"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Nazwa organizacji"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Dział"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Wyszukaj użytkowników w "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Potrzebujesz klienta obsługującego x:data aby wyszukiwać"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Wyszukiwanie vCard użytkowników"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Moduł vCard ejabberd"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Wyniki wyszukiwania dla "
@@ -1288,182 +1310,182 @@ msgstr "Wyniki wyszukiwania dla "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Wypełnij pola aby znaleźć pasujących użytkowników Jabbera"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Nie autoryzowano"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd: Panel Administracyjny"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administracja"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Żródło"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s konfiguracja zasad dostępu"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "wirtualne hosty ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Użytkownicy"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Ostatnia aktywność użytkowników"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Przedział czasu: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Miniony miesiąc"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Miniony rok"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Cała aktywność"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Pokaż zwykłą tabelę"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Pokaż tabelę całkowitą"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statystyki"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Nie znaleziono"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Węzeł nie został znaleziony"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Host"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Użytkownicy zarejestrowani"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Wiadomości offline"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Ostatnia aktywność"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Użytkownicy zarejestrowani:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Użytkownicy zalogowani:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Wychodzące połączenia s2s:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Serwery zewnętrzne s2s:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Zmień hasło"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Użytkownik "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Zasoby zalogowane:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Hasło:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Brak danych"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Węzły"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Węzeł "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Porty nasłuchujące"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Aktualizuj"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Uruchom ponownie"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Zatrzymaj"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Błąd żądania RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Tabele bazy na "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Typ bazy"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elementy"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Pamięć"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Błąd"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Kopia zapasowa "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1473,144 +1495,144 @@ msgstr ""
"Jeśli korzystasz z modułu ODBC, musisz wykonać kopie bazy we własnym "
"zakresie."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Zachowaj kopię binarną:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Natychmiast odtwórz kopię binarną:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Odtwórz kopię binarną podczas następnego uruchomienia ejabberd (wymaga mniej "
"zasobów):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Zachowaj kopię w postaci tekstowej:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Natychmiast odtwórz kopię z postaci tekstowej:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importuj dane użytkowników z pliku w formacie PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Eksportuj dane wszystkich użytkowników serwera do plików w formacie PIEFXIS "
"(XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Eksportuj dane użytkowników z hosta do plików w formacie PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importuj dane użytkownika z pliku roboczego serwera jabberd14:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importuj użytkowników z katalogu roboczego serwera jabberd14"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Porty nasłuchujące na "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Moduły na "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statystyki ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Czas pracy:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Czas CPU:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transakcje zakończone:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transakcje anulowane:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transakcje uruchomione ponownie:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transakcje zalogowane:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Uaktualnij "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Plan aktualizacji"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Zmodyfikowane moduły"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Skrypt aktualizacji"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Skrypt aktualizacji niskiego poziomu"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Sprawdź skrypt"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Port"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protokół"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Moduł"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Opcje"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Usuń"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Uruchom"
diff --git a/src/msgs/pt-br.msg b/src/msgs/pt-br.msg
index ad8abb67a..b8bb071e7 100644
--- a/src/msgs/pt-br.msg
+++ b/src/msgs/pt-br.msg
@@ -36,6 +36,10 @@
{"Change Password","Mudar senha"}.
{"Change User Password","Alterar Senha do Usuário"}.
{"Chatroom configuration modified","Configuração da sala de bate-papo modificada"}.
+{"Chatroom is created","A sala de chat está criada"}.
+{"Chatroom is destroyed","A sala de chat está destruída"}.
+{"Chatroom is started","A sala de chat está inciada"}.
+{"Chatroom is stopped","A sala de chat está parada"}.
{"Chatrooms","Salas de Chat"}.
{"Choose a username and password to register with this server","Escolha um nome de usuário e senha para registrar-se neste servidor"}.
{"Choose modules to stop","Selecione módulos a parar"}.
@@ -246,6 +250,7 @@
{"Protocol","Porta"}.
{"Publish-Subscribe","Publicação de Tópico"}.
{"PubSub subscriber request","PubSub requisição de assinante"}.
+{"Purge all items when the relevant publisher goes offline","Descartar todos os itens quando o publicante principal estiver offline"}.
{"Queries to the conference members are not allowed in this room","Nesta sala não se permite consultas aos membros da sala"}.
{"RAM and disc copy","Copia em RAM y disco"}.
{"RAM copy","Copia em RAM"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Parar Serviço"}.
{"~s invites you to the room ~s","~s convidou você para a sala ~s"}.
{"Specify the access model","Especificar os modelos de acesso"}.
+{"Specify the event message type","Especificar o tipo de mensagem para o evento"}.
{"Specify the publisher model","Especificar o modelo do publicante"}.
{"~s's Offline Messages Queue","~s's Fila de Mensagens Offline"}.
{"Start","Iniciar"}.
diff --git a/src/msgs/pt-br.po b/src/msgs/pt-br.po
index f6787cb79..596a6e6fb 100644
--- a/src/msgs/pt-br.po
+++ b/src/msgs/pt-br.po
@@ -11,15 +11,15 @@ msgstr ""
"X-Additional-Translator: Felipe Brito Vasconcellos\n"
"X-Additional-Translator: Victor Hugo dos Santos\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "É obrigatório usar STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Recurso não foi fornecido"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Substituído por nova conexão"
@@ -48,381 +48,383 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Deletar realmente a mensagem do dia?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Assunto"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Corpo da mensagem"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Nenhum corpo de texto fornecido para anunciar mensagem"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Anúncios"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Enviar anúncio a todos os usuários"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Enviar aviso para todos os usuários em todos os hosts"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Enviar anúncio a todos os usuárions online"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Enviar anúncio a todos usuários online em todas as máquinas"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Definir mensagem do dia e enviar a todos usuários online"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Definir mensagem do dia em todos os hosts e enviar para os usuários online"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Atualizar mensagem do dia (não enviar)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Atualizar a mensagem do dia em todos os host (não enviar)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Apagar mensagem do dia"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Apagar a mensagem do dia em todos os hosts"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Configuração"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Base de dados"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Iniciar módulos"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Parar módulos"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Salvar cópia de segurança"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Restaurar"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Exportar para arquivo de texto"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importar arquivo"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importar diretório"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Reiniciar Serviço"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Parar Serviço"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Adicionar usuário"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Deletar Usuário"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Terminar Sessão do Usuário"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Obter Senha do Usuário"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Alterar Senha do Usuário"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Obter a Data do Último Login"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Obter Estatísticas do Usuário"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Obter Número de Usuários Registrados"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Obter Número de Usuários Online"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Listas de Controle de Acesso"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Regras de Aceso"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Gerenciamento de Usuários"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Usuários conectados"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Todos os usuários"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Conexões que partam de s2s"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Nos em execução"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Nos parados"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Módulos"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Gestão de copia de segurança"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar usuários de arquivos jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Para ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "De ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Configuração de Tabelas de Base de dados em "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Selecione o tipo de armazenamento das tabelas"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Copia em disco somente"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Copia em RAM y disco"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Copia em RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Copia remota"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Parar módulos em "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Selecione módulos a parar"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Iniciar módulos em "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Introduza lista de {módulo, [opções]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Listas de módulos para inicializar"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Salvar cópia de segurança para arquivo em "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Introduza o caminho do arquivo de cópia de segurança"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Caminho do arquivo"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Restaura cópia de segurança a partir do arquivo em "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Exporta cópia de segurança para arquivo de texto em "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Introduza caminho para o arquivo de texto"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importar usuário a partir do arquivo em "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Introduza o caminho para o arquivo de spool do jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importar usuários a partir do diretório em "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Introduza o caminho para o diretório de spools do jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Caminho para o diretório"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Intervalo de Tempo"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Configuração da Lista de Controle de Acesso"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Listas de Controle de Acesso"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Configuração de Acesso"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Regras de acesso"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "ID Jabber"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Senha"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Verificação de Senha"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Número de usuários registrados"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Número de usuários online"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nunca"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Conectado"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Último login"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Tamanho da Lista"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Endereços IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Recursos"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administração de "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Ação no usuário"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Editar propriedades"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Remover usuário"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Aceso denegado por la política do serviço"
@@ -535,205 +537,221 @@ msgstr "Codificação para o servidor ~b"
msgid "Server ~b"
msgstr "Servidor ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Apenas administradores possuem permissão para enviar mensagens de serviço"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Se te a denegado criar la sala por política do serviço"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "La sala de conferencias não existe"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Salas de Chat"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Você precisa de um cliente com suporte de x:data para poder registrar o nick"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registro do apelido em "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Introduza o apelido que quer registrar"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Apelido"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "O nick já está registrado por outra pessoa"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Você deve completar o campo \"Apelido\" no formulário"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Módulo de MUC para ejabberd"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Configuração da sala de bate-papo modificada"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "Entrar na sala"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "Sair da sala"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "foi banido"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "foi removido"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "foi desconectado porque por afiliação inválida"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr ""
"foi desconectado porque a política da sala mudou, só membros são permitidos"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "foi desconectado porque o sistema foi desligado"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "é agora conhecido como"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " a posto o assunto: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "A sala de chat está criada"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "A sala de chat está destruída"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "A sala de chat está inciada"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "A sala de chat está parada"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Segunda"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Terça"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Quarta"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Quinta"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Sexta"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Sábado"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Domingo"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Janeiro"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Fevereiro"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Março"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Abril"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Maio"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Junho"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Julho"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Agosto"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Setembro"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Outubro"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Novembro"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Dezembro"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Configuração de salas"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Número de participantes"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Limite de banda excedido"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Este participante foi desconectado da sala de chat por ter enviado uma "
"mensagem de erro."
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Impedir o envio de mensagens privados a la sala"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Tipo de mensagem incorreto"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -741,36 +759,32 @@ msgstr ""
"Este participante foi desconectado da sala de chat por ter enviado uma "
"mensagem de erro para outro usuário."
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "No está permitido enviar mensagens privados do tipo \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "O receptor não está em la sala de conferencia"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Solo os ocupantes podem enviar mensagens a la sala"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Não é permitido enviar mensagens privadas"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Solo os ocupantes podem enviar consultas a la sala"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Nesta sala não se permite consultas aos membros da sala"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privado"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@@ -778,232 +792,236 @@ msgstr ""
"Somente os moderadores e os participamentes podem alterar o assunto desta "
"sala"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Somente os moderadores podem alterar o assunto desta sala"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Os visitantes não podem enviar mensagens a todos os ocupantes"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Este participante foi desconectado da sala de chat por ter enviado uma "
"notificação errônea de presença."
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Nesta sala, os visitantes não pode mudar seus apelidos"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "O apelido (nick) já está sendo utilizado"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "As sido bloqueado em esta sala"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Necessitas ser membro de esta sala para poder entrar"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Essa sala não é anônima"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Se necessita senha para entrar em esta sala"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Impossível gerar um captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Senha incorreta"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Se necessita privilégios de administrador"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Se necessita privilégios de moderador"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s não es válido"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "O nick ~s não existe em la sala"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Afiliação não válida: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Rol não válido: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Se requere privilégios de proprietário da sala"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Configuração para ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Descrição da Sala"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Tornar sala persistente"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Tornar sala pública possível de ser encontrada"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Tornar pública a lista de participantes"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Tornar protegida a senha da sala"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Número máximo de participantes"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Ilimitado"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Tornar o Jabber ID real visível por"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "apenas moderadores"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "qualquer um"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Tornar sala apenas para membros"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Tornar a sala moderada"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Usuários padrões como participantes"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Permitir a usuários modificar o assunto"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Permitir a usuários enviarem mensagens privadas"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Permitir a usuários pesquisar informações sobre os demais"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Permitir a usuários envio de convites"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Permitir atualizações de status aos visitantes"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Permitir mudança de apelido aos visitantes"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Tornar protegida a senha da sala"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Permitir criação de logs"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Necessitas um cliente com suporte de x:data para configurar la sala"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Número de participantes"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privado"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s convidou você para a sala ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "a senha é"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Sua fila de mensagens offline esta cheia. Sua mensagem foi descartada"
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s's Fila de Mensagens Offline"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Submetido"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Fecha"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "De"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Para"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Pacote"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Remover os selecionados"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Mensagens offline"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Remover Todas as Mensagens Offline"
@@ -1011,192 +1029,195 @@ msgstr "Remover Todas as Mensagens Offline"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Modulo ejabberd SOCKS5 Bytestreams"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publicação de Tópico"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo para Publicar Tópicos do ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "PubSub requisição de assinante"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Aprovar esta assinatura."
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID do Tópico"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Enderço dos Assinantes"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Autorizar este Jabber ID para a inscrição neste tópico pubsub ?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Enviar payloads junto com as notificações de eventos"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Entregar as notificações de evento"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscritores quando cambia la configuração do nodo"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscritores quando o nodo se elimine"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscritores quando os elementos se eliminem do nodo"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Persistir elementos ao armazenar"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Um nome familiar para o nó"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Máximo # de elementos que persistem"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Permitir subscrições"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Especificar os modelos de acesso"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Listar grupos autorizados"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Especificar o modelo do publicante"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Especificar os modelos de acesso"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Descartar todos os itens quando o publicante principal estiver offline"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Especificar o tipo de mensagem para o evento"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Máximo tamanho do payload em bytes"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Quando enviar o último tópico publicado"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Solo enviar notificações aos usuários disponíveis"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "As coleções com as quais o nó está relacionado"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Escolha um nome de usuário e senha para registrar-se neste servidor"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Usuários não estão autorizados a registrar contas imediatamente"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Nenhum"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Subscrição"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Pendente"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grupos"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Validar"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Borrar"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Lista de contatos de "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Formato incorreto"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Adicionar ID jabber"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Lista de contatos"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Grupos Shared Roster"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Adicionar novo"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Nome:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Descrição:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Miembros:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Grupos Indicados"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Grupo "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Enviar"
@@ -1204,32 +1225,32 @@ msgstr "Enviar"
msgid "Erlang Jabber Server"
msgstr "Servidor Jabber em Erlang"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Aniversário"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Cidade"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "País"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "e-mail"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Nome de família"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1237,53 +1258,53 @@ msgstr ""
"Preencha o formulário para buscar usuários Jabber. Agrega * ao final de um "
"campo para buscar sub-palavras."
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Nome completo"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Apelido"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Nome"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Nome da organização"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Unidade da organização"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Procurar usuários em "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
+#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Usuário"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Necessitas um cliente com suporte de x:data para poder buscar"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Busca de Usuário vCard"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Módulo vCard para ejabberd"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Resultados de pesquisa para"
@@ -1291,182 +1312,182 @@ msgstr "Resultados de pesquisa para"
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Preencha campos para buscar usuários Jabber que concordem"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Não Autorizado"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web Admin"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administração"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Intocado"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Configuração da Regra de Acesso ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Maquinas virtuais de ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Usuários"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Ultimas atividades dos usuários"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Período: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Último mês"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Último ano"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Toda la atividade"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Mostrar Tabela Ordinária"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Mostrar Tabela Integral"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Estatísticas"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Nào encontrado"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Nó não encontrado"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Máquina"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Usuários Registrados"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Mensagens offline"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Última atividade"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Usuários registrados"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Usuários online"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Conexões que partem de s2s"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Servidores que partem de s2s"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Mudar senha"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Usuário"
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Recursos conectados:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Senha:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Nenhum dado"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nós"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nó"
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Portas escutadas"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Atualizar"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Reiniciar"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Parar"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Erro de chamada RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Tabelas de base de dados em"
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Tipo de armazenamento"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elementos"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Memória"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Erro"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Backup de"
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1476,144 +1497,144 @@ msgstr ""
"você esteja utilizando o modulo ODBC, você precisará fazer backup de sua "
"base de dados SQL separadamente."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Armazenar backup binário:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Restaurar backup binário imediatamente"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Restaurar backup binário após próximo reinicialização do ejabberd (requer "
"menos memória):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Armazenar backup plain text"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Restaurar backup plain text imediatamente:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importar usuários de um arquivo PIEFXIS (XEP-0227): "
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportar dados de todos os usuários no servidor para arquivos PIEFXIS files "
"(XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportar dados dos usuários em um host, para arquivos PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importar usuário de arquivo jabberd14:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importar dados dos usuários a partir da fila jabberd14"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Portas de escuta em "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Módulos em "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Estatísticas de ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Uptime:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Tempo de CPU"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transações:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transações abortadas:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transações restauradas:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transações de log:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Atualizar"
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Plano de Atualização"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Módulos atualizados"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Script de atualização"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Script de atualização low level"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Verificação de Script"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Porta"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Porta"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Módulo"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Opções"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Eliminar"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Iniciar"
diff --git a/src/msgs/pt.po b/src/msgs/pt.po
index fb0ae925f..044c8b770 100644
--- a/src/msgs/pt.po
+++ b/src/msgs/pt.po
@@ -7,15 +7,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Portuguese (português)\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr ""
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Não foi passado nenhum recurso"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr ""
@@ -45,397 +45,399 @@ msgstr "Pendente"
msgid "Pong"
msgstr ""
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr ""
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
#, fuzzy
msgid "Subject"
msgstr "Enviar"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr ""
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr ""
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr ""
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr ""
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr ""
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr ""
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr ""
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr ""
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr ""
-#: mod_announce.erl:651
+#: mod_announce.erl:652
#, fuzzy
msgid "Delete message of the day"
msgstr "Eliminar os seleccionados"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr ""
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Configuração"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr ""
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Iniciar módulos"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Parar módulos"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Guardar cópia de segurança"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Restaurar"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Exportar para ficheiro de texto"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importar ficheiro"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importar directório"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
#, fuzzy
msgid "Restart Service"
msgstr "Reiniciar"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr ""
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Adicionar utilizador"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
#, fuzzy
msgid "Delete User"
msgstr "Eliminar"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr ""
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
#, fuzzy
msgid "Get User Password"
msgstr "Palavra-chave"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
#, fuzzy
msgid "Change User Password"
msgstr "Mudar palavra-chave"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr ""
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
#, fuzzy
msgid "Get User Statistics"
msgstr "Estatísticas"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
#, fuzzy
msgid "Get Number of Registered Users"
msgstr "Utilizadores registados"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
#, fuzzy
msgid "Get Number of Online Users"
msgstr "Utilizadores ligados"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Listas de Controlo de Acesso"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Regras de Acesso"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
#, fuzzy
msgid "User Management"
msgstr "Gestão da BD"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Utilizadores ligados"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Todos os utilizadores"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
#, fuzzy
msgid "Outgoing s2s Connections"
msgstr "Conexões S2S para fora"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Nodos a correr"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Nodos parados"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Módulos"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Gestão de cópias de segurança"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
#, fuzzy
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar utilizadores a partir de ficheiros da spool do jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "A ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "De ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
#, fuzzy
msgid "Database Tables Configuration at "
msgstr "Configuração de tabelas da BD em "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Seleccione o tipo de armazenagem das tabelas"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Cópia apenas em disco"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Cópia em RAM e em disco"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Cópia em RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Cópia remota"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Parar módulos em "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Seleccione os módulos a parar"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Iniciar os módulos em "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Introduza lista de {módulos, [opções]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Lista de módulos a iniciar"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Guardar cópia de segurança para ficheiro em "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Introduza o caminho do ficheiro de cópia de segurança"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Caminho do ficheiro"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Restaura cópia de segurança a partir do ficheiro em "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Exporta cópia de segurança para ficheiro de texto em "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Introduza caminho para o ficheiro de texto"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importar utilizador a partir do ficheiro em "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Introduza o caminho para o ficheiro de spool do jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importar utilizadores a partir do directório em "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Introduza o caminho para o directório de spools do jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Caminho para o directório"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr ""
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Configuração da Lista de Controlo de Acesso"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Listas de Controlo de Acesso"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Configuração de acessos"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Regras de acesso"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr ""
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Palavra-chave"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr ""
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
#, fuzzy
msgid "Number of registered users"
msgstr "Utilizadores registados"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
#, fuzzy
msgid "Number of online users"
msgstr "Utilizadores ligados"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nunca"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Ligado"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr ""
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
#, fuzzy
msgid "Roster size"
msgstr "Lista de contactos"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr ""
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
#, fuzzy
msgid "Resources"
msgstr "Restaurar"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administração de "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Acção no utilizador"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Editar propriedades"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Eliminar utilizador"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Acesso negado pela política de serviço"
@@ -550,501 +552,518 @@ msgstr ""
msgid "Server ~b"
msgstr ""
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Só os administradores do serviço têm permissão para enviar mensagens de "
"serviço"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
#, fuzzy
msgid "Room creation is denied by service policy"
msgstr "Acesso negado pela política de serviço"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "A sala não existe"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr ""
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"É necessário um cliente com suporte de x:data para poder registar a alcunha"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registo da alcunha em "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Introduza a alcunha que quer registar"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Alcunha"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
#, fuzzy
msgid "That nickname is registered by another person"
msgstr "A alcunha já está registada por outra pessoa"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
#, fuzzy
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Deve preencher o campo \"alcunha\" no formulário"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Módulo MUC de ejabberd"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
#, fuzzy
msgid "Chatroom configuration modified"
msgstr "Configuração para "
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr ""
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr ""
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr ""
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr ""
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr ""
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr ""
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr ""
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr ""
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " colocou o tópico: "
-#: mod_muc/mod_muc_log.erl:448
-msgid "Monday"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:449
-msgid "Tuesday"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:450
-msgid "Wednesday"
-msgstr ""
-
-#: mod_muc/mod_muc_log.erl:451
-msgid "Thursday"
-msgstr ""
-
#: mod_muc/mod_muc_log.erl:452
-msgid "Friday"
-msgstr ""
+#, fuzzy
+msgid "Chatroom is created"
+msgstr "Configuração para "
#: mod_muc/mod_muc_log.erl:453
-msgid "Saturday"
+msgid "Chatroom is destroyed"
msgstr ""
#: mod_muc/mod_muc_log.erl:454
-msgid "Sunday"
+msgid "Chatroom is started"
msgstr ""
-#: mod_muc/mod_muc_log.erl:458
-msgid "January"
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
msgstr ""
#: mod_muc/mod_muc_log.erl:459
-msgid "February"
+msgid "Monday"
msgstr ""
#: mod_muc/mod_muc_log.erl:460
-msgid "March"
+msgid "Tuesday"
msgstr ""
#: mod_muc/mod_muc_log.erl:461
-msgid "April"
+msgid "Wednesday"
msgstr ""
#: mod_muc/mod_muc_log.erl:462
-msgid "May"
+msgid "Thursday"
msgstr ""
#: mod_muc/mod_muc_log.erl:463
-msgid "June"
+msgid "Friday"
msgstr ""
#: mod_muc/mod_muc_log.erl:464
-msgid "July"
+msgid "Saturday"
msgstr ""
#: mod_muc/mod_muc_log.erl:465
+msgid "Sunday"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:469
+msgid "January"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:470
+msgid "February"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:471
+msgid "March"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:472
+msgid "April"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:473
+msgid "May"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:474
+msgid "June"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:475
+msgid "July"
+msgstr ""
+
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr ""
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr ""
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr ""
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
#, fuzzy
msgid "November"
msgstr "Nunca"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr ""
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
#, fuzzy
msgid "Room Configuration"
msgstr "Configuração"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr ""
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr ""
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Impedir o envio de mensagens privadas para a sala"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Tipo de mensagem incorrecto"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
msgstr ""
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Não é permitido enviar mensagens privadas do tipo \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "O destinatário não está na sala"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Só os ocupantes podem enviar mensagens para a sala"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
#, fuzzy
msgid "It is not allowed to send private messages"
msgstr "Impedir o envio de mensagens privadas para a sala"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Só os ocupantes podem enviar consultas para a sala"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Nesta sala não são permitidas consultas aos seus membros"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privado"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
#, fuzzy
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Só os moderadores e os participantes podem mudar o tópico desta sala"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Só os moderadores podem mudar o tópico desta sala"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Os visitantes não podem enviar mensagens para todos os ocupantes"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
#, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Só os moderadores podem mudar o tópico desta sala"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "A alcunha já está a ser usado por outro ocupante"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Foi banido desta sala"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
#, fuzzy
msgid "Membership is required to enter this room"
msgstr "É necessário ser membro desta sala para poder entrar"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
#, fuzzy
msgid "This room is not anonymous"
msgstr "Tornar a sala anónima?"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
#, fuzzy
msgid "A password is required to enter this room"
msgstr "É necessária a palavra-chave para poder entrar nesta sala"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Palavra-chave incorrecta"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "São necessários privilégios de administrador"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "São necessários privilégios de moderador"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s não é válido"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "A alcunha ~s não existe na sala"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Afiliação inválida: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Papel inválido: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "São necessários privilégios de dono"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
#, fuzzy
msgid "Configuration of room ~s"
msgstr "Configuração para "
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#, fuzzy
msgid "Room description"
msgstr "Subscrição"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
#, fuzzy
msgid "Make room persistent"
msgstr "Tornar a sala permanente?"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
#, fuzzy
msgid "Make room public searchable"
msgstr "Tornar a sala publicamente visível?"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
#, fuzzy
msgid "Make participants list public"
msgstr "Tornar pública a lista de participantes?"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
#, fuzzy
msgid "Make room password protected"
msgstr "Proteger a sala com palavra-chave?"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
#, fuzzy
msgid "anyone"
msgstr "Nenhum"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
#, fuzzy
msgid "Make room members-only"
msgstr "Tornar a sala exclusiva a membros?"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Tornar a sala moderada"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
#, fuzzy
msgid "Default users as participants"
msgstr "Os utilizadores são membros por omissão?"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
#, fuzzy
msgid "Allow users to change the subject"
msgstr "Permitir aos utilizadores mudar o tópico?"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
#, fuzzy
msgid "Allow users to send private messages"
msgstr "Permitir que os utilizadores enviem mensagens privadas?"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
#, fuzzy
msgid "Allow users to query other users"
msgstr "Permitir aos utilizadores consultar outros utilizadores?"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
#, fuzzy
msgid "Allow users to send invites"
msgstr "Permitir que os utilizadores enviem convites?"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
#, fuzzy
msgid "Allow visitors to change nickname"
msgstr "Permitir aos utilizadores mudar o tópico?"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
#, fuzzy
msgid "Make room captcha protected"
msgstr "Proteger a sala com palavra-chave?"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
#, fuzzy
msgid "Enable logging"
msgstr "Guardar históricos?"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "É necessário um cliente com suporte de x:data para configurar a sala"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr ""
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privado"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr ""
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
#, fuzzy
msgid "the password is"
msgstr "Mudar palavra-chave"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
#, fuzzy
msgid "~s's Offline Messages Queue"
msgstr "~s fila de mensagens diferidas"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
#, fuzzy
msgid "Submitted"
msgstr "enviado"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Data"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "De"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Para"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Pacote"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminar os seleccionados"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
#, fuzzy
msgid "Offline Messages:"
msgstr "Mensagens diferidas:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "Mensagens diferidas"
@@ -1054,201 +1073,205 @@ msgstr "Mensagens diferidas"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Módulo vCard de ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#, fuzzy
msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo pub/sub de ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#, fuzzy
msgid "Node ID"
msgstr "Nodo"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
msgid "Specify the event message type"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr ""
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Escolha um nome de utilizador e palavra-chave para se registar neste servidor"
-#: mod_register.erl:244
+#: mod_register.erl:251
#, fuzzy
msgid "Users are not allowed to register accounts so quickly"
msgstr "Os visitantes não podem enviar mensagens para todos os ocupantes"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Nenhum"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Subscrição"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Pendente"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grupos"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr ""
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Remover"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Lista de contactos de "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#, fuzzy
msgid "Bad format"
msgstr "formato inválido"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
#, fuzzy
msgid "Add Jabber ID"
msgstr "Adicionar Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Lista de contactos"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
#, fuzzy
msgid "Shared Roster Groups"
msgstr "Lista de contactos partilhada"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Adicionar novo"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
#, fuzzy
msgid "Name:"
msgstr "Nome"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
#, fuzzy
msgid "Description:"
msgstr "Subscrição"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr ""
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr ""
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
#, fuzzy
msgid "Group "
msgstr "Grupos"
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Enviar"
@@ -1256,86 +1279,86 @@ msgstr "Enviar"
msgid "Erlang Jabber Server"
msgstr "Servidor Jabber em Erlang"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Data de nascimento"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Cidade"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "País"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
#, fuzzy
msgid "Email"
msgstr "email"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Apelido"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
#, fuzzy
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
msgstr "Preencha os campos para procurar utilizadores Jabber coincidentes"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Nome completo"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Segundo nome"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Nome"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Nome da organização"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Unidade da organização"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Procurar utilizadores em "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "É necessário um cliente com suporte de x:data para poder procurar"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr ""
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Módulo vCard de ejabberd"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
#, fuzzy
msgid "Search Results for "
msgstr "Procurar utilizadores em "
@@ -1344,358 +1367,358 @@ msgstr "Procurar utilizadores em "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Preencha os campos para procurar utilizadores Jabber coincidentes"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr ""
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
#, fuzzy
msgid "ejabberd Web Admin"
msgstr "Administração do ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
#, fuzzy
msgid "Administration"
msgstr "Administração de "
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
#, fuzzy
msgid "Raw"
msgstr "modo texto"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Configuração das Regra de Acesso ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
#, fuzzy
msgid "ejabberd virtual hosts"
msgstr "Estatísticas do ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Utilizadores"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
#, fuzzy
msgid "Users Last Activity"
msgstr "Última actividade"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr ""
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr ""
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr ""
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
#, fuzzy
msgid "All activity"
msgstr "Última actividade"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr ""
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr ""
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Estatísticas"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
#, fuzzy
msgid "Not Found"
msgstr "Nodo não encontrado"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Nodo não encontrado"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
#, fuzzy
msgid "Host"
msgstr "Nome do servidor"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
#, fuzzy
msgid "Registered Users"
msgstr "Utilizadores registados"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
#, fuzzy
msgid "Offline Messages"
msgstr "Mensagens diferidas"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Última actividade"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
#, fuzzy
msgid "Registered Users:"
msgstr "Utilizadores registados"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
#, fuzzy
msgid "Online Users:"
msgstr "Utilizadores ligados"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
#, fuzzy
msgid "Outgoing s2s Connections:"
msgstr "Conexões S2S para fora"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
#, fuzzy
msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S de saída"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Mudar palavra-chave"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Utilizador"
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Recursos conectados:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Palavra-chave:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr ""
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nodos"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nodo"
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
#, fuzzy
msgid "Listened Ports"
msgstr "Portas em escuta em "
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Actualizar"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Reiniciar"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Parar"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
#, fuzzy
msgid "RPC Call Error"
msgstr "Erro na chamada RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
#, fuzzy
msgid "Database Tables at "
msgstr "Tabelas da BD em "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Tipo de armazenagem"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr ""
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Memória"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr ""
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
#, fuzzy
msgid "Backup of "
msgstr "Guardar cópia de segurança"
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
"separately."
msgstr ""
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
#, fuzzy
msgid "Store binary backup:"
msgstr "Armazenar uma cópia de segurança no ficheiro"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
#, fuzzy
msgid "Restore binary backup immediately:"
msgstr "Recuperar uma cópia de segurança a partir de ficheiro"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr ""
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
#, fuzzy
msgid "Restore plain text backup immediately:"
msgstr "Recuperar uma cópia de segurança a partir de ficheiro"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
#, fuzzy
msgid "Import user data from jabberd14 spool file:"
msgstr "Importar utilizadores a partir de ficheiros da spool do jabberd14"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
#, fuzzy
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importar utilizadores a partir de ficheiros da spool do jabberd14"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Portas em escuta em "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
#, fuzzy
msgid "Modules at "
msgstr "Parar módulos em "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
#, fuzzy
msgid "Statistics of ~p"
msgstr "Estatísticas"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
#, fuzzy
msgid "Uptime:"
msgstr "Tempo de funcionamento"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
#, fuzzy
msgid "CPU Time:"
msgstr "Tempo de processador consumido"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
#, fuzzy
msgid "Transactions Committed:"
msgstr "Transacções realizadas"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
#, fuzzy
msgid "Transactions Aborted:"
msgstr "Transacções abortadas"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
#, fuzzy
msgid "Transactions Restarted:"
msgstr "Transacções reiniciadas"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
#, fuzzy
msgid "Transactions Logged:"
msgstr "Transacções armazenadas"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
#, fuzzy
msgid "Update "
msgstr "Actualizar"
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
#, fuzzy
msgid "Update plan"
msgstr "Actualizar"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
#, fuzzy
msgid "Modified modules"
msgstr "Iniciar módulos"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
#, fuzzy
msgid "Update script"
msgstr "Actualizar"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr ""
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr ""
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Porta"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr ""
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
#, fuzzy
msgid "Protocol"
msgstr "Porta"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Módulo"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Opções"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Eliminar"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
#, fuzzy
msgid "Start"
msgstr "Reiniciar"
diff --git a/src/msgs/ru.msg b/src/msgs/ru.msg
index 7d2c6b64c..3c74b345b 100644
--- a/src/msgs/ru.msg
+++ b/src/msgs/ru.msg
@@ -36,6 +36,10 @@
{"Change Password","Сменить пароль"}.
{"Change User Password","Изменить пароль пользователя"}.
{"Chatroom configuration modified","Конфигурация комнаты изменилась"}.
+{"Chatroom is created","Комната создана"}.
+{"Chatroom is destroyed","Комната уничтожена"}.
+{"Chatroom is started","Комната запущена"}.
+{"Chatroom is stopped","Комната остановлена"}.
{"Chatrooms","Комнаты"}.
{"Choose a username and password to register with this server","Выберите имя пользователя и пароль для регистрации на этом сервере"}.
{"Choose modules to stop","Выберите модули, которые следует остановить"}.
@@ -246,6 +250,7 @@
{"Protocol","Протокол"}.
{"Publish-Subscribe","Публикация-Подписка"}.
{"PubSub subscriber request","Запрос подписчика PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Очищать все записи автора публикации когда он отключается"}.
{"Queries to the conference members are not allowed in this room","Запросы к пользователям в этой конференции запрещены"}.
{"RAM and disc copy","ОЗУ и диск"}.
{"RAM copy","ОЗУ"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Остановить службу"}.
{"~s invites you to the room ~s","~s приглашает вас в комнату ~s"}.
{"Specify the access model","Укажите механизм управления доступом"}.
+{"Specify the event message type","Укажите тип сообщения о событии"}.
{"Specify the publisher model","Условия публикации"}.
{"~s's Offline Messages Queue","Oчередь офлайновых сообщений ~s"}.
{"Start Modules at ","Запуск модулей на "}.
diff --git a/src/msgs/ru.po b/src/msgs/ru.po
index 1665601d4..150ac8a56 100644
--- a/src/msgs/ru.po
+++ b/src/msgs/ru.po
@@ -9,15 +9,15 @@ msgstr ""
"X-Additional-Translator: Konstantin Khomoutov\n"
"X-Additional-Translator: Sergei Golovan\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Вы обязаны использовать STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Не указан ресурс"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Заменено новым соединением"
@@ -46,384 +46,386 @@ msgstr "Пинг"
msgid "Pong"
msgstr "Понг"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Действительно удалить сообщение дня?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Тема"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Тело сообщения"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Тело объявления не должно быть пустым"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Объявления"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Разослать объявление всем пользователям"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Разослать объявление всем пользователям на всех виртуальных серверах"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Разослать объявление всем подключённым пользователям"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
"Разослать объявление всем подключённым пользователям на всех виртуальных "
"серверах"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Установить сообщение дня и разослать его подключённым пользователям"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Установить сообщение дня на всех виртуальных серверах и разослать его "
"подключённым пользователям"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Обновить сообщение дня (не рассылать)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Обновить сообщение дня на всех виртуальных серверах (не рассылать)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Удалить сообщение дня"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Удалить сообщение дня со всех виртуальных серверов"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Конфигурация"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "База данных"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Запуск модулей"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Остановка модулей"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Резервное копирование"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Восстановление из резервной копии"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Копирование в текстовый файл"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Импорт из файла"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Импорт из директории"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Перезапустить службу"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Остановить службу"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Добавить пользователя"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Удалить пользователя"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Завершить сеанс пользователя"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Получить пароль пользователя"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Изменить пароль пользователя"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Получить время последнего подключения пользователя"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Получить статистику по пользователю"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Получить количество зарегистрированных пользователей"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Получить количество подключённых пользователей"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Списки управления доступом"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Правила доступа"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Управление пользователями"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Подключённые пользователи"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Все пользователи"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Исходящие s2s-соединения"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Работающие узлы"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Остановленные узлы"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Модули"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Управление резервным копированием"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Импорт пользователей из спула jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "К ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "От ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Конфигурация таблиц базы данных на "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Выберите тип хранения таблиц"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "только диск"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "ОЗУ и диск"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "ОЗУ"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "не хранится локально"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Остановка модулей на "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Выберите модули, которые следует остановить"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Запуск модулей на "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Введите список вида {Module, [Options]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Список запускаемых модулей"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Резервное копирование в файл на "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Введите путь к резервному файлу"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Путь к файлу"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Восстановление из резервной копии на "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Копирование в текстовый файл на "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Введите путь к текстовому файлу"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Импорт пользователя из файла на "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Введите путь к файлу из спула jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Импорт пользователей из директории на "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Введите путь к директории спула jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Путь к директории"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "По истечение"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Конфигурация списков управления доступом"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Списки управления доступом"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Конфигурация доступа"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Правила доступа"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Пароль"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Проверка пароля"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Количество зарегистрированных пользователей"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Количество подключённых пользователей"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Никогда"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Подключён"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Время последнего подключения"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Размер списка контактов"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP адреса"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Ресурсы"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Администрирование "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Действие над пользователем"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Изменить параметры"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Удалить пользователя"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Доступ запрещён политикой службы"
@@ -533,201 +535,217 @@ msgstr "Кодировка сервера ~b"
msgid "Server ~b"
msgstr "Сервер ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Только администратор службы может посылать служебные сообщения"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Cоздавать конференцию запрещено политикой службы"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Конференция не существует"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Комнаты"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Чтобы зарегистрировать псевдоним, требуется x:data-совместимый клиент"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Регистрация псевдонима на "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Введите псевдоним, который Вы хотели бы зарегистрировать"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Псевдоним"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Этот псевдоним зарегистрирован кем-то другим"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Вы должны заполнить поле \"Псевдоним\" в форме"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC модуль"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Конфигурация комнаты изменилась"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "вошёл(а) в комнату"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "вышел(а) из комнаты"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "запретили входить в комнату"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "выгнали из комнаты"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "выгнали из комнаты вследствие смены ранга"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "выгнали из комнаты потому что она стала только для членов"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "выгнали из комнаты из-за останова системы"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "изменил(а) имя на"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " установил(а) тему: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Комната создана"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Комната уничтожена"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Комната запущена"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Комната остановлена"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Понедельник"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Вторник"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Среда"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Четверг"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Пятница"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Суббота"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Воскресенье"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "января"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "февраля"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "марта"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "апреля"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "мая"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "июня"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "июля"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "августа"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "сентября"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "октября"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "ноября"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "декабря"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Конфигурация комнаты"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Участники комнаты"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Название комнаты"
-#: mod_muc/mod_muc_room.erl:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Превышен лимит скорости посылки информации"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Этого участника выгнали из комнаты за то, что он послал сообщение об ошибке"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Не разрешается посылать частные сообщения прямо в конференцию"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Неправильный тип сообщения"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -735,269 +753,269 @@ msgstr ""
"Этого участника выгнали из комнаты за то, что он послал сообщение об ошибке "
"другому участнику"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Нельзя посылать частные сообщения типа \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Адресата нет в конференции"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Только присутствующим разрешается посылать сообщения в конференцию"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Запрещено посылать приватные сообщения"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Только присутствующим разрешается посылать запросы в конференцию"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Запросы к пользователям в этой конференции запрещены"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "приватная, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Только модераторы и участники могут изменять тему в этой комнате"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Только модераторы могут изменять тему в этой комнате"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Посетителям не разрешается посылать сообщения всем присутствующим"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Этого участника выгнали из комнаты за то, что он послал присутствие с ошибкой"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Посетителям запрещено изменять свои псевдонимы в этой комнате"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Этот псевдоним уже занят другим участником"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Вам запрещено входить в эту конференцию"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "В эту конференцию могут входить только её члены"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Эта комната не анонимная"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Чтобы войти в эту конференцию, нужен пароль"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Не получилось создать капчу"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Неправильный пароль"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Требуются права администратора"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Требуются права модератора"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s недопустимый"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Псевдоним ~s в комнате отсутствует"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Недопустимый ранг: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Недопустимая роль: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Требуются права владельца"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Конфигурация комнаты ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Описание комнаты"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Сделать комнату постоянной"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Сделать комнату видимой всем"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Сделать список участников видимым всем"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Сделать комнату защищённой паролем"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Максимальное количество участников"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Не ограничено"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Сделать реальные Jabber ID участников видимыми"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "только модераторам"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "всем участникам"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Комната только для зарегистрированных участников"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Сделать комнату модерируемой"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Сделать пользователей участниками по умолчанию"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Разрешить пользователям изменять тему"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Разрешить приватные сообщения"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Разрешить iq-запросы к пользователям"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Разрешить пользователям посылать приглашения"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Разрешить посетителям вставлять текcт статуса в сообщения о присутствии"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Разрешить посетителям изменять псевдоним"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Сделать комнату защищённой капчей"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Включить журналирование"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Чтобы сконфигурировать комнату, требуется x:data-совместимый клиент"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Число присутствующих"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "приватная, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s приглашает вас в комнату ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "пароль:"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Очередь недоставленных сообщений Вашего адресата переполнена. Сообщение не "
"было сохранено."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Oчередь офлайновых сообщений ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Отправлено"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Время"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "От кого"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Кому"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Пакет"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Удалить выделенные"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Офлайновые сообщения:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Удалить все офлайновые сообщения"
@@ -1005,192 +1023,195 @@ msgstr "Удалить все офлайновые сообщения"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams модуль"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Публикация-Подписка"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Модуль ejabberd Публикации-Подписки"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Запрос подписчика PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Решите: предоставить ли подписку этому объекту."
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID узла"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Адрес подписчика"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Разрешить этому Jabber ID подписаться на данный узел?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Доставлять вместе с уведомлениями o публикациях сами публикации"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Доставлять уведомления о событиях"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Уведомлять подписчиков об изменении конфигурации сборника"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Уведомлять подписчиков об удалении сборника"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Уведомлять подписчиков об удалении публикаций из сборника"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Сохранять публикации в хранилище"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Легко запоминаемое имя для узла"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Максимальное число сохраняемых публикаций"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Разрешить подписку"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Укажите механизм управления доступом"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Группы списка контактов, которым разрешена подписка"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Условия публикации"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Укажите механизм управления доступом"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "Очищать все записи автора публикации когда он отключается"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Укажите тип сообщения о событии"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Максимальный размер полезной нагрузки в байтах"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Когда посылать последний опубликованный элемент"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Доставлять уведомления только доступным пользователям"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Имя коллекции, в которую входит узел"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Выберите имя пользователя и пароль для регистрации на этом сервере"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Пользователи не могут регистрировать учётные записи так быстро"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Нет"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Подписка"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Ожидание"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Группы"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Утвердить"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Удалить"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Ростер пользователя "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Неправильный формат"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Добавить Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Ростер"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Группы общих контактов"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Добавить"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Название:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Описание:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Члены:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Видимые группы:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Группа "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Отправить"
@@ -1198,32 +1219,32 @@ msgstr "Отправить"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "День рождения"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Город"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Страна"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Электронная почта"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Фамилия"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1231,53 +1252,53 @@ msgstr ""
"Заполните форму для поиска пользователя Jabber (Если добавить * в конец "
"поля, то происходит поиск подстроки)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Полное имя"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Отчество"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Название"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Название организации"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Отдел организации"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Поиск пользователей в "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Чтобы воспользоваться поиском, требуется x:data-совместимый клиент"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Поиск пользователей по vCard"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard модуль"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Результаты поиска в "
@@ -1285,182 +1306,182 @@ msgstr "Результаты поиска в "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Заполните форму для поиска пользователя Jabber"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Не авторизован"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "Web-интерфейс администрирования ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Администрирование"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Необработанный формат"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Конфигурация правила доступа ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Виртуальные хосты ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Пользователи"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Статистика последнего подключения пользователей"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Период"
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "За последний месяц"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "За последний год"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Вся статистика"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Показать обычную таблицу"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Показать интегральную таблицу"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Статистика"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Не Найдено"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Узел не найден"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Хост"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Зарегистрированные пользователи"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Офлайновые сообщения"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Последнее подключение"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Зарегистрированные пользователи:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Подключённые пользователи:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Исходящие s2s-серверы:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Исходящие s2s-серверы:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Сменить пароль"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Пользователь "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Подключённые ресурсы:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Пароль:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Нет данных"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Узлы"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Узел "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Прослушиваемые порты"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Обновить"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Перезапустить"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Остановить"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Ошибка вызова RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Таблицы базы данных на "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Тип таблицы"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Элементы"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Память"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Ошибка"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Резервное копирование "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1471,143 +1492,143 @@ msgstr ""
"(например с помощью модуля ODBC), то его резервное копирование следует "
"осуществлять отдельно."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Сохранить бинарную резервную копию:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "Продолжить"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Восстановить из бинарной резервной копии немедленно:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Восстановить из бинарной резервной копии при следующем запуске (требует "
"меньше памяти):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Сохранить текстовую резервную копию:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Восстановить из текстовой резервной копии немедленно:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Импорт пользовательских данных из файла формата PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Экспорт данных всех пользователей сервера в файлы формата PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Экспорт пользовательских данных домена в файлы формата PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Импорт пользовательских данных из буферного файла jabberd14:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Импорт пользовательских данных из буферной директории jabberd14:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Прослушиваемые порты на "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Модули на "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "статистика узла ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Время работы:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Процессорное время:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Транзакции завершенные:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Транзакции отмененные:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Транзакции перезапущенные:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Транзакции запротоколированные:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Обновление "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "План обновления"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Изменённые модули"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Сценарий обновления"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Низкоуровневый сценарий обновления"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Проверка сценария"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Порт"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Протокол"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Модуль"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Параметры"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Удалить"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Запустить"
diff --git a/src/msgs/sk.msg b/src/msgs/sk.msg
index f4f338cee..bbc7f297b 100644
--- a/src/msgs/sk.msg
+++ b/src/msgs/sk.msg
@@ -36,6 +36,10 @@
{"Change Password","Zmeniť heslo"}.
{"Change User Password","Zmeniť heslo užívateľa"}.
{"Chatroom configuration modified","Nastavenie diskusnej miestnosti bolo zmenené"}.
+{"Chatroom is created","Diskusná miestnosť je vytvorená"}.
+{"Chatroom is destroyed","Diskusná miestnosť je zrušená"}.
+{"Chatroom is started","Diskusná miestnosť je obnovená"}.
+{"Chatroom is stopped","Diskusná miestnosť je pozastavená"}.
{"Chatrooms","Diskusné miestnosti"}.
{"Choose a username and password to register with this server","Zvolte meno užívateľa a heslo pre registráciu na tomto servere"}.
{"Choose modules to stop","Vyberte moduly, ktoré majú byť zastavené"}.
@@ -246,6 +250,7 @@
{"Protocol","Protokol"}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","Žiadosť odberateľa PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Odstrániť všetky relevantné položky, keď užívateľ prejde do módu offline"}.
{"Queries to the conference members are not allowed in this room","Dotazovať sa o členoch nie je v tejto miestnosti povolené"}.
{"RAM and disc copy","Kópia RAM a disku"}.
{"RAM copy","Kópia RAM"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Vypnúť službu"}.
{"~s invites you to the room ~s","~s Vás pozýva do miestnosti ~s"}.
{"Specify the access model","Uveďte model prístupu"}.
+{"Specify the event message type","Uveďte typ pre správu o udalosti"}.
{"Specify the publisher model","Špecifikovať model publikovania"}.
{"~s's Offline Messages Queue","~s Offline správy"}.
{"Start Modules at ","Spustiť moduly na "}.
diff --git a/src/msgs/sk.po b/src/msgs/sk.po
index 9bfaf9547..ec646336a 100644
--- a/src/msgs/sk.po
+++ b/src/msgs/sk.po
@@ -9,15 +9,15 @@ msgstr ""
"X-Additional-Translator: Juraj Michalek\n"
"X-Additional-Translator: SkLUG\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Použitie STARTTLS je vyžadované"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Nebol poskytnutý žiadny zdroj"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Nahradené novým spojením"
@@ -45,381 +45,383 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Skutočne zmazať správu dňa?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Predmet"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Telo správy"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Správa neobsahuje text"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Oznámenia"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Odoslať oznam všetkým používateľom"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Poslať oznámenie všetkým užívateľom na všetkých serveroch"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Odoslať zoznam všetkým online používateľom"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Odoslať oznam všetkým online používateľom na všetkých serveroch"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Nastaviť správu dňa a odoslať ju online používateľom"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Nastaviť správu dňa na všetkých serveroch a poslať ju online užívateľom"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Aktualizovať správu dňa (neodosielať)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Upraviť správu dňa na všetkých serveroch"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Zmazať správu dňa"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Zmazať správu dňa na všetkých serveroch"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Konfigurácia"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Databáza"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Spustiť moduly"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Zastaviť moduly"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Zálohovať"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Obnoviť"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Uložiť do textového súboru"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Import súboru"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Import adresára"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Reštartovať službu"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Vypnúť službu"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Pridať používateľa"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Vymazať užívateľa"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Ukončiť reláciu užívateľa"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Zobraziť heslo užívateľa"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Zmeniť heslo užívateľa"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Zobraziť čas posledného prihlásenia"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Zobraziť štatistiku užívateľa"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Zobraziť počet registrovaných užívateľov"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Zobraziť počet pripojených užívateľov"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Zoznamy prístupových oprávnení (ACL)"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Prístupové pravidlá"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Správa užívateľov"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Online užívatelia"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Všetci užívatelia"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Odchádzajúce s2s spojenia"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Bežiace uzly"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Zastavené uzly"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Moduly"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Správa zálohovania"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importovať užívateľov z jabberd14 spool súborov"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Pre ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Od ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Konfigurácia databázových tabuliek "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Vyberte typ úložiska pre tabuľky"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Len kópia disku"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Kópia RAM a disku"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Kópia RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Vzdialená kópia"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Zastaviť moduly na "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Vyberte moduly, ktoré majú byť zastavené"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Spustiť moduly na "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Vložte zoznam modulov {Modul, [Parametre]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Zoznam modulov, ktoré majú byť spustené"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Záloha do súboru na "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Zadajte cestu k súboru so zálohou"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Cesta k súboru"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Obnoviť zálohu zo súboru na "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Uložiť zálohu do textového súboru na "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Zadajte cestu k textovému súboru"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importovať užívateľa zo súboru na "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Zadajte cestu k spool súboru jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importovať užívateľov z adresára na "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Zadajte cestu k jabberd14 spool adresáru"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Cesta k adresáru"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Časový posun"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Konfigurácia zoznamu prístupových oprávnení (ACL)"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Zoznamy prístupových oprávnení (ACL)"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Konfigurácia prístupu"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Prístupové pravidlá"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Heslo"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Overenie hesla"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Počet registrovaných užívateľov"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Počet online užívateľov"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Nikdy"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Online"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Posledné prihlásenie"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Počet kontaktov v zozname"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP adresa"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Zdroje"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administrácia "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Operácia aplikovaná na užívateľa"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Editovať vlastnosti"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Odstrániť užívateľa"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Prístup bol zamietnutý nastavením služby"
@@ -529,200 +531,216 @@ msgstr "Kódovanie pre server ~b"
msgid "Server ~b"
msgstr "Server ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Iba správcovia služby majú povolené odosielanie servisných správ"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Vytváranie miestnosti nie je povolené"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Diskusná miestnosť neexistuje"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Diskusné miestnosti"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Na registráciu prezývky potrebujete klienta podporujúceho z x:data"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registrácia prezývky na "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Zadajte prezývku, ktorú chcete registrovať"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Prezývka"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Prezývka je už zaregistrovaná inou osobou"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Musíte vyplniť políčko \"Prezývka\" vo formulári"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC modul"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Nastavenie diskusnej miestnosti bolo zmenené"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "vstúpil(a) do miestnosti"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "odišiel(a) z miestnosti"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "bol(a) zablokovaný(á)"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "bol(a) vyhodený(á) z miestnosti"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "bol vyhodený(á) kvôli zmene priradenia"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "bol vyhodený(á), pretože miestnosť bola vyhradená len pre členov"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "bol vyhodený(á) kvôli reštartu systému"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "sa premenoval(a) na"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr "zmenil(a) tému na: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Diskusná miestnosť je vytvorená"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Diskusná miestnosť je zrušená"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Diskusná miestnosť je obnovená"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Diskusná miestnosť je pozastavená"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Pondelok"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Utorok"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Streda"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Štvrtok"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Piatok"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Sobota"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Nedeľa"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Január"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Február"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Marec"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Apríl"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Máj"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Jún"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Júl"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "August"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "September"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Október"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "November"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "December"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Nastavenia miestnosti"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Ľudí v miestnosti"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Bol prekročený prenosový limit"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr "Účastník bol vyhodený z miestnosti, pretože poslal chybovú správu"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Nie je povolené odosielať súkromné správy do konferencie"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Nesprávny typ správy"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -730,268 +748,268 @@ msgstr ""
"Účastník bol vyhodený z miestnosti, pretože poslal chybovú správu inému "
"účastníkovi"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Nie je dovolené odoslanie súkromnej správy typu \"Skupinová správa\" "
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Príjemca sa nenachádza v konferenčnej miestnosti"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Len členovia majú povolené zasielať správy do konferencie"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Nieje povolené posielať súkromné správy"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Len členovia majú povolené dotazovať sa o konferencii"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Dotazovať sa o členoch nie je v tejto miestnosti povolené"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "súkromná, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Len moderátori a zúčastnený majú povolené meniť tému tejto miestnosti"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Len moderátori majú povolené meniť tému miestnosti"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
"Návštevníci nemajú povolené zasielať správy všetkým prihláseným do "
"konferencie"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Účastník bol vyhodený z miestnosti, pretože poslal chybovú správu o stave"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "V tejto miestnosti nieje povolené meniť prezývky"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Prezývka je už používaná iným členom"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Boli ste vylúčený z tejto miestnosti"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Pre vstup do miestnosti je potrebné byť členom"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Táto miestnosť nie je anonymná"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Pre vstup do miestnosti je potrebné heslo"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Nepodarilo sa vygenerovat captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Nesprávne heslo"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Sú potrebné práva administrátora"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Sú potrebné práva moderátora"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s je neplatné"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Prezývka ~s v miestnosti neexistuje"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Neplatné priradenie: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Neplatná rola: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Sú vyžadované práva vlastníka"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Konfigurácia miestnosti ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Popis miestnosti"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Nastaviť miestnosť ako trvalú"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Nastaviť miestnosť ako verejne prehľadávateľnú"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Nastaviť zoznam zúčastnených ako verejný"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Chrániť miestnosť heslom"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Počet účastníkov"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Bez limitu"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Zobrazovať skutočné Jabber ID"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "moderátorom"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "všetkým"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Nastaviť miestnosť len pre členov"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Nastaviť miestnosť ako moderovanú"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Užívatelia sú implicitne členmi"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Povoliť užívateľom meniť tému"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Povoliť užívateľom odosielať súkromné správy"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Povoliť užívateľom dotazovať sa informácie o iných užívateľoch"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Povoliť používateľom posielanie pozvánok"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Návštevníci môžu posielať textové informácie v stavových správach"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Návštevníci môžu meniť prezývky"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Chrániť miestnosť systémom captcha"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Zapnúť zaznamenávanie histórie"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Na konfiguráciu miestnosti potrebujete klienta podporujúceho x:data"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Počet zúčastnených"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "súkromná, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s Vás pozýva do miestnosti ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "heslo je"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Fronta offline správ tohoto kontaktu je plná. Správa bola zahodená."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s Offline správy"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Odoslané"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Čas"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Od"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Pre"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paket"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Zmazať vybrané"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Offline správy"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Odstrániť všetky offline správy"
@@ -999,192 +1017,196 @@ msgstr "Odstrániť všetky offline správy"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Žiadosť odberateľa PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Zvolte, či chcete povoliť toto odoberanie"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID uzlu"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Adresa odberateľa"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Dovoliť tomuto Jabber ID odoberať PubSub uzol?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Doručiť náklad s upozornením na udalosť"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Doručiť oznamy o udalosti"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Upozorniť prihlásených používateľov na zmenu nastavenia uzlu"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Upozorniť prihlásených používateľov na zmazanie uzlu"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Upozorniť prihlásených používateľov na odstránenie položiek z uzlu"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Uložiť položky natrvalo do úložiska"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Prístupný názov pre uzol"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Maximálny počet položiek, ktoré je možné natrvalo uložiť"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Povoliť prihlasovanie"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Uveďte model prístupu"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Skupiny kontaktov, ktoré môžu odoberať"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Špecifikovať model publikovania"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Uveďte model prístupu"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+"Odstrániť všetky relevantné položky, keď užívateľ prejde do módu offline"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Uveďte typ pre správu o udalosti"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Maximálny náklad v bajtoch"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Kedy odoslať posledne publikovanú položku"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Doručovať upozornenia len aktuálne prihláseným používateľom"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Kolekcie asociované s uzlom"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Zvolte meno užívateľa a heslo pre registráciu na tomto servere"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Nieje dovolené vytvárať účty tak rýchlo po sebe"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Nič"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Prihlásenie"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Čakajúce"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Skupiny"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Overiť"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Odstrániť"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Zoznam kontaktov "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Zlý formát"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Pridať Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Zoznam kontaktov"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Skupiny pre zdieľaný zoznam kontaktov"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Pridať nový"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Meno:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Popis:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Členovia:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Zobrazené skupiny:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Skupina "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Odoslať"
@@ -1192,32 +1214,32 @@ msgstr "Odoslať"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Dátum narodenia"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Mesto"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Krajina"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "E-mail"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Priezvisko"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1225,53 +1247,53 @@ msgstr ""
"Pre vyhľadanie Jabber používateľa vyplňte formulár (pridajte znak * na "
"koniec, pre vyhľadanie podreťazca)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Celé meno: "
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Prostredné meno: "
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Meno"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Meno organizácie: "
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Organizačná jednotka: "
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Hľadať užívateľov v "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Na vyhľadávanie potrebujete klienta podporujúceho x:data"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Hľadať užívateľov vo vCard"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard modul"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Hľadať výsledky pre "
@@ -1279,182 +1301,182 @@ msgstr "Hľadať výsledky pre "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Vyplnte políčka pre vyhľadávanie Jabber užívateľa"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Neautorizovaný"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web Admin"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administrácia"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Raw"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s konfigurácia prístupového pravidla"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd virtuálne servery"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Používatelia"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Posledná aktivita používateľa"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Čas:"
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Posledný mesiac"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Posledný rok"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Všetky aktivity"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Zobraziť bežnú tabuľku"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Zobraziť kompletnú tabuľku"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Štatistiky"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Nebol nájdený"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Uzol nenájdený"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Server"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Registrovaní používatelia"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Offline správy"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Posledná aktivita"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Registrovaní používatelia:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Online používatelia:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Odchádzajúce s2s spojenia:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Odchádzajúce s2s servery:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Zmeniť heslo"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Používateľ "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Pripojené zdroje:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Heslo:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Žiadne dáta"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Uzly"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Uzol "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Otvorené portov"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Aktualizovať"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Reštart"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Zastaviť"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Chyba RPC volania"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Databázové tabuľky na "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Typ úložiska"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Prvky"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Pamäť"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Chyba"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Záloha "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1464,144 +1486,144 @@ msgstr ""
"Mnesia databázu. Ak používate ODBC modul, musíte zálohovať vašu SQL databázu "
"separátne."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Uložiť binárnu zálohu:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Okamžite obnoviť binárnu zálohu:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Obnoviť binárnu zálohu pri nasledujúcom reštarte ejabberd (vyžaduje menej "
"pamäte)"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Uložiť zálohu do textového súboru:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Okamžite obnoviť zálohu z textového súboru:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importovat dáta užívateľov zo súboru PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportovať dáta všetkých uživateľov na serveri do súborov PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportovať dáta uživateľov na hostitelovi do súborov PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importovať dáta užívateľov z jabberd14 spool súboru:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importovať dáta užívateľov z jabberd14 spool adresára:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Otvorené porty na "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Moduly na "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Štatistiky ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Uptime:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Čas procesoru"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transakcie potvrdená"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transakcie zrušená"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transakcie reštartovaná"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transakcie zaznamenaná"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Aktualizovať "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Aktualizovať plán"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Modifikované moduly"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Aktualizované skripty"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Nízkoúrovňový aktualizačný skript"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Kontrola skriptu"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Port"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protokol"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Modul"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Nastavenia"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Zmazať"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Štart"
diff --git a/src/msgs/sv.po b/src/msgs/sv.po
index 1789ec5c7..8a0917858 100644
--- a/src/msgs/sv.po
+++ b/src/msgs/sv.po
@@ -11,15 +11,15 @@ msgstr ""
"X-Additional-Translator: Magnus Henoch\n"
"X-Additional-Translator: Jonas Ådahl\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Du måste använda STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Ingen resurs angiven"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Ersatt av ny anslutning"
@@ -48,381 +48,383 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Verkligen ta bort dagens meddelanden?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Ämne"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Meddelande kropp"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Ingen kropp behövs för dessa meddelanden"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Meddelanden"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Sänd meddelanden till alla användare"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Sänd meddelanden till alla användare på alla värdar"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Sänd meddelanden till alla inloggade användare"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Sänd meddelanden till alla inloggade användare på alla värdar"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Sätt dagens status meddelande och skicka till alla användare"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Sätt dagens status meddelande pa alla värdar och skicka till alla användare"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Uppdatera dagens status meddelande (skicka inte)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Uppdatera dagens status meddelande på alla värdar (skicka inte)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Ta bort dagens meddelande"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Ta bort dagens meddelande på alla värdar"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Konfiguration"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Databas"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Starta moduler"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Stanna moduler"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Säkerhetskopiera"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Återställ"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Dumpa till textfil"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Importera fil"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Importera katalog"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Starta om servicen"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Stäng ner servicen"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Lägg till användare"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Ta bort användare"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Avsluta användarsession"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Hämta användarlösenord"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Andra användarlösenord"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Hämta användarens senast inloggade tid"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Hämta användarstatistik"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Hämta antal registrerade användare"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Hämta antal inloggade användare"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "ACL"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Åtkomstregler"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Användarmanagement"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Anslutna användare"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Alla användare"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Utgaende s2s anslutning"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Körande noder"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Stannade noder"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Moduler"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Hantera säkerhetskopior"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importera användare från jabberd14 Spool filer"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Till ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Från ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Databastabellers konfiguration"
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Välj lagringstyp för tabeller"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Endast diskkopia"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "RAM- och diskkopia"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "RAM-kopia"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Sparas inte lokalt"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Stoppa moduler på "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Välj vilka moduler som skall stoppas"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Starta moduler på "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Skriv in en lista av {Module, [Options]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Lista av moduler som skall startas"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Säkerhetskopiera till fil på "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Skriv in sökväg till fil för säkerhetskopia"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Sökväg till fil"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Återställ säkerhetskopia från fil på "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Dumpa säkerhetskopia till textfil på "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Skriv in sökväg till textfil"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Importera användare från fil på "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Skriv in sökväg till spoolfil från jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Importera användare från katalog på "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Skriv in sökväg till spoolkatalog från jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Sökväg till katalog"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Tidsförsening"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Konfiguera ACL"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "ACL"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Åtkomstkonfiguration"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Åtkomstregler"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Lösenord"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Lösenordsverifikation"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Antal registrerade användare"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Antal inloggade användare"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Aldrig"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Ansluten"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Senaste login"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Roster storlek"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP adresser"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Resurser"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Administration av "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Handling mot användare"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Redigera egenskaper"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Ta bort användare"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Åtkomst nekad enligt lokal policy"
@@ -531,203 +533,223 @@ msgstr "Encoding för server ~b"
msgid "Server ~b"
msgstr "Server ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Endast administratörer får skicka tjänstmeddelanden"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Skapandet av rum är förbjudet enligt lokal policy"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Rummet finns inte"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Chattrum"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Du behöver en klient som stödjer x:data för att registrera smeknamn"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registrera smeknamn på "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Skriv in smeknamnet du vill registrera"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Smeknamn"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Smeknamnet är reserverat"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Du måste fylla i fält \"smeknamn\" i formen"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC modul"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Chattrum konfiguration modifierad"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "joinar rummet"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "lämnar rummet"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "har blivit bannad"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "har blivit kickad"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "har blivit kickad p.g.a en ändring av tillhörighet"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "har blivit kickad p.g.a att rummet har ändrats till endast användare"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "har blivit kickad p.g.a en systemnerstängning"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "är känd som"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " har satt ämnet till: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+#, fuzzy
+msgid "Chatroom is created"
+msgstr "Chattrum"
+
+#: mod_muc/mod_muc_log.erl:453
+#, fuzzy
+msgid "Chatroom is destroyed"
+msgstr "Chattrum"
+
+#: mod_muc/mod_muc_log.erl:454
+#, fuzzy
+msgid "Chatroom is started"
+msgstr "Chattrum"
+
+#: mod_muc/mod_muc_log.erl:455
+#, fuzzy
+msgid "Chatroom is stopped"
+msgstr "Chattrum"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Måndag"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Tisdag"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Onsdag"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Torsdag"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Fredag"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Lördag"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Söndag"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Januari"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Februari"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Mars"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "April"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Maj"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Juni"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Juli"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Augusti"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "September"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Oktober"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "November"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "December"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Rumkonfiguration"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Antal besökare"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Trafikgränsen har överstigits"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Deltagaren har blivit kickad fran rummet p.g.a att han skickade ett "
"errormeddelande"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr ""
"Det är inte tillåtet att skicka privata medelanden till den här konferensen"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Felaktig medelandetyp"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -735,37 +757,33 @@ msgstr ""
"Deltagaren har blivit kickad från rummet p.g.a att han skickade ett "
"errormeddelande till en annan deltagare"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr ""
"Det är inte tillåtet att skicka privata medelanden med typen \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Mottagaren finns inte i rummet"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Utomstående får inte skicka medelanden till den här konferensen"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Det ar inte tillåtet att skicka privata meddelanden"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Utomstående får inte skicka iq-queries till den här konferensen"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Det är förbjudet att skicka iq-queries till konferensdeltagare"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privat, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@@ -773,236 +791,240 @@ msgstr ""
"Endast moderatorer och deltagare har tillåtelse att ändra ämnet i det här "
"rummet"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Endast moderatorer får ändra ämnet i det här rummet"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besökare får inte skicka medelande till alla"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Denna deltagaren är kickad från rummet p.g.a att han skickade en errorstatus"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Det är inte tillåtet for gäster att ändra sina smeknamn i detta rummet"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "Smeknamnet används redan"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Du har blivit bannlyst från det här rummet"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Du måste vara medlem för att komma in i det här rummet"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Detta rum är inte anonymt"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
#, fuzzy
msgid "A password is required to enter this room"
msgstr "Lösenord erfordras"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Kunde inte generera ett captcha"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Fel lösenord"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Administrationsprivilegier krävs"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Moderatorprivilegier krävs"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Otillåtet Jabber ID ~s"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Smeknamnet ~s existerar inte i det här rummet"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Ogiltlig rang: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Ogiltlig roll: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Ägarprivilegier krävs"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Konfiguration för ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#, fuzzy
msgid "Room description"
msgstr "Beskrivning:"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Gör rummet permanent"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Gör rummet publikt sökbart"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Gör deltagarlistan publik"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Gör losenorden i rummet publika"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Maximalt antal av användare"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Ingen gräns"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Nuvarande äkta Jabber IDs till"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "endast moderatorer"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "Vemsomhelst"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Gör om rummet till endast medlemmar"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Gör rummet modererat"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Gör om användare till deltagare"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Tillåt användare att byta ämne"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Tillåt användare att skicka privata meddelanden"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Tillåt användare att söka efter andra användare"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Tillåt användare att skicka inbjudningar"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "Tillåt gäster att skicka statustext som uppdatering"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Tillåt gäster att kunna ändra smeknamn"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
#, fuzzy
msgid "Make room captcha protected"
msgstr "Gör losenorden i rummet publika"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Möjliggör login"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "Du behöver en klient som stödjer x:data för att konfiguera detta rum"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Antal besökare"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privat, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s bjöd in dig till rummet ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "Lösenordet är"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Din kontaktkö for offlinekontakter ar full"
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s's offline meddelandekö"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Skicka in"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Tid"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Från"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Till"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paket"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Tabort valda"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Offline meddelanden:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "Offline meddelanden"
@@ -1011,192 +1033,196 @@ msgstr "Offline meddelanden"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestrem modul"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Publikprenumeration"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd publikprenumerations modul"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Pubsub prenumerationsforfrågan"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Välj om du vill godkänna hela denna prenumertion."
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Node ID"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Prenumerationsadress"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Tillåt denna Jabber ID att prenumerera på denna pubsub node"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Skicka innehåll tillsammans med notifikationer"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Skicka eventnotifikation"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Meddela prenumeranter när nodens konfiguration ändras"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Meddela prenumeranter när noden tas bort"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Meddela prenumeranter när dataposter tas bort från noden"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Spara dataposter permanent"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Ett vänligt namn for noden"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Högsta antal dataposter som sparas"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Tillåta prenumerationer?"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Specificera accessmodellen"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Rostergrupper tillåts att prenumerera"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Ange publiceringsmodell"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#, fuzzy
msgid "Specify the event message type"
msgstr "Specificera accessmodellen"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Högsta innehållsstorlek i bytes"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "När att skicka senast publicerade ämne"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Skicka notifikationer bara till uppkopplade användare"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr ""
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Välj ett användarnamn och lösenord för att registrera mot denna server"
-#: mod_register.erl:244
+#: mod_register.erl:251
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"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Inga"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Prenumeration"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Ännu inte godkända"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Grupper"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Validera"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Ta bort"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Kontaktlista för "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Dåligt format"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Lägg till Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Kontaktlista"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Delade Rostergrupper"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Lägg till ny"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Namn:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Beskrivning:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Medlemmar:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Visade grupper:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Grupp "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Skicka"
@@ -1204,32 +1230,32 @@ msgstr "Skicka"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Födelsedag"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Stad"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Land"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Email"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Efternamn"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1237,53 +1263,53 @@ msgstr ""
"Fyll i formuläret för att söka efter en användare (lägg till * på slutet av "
"fältet för att hitta alla som börjar så)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Fullständigt namn"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Mellannamn"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Namn"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Organisationsnamn"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Organisationsenhet"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Sök efter användare på "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Du behöver en klient som stödjer x:data, för att kunna söka"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "vCard användare sök"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard-modul"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Sökresultat för"
@@ -1291,182 +1317,182 @@ msgstr "Sökresultat för"
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Fyll i fält för att söka efter jabberanvändare"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Ej auktoriserad"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web Admin"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Administration"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Ra"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Åtkomstregelkonfiguration för ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Virtuella ejabberd-servrar"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Användare"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Användarens senaste aktivitet"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Period: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Senaste månaden"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Senaste året"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "All aktivitet"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Visa normal tabell"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Visa kumulativ tabell"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Statistik"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Noden finns inte"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Noden finns inte"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Server"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Registrerade användare"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Offline meddelanden"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Senast aktivitet"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Registrerade användare"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Inloggade användare"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Utgående s2s anslutning"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Utgående s2s server"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Ändra lösenord"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Användare "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Anslutna resurser:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Lösenord:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Ingen data"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Noder"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nod "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Lyssnarport"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Uppdatera"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Omstart"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Stoppa"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "RPC Uppringningserror"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Databas tabell pa"
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Lagringstyp"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elements"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Minne"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Fel"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Backup av"
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1476,140 +1502,140 @@ msgstr ""
"databas. Om du använder ODBC modul så måste du ta backup på SQLs databas "
"enskilt"
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Lagra den binära backupen"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "återställ den binära backupen omedelbart"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr "återställ den binära backupen efter nästa ejabberd omstart"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Lagra textbackup"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "återställ textbackup omedelbart"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Importera användardata från en PIEFXIS fil (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Exportera data av alla användare i servern till en PIEFXIS fil (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr "Exportera data av användare i en host till PIEFXIS fil (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Importera användare från jabberd14 Spool filer"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Importera användare från jabberd14 Spool directory:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Lyssnande portar på "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Moduler på"
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Statistik på ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Tid upp"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "CPU tid"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transaktioner kommittade"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transaktioner borttagna"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transaktioner omstartade"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transaktioner loggade "
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Uppdatera"
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Uppdateringsplan"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Uppdaterade moduler"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Uppdatera skript"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Uppdaterade laglevel skript"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Skript kollat"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Port"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protocol"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Modul"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Parametrar"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Ta bort"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Starta"
diff --git a/src/msgs/th.po b/src/msgs/th.po
index aa5998629..544aa40ab 100644
--- a/src/msgs/th.po
+++ b/src/msgs/th.po
@@ -7,15 +7,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Thai (ภาษาไทย)\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "ต้องใช้ STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "ไม่ได้ระบุข้อมูล"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "แทนที่ด้วยการเชื่อมต่อใหม่"
@@ -44,380 +44,382 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "แน่ใจว่าต้องการลบข้อความของวันหรือไม่"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "หัวเรื่อง"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "เนื้อหาของข้อความ"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "ไม่ได้ป้อนเนื้อหาสำหรับข้อความที่ประกาศ"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "ประกาศ"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "ส่งประกาศถึงผู้ใช้ทั้งหมด"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "ส่งประกาศถึงผู้ใช้ทั้งหมดบนโฮสต์ทั้งหมด"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "ส่งประกาศถึงผู้ใช้ออนไลน์ทั้งหมด"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "ส่งประกาศถึงผู้ใช้ออนไลน์ทั้งหมดบนโฮสต์ทั้งหมด"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "ตั้งค่าข้อความของวันและส่งถึงผู้ใช้ออนไลน์"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr "ตั้งค่าข้อความของวันบนโฮสต์ทั้งหมดและส่งถึงผู้ใช้ออนไลน์"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "อัพเดตข้อความของวัน (ไม่ต้องส่ง)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "อัพเดตข้อความของวันบนโฮสต์ทั้งหมด (ไม่ต้องส่ง) "
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "ลบข้อความของวัน"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "ลบข้อความของวันบนโฮสต์ทั้งหมด"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "การกำหนดค่า"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "ฐานข้อมูล"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "เริ่มโมดูล"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "หยุดโมดูล"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "การสำรองข้อมูล "
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "การคืนค่า"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "ถ่ายโอนข้อมูลไปยังไฟล์ข้อความ"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "อิมพอร์ตไฟล์"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "อิมพอร์ตไดเร็กทอรี"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "เริ่มต้นการบริการใหม่อีกครั้ง"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "ปิดการบริการ"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "เพิ่มผู้ใช้"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "ลบผู้ใช้"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "สิ้นสุดเซสชันของผู้ใช้"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "ขอรับรหัสผ่านของผู้ใช้"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "เปลี่ยนรหัสผ่านของผู้ใช้"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "แสดงเวลาเข้าสู่ระบบครั้งล่าสุดของผู้ใช้"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "แสดงสถิติของผู้ใช้"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "แสดงจำนวนผู้ใช้ที่ลงทะเบียน"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "แสดงจำนวนผู้ใช้ออนไลน์"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "รายการควบคุมการเข้าถึง"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "กฎการเข้าถึง"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "การจัดการผู้ใช้"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "ผู้ใช้ออนไลน์"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "ผู้ใช้ทั้งหมด"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "การเชื่อมต่อ s2s ขาออก"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "โหนดที่ทำงาน"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "โหนดที่หยุด"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "โมดูล"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "การจัดการข้อมูลสำรอง"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "อิมพอร์ตผู้ใช้จากไฟล์เก็บพักข้อมูล jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "ถึง ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "จาก ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "การกำหนดค่าตารางฐานข้อมูลที่"
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "เลือกชนิดการจัดเก็บของตาราง"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "คัดลอกเฉพาะดิสก์"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "คัดลอก RAM และดิสก์"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "คัดลอก RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "คัดลอกระยะไกล"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "หยุดโมดูลที่"
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "เลือกโมดูลเพื่อหยุดการทำงาน"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "เริ่มโมดูลที่"
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "ป้อนรายการของ {โมดูล, [ตัวเลือก]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "รายการของโมดูลที่จะเริ่มการทำงาน"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "สำรองไฟล์ข้อมูลที่"
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "ป้อนพาธเพื่อสำรองไฟล์ข้อมูล"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "พาธของไฟล์ข้อมูล"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "คืนค่าการสำรองข้อมูลจากไฟล์ที่"
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "ถ่ายโอนการสำรองข้อมูลไปยังไฟล์ข้อความที่"
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "ป้อนพาธของไฟล์ข้อความ"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "อิมพอร์ตผู้ใช้จากไฟล์ที่"
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "ป้อนพาธไปยังไฟล์เก็บพักข้อมูล jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "อิมพอร์ตผู้ใช้จาก Dir ที่"
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "ป้อนพาธไปยัง jabberd14 spool dir"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "พาธไปยัง Dir"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "การหน่วงเวลา"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "การกำหนดค่ารายการควบคุมการเข้าถึง"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "รายการควบคุมการเข้าถึง"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "การกำหนดค่าการเข้าถึง"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "กฎการเข้าถึง"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "รหัสผ่าน"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "การตรวจสอบรหัสผ่าน"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "จำนวนผู้ใช้ที่ลงทะเบียน"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "จำนวนผู้ใช้ออนไลน์"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "ไม่เคย"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "ออนไลน์"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "การเข้าสู่ระบบครั้งล่าสุด"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "ขนาดของบัญชีรายชื่อ"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "ที่อยู่ IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "ทรัพยากร"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "การดูแล "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "การดำเนินการกับผู้ใช้"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "แก้ไขคุณสมบัติ"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "ลบผู้ใช้"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "การเข้าถึงถูกปฏิเสธโดยนโยบายการบริการ"
@@ -529,480 +531,500 @@ msgstr ""
msgid "Server ~b"
msgstr ""
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "ผู้ดูแลด้านการบริการเท่านั้นที่ได้รับอนุญาตให้ส่งข้อความการบริการ"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "การสร้างห้องสนทนาถูกปฏิเสธโดยนโยบายการบริการ"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "ไม่มีห้องประชุม"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "ห้องสนทนา"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อลงทะเบียนชื่อเล่น"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "การลงทะเบียนชื่อเล่นที่ "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "ป้อนชื่อเล่นที่คุณต้องการลงทะเบียน"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "ชื่อเล่น"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
#, fuzzy
msgid "That nickname is registered by another person"
msgstr "ชื่อเล่นถูกลงทะเบียนใช้งานโดยบุคคลอื่น"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "คุณต้องกรอกฟิลด์ \"Nickname\" ในแบบฟอร์ม"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC module"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "มีการปรับเปลี่ยนการกำหนดค่าของห้องสนทนา"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "เข้าห้องสนทนานี้"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "ออกจากห้อง"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "ถูกสั่งห้าม"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "ถูกไล่ออก"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr ""
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr ""
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr ""
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "ซึ่งรู้จักกันในชื่อ"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " ตั้งหัวข้อว่า: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+#, fuzzy
+msgid "Chatroom is created"
+msgstr "ห้องสนทนา"
+
+#: mod_muc/mod_muc_log.erl:453
+#, fuzzy
+msgid "Chatroom is destroyed"
+msgstr "ห้องสนทนา"
+
+#: mod_muc/mod_muc_log.erl:454
+#, fuzzy
+msgid "Chatroom is started"
+msgstr "ห้องสนทนา"
+
+#: mod_muc/mod_muc_log.erl:455
+#, fuzzy
+msgid "Chatroom is stopped"
+msgstr "ห้องสนทนา"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "วันจันทร์"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "วันอังคาร"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "วันพุธ"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "วันพฤหัสบดี"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "วันศุกร์"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "วันเสาร์"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "วันอาทิตย์"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "มกราคม"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "กุมภาพันธ์"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "มีนาคม"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "เมษายน"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "พฤษภาคม"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "มิถุนายน"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "กรกฎาคม"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "สิงหาคม"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "กันยายน"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "ตุลาคม"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "พฤศจิกายน"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "ธันวาคม"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "การกำหนดค่าห้องสนทนา"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
#, fuzzy
msgid "Room Occupants"
msgstr "จำนวนผู้ครอบครองห้อง"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "ชื่อห้อง"
-#: mod_muc/mod_muc_room.erl:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "อัตราของปริมาณการเข้าใช้เกินขีดจำกัด"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "ไม่อนุญาตให้ส่งข้อความส่วนตัวไปยังห้องประชุม"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "ประเภทข้อความไม่เหมาะสม"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
msgstr ""
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "ไม่อนุญาตให้ส่งข้อความส่วนตัวไปยัง \"กลุ่มสนทนา\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "ผู้รับไม่ได้อยู่ในห้องประชุม"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "ผู้ครอบครองห้องเท่านั้นที่ได้รับอนุญาตให้ส่งข้อความไปยังห้องประชุม"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
#, fuzzy
msgid "It is not allowed to send private messages"
msgstr "ไม่อนุญาตให้ส่งข้อความส่วนตัวไปยังห้องประชุม"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "ผู้ครอบครองห้องเท่านั้นที่ได้รับอนุญาตให้ส่งกระทู้ถามไปยังห้องประชุม"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "ห้องนี้ไม่อนุญาตให้ส่งกระทู้ถามถึงสมาชิกในห้องประชุม"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "ส่วนตัว, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
#, fuzzy
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "ผู้ดูแลการสนทนาและผู้เข้าร่วมเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "ผู้ดูแลการสนทนาเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
#, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "ผู้ดูแลการสนทนาเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "ชื่อเล่นถูกใช้งานอยู่โดยผู้ครอบครองห้อง"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "คุณถูกสั่งห้ามไมให้เข้าห้องนี้"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
#, fuzzy
msgid "Membership is required to enter this room"
msgstr "ต้องเป็นสมาชิกจึงจะสามารถเข้าห้องนี้ได้"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "ห้องนี้ไม่ปิดบังชื่อ"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
#, fuzzy
msgid "A password is required to enter this room"
msgstr "ต้องใส่รหัสผ่านเพื่อเข้าห้องนี้"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "รหัสผ่านไม่ถูกต้อง"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลระบบ"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลการสนทนา"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s ไม่ถูกต้อง"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "ไม่มีชื่อเล่น ~s อยู่ในห้องนี้"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "การเข้าร่วมที่ไม่ถูกต้อง: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "บทบาทไม่ถูกต้อง: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "ต้องมีสิทธิพิเศษของเจ้าของ"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
#, fuzzy
msgid "Configuration of room ~s"
msgstr "การกำหนดค่าสำหรับ "
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#, fuzzy
msgid "Room description"
msgstr "รายละเอียด:"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "สร้างเป็นห้องถาวร"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "สร้างเป็นห้องที่บุคคลทั่วไปสามารถค้นหาได้"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "สร้างรายการผู้เข้าร่วมสำหรับใช้งานโดยบุคคลทั่วไป"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "สร้างห้องที่มีการป้องกันด้วยรหัสผ่าน"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "จำนวนผู้ครอบครองห้องสูงสุด"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "ไม่จำกัด"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "แสดง Jabber IDs ที่ถูกต้องแก่"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "สำหรับผู้ดูแลการสนทนาเท่านั้น"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "ทุกคน"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "สร้างห้องสำหรับสมาชิกเท่านั้น"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
#, fuzzy
msgid "Make room moderated"
msgstr "สร้างเป็นห้องถาวร"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "ผู้ใช้เริ่มต้นเป็นผู้เข้าร่วม"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
#, fuzzy
msgid "Allow users to change the subject"
msgstr "อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "อนุญาตให้ผู้ใช้ส่งข้อความส่วนตัว"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "อนุญาตให้ผู้ใช้ถามคำถามกับผู้ใช้คนอื่นๆ ได้"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "อนุญาตให้ผู้ใช้ส่งคำเชิญถึงกันได้"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
#, fuzzy
msgid "Allow visitors to send status text in presence updates"
msgstr "อนุญาตให้ผู้ใช้ส่งข้อความส่วนตัว"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
#, fuzzy
msgid "Allow visitors to change nickname"
msgstr "อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
#, fuzzy
msgid "Make room captcha protected"
msgstr "สร้างห้องที่มีการป้องกันด้วยรหัสผ่าน"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "เปิดใช้งานการบันทึก"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดค่าห้องสนทนา "
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "จำนวนผู้ครอบครองห้อง"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "ส่วนตัว, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s เชิญคุณเข้าร่วมสนทนาในห้อง ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "รหัสผ่านคือ"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "ลำดับข้อความออฟไลน์ของผู้ที่ติดต่อของคุณเต็มแล้ว ข้อความถูกลบทิ้งแล้ว"
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s's ลำดับข้อความออฟไลน์"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "ส่งแล้ว"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "เวลา"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "จาก"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "ถึง"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "แพ็กเก็ต"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "ลบข้อความที่เลือก"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "ข้อความออฟไลน์:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "ข้อความออฟไลน์"
@@ -1011,193 +1033,197 @@ msgstr "ข้อความออฟไลน์"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "เผยแพร่-สมัครเข้าใช้งาน"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe module"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "คำร้องขอของผู้สมัครเข้าใช้งาน PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "เลือกว่าจะอนุมัติการสมัครเข้าใช้งานของเอนทิตี้นี้หรือไม่"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID โหนด"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "ที่อยู่ของผู้สมัคร"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "อนุญาตให้ Jabber ID นี้เข้าร่วมเป็นสมาชิกของโหนด pubsub หรือไม่"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "ส่งส่วนของข้อมูล (payload) พร้อมกับการแจ้งเตือนเหตุการณ์"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "ส่งการแจ้งเตือนเหตุการณ์"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อการกำหนดค่าโหนดเปลี่ยนแปลง"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อโหนดถูกลบ"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อรายการถูกลบออกจากโหนด"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "ยืนยันรายการที่จะจัดเก็บ"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "จำนวนสูงสุดของรายการที่ยืนยัน"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "อนุญาตให้เข้าร่วมเป็นสมาชิกหรือไม่"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "ระบุโมเดลการเข้าถึง"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "ระบุโมเดลผู้เผยแพร่"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#, fuzzy
msgid "Specify the event message type"
msgstr "ระบุโมเดลการเข้าถึง"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "ขนาดสูงสุดของส่วนของข้อมูล (payload) มีหน่วยเป็นไบต์"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "เวลาที่ส่งรายการที่เผยแพร่ครั้งล่าสุด"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "ส่งการแจ้งเตือนถึงผู้ใช้ที่สามารถติดต่อได้เท่านั้น"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr ""
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "เลือกชื่อผู้ใช้และรหัสผ่านเพื่อลงทะเบียนกับเซิร์ฟเวอร์นี้"
-#: mod_register.erl:244
+#: mod_register.erl:251
#, fuzzy
msgid "Users are not allowed to register accounts so quickly"
msgstr "ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "ไม่มี"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "การสมัครสมาชิก"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "ค้างอยู่"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "กลุ่ม"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "ตรวจสอบ"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "ลบ"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "บัญชีรายชื่อของ "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "รูปแบบที่ไม่ถูกต้อง"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "เพิ่ม Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "บัญชีรายชื่อ"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "กลุ่มบัญชีรายชื่อที่ใช้งานร่วมกัน"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "เพิ่มผู้ใช้ใหม่"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "ชื่อ:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "รายละเอียด:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "สมาชิก:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "กลุ่มที่แสดง:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "กลุ่ม"
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "ส่ง"
@@ -1205,32 +1231,32 @@ msgstr "ส่ง"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "วันเกิด"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "เมือง"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "ประเทศ"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "อีเมล"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "นามสกุล"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1238,53 +1264,53 @@ msgstr ""
"กรอกข้อมูลในแบบฟอร์มเพื่อค้นหาผู้ใช้ Jabber ที่ตรงกัน (ใส่เครื่องหมาย * "
"ที่ท้ายสุดของฟิลด์เพื่อจับคู่กับสตริงย่อย)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "ชื่อเต็ม"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "ชื่อกลาง"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "ชื่อ"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "ชื่อองค์กร"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "หน่วยขององค์กร"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "ค้นหาผู้ใช้ใน "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อค้นหา"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "ค้นหาผู้ใช้ vCard "
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard module"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "ผลการค้นหาสำหรับ "
@@ -1292,184 +1318,184 @@ msgstr "ผลการค้นหาสำหรับ "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "กรอกข้อมูลลงในฟิลด์เพื่อค้นหาผู้ใช้ Jabber ที่ตรงกัน"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr ""
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
#, fuzzy
msgid "ejabberd Web Admin"
msgstr "เว็บอินเทอร์เฟซของ ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "การดูแล"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "ข้อมูลดิบ"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s การกำหนดค่ากฎการเข้าถึง"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "โฮสต์เสมือน ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "ผู้ใช้"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "กิจกรรมล่าสุดของผู้ใช้"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "ระยะเวลา:"
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "เดือนที่แล้ว"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "ปีที่แล้ว"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "กิจกรรมทั้งหมด"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "แสดงตารางทั่วไป"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "แสดงตารางรวม"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "สถิติ"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
#, fuzzy
msgid "Not Found"
msgstr "ไม่พบโหนด"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "ไม่พบโหนด"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "โฮสต์"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "ผู้ใช้ที่ลงทะเบียน"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "ข้อความออฟไลน์"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "กิจกรรมล่าสุด"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "ผู้ใช้ที่ลงทะเบียน:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "ผู้ใช้ออนไลน์:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "การเชื่อมต่อ s2s ขาออก:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "เซิร์ฟเวอร์ s2s ขาออก:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "เปลี่ยนรหัสผ่าน"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "ผู้ใช้"
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "ทรัพยากรที่เชื่อมต่อ:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "รหัสผ่าน:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "ไม่มีข้อมูล"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "โหนด"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "โหนด "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "พอร์ทฟัง"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "อัพเดต"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "เริ่มต้นใหม่"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "หยุด"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "ข้อผิดพลาดจากการเรียกใช้ RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "ตารางฐานข้อมูลที่"
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "ชนิดที่เก็บข้อมูล"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr ""
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "หน่วยความจำ"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr ""
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "การสำรองข้อมูล"
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
#, fuzzy
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
@@ -1479,145 +1505,145 @@ msgstr ""
"โปรดทราบว่าตัวเลือกเหล่านี้จะสำรองข้อมูลในฐานข้อมูล builtin Mnesia เท่านั้น หากคุณใช้โมดูล "
"ODBC คุณต้องสำรองข้อมูลของฐานข้อมูล SQL แยกต่างหากด้วย"
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "จัดเก็บข้อมูลสำรองแบบไบนารี:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "ตกลง"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "คืนค่าข้อมูลสำรองแบบไบนารีโดยทันที:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"คืนค่าข้อมูลสำรองแบบไบนารีหลังจากที่ ejabberd ถัดไปเริ่มการทำงานใหม่ (ใช้หน่วยความจำน้อยลง):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "จัดเก็บข้อมูลสำรองที่เป็นข้อความธรรมดา:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "คืนค่าข้อมูลสำรองที่เป็นข้อความธรรมดาโดยทันที:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
#, fuzzy
msgid "Import user data from jabberd14 spool file:"
msgstr "อิมพอร์ตผู้ใช้จากไฟล์เก็บพักข้อมูล jabberd14"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
#, fuzzy
msgid "Import users data from jabberd14 spool directory:"
msgstr "อิมพอร์ตผู้ใช้จากไฟล์เก็บพักข้อมูล jabberd14"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "พอร์ทฟังที่"
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "โมดูลที่ "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "สถิติของ ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "เวลาการทำงานต่อเนื่อง:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "เวลาการทำงานของ CPU:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "ทรานแซกชันที่ได้รับมอบหมาย:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "ทรานแซกชันที่ถูกยกเลิก:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "ทรานแซกชันที่เริ่มทำงานใหม่อีกครั้ง:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "ทรานแซกชันที่บันทึก:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "อัพเดต "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "แผนการอัพเดต"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
#, fuzzy
msgid "Modified modules"
msgstr "โมดูลที่อัพเดต"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "อัพเดตสคริปต์"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "อัพเดตสคริปต์ระดับต่ำ"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "ตรวจสอบคริปต์"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "พอร์ท"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr ""
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
#, fuzzy
msgid "Protocol"
msgstr "พอร์ท"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "โมดูล"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "ตัวเลือก"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "ลบ"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "เริ่ม"
diff --git a/src/msgs/tr.po b/src/msgs/tr.po
index 3efc47f09..8791da8e2 100644
--- a/src/msgs/tr.po
+++ b/src/msgs/tr.po
@@ -12,15 +12,15 @@ msgstr ""
"X-Language: Turkish (türkçe)\n"
"X-Generator: KBabel 1.11.4\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "STARTTLS kullanımı gereklidir"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Hiç kaynak sağlanmadı"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Eski bağlantı yenisi ile değiştirildi"
@@ -50,381 +50,383 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Günün mesajını silmek istediğinize emin misiniz?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Konu"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Mesajın gövdesi"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Duyuru mesajının gövdesi yok"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Duyurular"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Duyuruyu tüm kullanıcılara yolla"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Tüm sunuculardaki tüm kullanıcılara duyuru yolla"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Duyuruyu tüm bağlı kullanıcılara yolla"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Duyuruyu tüm sunuculardaki tüm bağlı kullanıcılara yolla"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Günün mesajını belirle"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Tüm sunucularda günün mesajını belirle ve bağlı tüm kullanıcılara gönder"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Günün mesajını güncelle (gönderme)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Tüm sunuculardaki günün mesajını güncelle (gönderme)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Günün mesajını sil"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Tüm sunuculardaki günün mesajını sil"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Ayarlar"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Veritabanı"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Modülleri Başlat"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Modülleri Durdur"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Yedekle"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Yedekten Geri Al"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Metin Dosyasına Döküm Al"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Dosyayı İçe Aktar"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Dizini İçe Aktar"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Servisi Tekrar Başlat"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Servisi Kapat"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Kullanıcı Ekle"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Kullanıcıyı Sil"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Kullanıcı Oturumunu Kapat"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Kullanıcı Parolasını Al"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Kullanıcı Parolasını Değiştir"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Kullanıcı Son Giriş Zamanınlarını Al"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Kullanıcı İstatistiklerini Al"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Kayıtlı Kullanıcı Sayısını Al"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Bağlı Kullanıcı Sayısını Al"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Erişim Kontrol Listeleri (ACL)"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Erişim Kuralları"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Kullanıcı Yönetimi"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Bağlı Kullanıcılar"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Tüm Kullanıcılar"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Giden s2s Bağlantıları"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Çalışan Düğümler"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Durdurulmuş Düğümler"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Modüller"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Yedek Yönetimi"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Jabberd 1.4 Spool Dosyalarından Kullanıcıları İçeri Aktar"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Kime ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Kimden ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Veritabanı Tablo Ayarları : "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Tabloların veri depolama tipini seçiniz"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Sadece disk kopyala"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "RAM ve disk kopyala"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "RAM kopyala"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Uzak kopyala"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Modülleri Durdur : "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Durdurulacak modülleri seçiniz"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Modülleri Başlat : "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "{Module, [Options]} listesi giriniz"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Başlatılacak modüllerin listesi"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Dosyaya Yedekle : "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Yedek dosyasının yolunu giriniz"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Dosyanın Yolu"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Dosyadaki Yedekten Geri Al : "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Metin Dosyasına Döküm Alarak Yedekle : "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Metin dosyasının yolunu giriniz"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Dosyadan Kullanıcıları İçe Aktar : "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "jabberd14 spool dosyası için yol giriniz"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Dizinden Kullanıcıları İçe Aktar : "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "jabberd14 spool dosyası için yol giriniz"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Dizinin Yolu"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Zaman gecikmesi"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Erişim Kontrol Listelerinin Ayarlanması (ACL)"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Erişim kontrol listeleri (ACL)"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Erişim Ayarları"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Erişim kuralları"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Parola"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Parola Doğrulaması"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Kayıtlı kullanıcı sayısı"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Bağlı kullanıcı sayısı"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Asla"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Bağlı"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Son giriş"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "İsim listesi boyutu"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP adresleri"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Kaynaklar"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Yönetim : "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Kullanıcıya uygulanacak eylem"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Özellikleri Düzenle"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Kullanıcıyı Kaldır"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Servis politikası gereği erişim engellendi"
@@ -536,202 +538,222 @@ msgstr "Sunucu için kodlama ~b"
msgid "Server ~b"
msgstr "Sunucu ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Sadece servis yöneticileri servis mesajı gönderebilirler"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Odanın oluşturulması servis politikası gereği reddedildi"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Konferans odası bulunamadı"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Sohbet Odaları"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Takma isminizi kaydettirmek için x:data becerisine sahip bir istemciye "
"gereksinimiz var"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Takma İsim Kaydı : "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Kaydettirmek istediğiniz takma ismi giriniz"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Takma isim"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "O takma isim başka biri tarafından kaydettirilmiş"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Formda \"Takma isim\" alanını doldurmanız gerekiyor"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC modülü"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Sohbet odası ayarı değiştirildi"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "odaya katıldı"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "odadan ayrıldı"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "odaya girmesi yasaklandı"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "odadan atıldı"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "ilişki değişikliğinden dolayı atıldı"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "oda üyelere-özel hale getirildiğinden dolayı atıldı"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "sistem kapandığından dolayı atıldı"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "isim değiştirdi :"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " konuyu değiştirdi: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+#, fuzzy
+msgid "Chatroom is created"
+msgstr "Sohbet Odaları"
+
+#: mod_muc/mod_muc_log.erl:453
+#, fuzzy
+msgid "Chatroom is destroyed"
+msgstr "Sohbet Odaları"
+
+#: mod_muc/mod_muc_log.erl:454
+#, fuzzy
+msgid "Chatroom is started"
+msgstr "Sohbet Odaları"
+
+#: mod_muc/mod_muc_log.erl:455
+#, fuzzy
+msgid "Chatroom is stopped"
+msgstr "Sohbet Odaları"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Pazartesi"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Salı"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Çarşamba"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Perşembe"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Cuma"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Cumartesi"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Pazar"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Ocak"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Şubat"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Mart"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Nisan"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Mayıs"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Haziran"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Temmuz"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Ağustos"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Eylül"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Ekim"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Kasım"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Aralık"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Oda Ayarları"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Oda Sakini Sayısı"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Trafik oran sınırı aşıldı"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr "Bu katılımcı bir hata mesajı gönderdiği için odadan atıldı"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Konferansa özel mesajlar gönderilmesine izin verilmiyor"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Uygunsuz mesaj tipi"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -739,36 +761,32 @@ msgstr ""
"Bu katılımcı başka bir katılımcıya bir hata mesajı gönderdiği için odadan "
"atıldı"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "\"groupchat\" tipinde özel mesajlar gönderilmesine izin verilmiyor"
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Alıcı konferans odasında değil"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Sadece oda sakinlerinin konferansa mesaj göndermesine izin veriliyor"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Özel mesaj gönderilmesine izin verilmiyor"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Sadece oda sakinlerinin konferansa sorgu göndermesine izin veriliyor"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Bu odada konferans üyelerine sorgu yapılmasına izin verilmiyor"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "özel"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@@ -776,235 +794,239 @@ msgstr ""
"Sadece moderatörlerin ve katılımcıların bu odanın konusunu değiştirmesine "
"izin veriliyor"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Sadece moderatörlerin bu odanın konusunu değiştirmesine izin veriliyor"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
"Ziyaretçilerin odadaki tüm sakinlere mesaj göndermesine izin verilmiyor"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr "Bu katılımcı bir hata varlığı (presence) gönderdiği için odadan atıldı"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"Bu odada ziyaretçilerin takma isimlerini değiştirmesine izin verilmiyor"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Takma isim odanın başka bir sakini tarafından halihazırda kullanımda"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Bu odaya girmeniz yasaklandı"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "Bu odaya girmek için üyelik gerekiyor"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Bu oda anonim değil"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Bu odaya girmek için parola gerekiyor"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "İnsan doğrulaması (captcha) oluşturulamadı"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Yanlış parola"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Yönetim yetkileri gerekli"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Moderatör yetkileri gerekli"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s geçersiz"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "~s takma ismi odada yok"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Geçersiz ilişki: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Geçersiz rol: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Sahip yetkileri gerekli"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "~s odasının ayarları"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Oda tanımı"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Odayı kalıcı hale getir"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Odayı herkes tarafından aranabilir hale getir"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Katılımcı listesini herkese açık hale getir"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Odayı parola korumalı hale getir"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Odada En Fazla Bulunabilecek Kişi Sayısı"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Sınırsız"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Gerçek Jabber ID'lerini göster :"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "sadece moderatörler"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "herkes"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Odayı sadece üyelere açık hale getir"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Odayı moderasyonlu hale getir"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Kullanıcılar öntanımlı olarak katılımcı olsun"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Kullanıcıların konu değiştirmesine izin ver"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Kullanıcıların özel mesaj göndermelerine izin ver"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Kullanıcıların diğer kullanıcıları sorgulamalarına izin ver"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Kullanıcıların davetiye göndermelerine izin ver"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Ziyaretçilerin varlık (presence) güncellemelerinde durum metni "
"göndermelerine izin ver"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Ziyaretçilerin takma isim değiştirmelerine izin ver"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Odayı insan doğrulaması (captcha) korumalı hale getir"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Kayıt tutma özelliğini aç"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
"Odayı ayarlamak için x:data becerisine sahip bir istemciye gereksinimiz var"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Oda sakini sayısı"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "özel"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s sizi ~s odasına davet ediyor"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "parola :"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Çevirim-dışı mesaj kuyruğunuz dolu. Mesajını dikkate alınmadı."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s Kullanıcısının Mesaj Kuyruğu"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Gönderilenler"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Zaman"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Kimden"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Kime"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paket"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Seçilenleri Sil"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Çevirim-dışı Mesajlar:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Tüm Çevirim-dışı Mesajları Kaldır"
@@ -1012,192 +1034,196 @@ msgstr "Tüm Çevirim-dışı Mesajları Kaldır"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modülü"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Yayınla-Üye Ol"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modülü"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "PubSub üye isteği"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Bu varlığın üyeliğini onaylayıp onaylamamayı seçiniz."
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "Düğüm ID"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Üye Olanın Adresi"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Bu Jabber ID bu pubsub düğümüne üye olmasına izin verilsin mi?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Yükleri (payload) olay uyarıları ile beraber gönder"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Olay uyarıları gönderilsin"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Düğüm ayarları değiştiğinde üyeleri uyar"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Bir düğüm silindiğinde üyeleri uyar"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Düğümden öğeler kaldırıldığında üyeleri uyar"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Öğeleri depoda kalıcı hale getir"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Düğüm için dostane bir isim"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Kalıcı hale getirilecek en fazla öğe sayısı"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Üyeliklere izin verilsin mi"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Erişim modelini belirtiniz"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Üye olunmasına izin verilen kontak listesi grupları"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Yayıncı modelini belirtiniz"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#, fuzzy
msgid "Specify the event message type"
msgstr "Erişim modelini belirtiniz"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "En fazla yük (payload) boyutu (bayt olarak)"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Son yayınlanan öğe ne zaman gönderilsin"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Uyarıları sadece durumu uygun kullanıcılara ulaştır"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Bir düğüm ile bağlantılı koleksiyonlar"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Bu sunucuya kayıt olmak için bir kullanıcı ismi ve parola seçiniz"
-#: mod_register.erl:244
+#: mod_register.erl:251
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"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Hiçbiri"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Üyelik"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Sıra Bekleyen"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Gruplar"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Geçerli"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Kaldır"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Kontak Listesi : "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Kötü biçem"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Jabber ID'si Ekle"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Kontak Listesi"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Paylaşımlı Kontak Listesi Grupları"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Yeni Ekle"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "İsim:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Tanım:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Üyeler:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Gösterilen Gruplar:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Group "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Gönder"
@@ -1205,32 +1231,32 @@ msgstr "Gönder"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Sunucusu"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Doğumgünü"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "İl"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Ülke"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "E-posta"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Soyisim"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1238,54 +1264,54 @@ msgstr ""
"Eşleşen jabber kullanıcılarını aramak için formu doldurunuz (Alt dizgi "
"eşlemek için alanın sonuna * ekleyin)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Tam İsim"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Ortanca İsim"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "İsim"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Kurum İsmi"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Kurumun İlgili Birimi"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Kullanıcılarda arama yap : "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
"Arama yapabilmek için x:data becerisine sahip bir istemciye gereksinimiz var"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "vCard Kullanıcı Araması"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard modülü"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Arama sonuçları : "
@@ -1293,182 +1319,182 @@ msgstr "Arama sonuçları : "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Eşleşen jabber kullanıcılarını aramak için alanları doldurunuz"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Yetkisiz"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd Web Yöneticisi"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Yönetim"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Ham"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s erişim kuralları ayarları"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd sanal sunucuları"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Kullanıcılar"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Kullanıcıların Son Aktiviteleri"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Periyot:"
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Geçen ay"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Geçen yıl"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Tüm aktivite"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Sıradan Tabloyu Göster"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Önemli Tabloyu Göster"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "İstatistikler"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "Bulunamadı"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Düğüm bulunamadı"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Sunucu"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Kayıtlı Kullanıcılar"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Çevirim-dışı Mesajlar"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Son Aktivite"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Kayıtlı Kullanıcılar:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Bağlı Kullanıcılar:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Giden s2s Bağlantıları:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Giden s2s Sunucuları"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Parola Değiştir"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Kullanıcı "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Bağlı Kaynaklar:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Parola:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Veri Yok"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Düğümler"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Düğüm "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Dinlenen Kapılar (Portlar)"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "GÜncelle"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Tekrar Başlat"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Durdur"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "RPC Çağrı Hatası"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Veritabanı Tabloları : "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Depolama Tipi"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Elementler"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Bellek"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Hata"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Yedek : "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1478,145 +1504,145 @@ msgstr ""
"edin. Eğer ODBC modülünü kullanıyorsanız, SQL veritabanınızı da ayrıca "
"yedeklemeniz gerekiyor."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "İkili yedeği sakla:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "Tamam"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Hemen ikili yedekten geri al:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"ejabberd'nin bir sonraki tekrar başlatılışında ikili yedekten geri al (daha "
"az bellek gerektirir)"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Düz metin yedeği sakla:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Hemen düz metin yedekten geri al"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Kullanıcıları bir PIEFXIS dosyasından (XEP-0227) içe aktar:"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
"Sunucudaki tüm kullanıcıların verisini PIEFXIS dosyalarına (XEP-0227) dışa "
"aktar:"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
"Bir sunucudaki kullanıcıların verisini PIEFXIS dosyalarına (XEP-0227) dışa "
"aktar:"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Jabberd 1.4 Spool Dosyalarından Kullanıcıları İçe Aktar:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Jabberd 1.4 Spool Dizininden Kullanıcıları İçe Aktar:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Dinlenen Kapılar (Portlar) : "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Modüller : "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "~p istatistikleri"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Hizmet Süresi:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "İşlemci Zamanı:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Tamamlanan Hareketler (Transactions Committed):"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "İptal Edilen Hareketler (Transactions):"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Tekrar Başlatılan Hareketler (Transactions):"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Kaydı Tutulan Hareketler (Transactions):"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Güncelle "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Planı güncelle"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Değişen modüller"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Betiği Güncelle"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Düşük seviye güncelleme betiği"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Betik kontrolü"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Kapı (Port)"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Protokol"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Modül"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Seçenekler"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Sil"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Başlat"
diff --git a/src/msgs/uk.msg b/src/msgs/uk.msg
index c4d95e947..26bcbb4af 100644
--- a/src/msgs/uk.msg
+++ b/src/msgs/uk.msg
@@ -36,6 +36,10 @@
{"Change Password","Змінити пароль"}.
{"Change User Password","Змінити Пароль Користувача"}.
{"Chatroom configuration modified","Конфігурація кімнати змінилась"}.
+{"Chatroom is created","Створено кімнату"}.
+{"Chatroom is destroyed","Знищено кімнату"}.
+{"Chatroom is started","Запущено кімнату"}.
+{"Chatroom is stopped","Зупинено кімнату"}.
{"Chatrooms","Кімнати"}.
{"Choose a username and password to register with this server","Виберіть назву користувача та пароль для реєстрації на цьому сервері"}.
{"Choose modules to stop","Виберіть модулі, які необхідно зупинити"}.
@@ -246,6 +250,7 @@
{"Protocol","Протокол"}.
{"Publish-Subscribe","Опублікувати-Абонувати"}.
{"PubSub subscriber request","Запит на абонування PubSub"}.
+{"Purge all items when the relevant publisher goes offline","Видалити всі елементи, коли особа, що їх опублікувала, вимикається від мережі"}.
{"Queries to the conference members are not allowed in this room","Запити до користувачів в цій конференції зоборонені"}.
{"RAM and disc copy","ОЗП та диск"}.
{"RAM copy","ОЗП"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","Вимкнути Сервіс"}.
{"~s invites you to the room ~s","~s запрошує вас до кімнати ~s"}.
{"Specify the access model","Визначити модель доступу"}.
+{"Specify the event message type","Вкажіть тип повідомлень зі сповіщеннями про події"}.
{"Specify the publisher model","Умови публікації"}.
{"~s's Offline Messages Queue","Черга офлайнових повідомлень ~s"}.
{"Start Modules at ","Запуск модулів на "}.
diff --git a/src/msgs/uk.po b/src/msgs/uk.po
index 5a8a210f3..afa09855d 100644
--- a/src/msgs/uk.po
+++ b/src/msgs/uk.po
@@ -1,23 +1,27 @@
msgid ""
msgstr ""
"Project-Id-Version: 2.1.0-alpha\n"
-"Last-Translator: Ruslan Rakhmanin\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: Konstantin Khomoutov \n"
+"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Ukrainian (українська)\n"
+"X-Additional-Translator: Ruslan Rakhmanin\n"
"X-Additional-Translator: Stoune\n"
"X-Additional-Translator: Sergei Golovan\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Ви мусите використовувати STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Не вказаний ресурс"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Замінено новим з'єднанням"
@@ -45,384 +49,386 @@ msgstr "Пінг"
msgid "Pong"
msgstr "Понг"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Насправді видалити повідомлення дня?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Тема"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Тіло повідомлення"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Тіло оголошення має бути непустим"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Сповіщення"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Надіслати сповіщення всім користувачам"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Надіслати сповіщення до усіх користувачів на усіх хостах"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Надіслати сповіщення всім підключеним користувачам"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
"Надіслати сповіщення всім підключеним користувачам на всіх віртуальних "
"серверах"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Встановити повідомлення дня та надіслати його підключеним користувачам"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Встановити повідомлення дня на всіх хостах та надійслати його підключеним "
"користувачам"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Поновити повідомлення дня (не надсилати)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Оновити повідомлення дня на всіх хостах (не надсилати)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Видалити повідомлення дня"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Видалити повідомлення дня на усіх хостах"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Конфігурація"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "База даних"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Запуск модулів"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Зупинка модулів"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Резервне копіювання"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Відновлення з резервної копії"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Копіювання в текстовий файл"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Імпорт з файла"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Імпорт з директорії"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Перезапустити Сервіс"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Вимкнути Сервіс"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Додати користувача"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Видалити Користувача"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Закінчити Сеанс Користувача"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Отримати Пароль Користувача"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Змінити Пароль Користувача"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Отримати Час Останнього Підключення Користувача"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Отримати Статистику по Користувачу"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Отримати Кількість Зареєстрованих Користувачів"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Отримати Кількість Підключених Користувачів"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Списки керування доступом"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Правила доступу"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Управління Користувачами"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Підключені користувачі"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Всі користувачі"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Вихідні s2s-з'єднання"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Працюючі вузли"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Зупинені вузли"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Модулі"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Керування резервним копіюванням"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Імпорт користувачів зі спулу jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "До ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Від ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Конфігурація таблиць бази даних на "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Оберіть тип збереження таблиць"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Тільки диск"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "ОЗП та диск"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "ОЗП"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "не зберігаеться локально"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Зупинка модулів на "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Виберіть модулі, які необхідно зупинити"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Запуск модулів на "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Введіть перелік такого виду {Module, [Options]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Список завантажуваних модулів"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Резервне копіювання в файл на "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Введіть шлях до резервного файла"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Шлях до файла"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Відновлення з резервної копії на "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Копіювання в текстовий файл на "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Введіть шлях до текстового файла"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Імпортування користувача з файла на "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Введіть шлях до файла зі спула jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Імпортування користувача з директорії на "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Введіть шлях до директорії спула jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "шлях до директорії"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Час затримки"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Конфігурація списків керування доступом"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Списки керування доступом"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Конфігурація доступа"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Правила доступу"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Пароль"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Перевірка Пароля"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Кількість зареєстрованих користувачів"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Кількість підключених користувачів"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Ніколи"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Підключений"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Останнє підключення"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Кількість контактів"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP адреси"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Ресурси"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Адміністрування "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Дія над користувачем"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Змінити параметри"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Видалити користувача"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Доступ заборонений політикою служби"
@@ -534,203 +540,219 @@ msgstr "Кодування для сервера ~b"
msgid "Server ~b"
msgstr "Сервер ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Тільки адміністратор сервісу може надсилати службові повідомлення"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Створювати конференцію заборонено політикою служби"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Конференція не існує"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Кімнати"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Для реєстрації псевдоніму необхідно використовувати клієнт з ідтримкою x:data"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Реєстрація псевдоніма на "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Введіть псевдонім, який ви хочете зареєструвати"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Псевдонім"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "Псевдонім зареєстровано кимось іншим"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Вам необхідно заповнити поле \"Псевдонім\" у формі"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC модуль"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Конфігурація кімнати змінилась"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "увійшов(ла) в кімнату"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "вийшов(ла) з кімнати"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "заборонили вхід в кімнату"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "вигнали з кімнати"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "вигнано з кімнати як наслідок зміни ранга"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "вигнано з кімнати тому, що воня стала тільки для учасників"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "вигнано з кімнати як наслідок зупинки системи"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "змінив(ла) им'я на"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " встановив(ла) тему: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "Створено кімнату"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "Знищено кімнату"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "Запущено кімнату"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "Зупинено кімнату"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Понеділок"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Вівторок"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Середа"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Четвер"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "П'ятниця"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Субота"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Неділя"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "січня"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "лютого"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "березня"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "квітня"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "травня"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "червня"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "липня"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "серпня"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "вересня"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "грудня"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "листопада"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "грудня"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Конфігурація кімнати"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "Учасники кімнати"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Назва кімнати"
-#: mod_muc/mod_muc_room.erl:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Швидкість передачі інформації було перевищено"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Цього учасника було відключено від кімнати через те, що він надіслав "
"помилкове повідомлення"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Не дозволяється надсилати приватні повідомлення в конференцію"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Неправильний тип повідомлення"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -738,272 +760,272 @@ msgstr ""
"Цього учасника було відключено від кімнати через те, що він надіслав "
"помилкове повідомлення іншому учаснику"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Не дозволяється надсилати приватні повідомлення типу \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Адресата немає в конференції"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Тільки присутнім дозволяється надсилати повідомленняя в конференцію"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Приватні повідомлення не дозволені"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Тільки присутнім дозволяється відправляти запити в конференцію"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Запити до користувачів в цій конференції зоборонені"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "приватна, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Тільки модератори та учасники можуть змінювати тему в цій кімнаті"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Тільки модератори можуть змінювати тему в цій кімнаті"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Відвідувачам не дозволяється надсилати повідомлення всім присутнім"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Цього учасника було відключено від кімнати через те, що він надіслав "
"помилковий статус присутності"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Відвідувачам не дозволяється змінювати псевдонім в цій кімнаті"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "Псевдонім зайнято кимось з присутніх"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Вам заборонено входити в цю конференцію"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "В цю конференціию можуть входити тільки її члени"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Ця кімната не анонімна"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "Щоб зайти в цю конференцію, необхідно ввести пароль"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "Не має можливості сгенерувати капчу"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Неправильний пароль"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Необхідні права адміністратора"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Необхідні права модератора"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s недопустимий"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Псевдонім ~s в кімнаті відсутній"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Недопустимий ранг: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Недопустима роль: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Необхідні права власника"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "Конфігурація кімнати ~s"
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "Опис кімнати"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Зробити кімнату постійною"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Зробити кімнату видимою всім"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Зробити список учасників видимим всім"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Зробити кімнату захищеною паролем"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Максимальна кількість учасників"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Без обмежень"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Зробити реальні Jabber ID учасників видимими"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "тільки модераторам"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "всім учасникам"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Кімната тільки для зареєтрованых учасників"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Зробити кімнату модерованою"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Зробити користувачів учасниками за замовчуванням"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "Дозволити користувачам змінювати тему"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Дозволити приватні повідомлення"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Дозволити iq-запити до користувачів"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Дозволити користувачам надсилати запрошення"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Дозволити відвідувачам відсилати текст статусу в оновленнях присутності"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Дозволити відвідувачам змінювати псевдонім"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "Зробити кімнату захищеною капчею"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Включити журнал роботи"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
"Для конфігурування кімнати потрібно використовувати клієнт з підтримкою x:"
"data"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Кількість присутніх"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "приватна, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s запрошує вас до кімнати ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "пароль:"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Черга повідомлень, що не були доставлені, переповнена. Повідомлення не було "
"збережено."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "Черга офлайнових повідомлень ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Відправлено"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Час"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Від кого"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Кому"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Пакет"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Видалити виділені"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Офлайнові повідомлення:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "Видалити всі офлайнові повідомлення"
@@ -1011,192 +1033,196 @@ msgstr "Видалити всі офлайнові повідомлення"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams модуль"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Опублікувати-Абонувати"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Модуль ejabberd Публікації-Абонування"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Запит на абонування PubSub"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Вирішіть, чи задовольнити запит цього об'єкту на підписку"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID вузла"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Адреса абонента"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Чи дозволити цьому Jabber ID абонувати новини наданого вузла"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Доставляти разом з повідомленнями про публікації самі публікації"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Доставляти сповіщення про події"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Повідомляти абонентів про зміни в конфігурації збірника"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Повідомляти абонентів про видалення збірника"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Повідомляти абонентів про видалення публікацій із збірника"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Зберегати публікації до сховища"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "Псевдонім для вузла"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Максимальне число збережених публікацій"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Дозволити передплату"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Визначити модель доступу"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Дозволені для абонування групи ростера"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Умови публікації"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "Визначити модель доступу"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+"Видалити всі елементи, коли особа, що їх опублікувала, вимикається від мережі"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "Вкажіть тип повідомлень зі сповіщеннями про події"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Максимальний розмір корисного навантаження в байтах"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Коли надсилати останній опублікований елемент"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Доставляти повідомленнями тільки доступним користувачам"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "Колекція, до якої входить вузел"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Виберіть назву користувача та пароль для реєстрації на цьому сервері"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "Користувачам не дозволено так часто реєструвати облікові записи"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Немає"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Підписка"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Очікування"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Групи"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Затвердити"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Видалити"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Ростер користувача "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Неправильний формат"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Додати Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Ростер"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Спільні групи контактів"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Додати"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Назва:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Опис:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Члени:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Видимі групи:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Група "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Відправити"
@@ -1204,32 +1230,32 @@ msgstr "Відправити"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "День народження"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Місто"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Країна"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Електронна пошта"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Прізвище"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1237,53 +1263,53 @@ msgstr ""
"Заповніть поля для пошуку користувача Jabber (Додайте * в кінець поля для "
"пошуку підрядка)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Повне ім'я"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "По-батькові"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Назва"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Назва організації"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Відділ організації"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Пошук користувачів в "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Для пошуку необхідний x:data-придатний клієнт"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Пошук користувачів по vCard"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard модуль"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Результати пошуку в "
@@ -1291,182 +1317,182 @@ msgstr "Результати пошуку в "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Заповніть поля для пошуку користувача Jabber"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "Не авторізован"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "Веб-інтерфейс Адміністрування ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Адміністрування"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "необроблений формат"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Конфігурація правила доступу ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "віртуальні хости ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Користувачі"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Статистика останнього підключення користувачів"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Період"
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "За останній місяць"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "За останній рік"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Вся статистика"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Показати звичайну таблицю"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Показати інтегральну таблицю"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Статистика"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "не знайдено"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Вузол не знайдено"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Хост"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Зареєстровані користувачі"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Офлайнові повідомлення"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Останнє підключення"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Зареєстровані користувачі:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Підключені користувачі:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Вихідні s2s-з'єднання:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Вихідні s2s-сервери:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Змінити пароль"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Користувач "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Підключені ресурси:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Пароль:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Немає даних"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Вузли"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Вузол "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Відкриті порти"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Обновити"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Перезапустити"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Зупинити"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Помилка виклику RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Таблиці бази даних на "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Тип таблиці"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "Елементи"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Пам'ять"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "Помилка"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Резервне копіювання "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1477,141 +1503,141 @@ msgstr ""
"(наприклад за допомогою модуля ODBC), то його резервне копіювання потрібно "
"робити окремо."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Зберегти бінарну резервну копію:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "Продовжити"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Відновити з бінарної резервної копії негайно:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Відновити з бінарної резервної копії при наступному запуску (потребує менше "
"пам'яті):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Зберегти текстову резервну копію:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Відновити з текстової резервної копії негайно:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "Імпорт даних користовучів з файлу PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr "Експорт даних всіх користувачів сервера до файлу PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr "Експорт даних користувачів домена до файлу PIEFXIS (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "Імпорт користувачів з файла спула jabberd14:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "Імпорт користувачів з діректорії спула jabberd14:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Відкриті порти на "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Модулі на "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "статистика вузла ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Час роботи:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Процесорний час:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Транзакції завершені:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Транзакції відмінені:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Транзакції перезапущені:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Транзакції запротокольовані:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Поновлення "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "План поновлення"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "Змінені модулі"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Сценарій поновлення"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Низькорівневий сценарій поновлення"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Перевірка сценарію"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Порт"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "Протокол"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Модуль"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Параметри"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Видалити"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Запустити"
diff --git a/src/msgs/vi.po b/src/msgs/vi.po
index 4b3f6e1d2..795259b4a 100644
--- a/src/msgs/vi.po
+++ b/src/msgs/vi.po
@@ -7,15 +7,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Vietnamese (tiếng việt)\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "Yêu cầu sử dụng STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Không có nguồn lực cung cấp"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Được thay thế bởi kết nối mới"
@@ -44,383 +44,385 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Có thực sự xóa thư trong ngày này không?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Tiêu đề"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Thân thư"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "Không có nội dung trong thư thông báo"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Thông báo"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Gửi thông báo đến tất cả người sử dụng"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Gửi thông báo đến tất cả người sử dụng trên tất cả các máy chủ"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Gửi thông báo đến tất cả người sử dụng trực tuyến"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr ""
"Gửi thông báo đến tất cả người sử dụng trực tuyến trên tất cả các máy chủ"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Tạo lập thư trong ngày và gửi đến những người sử dụng trực tuyến"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Tạo lập thư trong ngày trên tất cả các máy chủ và gửi đến những người sử "
"dụng trực tuyến"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Cập nhật thư trong ngày (không gửi)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Cập nhật thư trong ngày trên tất cả các máy chủ (không gửi)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Xóa thư trong ngày"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Xóa thư trong ngày trên tất cả các máy chủ"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Cấu hình"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Cơ sở dữ liệu"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Môđun Khởi Động"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Môđun Dừng"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Sao lưu dự phòng"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Khôi phục"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Kết xuất ra Tập Tin Văn Bản"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Nhập Tập Tin"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Nhập Thư Mục"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Khởi Động Lại Dịch Vụ"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Tắt Dịch Vụ"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Thêm Người Sử Dụng"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Xóa Người Sử Dụng"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Kết Thúc Phiên Giao Dịch Người Sử Dụng"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Nhận Mật Khẩu Người Sử Dụng"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Thay Đổi Mật Khẩu Người Sử Dụng"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Nhận Thời Gian Đăng Nhập Cuối Cùng Của Người Sử Dụng"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Nhận Thông Tin Thống Kê Người Sử Dụng"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Nhận Số Người Sử Dụng Đã Đăng Ký"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Nhận Số Người Sử Dụng Trực Tuyến"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Danh Sách Kiểm Soát Truy Cập"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Quy Tắc Truy Cập"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Quản Lý Người Sử Dụng"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Người Sử Dụng Trực Tuyến"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Tất Cả Người Sử Dụng"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Kết Nối Bên Ngoài s2s"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Nút Hoạt Động"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Nút Dừng"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Môđun"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Quản lý Sao Lưu Dự Phòng"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Nhập Người Sử Dụng Từ Các Tập Tin Spool jabberd14"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Gửi đến ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Nhận từ ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Cấu Hình Bảng Cơ Sở Dữ Liệu tại"
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Chọn loại bảng lưu trữ"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Chỉ sao chép vào đĩa"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Sao chép vào RAM và đĩa"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Sao chép vào RAM"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Sao chép từ xa"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Môđun Dừng tại"
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Chọn môđun để dừng"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Môđun Khởi Động tại "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Nhập danh sách {Môđun, [Các Tùy Chọn]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Danh sách các môđun khởi động"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Sao lưu dự phòng ra Tập Tin tại"
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Nhập đường dẫn đến tập tin sao lưu dự phòng"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Đường dẫn đến Tập Tin"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Phục hồi Sao Lưu từ Tập Tin tại "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Kết Xuất Sao Lưu ra Tập Tin Văn Bản tại"
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Nhập đường dẫn đến tập tin văn bản"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Nhập Người Sử Dụng từ Tập Tin tại"
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Nhập đường dẫn đến tập tin spool jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Nhập Người Sử Dụng từ Thư Mục tại"
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Nhập đường dẫn đến thư mục spool jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Đường Dẫn đến Thư Mục"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Thời gian trì hoãn"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Cấu Hình Danh Sách Kiểm Soát Truy Cập"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Danh sách kiểm soát truy cập"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Cấu Hình Truy Cập"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Quy tắc Truy Cập"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Mật Khẩu"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Kiểm Tra Mật Khẩu"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Số người sử dụng đã đăng ký"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Số người sử dụng trực tuyến"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Không bao giờ"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Trực tuyến"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Đăng nhập lần cuối"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Kích thước bảng phân công"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Địa chỉ IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Nguồn tài nguyên"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Quản trị về "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Hành động đối với người sử dụng"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Chỉnh Sửa Thuộc Tính"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Gỡ Bỏ Người Sử Dụng"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "Sự truy cập bị chặn theo chính sách phục vụ"
@@ -538,242 +540,258 @@ msgstr ""
msgid "Server ~b"
msgstr ""
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "Chỉ có người quản trị dịch vụ mới được phép gửi những thư dịch vụ"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "Việc tạo phòng bị ngăn lại theo chính sách dịch vụ"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Phòng họp không tồn tại"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Phòng trò chuyện"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để đăng ký "
"bí danh"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Đăng Ký Bí Danh tại"
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Nhập bí danh bạn muốn đăng ký"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Bí danh"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
#, fuzzy
msgid "That nickname is registered by another person"
msgstr "Một người khác đã đăng ký bí danh này rồi"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Bạn phải điền thông tin vào ô \"Nickname\" trong biểu mẫu này"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Môdun ejabberd MUC Bản quyền"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "Cấu hình phòng trò chuyện được chỉnh sửa"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "tham gia phòng này"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "rời khỏi phòng này"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "đã bị cấm"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "đã bị đẩy ra khỏi"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr ""
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr ""
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr ""
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "bây giờ được biết như"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " đã đặt chủ đề thành: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+#, fuzzy
+msgid "Chatroom is created"
+msgstr "Phòng trò chuyện"
+
+#: mod_muc/mod_muc_log.erl:453
+#, fuzzy
+msgid "Chatroom is destroyed"
+msgstr "Phòng trò chuyện"
+
+#: mod_muc/mod_muc_log.erl:454
+#, fuzzy
+msgid "Chatroom is started"
+msgstr "Phòng trò chuyện"
+
+#: mod_muc/mod_muc_log.erl:455
+#, fuzzy
+msgid "Chatroom is stopped"
+msgstr "Phòng trò chuyện"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "Thứ Hai"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "Thứ Ba"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "Thứ Tư"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "Thứ Năm"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "Thứ Sáu"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "Thứ Bảy"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "Chủ Nhật"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "Tháng Một"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "Tháng Hai"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "Tháng Ba"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "Tháng Tư"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "Tháng Năm"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "Tháng Sáu"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "Tháng Bảy"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "Tháng Tám"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "Tháng Chín"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "Tháng Mười"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "Tháng Mười Một"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "Tháng Mười Hai"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Cấu Hình Phòng"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
#, fuzzy
msgid "Room Occupants"
msgstr "Số người tham dự"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Quá giới hạn tỷ lệ lưu lượng truyền tải"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "Không được phép gửi những thư riêng đến phòng họp"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Loại thư không phù hợp"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
msgstr ""
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "Không được phép gửi những thư riêng loại \"groupchat\""
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Người nhận không có trong phòng họp"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
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"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
#, fuzzy
msgid "It is not allowed to send private messages"
msgstr "Không được phép gửi những thư riêng đến phòng họp"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr ""
"Chỉ có những đối tượng tham gia mới được phép gửi yêu cầu đến phòng họp"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Không được phép gửi các yêu cầu gửi đến các thành viên trong phòng họp này"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "riêng,"
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
#, fuzzy
msgid ""
"Only moderators and participants are allowed to change the subject in this "
@@ -782,245 +800,249 @@ msgstr ""
"Chỉ có những người điều phối và những người tham gia được phép thay đổi chủ "
"đề trong phòng này"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Chỉ có những người điều phối được phép thay đổi chủ đề trong phòng này"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Người ghé thăm không được phép gửi thư đến tất cả các người tham dự"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
#, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Chỉ có những người điều phối được phép thay đổi chủ đề trong phòng này"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "Bí danh đang do một người tham dự khác sử dụng"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Bạn bị cấm tham gia phòng này"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
#, fuzzy
msgid "Membership is required to enter this room"
msgstr "Yêu cầu tư cách thành viên khi tham gia vào phòng này"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Phòng này không nặc danh"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
#, fuzzy
msgid "A password is required to enter this room"
msgstr "Yêu cầu nhập mật khẩu để vào phòng này"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Mật khẩu sai"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "Yêu cầu đặc quyền của nhà quản trị"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "Yêu cầu đặc quyền của nhà điều phối"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s không hợp lệ"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Bí danh ~s không tồn tại trong phòng này"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Tư cách không hợp lệ: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Vai trò không hợp lệ: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "Yêu cầu đặc quyền của người sở hữu"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
#, fuzzy
msgid "Configuration of room ~s"
msgstr "Cấu hình cho "
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#, fuzzy
msgid "Room description"
msgstr "Miêu tả:"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Tạo phòng bền vững"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Tạo phòng có thể tìm kiếm công khai"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Tạo danh sách người tham dự công khai"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Tạo phòng được bảo vệ bằng mật khẩu"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Số Lượng Người Tham Dự Tối Đa"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Không giới hạn"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Jabber ID thực tế hiện hành đến"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "nhà điều phối duy nhất"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "bất kỳ ai"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Tạo phòng chỉ cho phép tư cách thành viên tham gia"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
#, fuzzy
msgid "Make room moderated"
msgstr "Tạo phòng bền vững"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Người sử dụng mặc định là người tham dự"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
#, fuzzy
msgid "Allow users to change the subject"
msgstr "Cho phép người sử dụng thay đổi chủ đề"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Cho phép người sử dụng gửi thư riêng"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Cho phép người sử dụng hỏi người sử dụng khác"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Cho phép người sử dụng gửi lời mời"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
#, fuzzy
msgid "Allow visitors to send status text in presence updates"
msgstr "Cho phép người sử dụng gửi thư riêng"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
#, fuzzy
msgid "Allow visitors to change nickname"
msgstr "Cho phép người sử dụng thay đổi chủ đề"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
#, fuzzy
msgid "Make room captcha protected"
msgstr "Tạo phòng được bảo vệ bằng mật khẩu"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Cho phép ghi nhật ký"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr ""
"Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để xác định "
"cấu hình phòng họp"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Số người tham dự"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "riêng,"
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s mời bạn vào phòng ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "mật khẩu là"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Danh sách chờ thư liên lạc ngoại tuyến của bạn đã đầy. Thư này đã bị loại bỏ."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s's Danh Sách Chờ Thư Ngoại Tuyến"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Đã gửi"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Thời Gian"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Từ"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Đến"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Gói thông tin"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Tùy chọn Xóa được Chọn"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Thư Ngoại Tuyến:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "Thư Ngoại Tuyến"
@@ -1029,193 +1051,197 @@ msgstr "Thư Ngoại Tuyến"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Môdun SOCKS5 Bytestreams Bản quyền"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Xuất Bản-Đăng Ký"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Môdun ejabberd Xuất Bản-Đăng Ký Bản quyền"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Yêu cầu người đăng ký môđun Xuất Bản Đăng Ký"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Chọn có nên chấp nhận sự đăng ký của đối tượng này không"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID Nút"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Địa Chỉ Người Đăng Ký"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Cho phép Jabber ID đăng ký nút môđun xuất bản đăng ký này không?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Đưa ra thông tin dung lượng với các thông báo sự kiện"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Đưa ra các thông báo sự kiện"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Thông báo cho người đăng ký khi nào cấu hình nút thay đổi"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Thông báo cho người đăng ký khi nào nút bị xóa bỏ"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Thông báo cho người đăng ký khi nào các mục chọn bị gỡ bỏ khỏi nút"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Những mục cần để lưu trữ"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Số mục tối đa để lưu trữ"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Xác định nên cho phép đăng ký không"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Xác định mô hình truy cập"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr ""
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Xác định mô hình nhà xuất bản"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#, fuzzy
msgid "Specify the event message type"
msgstr "Xác định mô hình truy cập"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Kích thước dung lượng byte tối đa"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Khi cần gửi mục được xuất bản cuối cùng"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Chỉ gửi thông báo đến những người sử dụng hiện có"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr ""
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "Chọn một tên truy cập và mật khẩu để đăng ký với máy chủ này"
-#: mod_register.erl:244
+#: mod_register.erl:251
#, fuzzy
msgid "Users are not allowed to register accounts so quickly"
msgstr "Người ghé thăm không được phép gửi thư đến tất cả các người tham dự"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Không có"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Đăng ký"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Chờ"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Nhóm"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Xác nhận hợp lệ"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Gỡ bỏ"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Bảng phân công của "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Định dạng hỏng"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Thêm Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Bảng phân công"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Nhóm Phân Công Chia Sẻ"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Thêm Mới"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Tên:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Miêu tả:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Thành viên:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Nhóm được hiển thị:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Nhóm "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Gửi"
@@ -1223,32 +1249,32 @@ msgstr "Gửi"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber Server Bản quyền"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Ngày sinh"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Thành phố"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Quốc gia"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Email"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "Họ"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1256,54 +1282,54 @@ msgstr ""
"Điền vào mẫu này để tìm kiếm bất kỳ thông tin nào khớp với Người sử dụng "
"Jabber (Thêm dấu * vào cuối ô để thông tin khớp với chuỗi bên trong)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "Tên Đầy Đủ"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "Họ Đệm"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "Tên"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "Tên Tổ Chức"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Bộ Phận"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Tìm kiếm người sử dụng trong"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
"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"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Tìm Kiếm Người Sử Dụng vCard"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Môdun ejabberd vCard Bản quyền"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Kết Quả Tìm Kiếm cho "
@@ -1313,184 +1339,184 @@ msgstr ""
"Điền vào các ô để tìm kiếm bất kỳ các thông tin nào khớp với Người sử dụng "
"Jabber"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr ""
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
#, fuzzy
msgid "ejabberd Web Admin"
msgstr "Giao diện Web ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Quản trị"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Thô"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s cấu hình quy tắc truy cập"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Máy chủ ảo ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Người sử dụng"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Hoạt Động Cuối Cùng Của Người Sử Dụng"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Giai đoạn: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Tháng trước"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Năm trước"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Tất cả hoạt động"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Hiển Thị Bảng Thường"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Hiển Thị Bảng Đầy Đủ"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Số liệu thống kê"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
#, fuzzy
msgid "Not Found"
msgstr "Nút không tìm thấy"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Nút không tìm thấy"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Máy chủ"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Người Sử Dụng Đã Đăng Ký"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Thư Ngoại Tuyến"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Hoạt Động Cuối Cùng"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Người Sử Dụng Đã Đăng Ký:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Người Sử Dụng Trực Tuyến:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Kết Nối Bên Ngoài s2s:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Máy chủ Bên Ngoài s2s:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Thay Đổi Mật Khẩu"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Người sử dụng "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Tài Nguyên Được Kết Nối:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Mật Khẩu:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Không Dữ Liệu"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nút"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nút "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Cổng Kết Nối"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Cập Nhật"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Khởi động lại"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Dừng"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Lỗi Gọi RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Bảng Cơ Sở Dữ Liệu tại"
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Loại Lưu Trữ"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr ""
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Bộ Nhớ"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr ""
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Sao lưu dự phòng về"
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
#, fuzzy
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
@@ -1501,146 +1527,146 @@ msgstr ""
"Mnesia. Nếu bạn đang sử dụng môđun ODBC, bạn cũng cần sao lưu cơ sở dữ liệu "
"SQL của bạn riêng biệt."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Lưu dữ liệu sao lưu dạng nhị phân:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "OK"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Khôi phục bản sao lưu dự phòng dạng nhị phận ngay lập tức:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Khôi phục bản sao lưu dự phòng dạng nhị phân sau lần khởi động ejabberd kế "
"tiếp (yêu cầu ít bộ nhớ hơn):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Khôi phục bản sao lưu dự phòng thuần văn bản"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Khôi phục bản sao lưu dự phòng thuần văn bản ngay lập tức:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
#, fuzzy
msgid "Import user data from jabberd14 spool file:"
msgstr "Nhập Người Sử Dụng Từ Các Tập Tin Spool jabberd14"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
#, fuzzy
msgid "Import users data from jabberd14 spool directory:"
msgstr "Nhập Người Sử Dụng Từ Các Tập Tin Spool jabberd14"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Cổng Liên Lạc tại"
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Môđun tại "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Thống kê về ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Thời gian tải lên:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Thời Gian CPU:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Giao Dịch Được Cam Kết:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Giao Dịch Hủy Bỏ:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Giao Dịch Khởi Động Lại:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Giao Dịch Được Ghi Nhận:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Cập Nhật "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Kế hoạch cập nhật"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
#, fuzzy
msgid "Modified modules"
msgstr "Môđun cập nhật"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Cập nhận lệnh"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Lệnh cập nhật mức độ thấp"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Lệnh kiểm tra"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Cổng"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr ""
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
#, fuzzy
msgid "Protocol"
msgstr "Cổng"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Môđun"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Tùy chọn"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Xóa"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Khởi động"
diff --git a/src/msgs/wa.po b/src/msgs/wa.po
index da4e80d75..1bde1a9f7 100644
--- a/src/msgs/wa.po
+++ b/src/msgs/wa.po
@@ -7,15 +7,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Walon (Walloon)\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "L' eployaedje di STARTTL est oblidjî"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "Nole rissoûce di dnêye"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "Replaecî pa on novea raloyaedje"
@@ -44,381 +44,383 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "Voloz vs vormint disfacer l' messaedje do djoû?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "Sudjet"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "Coir do messaedje"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "I n' a nou coir do messaedje po ciste anonce la"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "Anonces"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "Evoyî l' anonce a tos les uzeus"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "Evoyî l' anonce a tos les uzeus so tos les lodjoes"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "Evoyî l' anonce a tos les uzeus raloyîs"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "Evoyî l' anonce a tos les uzeus raloyîs so tos les lodjoes"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "Defini l' messaedje do djoû et l' evoyî åzès uzeus raloyîs"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr ""
"Defini l' messaedje do djoû so tos les lodjoes et l' evoyî åzès uzeus raloyîs"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Mete a djoû l' messaedje do djoû (nén l' evoyî)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "Mete a djoû l' messaedje do djoû so tos les lodjoes (nén l' evoyî)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "Disfacer l' messaedje do djoû"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "Disfacer l' messaedje do djoû so tos les lodjoes"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
msgstr "Apontiaedjes"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "Båze di dnêyes"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "Enonder des modules"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "Arester des modules"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "Copeye di såvrité"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "Rapexhî"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "Schaper en on fitchî tecse"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "Sititchî d' on fitchî"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "Sititchî d' on ridant"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "Renonder siervice"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "Arester siervice"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "Radjouter èn uzeu"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "Disfacer èn uzeu"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "Fini l' session d' l' uzeu"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "Riçure sicret d' l' uzeu"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "Candjî l' sicret d' l' uzeu"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "Riçure li date/eure do dierin elodjaedje di l' uzeu"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "Riçure les statistikes di l' uzeu"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "Riçure li nombe d' uzeus edjîstrés"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "Riçure li nombe d' uzeus raloyîs"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "Droets (ACL)"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "Rîles d' accès"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "Manaedjaedje des uzeus"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "Uzeus raloyîs"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "Tos les uzeus"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "Raloyaedjes s2s e rexhowe"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "Nuks en alaedje"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "Nuks essoctés"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "Modules"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "Manaedjaedje des copeyes di såvrité"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "Sititchî des uzeus Jabberd 1.4"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "Viè ~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "Dispoy ~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "Apontiaedje des tåves del båze di dnêyes so "
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "Tchoezi l' sôre di wårdaedje po les tåves"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "Copeye seulmint sol deure plake"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "Copeye e memwere (RAM) et sol deure plake"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "Copeye e memwere (RAM)"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "Copeye å lon"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "Arester les modules so "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "Tchoezixhoz les modules a-z arester"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "Renonder les modules so "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "Dinez ene djivêye del cogne {Module, [Tchuzes]}"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "Djivêye di modules a-z enonder"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "Fé ene copeye di såvrité dins on fitchî so "
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "Dinez l' tchimin viè l' fitchî copeye di såvrité"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "Tchimin viè l' fitchî"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "Rapexhî dispoy li fitchî copeye di såvrité so "
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "Copeye di såvritè viè on fitchî tecse so "
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "Dinez l' tchimin viè l' fitchî tecse"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "Sititchî uzeu d' on fitchî so "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "Dinez l' tchimin viè l' fitchî di spool jabberd14"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "Sitichî des uzeus d' on ridant so "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "Dinez l' tchimin viè l' ridant di spool jabberd14"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "Tchimin viè l' ridant"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "Tårdjaedje"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "Apontiaedje des droets (ACL)"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Droets (ACL)"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "Apontiaedje des accès"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "Rîles d' accès"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "ID Jabber"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Sicret"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "Acertinaedje do scret"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "Nombe d' uzeus edjîstrés"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "Nombe d' uzeus raloyîs"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "Måy"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "Raloyî"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "Dierin elodjaedje"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "Grandeu del djivêye des soçons"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "Adresses IP"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "Rissoûces"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "Manaedjaedje di "
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "Accion so l' uzeu"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "Candjî les prôpietés"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "Disfacer l' uzeu"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "L' accès a stî rfuzé pal politike do siervice"
@@ -536,207 +538,227 @@ msgstr ""
msgid "Server ~b"
msgstr ""
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr ""
"Seulmint les manaedjeus d' siervices polèt evoyî des messaedjes di siervice"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "L' ahivaedje del såle est rfuzé pal politike do siervice"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "Li såle di conferince n' egzistêye nén"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "Såles di berdelaedje"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr ""
"Vos avoz mezåjhe d' on cliyint ki sopoite x:data po-z edjîstrer on metou no"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Edjîstraedje di metou no amon "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Dinez l' metou no ki vos vloz edjîstrer"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Metou no"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
#, fuzzy
msgid "That nickname is registered by another person"
msgstr "Li metou no est ddja edjîstré pa ene ôte sakî"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Vos dvoz rimpli l' tchamp «Metou no» dins l' formiulaire"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "Module MUC (såles di berdelaedje) po ejabberd"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "L' apontiaedje del såle di berdelaedje a candjî"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "arive sol såle"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "cwite li såle"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "a stî bani"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "a stî pité evoye"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "a stî pité evoye cåze d' on candjmint d' afiyaedje"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr ""
"a stî pité evoye cåze ki l' såle a stî ristrindowe åzès mimbes seulmint"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "a stî pité evoye cåze d' èn arestaedje do sistinme"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "est asteure kinoxhou come"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr " a candjî l' tite a: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+#, fuzzy
+msgid "Chatroom is created"
+msgstr "Såles di berdelaedje"
+
+#: mod_muc/mod_muc_log.erl:453
+#, fuzzy
+msgid "Chatroom is destroyed"
+msgstr "Såles di berdelaedje"
+
+#: mod_muc/mod_muc_log.erl:454
+#, fuzzy
+msgid "Chatroom is started"
+msgstr "Såles di berdelaedje"
+
+#: mod_muc/mod_muc_log.erl:455
+#, fuzzy
+msgid "Chatroom is stopped"
+msgstr "Såles di berdelaedje"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "londi"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "mårdi"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "mierkidi"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "djudi"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "vénrdi"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "semdi"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "dimegne"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "djanvî"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "fevrî"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "måss"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "avri"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "may"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "djun"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "djulete"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "awousse"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "setimbe"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "octôbe"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "nôvimbe"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "decimbe"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "Apontiaedje del såle"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
#, fuzzy
msgid "Room Occupants"
msgstr "Nombe di prezints"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: 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:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Li limite pol volume di trafik a stî passêye"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr ""
"Ci pårticipant ci a stî pité evoye del såle cåze k' il a-st evoyî on "
"messaedje d' aroke"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "On n' pout nén evoyî des messaedjes privés dins cisse conferince ci"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "Sôre di messaedje nén valide"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
@@ -744,38 +766,34 @@ msgstr ""
"Ci pårticipant ci a stî pité evoye del såle cåze k' il a-st evoyî on "
"messaedje d' aroke a èn ôte pårticipant"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "C' est nén possibe d' evoyî des messaedjes privés del sôre «groupchat»"
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "Li riçuveu n' est nén dins l' såle di conferince"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Seulmint les prezints polèt evoyî des messaedjes al conferince"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "Ci n' est nén permetou d' evoyî des messaedjes privés"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Seulmint les prezints polèt evoyî des cweraedjes sol conferince"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Les cweraedjes des mimbes del conferince ni sont nén permetous dins cisse "
"såle ci"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "privé, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
#, fuzzy
msgid ""
"Only moderators and participants are allowed to change the subject in this "
@@ -784,244 +802,248 @@ msgstr ""
"Seulmint les moderateus et les pårticipants polèt candjî l' sudjet dins "
"cisse såle ci"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Seulmint les moderateus polèt candjî l' sudjet dins cisse såle ci"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Les viziteus n' polèt nén evoyî des messaedjes a tos les prezints"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Ci pårticipant ci a stî pité evoye del såle cåze k' il a-st evoyî ene aroke "
"di prezince"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Les viziteus èn polèt nén candjî leus metous no po ç' såle ci"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "Li metou no est ddja eployî pa ene ôte sakî sol såle"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "Vos avoz stî bani di cisse såle ci"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
#, fuzzy
msgid "Membership is required to enter this room"
msgstr "I fåt esse mimbe po poleur intrer dins cisse såle ci"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "Cisse såle ci n' est nén anonime"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
#, fuzzy
msgid "A password is required to enter this room"
msgstr "I fåt dner on scret po poleur intrer dins cisse såle ci"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr ""
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "Sicret nén corek"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "I fåt des priviledjes di manaedjeu"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "I fåt des priviledjes di moderateu"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Li Jabber ID ~s n' est nén valide"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "Li metou no ~s n' egzistêye nén dins l' såle"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "Afiyaedje nén valide: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "Role nén valide: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "I fåt des priviledjes di prôpietaire"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
#, fuzzy
msgid "Configuration of room ~s"
msgstr "Apontiaedje po "
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#, fuzzy
msgid "Room description"
msgstr "Discrijhaedje:"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "Rinde li såle permaninte"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "Rinde li såle di berdelaedje cweråve publicmint"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "Rinde publike li djivêye des pårticipants"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "Rinde li såle di berdelaedje protedjeye pa scret"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "Nombe macsimom di prezints"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "Pont d' limite"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "Mostrer les vraiys Jabber IDs a"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "les moderateus seulmint"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "tot l' minme kî"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "Rinde li såle di berdelaedje ristrindowe ås mimbes seulmint"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "Rinde li såle di berdelaedje moderêye"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "Les uzeus sont des pårticipants come prémetowe dujhance"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
#, fuzzy
msgid "Allow users to change the subject"
msgstr "Les uzeus polèt candjî l' tite"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "Les uzeus polèt evoyî des messaedjes privés"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "Les uzeus polèt cweri ls ôtes uzeus"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "Les uzeus polèt evoyî priyaedjes"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Permete ki les viziteus evoyexhe des tecse d' estat dins leus messaedjes di "
"prezince"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "Permete ki les viziteus candjexhe leus metous nos"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
#, fuzzy
msgid "Make room captcha protected"
msgstr "Rinde li såle di berdelaedje protedjeye pa scret"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "Mete en alaedje li djournå"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "I vs fåt on cliyint ki sopoite x:data por vos poleur apontyî l' såle"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "Nombe di prezints"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "privé, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s vos preye sol såle ~s"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "li scret est"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Li cawêye di messaedjes e môde disraloyî di vosse soçon est plinne. Li "
"messaedje a stî tapé å diale."
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "messaedjes ki ratindèt el cawêye po ~s"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "Candjmints evoyîs"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "Date"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "Di"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "Po"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "Paket"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Disfacer les elemints tchoezis"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "Messaedjes ki ratindèt:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "Messaedjes ki ratindèt"
@@ -1030,195 +1052,199 @@ msgstr "Messaedjes ki ratindèt"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Module SOCKS5 Bytestreams po ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "Eplaidaedje-abounmint"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "Module d' eplaidaedje-abounmint po ejabberd"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "Dimande d' eplaidaedje-abounmint d' èn abouné"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "Tchoezi s' i fåt aprover ou nén l' abounmint di ciste intité."
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "ID d' nuk"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "Adresse di l' abouné"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
"Permete ki ci Jabber ID ci si poye abouner a ç' nuk eplaidaedje-abounmint ci?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "Evoyî l' contnou avou les notifiaedjes d' evenmints"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "Evoyî des notifiaedjes d' evenmints"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "Notifyî åzès abounés cwand l' apontiaedje do nuk candje"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "Notifyî åzès abounés cwand l' nuk est disfacé"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "Notifyî åzès abounés cwand des cayets sont oisté foû do nuk"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "Cayets permanints a wårder"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "On no uzeu-ahessåve pol nuk"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "Nombe macsimoms di cayets permanints"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "Si on permete les abounmints"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "Sipecifyî l' modele d' accès"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "Pårtaedjîs groupes di soçons k' on s' î pout abouner"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "Dinez l' modele d' eplaideu"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr ""
+
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#, fuzzy
msgid "Specify the event message type"
msgstr "Sipecifyî l' modele d' accès"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "Contnou macsimom en octets"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "Cwand evoyî l' dierin cayet eplaidî"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "Seulmint evoyî des notifiaedje åzès uzeus disponibes"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr ""
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr ""
"Tchoezixhoz on no d' uzeu eyet on scret po vs edjîstrer so ç' sierveu ci"
-#: mod_register.erl:244
+#: mod_register.erl:251
#, fuzzy
msgid "Users are not allowed to register accounts so quickly"
msgstr "Les noveas uzeus n' si polèt nén edjîstrer si raddimint"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "Nole"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "Abounmimnt"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "Ratindant"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "Groupes"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "Valider"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "Oister"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "Djivêye des soçons da "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "Mwais fôrmat"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "Radjouter èn ID Jabber"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "Djivêye des soçons"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "Pårtaedjîs groupes ezès djivêyes di soçons"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Radjouter"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "Pitit no:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "Discrijhaedje:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "Mimbes:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "Groupes håynés:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "Groupe "
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "Evoyî"
@@ -1226,32 +1252,32 @@ msgstr "Evoyî"
msgid "Erlang Jabber Server"
msgstr "Sierveu Jabber Erlang"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "Date d' askepiaedje"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "Veye"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "Payis"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "Emile"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "No d' famile"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
@@ -1259,53 +1285,53 @@ msgstr ""
"Rimplixhoz les tchamps do formulaire po cweri èn uzeu Jabber (radjouter «*» "
"al fén do tchamp po cweri tot l' minme kéne fén d' tchinne"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "No etir"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "No do mitan"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "No"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "No d' l' organizåcion"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "Unité d' l' organizåcion"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "Cweri des uzeus dins "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Vos avoz mezåjhe d' on cliyint ki sopoite x:data po fé on cweraedje"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "Calpin des uzeus"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "Module vCard ejabberd"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "Rizultats do cweraedje po "
@@ -1313,183 +1339,183 @@ msgstr "Rizultats do cweraedje po "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "Rimplixhoz les tchamps po cweri èn uzeu Jabber"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr ""
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "Manaedjeu waibe ejabberd"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "Manaedjaedje"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "Dinêyes brutes"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "Apontiaedje des rîles d' accès a ~s"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Forveyous sierveus da ejabberd"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "Uzeus"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "Dierinne activité des uzeus"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "Termene:"
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "Dierin moes"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "Dierinne anêye"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "Dispoy todi"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "Mostrer crexhince"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "Mostrer totå"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "Sitatistikes"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
#, fuzzy
msgid "Not Found"
msgstr "Nuk nén trové"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "Nuk nén trové"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "Sierveu"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "Uzeus edjistrés"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "Messaedjes ki ratindèt"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "Dierinne activité"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "Uzeus edjistrés:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "Uzeus raloyîs:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "Raloyaedjes s2s e rexhowe:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "Sierveus s2s e rexhowe:"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "Candjî l' sicret"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "Uzeu "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Raloyî avou les rsoûces:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "Sicret:"
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "Nole dinêye disponibe"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "Nuks"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "Nuk "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "Pôrts drovous"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "Mete a djoû"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "Renonder"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "Arester"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "Aroke di houcaedje RPC"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "Tåves del båze di dnêyes so "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "Sôre di wårdaedje"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr ""
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "Memwere"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr ""
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "Copeye di såvrité po "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
#, fuzzy
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
@@ -1501,146 +1527,146 @@ msgstr ""
"båze di dnêyes avou l' module ODBC, vos dvoz fé ene copeye di såvrité del "
"båze SQL da vosse sepårumint."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "Copeye di såvrité binaire:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "'l est bon"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "Rapexhî do côp foû d' ene copeye di såvrité binaire:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr ""
"Rapexhî l' copeye di såvrité binaire après l' renondaedje ki vént "
"d' ejabberd (çoula prind moens d' memwere del fé insi):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "Copeye di såvrité tecse:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "Rapexhî do côp foû d' ene copeye di såvrité tecse:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr ""
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
#, fuzzy
msgid "Import user data from jabberd14 spool file:"
msgstr "Sititchî des uzeus Jabberd 1.4"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
#, fuzzy
msgid "Import users data from jabberd14 spool directory:"
msgstr "Sititchî des uzeus Jabberd 1.4"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "Pôrts drovous so "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "Modules so "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "Sitatistikes di ~p"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "Tins dispoy l' enondaedje:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "Tins CPU:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "Transaccions evoyeyes:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "Transaccions arestêyes:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Transaccions renondêyes:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "Transaccions wårdêyes e djournå:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "Metaedje a djoû "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "Plan d' metaedje a djoû"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
#, fuzzy
msgid "Modified modules"
msgstr "Modules metous a djoû"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "Sicripe di metaedje a djoû"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "Sicripe di metaedje a djoû d' bas livea"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "Acertinaedje do scripe"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "Pôrt"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr ""
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
#, fuzzy
msgid "Protocol"
msgstr "Pôrt"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "Module"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "Tchuzes"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "Disfacer"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Enonder"
diff --git a/src/msgs/zh.msg b/src/msgs/zh.msg
index a29a630b2..4b68b6ec2 100644
--- a/src/msgs/zh.msg
+++ b/src/msgs/zh.msg
@@ -36,6 +36,10 @@
{"Change Password","更改密码"}.
{"Change User Password","更改用户密码"}.
{"Chatroom configuration modified","聊天室配置已修改"}.
+{"Chatroom is created","聊天室已被创建"}.
+{"Chatroom is destroyed","聊天室已被销毁"}.
+{"Chatroom is started","聊天室已被启动"}.
+{"Chatroom is stopped","聊天室已被停用"}.
{"Chatrooms","聊天室"}.
{"Choose a username and password to register with this server","请选择在此服务器上注册所需的用户名和密码"}.
{"Choose modules to stop","请选择要停止的模块"}.
@@ -45,7 +49,7 @@
{"Commands","命令"}.
{"Conference room does not exist","会议室不存在"}.
{"Configuration of room ~s","房间~s的配置 "}.
-{"Configuration","配 置"}.
+{"Configuration","配置"}.
{"Connected Resources:","已连接资源:"}.
{"Connections parameters","连接参数"}.
{"Country","国家"}.
@@ -246,6 +250,7 @@
{"Protocol","协议"}.
{"Publish-Subscribe","发行-订阅"}.
{"PubSub subscriber request","PubSub 订阅人请求"}.
+{"Purge all items when the relevant publisher goes offline","相关发布人离线后清除所有选项"}.
{"Queries to the conference members are not allowed in this room","本房间不允许发出成员查询请求"}.
{"RAM and disc copy","内存与磁盘复制"}.
{"RAM copy","内存(RAM)复制"}.
@@ -298,6 +303,7 @@
{"Shut Down Service","关闭服务"}.
{"~s invites you to the room ~s","~s邀请你到~s房间"}.
{"Specify the access model","指定访问模式"}.
+{"Specify the event message type","指定事件消息类型"}.
{"Specify the publisher model","指定发布人样式"}.
{"~s's Offline Messages Queue","~s 的离线消息队列"}.
{"Start Modules at ","要启动的模块位于 "}.
diff --git a/src/msgs/zh.po b/src/msgs/zh.po
index 3f5439f3f..23ce80eee 100644
--- a/src/msgs/zh.po
+++ b/src/msgs/zh.po
@@ -9,15 +9,15 @@ msgstr ""
"X-Additional-Translator: Zhan Caibao - zhancaibao AT gmail DOT com\n"
"X-Additional-Translator: Mike Wang\n"
-#: ejabberd_c2s.erl:359 ejabberd_c2s.erl:662
+#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
msgid "Use of STARTTLS required"
msgstr "要求使用 STARTTLS"
-#: ejabberd_c2s.erl:438
+#: ejabberd_c2s.erl:452
msgid "No resource provided"
msgstr "无资源提供"
-#: ejabberd_c2s.erl:1074
+#: ejabberd_c2s.erl:1097
msgid "Replaced by new connection"
msgstr "被新的连接替换"
@@ -45,380 +45,382 @@ msgstr "Ping"
msgid "Pong"
msgstr "Pong"
-#: mod_announce.erl:505
+#: mod_announce.erl:506
msgid "Really delete message of the day?"
msgstr "确实要删除每日消息吗?"
-#: mod_announce.erl:513 mod_configure.erl:1051 mod_configure.erl:1096
+#: mod_announce.erl:514 mod_configure.erl:1083 mod_configure.erl:1128
msgid "Subject"
msgstr "标题"
-#: mod_announce.erl:518 mod_configure.erl:1056 mod_configure.erl:1101
+#: mod_announce.erl:519 mod_configure.erl:1088 mod_configure.erl:1133
msgid "Message body"
msgstr "消息主体"
-#: mod_announce.erl:598
+#: mod_announce.erl:599
msgid "No body provided for announce message"
msgstr "通知消息无正文内容"
-#: mod_announce.erl:633
+#: mod_announce.erl:634
msgid "Announcements"
msgstr "通知"
-#: mod_announce.erl:635
+#: mod_announce.erl:636
msgid "Send announcement to all users"
msgstr "发送通知给所有用户"
-#: mod_announce.erl:637
+#: mod_announce.erl:638
msgid "Send announcement to all users on all hosts"
msgstr "发送通知给所有主机上的所有用户"
-#: mod_announce.erl:639
+#: mod_announce.erl:640
msgid "Send announcement to all online users"
msgstr "发送通知给所有在线用户"
-#: mod_announce.erl:641 mod_configure.erl:1046 mod_configure.erl:1091
+#: mod_announce.erl:642 mod_configure.erl:1078 mod_configure.erl:1123
msgid "Send announcement to all online users on all hosts"
msgstr "发送通知给所有主机的在线用户"
-#: mod_announce.erl:643
+#: mod_announce.erl:644
msgid "Set message of the day and send to online users"
msgstr "设定每日消息并发送给所有在线用户"
-#: mod_announce.erl:645
+#: mod_announce.erl:646
msgid "Set message of the day on all hosts and send to online users"
msgstr "设置所有主机上的每日消息并发送给在线用户"
-#: mod_announce.erl:647
+#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "更新每日消息(不发送)"
-#: mod_announce.erl:649
+#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
msgstr "更新所有主机上的每日消息(不发送)"
-#: mod_announce.erl:651
+#: mod_announce.erl:652
msgid "Delete message of the day"
msgstr "删除每日消息"
-#: mod_announce.erl:653
+#: mod_announce.erl:654
msgid "Delete message of the day on all hosts"
msgstr "删除所有主机上的每日消息"
-#: mod_configure.erl:114 mod_configure.erl:258 mod_configure.erl:280
-#: mod_configure.erl:466
+#: mod_configure.erl:114 mod_configure.erl:274 mod_configure.erl:296
+#: mod_configure.erl:498
msgid "Configuration"
-msgstr "配 置"
+msgstr "配置"
-#: mod_configure.erl:125 mod_configure.erl:544 web/ejabberd_web_admin.erl:1875
+#: mod_configure.erl:125 mod_configure.erl:576 web/ejabberd_web_admin.erl:1930
msgid "Database"
msgstr "数据库"
-#: mod_configure.erl:127 mod_configure.erl:563
+#: mod_configure.erl:127 mod_configure.erl:595
msgid "Start Modules"
msgstr "启动模块"
-#: mod_configure.erl:129 mod_configure.erl:564
+#: mod_configure.erl:129 mod_configure.erl:596
msgid "Stop Modules"
msgstr "停止模块"
-#: mod_configure.erl:131 mod_configure.erl:572 web/ejabberd_web_admin.erl:1876
+#: mod_configure.erl:131 mod_configure.erl:604 web/ejabberd_web_admin.erl:1931
msgid "Backup"
msgstr "备份"
-#: mod_configure.erl:133 mod_configure.erl:573
+#: mod_configure.erl:133 mod_configure.erl:605
msgid "Restore"
msgstr "恢复"
-#: mod_configure.erl:135 mod_configure.erl:574
+#: mod_configure.erl:135 mod_configure.erl:606
msgid "Dump to Text File"
msgstr "转储到文本文件"
-#: mod_configure.erl:137 mod_configure.erl:583
+#: mod_configure.erl:137 mod_configure.erl:615
msgid "Import File"
msgstr "导入文件"
-#: mod_configure.erl:139 mod_configure.erl:584
+#: mod_configure.erl:139 mod_configure.erl:616
msgid "Import Directory"
msgstr "导入目录"
-#: mod_configure.erl:141 mod_configure.erl:549 mod_configure.erl:1025
+#: mod_configure.erl:141 mod_configure.erl:581 mod_configure.erl:1057
msgid "Restart Service"
msgstr "重启服务"
-#: mod_configure.erl:143 mod_configure.erl:550 mod_configure.erl:1070
+#: mod_configure.erl:143 mod_configure.erl:582 mod_configure.erl:1102
msgid "Shut Down Service"
msgstr "关闭服务"
-#: mod_configure.erl:145 mod_configure.erl:486 mod_configure.erl:1165
-#: web/ejabberd_web_admin.erl:1508
+#: mod_configure.erl:145 mod_configure.erl:518 mod_configure.erl:1197
+#: web/ejabberd_web_admin.erl:1524
msgid "Add User"
msgstr "添加用户"
-#: mod_configure.erl:147 mod_configure.erl:487 mod_configure.erl:1187
+#: mod_configure.erl:147 mod_configure.erl:519 mod_configure.erl:1219
msgid "Delete User"
msgstr "删除用户"
-#: mod_configure.erl:149 mod_configure.erl:488 mod_configure.erl:1199
+#: mod_configure.erl:149 mod_configure.erl:520 mod_configure.erl:1231
msgid "End User Session"
msgstr "结束用户会话"
-#: mod_configure.erl:151 mod_configure.erl:489 mod_configure.erl:1211
-#: mod_configure.erl:1223
+#: mod_configure.erl:151 mod_configure.erl:521 mod_configure.erl:1243
+#: mod_configure.erl:1255
msgid "Get User Password"
msgstr "获取用户密码"
-#: mod_configure.erl:153 mod_configure.erl:490
+#: mod_configure.erl:153 mod_configure.erl:522
msgid "Change User Password"
msgstr "更改用户密码"
-#: mod_configure.erl:155 mod_configure.erl:491 mod_configure.erl:1240
+#: mod_configure.erl:155 mod_configure.erl:523 mod_configure.erl:1272
msgid "Get User Last Login Time"
msgstr "获取用户上次登陆时间"
-#: mod_configure.erl:157 mod_configure.erl:492 mod_configure.erl:1252
+#: mod_configure.erl:157 mod_configure.erl:524 mod_configure.erl:1284
msgid "Get User Statistics"
msgstr "获取用户统计"
-#: mod_configure.erl:159 mod_configure.erl:493
+#: mod_configure.erl:159 mod_configure.erl:525
msgid "Get Number of Registered Users"
msgstr "获取注册用户数"
-#: mod_configure.erl:161 mod_configure.erl:494
+#: mod_configure.erl:161 mod_configure.erl:526
msgid "Get Number of Online Users"
msgstr "获取在线用户数"
-#: mod_configure.erl:163 mod_configure.erl:477 web/ejabberd_web_admin.erl:811
-#: web/ejabberd_web_admin.erl:852
+#: mod_configure.erl:163 mod_configure.erl:509 web/ejabberd_web_admin.erl:827
+#: web/ejabberd_web_admin.erl:868
msgid "Access Control Lists"
msgstr "访问控制列表(ACL)"
-#: mod_configure.erl:165 mod_configure.erl:478 web/ejabberd_web_admin.erl:920
-#: web/ejabberd_web_admin.erl:956
+#: mod_configure.erl:165 mod_configure.erl:510 web/ejabberd_web_admin.erl:936
+#: web/ejabberd_web_admin.erl:972
msgid "Access Rules"
msgstr "访问规则"
-#: mod_configure.erl:281 mod_configure.erl:467
+#: mod_configure.erl:297 mod_configure.erl:499
msgid "User Management"
msgstr "用户管理"
-#: mod_configure.erl:468 web/ejabberd_web_admin.erl:1038
-#: web/ejabberd_web_admin.erl:1443
+#: mod_configure.erl:500 web/ejabberd_web_admin.erl:1054
+#: web/ejabberd_web_admin.erl:1459
msgid "Online Users"
msgstr "在线用户"
-#: mod_configure.erl:469
+#: mod_configure.erl:501
msgid "All Users"
msgstr "所有用户"
-#: mod_configure.erl:470
+#: mod_configure.erl:502
msgid "Outgoing s2s Connections"
msgstr "出站 s2s 连接"
-#: mod_configure.erl:471 web/ejabberd_web_admin.erl:1846
+#: mod_configure.erl:503 web/ejabberd_web_admin.erl:1901
msgid "Running Nodes"
msgstr "运行中的节点"
-#: mod_configure.erl:472 web/ejabberd_web_admin.erl:1848
+#: mod_configure.erl:504 web/ejabberd_web_admin.erl:1903
msgid "Stopped Nodes"
msgstr "已经停止的节点"
-#: mod_configure.erl:545 mod_configure.erl:555 web/ejabberd_web_admin.erl:1892
+#: mod_configure.erl:577 mod_configure.erl:587 web/ejabberd_web_admin.erl:1947
msgid "Modules"
msgstr "模块"
-#: mod_configure.erl:546
+#: mod_configure.erl:578
msgid "Backup Management"
msgstr "备份管理"
-#: mod_configure.erl:547
+#: mod_configure.erl:579
msgid "Import Users From jabberd14 Spool Files"
msgstr "从 jabberd14 Spool 文件导入用户"
-#: mod_configure.erl:667
+#: mod_configure.erl:699
msgid "To ~s"
msgstr "发送给~s"
-#: mod_configure.erl:685
+#: mod_configure.erl:717
msgid "From ~s"
msgstr "来自~s"
-#: mod_configure.erl:881
+#: mod_configure.erl:913
msgid "Database Tables Configuration at "
msgstr "数据库表格配置位于"
-#: mod_configure.erl:886
+#: mod_configure.erl:918
msgid "Choose storage type of tables"
msgstr "请选择表格的存储类型"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Disc only copy"
msgstr "仅磁盘复制"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM and disc copy"
msgstr "内存与磁盘复制"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "RAM copy"
msgstr "内存(RAM)复制"
-#: mod_configure.erl:894 mod_configure.erl:896
+#: mod_configure.erl:926 mod_configure.erl:928
msgid "Remote copy"
msgstr "远程复制"
-#: mod_configure.erl:918
+#: mod_configure.erl:950
msgid "Stop Modules at "
msgstr "要停止的模块位于 "
-#: mod_configure.erl:922
+#: mod_configure.erl:954
msgid "Choose modules to stop"
msgstr "请选择要停止的模块"
-#: mod_configure.erl:937
+#: mod_configure.erl:969
msgid "Start Modules at "
msgstr "要启动的模块位于 "
-#: mod_configure.erl:941
+#: mod_configure.erl:973
msgid "Enter list of {Module, [Options]}"
msgstr "请输入{模块, [选项]}列表"
-#: mod_configure.erl:942
+#: mod_configure.erl:974
msgid "List of modules to start"
msgstr "要启动的模块列表"
-#: mod_configure.erl:951
+#: mod_configure.erl:983
msgid "Backup to File at "
msgstr "备份到文件位于"
-#: mod_configure.erl:955 mod_configure.erl:969
+#: mod_configure.erl:987 mod_configure.erl:1001
msgid "Enter path to backup file"
msgstr "请输入备份文件的路径"
-#: mod_configure.erl:956 mod_configure.erl:970 mod_configure.erl:984
-#: mod_configure.erl:998
+#: mod_configure.erl:988 mod_configure.erl:1002 mod_configure.erl:1016
+#: mod_configure.erl:1030
msgid "Path to File"
msgstr "文件路径"
-#: mod_configure.erl:965
+#: mod_configure.erl:997
msgid "Restore Backup from File at "
msgstr "要恢复的备份文件位于"
-#: mod_configure.erl:979
+#: mod_configure.erl:1011
msgid "Dump Backup to Text File at "
msgstr "转储备份到文本文件于"
-#: mod_configure.erl:983
+#: mod_configure.erl:1015
msgid "Enter path to text file"
msgstr "请输入文本文件的路径"
-#: mod_configure.erl:993
+#: mod_configure.erl:1025
msgid "Import User from File at "
msgstr "导入用户的文件位于 "
-#: mod_configure.erl:997
+#: mod_configure.erl:1029
msgid "Enter path to jabberd14 spool file"
msgstr "请输入 jabberd14 spool 文件的路径"
-#: mod_configure.erl:1007
+#: mod_configure.erl:1039
msgid "Import Users from Dir at "
msgstr "导入用户的目录位于 "
-#: mod_configure.erl:1011
+#: mod_configure.erl:1043
msgid "Enter path to jabberd14 spool dir"
msgstr "请输入 jabberd14 spool 目录的路径"
-#: mod_configure.erl:1012
+#: mod_configure.erl:1044
msgid "Path to Dir"
msgstr "目录的路径"
-#: mod_configure.erl:1028 mod_configure.erl:1073
+#: mod_configure.erl:1060 mod_configure.erl:1105
msgid "Time delay"
msgstr "时间延迟"
-#: mod_configure.erl:1111
+#: mod_configure.erl:1143
msgid "Access Control List Configuration"
msgstr "访问控制列表(ACL)配置"
-#: mod_configure.erl:1115
+#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "访问控制列表(ACL)"
-#: mod_configure.erl:1139
+#: mod_configure.erl:1171
msgid "Access Configuration"
msgstr "访问配置"
-#: mod_configure.erl:1143
+#: mod_configure.erl:1175
msgid "Access rules"
msgstr "访问规则"
-#: mod_configure.erl:1168 mod_configure.erl:1190 mod_configure.erl:1202
-#: mod_configure.erl:1214 mod_configure.erl:1226 mod_configure.erl:1243
-#: mod_configure.erl:1255 mod_configure.erl:1620 mod_configure.erl:1670
-#: mod_configure.erl:1691 mod_roster.erl:948 mod_roster_odbc.erl:1049
-#: mod_vcard.erl:465 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:440
+#: mod_configure.erl:1200 mod_configure.erl:1222 mod_configure.erl:1234
+#: mod_configure.erl:1246 mod_configure.erl:1258 mod_configure.erl:1275
+#: mod_configure.erl:1287 mod_configure.erl:1652 mod_configure.erl:1702
+#: mod_configure.erl:1723 mod_roster.erl:948 mod_roster_odbc.erl:1048
+#: mod_vcard.erl:466 mod_vcard_ldap.erl:550 mod_vcard_odbc.erl:442
msgid "Jabber ID"
msgstr "Jabber ID"
-#: mod_configure.erl:1173 mod_configure.erl:1231 mod_configure.erl:1621
-#: mod_configure.erl:1833 mod_muc/mod_muc_room.erl:2895
-#: web/ejabberd_web_admin.erl:1501
+#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
+#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
+#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "密码"
-#: mod_configure.erl:1178
+#: mod_configure.erl:1210
msgid "Password Verification"
msgstr "确认密码"
-#: mod_configure.erl:1269
+#: mod_configure.erl:1301
msgid "Number of registered users"
msgstr "注册用户数"
-#: mod_configure.erl:1283
+#: mod_configure.erl:1315
msgid "Number of online users"
msgstr "在线用户数"
-#: mod_configure.erl:1652 web/ejabberd_web_admin.erl:1568
+#: mod_configure.erl:1684 web/ejabberd_web_admin.erl:1585
+#: web/ejabberd_web_admin.erl:1737
msgid "Never"
msgstr "从未"
-#: mod_configure.erl:1666 web/ejabberd_web_admin.erl:1581
+#: mod_configure.erl:1698 web/ejabberd_web_admin.erl:1598
+#: web/ejabberd_web_admin.erl:1750
msgid "Online"
msgstr "在线"
-#: mod_configure.erl:1671
+#: mod_configure.erl:1703
msgid "Last login"
msgstr "上次登陆"
-#: mod_configure.erl:1692
+#: mod_configure.erl:1724
msgid "Roster size"
msgstr "花名册大小"
-#: mod_configure.erl:1693
+#: mod_configure.erl:1725
msgid "IP addresses"
msgstr "IP 地址"
-#: mod_configure.erl:1694
+#: mod_configure.erl:1726
msgid "Resources"
msgstr "资源"
-#: mod_configure.erl:1820
+#: mod_configure.erl:1852
msgid "Administration of "
msgstr "管理"
-#: mod_configure.erl:1823
+#: mod_configure.erl:1855
msgid "Action on user"
msgstr "对用户的动作"
-#: mod_configure.erl:1827
+#: mod_configure.erl:1859
msgid "Edit Properties"
msgstr "编辑属性"
-#: mod_configure.erl:1830 web/ejabberd_web_admin.erl:1708
+#: mod_configure.erl:1862 web/ejabberd_web_admin.erl:1763
msgid "Remove User"
msgstr "删除用户"
-#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:335
+#: mod_irc/mod_irc.erl:201 mod_muc/mod_muc.erl:336
msgid "Access denied by service policy"
msgstr "访问被服务策略拒绝"
@@ -524,464 +526,480 @@ msgstr "服务器 ~b 的编码"
msgid "Server ~b"
msgstr "服务器 ~b"
-#: mod_muc/mod_muc.erl:448
+#: mod_muc/mod_muc.erl:449
msgid "Only service administrators are allowed to send service messages"
msgstr "只有服务管理员可以发送服务消息"
-#: mod_muc/mod_muc.erl:492
+#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "创建房间被服务策略拒绝"
-#: mod_muc/mod_muc.erl:499
+#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
msgstr "会议室不存在"
-#: mod_muc/mod_muc.erl:580
+#: mod_muc/mod_muc.erl:581
msgid "Chatrooms"
msgstr "聊天室"
-#: mod_muc/mod_muc.erl:710
+#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "您需要一个兼容 x:data 的客户端来注册昵称"
-#: mod_muc/mod_muc.erl:716
+#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "昵称注册于 "
-#: mod_muc/mod_muc.erl:720
+#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "请输入您想要注册的昵称"
-#: mod_muc/mod_muc.erl:721 mod_roster.erl:949 mod_roster_odbc.erl:1050
-#: mod_vcard.erl:357 mod_vcard.erl:470 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:445
+#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
+#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "昵称"
-#: mod_muc/mod_muc.erl:760 mod_muc/mod_muc_room.erl:928
-#: mod_muc/mod_muc_room.erl:1559
+#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
+#: mod_muc/mod_muc_room.erl:1585
msgid "That nickname is registered by another person"
msgstr "该昵称已被另一个人注册了"
-#: mod_muc/mod_muc.erl:786
+#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "您必须填充表单中\"昵称\"项"
-#: mod_muc/mod_muc.erl:806
+#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
msgstr "ejabberd MUC 模块"
-#: mod_muc/mod_muc_log.erl:371 mod_muc/mod_muc_log.erl:378
+#: mod_muc/mod_muc_log.erl:374 mod_muc/mod_muc_log.erl:381
msgid "Chatroom configuration modified"
msgstr "聊天室配置已修改"
-#: mod_muc/mod_muc_log.erl:381
+#: mod_muc/mod_muc_log.erl:384
msgid "joins the room"
msgstr "加入房间"
-#: mod_muc/mod_muc_log.erl:384 mod_muc/mod_muc_log.erl:387
+#: mod_muc/mod_muc_log.erl:387 mod_muc/mod_muc_log.erl:390
msgid "leaves the room"
msgstr "离开房间"
-#: mod_muc/mod_muc_log.erl:390 mod_muc/mod_muc_log.erl:393
+#: mod_muc/mod_muc_log.erl:393 mod_muc/mod_muc_log.erl:396
msgid "has been banned"
msgstr "已被禁止"
-#: mod_muc/mod_muc_log.erl:396 mod_muc/mod_muc_log.erl:399
+#: mod_muc/mod_muc_log.erl:399 mod_muc/mod_muc_log.erl:402
msgid "has been kicked"
msgstr "已被踢出"
-#: mod_muc/mod_muc_log.erl:402
+#: mod_muc/mod_muc_log.erl:405
msgid "has been kicked because of an affiliation change"
msgstr "因联属关系改变而被踢出"
-#: mod_muc/mod_muc_log.erl:405
+#: mod_muc/mod_muc_log.erl:408
msgid "has been kicked because the room has been changed to members-only"
msgstr "因该房间改为只对会员开放而被踢出"
-#: mod_muc/mod_muc_log.erl:408
+#: mod_muc/mod_muc_log.erl:411
msgid "has been kicked because of a system shutdown"
msgstr "因系统关机而被踢出"
-#: mod_muc/mod_muc_log.erl:411
+#: mod_muc/mod_muc_log.erl:414
msgid "is now known as"
msgstr "现在称呼为"
-#: mod_muc/mod_muc_log.erl:414 mod_muc/mod_muc_log.erl:678
-#: mod_muc/mod_muc_room.erl:2086
+#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
+#: mod_muc/mod_muc_room.erl:2112
msgid " has set the subject to: "
msgstr "已将标题设置为: "
-#: mod_muc/mod_muc_log.erl:448
+#: mod_muc/mod_muc_log.erl:452
+msgid "Chatroom is created"
+msgstr "聊天室已被创建"
+
+#: mod_muc/mod_muc_log.erl:453
+msgid "Chatroom is destroyed"
+msgstr "聊天室已被销毁"
+
+#: mod_muc/mod_muc_log.erl:454
+msgid "Chatroom is started"
+msgstr "聊天室已被启动"
+
+#: mod_muc/mod_muc_log.erl:455
+msgid "Chatroom is stopped"
+msgstr "聊天室已被停用"
+
+#: mod_muc/mod_muc_log.erl:459
msgid "Monday"
msgstr "星期一"
-#: mod_muc/mod_muc_log.erl:449
+#: mod_muc/mod_muc_log.erl:460
msgid "Tuesday"
msgstr "星期二"
-#: mod_muc/mod_muc_log.erl:450
+#: mod_muc/mod_muc_log.erl:461
msgid "Wednesday"
msgstr "星期三"
-#: mod_muc/mod_muc_log.erl:451
+#: mod_muc/mod_muc_log.erl:462
msgid "Thursday"
msgstr "星期四"
-#: mod_muc/mod_muc_log.erl:452
+#: mod_muc/mod_muc_log.erl:463
msgid "Friday"
msgstr "星期五"
-#: mod_muc/mod_muc_log.erl:453
+#: mod_muc/mod_muc_log.erl:464
msgid "Saturday"
msgstr "星期六"
-#: mod_muc/mod_muc_log.erl:454
+#: mod_muc/mod_muc_log.erl:465
msgid "Sunday"
msgstr "星期天"
-#: mod_muc/mod_muc_log.erl:458
+#: mod_muc/mod_muc_log.erl:469
msgid "January"
msgstr "一月"
-#: mod_muc/mod_muc_log.erl:459
+#: mod_muc/mod_muc_log.erl:470
msgid "February"
msgstr "二月"
-#: mod_muc/mod_muc_log.erl:460
+#: mod_muc/mod_muc_log.erl:471
msgid "March"
msgstr "三月"
-#: mod_muc/mod_muc_log.erl:461
+#: mod_muc/mod_muc_log.erl:472
msgid "April"
msgstr "四月"
-#: mod_muc/mod_muc_log.erl:462
+#: mod_muc/mod_muc_log.erl:473
msgid "May"
msgstr "五月"
-#: mod_muc/mod_muc_log.erl:463
+#: mod_muc/mod_muc_log.erl:474
msgid "June"
msgstr "六月"
-#: mod_muc/mod_muc_log.erl:464
+#: mod_muc/mod_muc_log.erl:475
msgid "July"
msgstr "七月"
-#: mod_muc/mod_muc_log.erl:465
+#: mod_muc/mod_muc_log.erl:476
msgid "August"
msgstr "八月"
-#: mod_muc/mod_muc_log.erl:466
+#: mod_muc/mod_muc_log.erl:477
msgid "September"
msgstr "九月"
-#: mod_muc/mod_muc_log.erl:467
+#: mod_muc/mod_muc_log.erl:478
msgid "October"
msgstr "十月"
-#: mod_muc/mod_muc_log.erl:468
+#: mod_muc/mod_muc_log.erl:479
msgid "November"
msgstr "十一月"
-#: mod_muc/mod_muc_log.erl:469
+#: mod_muc/mod_muc_log.erl:480
msgid "December"
msgstr "十二月"
-#: mod_muc/mod_muc_log.erl:740
+#: mod_muc/mod_muc_log.erl:751
msgid "Room Configuration"
msgstr "房间配置"
-#: mod_muc/mod_muc_log.erl:749
+#: mod_muc/mod_muc_log.erl:760
msgid "Room Occupants"
msgstr "房间人数"
-#: mod_muc/mod_muc_log.erl:852 mod_muc/mod_muc_room.erl:2871
+#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "房间标题"
-#: mod_muc/mod_muc_room.erl:167
+#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "已经超过传输率限制"
-#: mod_muc/mod_muc_room.erl:239
+#: mod_muc/mod_muc_room.erl:242
msgid ""
"This participant is kicked from the room because he sent an error message"
msgstr "该用户由于发送了错误消息而被踢出了聊天室"
-#: mod_muc/mod_muc_room.erl:248
+#: mod_muc/mod_muc_room.erl:251
msgid "It is not allowed to send private messages to the conference"
msgstr "不允许向会议发送私聊消息"
-#: mod_muc/mod_muc_room.erl:293
+#: mod_muc/mod_muc_room.erl:296
msgid "Improper message type"
msgstr "不正确的消息类型"
-#: mod_muc/mod_muc_room.erl:403
+#: mod_muc/mod_muc_room.erl:406
msgid ""
"This participant is kicked from the room because he sent an error message to "
"another participant"
msgstr "该用户由于给其他人发送了出错消息而被踢出了聊天室"
-#: mod_muc/mod_muc_room.erl:416
+#: mod_muc/mod_muc_room.erl:419
msgid "It is not allowed to send private messages of type \"groupchat\""
msgstr "\"群组聊天\"类型不允许发送私聊消息"
-#: mod_muc/mod_muc_room.erl:428 mod_muc/mod_muc_room.erl:483
+#: mod_muc/mod_muc_room.erl:431 mod_muc/mod_muc_room.erl:486
msgid "Recipient is not in the conference room"
msgstr "接收人不在会议室"
-#: mod_muc/mod_muc_room.erl:448 mod_muc/mod_muc_room.erl:828
-#: mod_muc/mod_muc_room.erl:3493
+#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
+#: mod_muc/mod_muc_room.erl:3536
msgid "Only occupants are allowed to send messages to the conference"
msgstr "只允许驻留者向会议发送消息"
-#: mod_muc/mod_muc_room.erl:457
+#: mod_muc/mod_muc_room.erl:460
msgid "It is not allowed to send private messages"
msgstr "不允许发送私聊消息"
-#: mod_muc/mod_muc_room.erl:506
+#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "只允许驻留者发出查询请求"
-#: mod_muc/mod_muc_room.erl:518
+#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "本房间不允许发出成员查询请求"
-#: mod_muc/mod_muc_room.erl:604
-msgid "private, "
-msgstr "保密, "
-
-#: mod_muc/mod_muc_room.erl:804
+#: mod_muc/mod_muc_room.erl:817
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "只允许监管人和参与人在此房间里更改主题"
-#: mod_muc/mod_muc_room.erl:809
+#: mod_muc/mod_muc_room.erl:822
msgid "Only moderators are allowed to change the subject in this room"
msgstr "只允许监管人更改此房间的主题"
-#: mod_muc/mod_muc_room.erl:819
+#: mod_muc/mod_muc_room.erl:832
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "不允许访客给所有占有者发送消息"
-#: mod_muc/mod_muc_room.erl:886
+#: mod_muc/mod_muc_room.erl:899
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr "该用户由于发送了错误状态而被踢出了聊天室"
-#: mod_muc/mod_muc_room.erl:904
+#: mod_muc/mod_muc_room.erl:917
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "此房间不允许用户更改昵称"
-#: mod_muc/mod_muc_room.erl:917 mod_muc/mod_muc_room.erl:1551
+#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
msgid "That nickname is already in use by another occupant"
msgstr "该昵称已被另一用户使用"
-#: mod_muc/mod_muc_room.erl:1540
+#: mod_muc/mod_muc_room.erl:1566
msgid "You have been banned from this room"
msgstr "您已被禁止进入该房间"
-#: mod_muc/mod_muc_room.erl:1543
+#: mod_muc/mod_muc_room.erl:1569
msgid "Membership is required to enter this room"
msgstr "进入此房间需要会员身份"
-#: mod_muc/mod_muc_room.erl:1579
+#: mod_muc/mod_muc_room.erl:1605
msgid "This room is not anonymous"
msgstr "此房间不是匿名房间"
-#: mod_muc/mod_muc_room.erl:1605
+#: mod_muc/mod_muc_room.erl:1631
msgid "A password is required to enter this room"
msgstr "进入此房间需要密码"
-#: mod_muc/mod_muc_room.erl:1627
+#: mod_muc/mod_muc_room.erl:1653
msgid "Unable to generate a captcha"
msgstr "无法产生验证码"
-#: mod_muc/mod_muc_room.erl:1637
+#: mod_muc/mod_muc_room.erl:1663
msgid "Incorrect password"
msgstr "密码不正确"
-#: mod_muc/mod_muc_room.erl:2141
+#: mod_muc/mod_muc_room.erl:2167
msgid "Administrator privileges required"
msgstr "需要管理员权限"
-#: mod_muc/mod_muc_room.erl:2156
+#: mod_muc/mod_muc_room.erl:2182
msgid "Moderator privileges required"
msgstr "需要主持人权限"
-#: mod_muc/mod_muc_room.erl:2311
+#: mod_muc/mod_muc_room.erl:2337
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s无效"
-#: mod_muc/mod_muc_room.erl:2325
+#: mod_muc/mod_muc_room.erl:2351
msgid "Nickname ~s does not exist in the room"
msgstr "昵称~s不在该房间"
-#: mod_muc/mod_muc_room.erl:2351 mod_muc/mod_muc_room.erl:2729
+#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
msgid "Invalid affiliation: ~s"
msgstr "无效加入: ~s"
-#: mod_muc/mod_muc_room.erl:2408
+#: mod_muc/mod_muc_room.erl:2434
msgid "Invalid role: ~s"
msgstr "无效角色: ~s"
-#: mod_muc/mod_muc_room.erl:2706 mod_muc/mod_muc_room.erl:2742
+#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
msgid "Owner privileges required"
msgstr "需要持有人权限"
-#: mod_muc/mod_muc_room.erl:2866
+#: mod_muc/mod_muc_room.erl:2893
msgid "Configuration of room ~s"
msgstr "房间~s的配置 "
-#: mod_muc/mod_muc_room.erl:2874 mod_muc/mod_muc_room.erl:3292
+#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
msgid "Room description"
msgstr "房间描述"
-#: mod_muc/mod_muc_room.erl:2881
+#: mod_muc/mod_muc_room.erl:2908
msgid "Make room persistent"
msgstr "永久保存该房间"
-#: mod_muc/mod_muc_room.erl:2886
+#: mod_muc/mod_muc_room.erl:2913
msgid "Make room public searchable"
msgstr "使房间可被公开搜索"
-#: mod_muc/mod_muc_room.erl:2889
+#: mod_muc/mod_muc_room.erl:2916
msgid "Make participants list public"
msgstr "公开参与人列表"
-#: mod_muc/mod_muc_room.erl:2892
+#: mod_muc/mod_muc_room.erl:2919
msgid "Make room password protected"
msgstr "进入此房间需要密码"
-#: mod_muc/mod_muc_room.erl:2903
+#: mod_muc/mod_muc_room.erl:2930
msgid "Maximum Number of Occupants"
msgstr "允许的驻留者最大数"
-#: mod_muc/mod_muc_room.erl:2910
+#: mod_muc/mod_muc_room.erl:2937
msgid "No limit"
msgstr "不限"
-#: mod_muc/mod_muc_room.erl:2921
+#: mod_muc/mod_muc_room.erl:2948
msgid "Present real Jabber IDs to"
msgstr "将真实 Jabber ID 显示给"
-#: mod_muc/mod_muc_room.erl:2929
+#: mod_muc/mod_muc_room.erl:2956
msgid "moderators only"
msgstr "仅主持人"
-#: mod_muc/mod_muc_room.erl:2931
+#: mod_muc/mod_muc_room.erl:2958
msgid "anyone"
msgstr "任何人"
-#: mod_muc/mod_muc_room.erl:2933
+#: mod_muc/mod_muc_room.erl:2960
msgid "Make room members-only"
msgstr "设置房间只接收会员"
-#: mod_muc/mod_muc_room.erl:2936
+#: mod_muc/mod_muc_room.erl:2963
msgid "Make room moderated"
msgstr "只有有\"发言权\"的用户才可以发送消息给所有驻留者"
-#: mod_muc/mod_muc_room.erl:2939
+#: mod_muc/mod_muc_room.erl:2966
msgid "Default users as participants"
msgstr "用户默认被视为参与人"
-#: mod_muc/mod_muc_room.erl:2942
+#: mod_muc/mod_muc_room.erl:2969
msgid "Allow users to change the subject"
msgstr "允许用户更改主题"
-#: mod_muc/mod_muc_room.erl:2945
+#: mod_muc/mod_muc_room.erl:2972
msgid "Allow users to send private messages"
msgstr "允许用户发送私聊消息"
-#: mod_muc/mod_muc_room.erl:2948
+#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to query other users"
msgstr "允许用户查询其它用户"
-#: mod_muc/mod_muc_room.erl:2951
+#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send invites"
msgstr "允许用户发送邀请"
-#: mod_muc/mod_muc_room.erl:2954
+#: mod_muc/mod_muc_room.erl:2981
msgid "Allow visitors to send status text in presence updates"
msgstr "更新在线状态时允许用户发送状态文本"
-#: mod_muc/mod_muc_room.erl:2957
+#: mod_muc/mod_muc_room.erl:2984
msgid "Allow visitors to change nickname"
msgstr "允许用户更改昵称"
-#: mod_muc/mod_muc_room.erl:2963
+#: mod_muc/mod_muc_room.erl:2990
msgid "Make room captcha protected"
msgstr "保护房间验证码"
-#: mod_muc/mod_muc_room.erl:2972
+#: mod_muc/mod_muc_room.erl:2999
msgid "Enable logging"
msgstr "启用服务器端聊天记录"
-#: mod_muc/mod_muc_room.erl:2980
+#: mod_muc/mod_muc_room.erl:3007
msgid "You need an x:data capable client to configure room"
msgstr "您需要一个兼容 x:data 的客户端来配置房间"
-#: mod_muc/mod_muc_room.erl:3294
+#: mod_muc/mod_muc_room.erl:3321
msgid "Number of occupants"
msgstr "驻留人数"
-#: mod_muc/mod_muc_room.erl:3413
+#: mod_muc/mod_muc_room.erl:3373
+msgid "private, "
+msgstr "保密, "
+
+#: mod_muc/mod_muc_room.erl:3456
msgid "~s invites you to the room ~s"
msgstr "~s邀请你到~s房间"
-#: mod_muc/mod_muc_room.erl:3422
+#: mod_muc/mod_muc_room.erl:3465
msgid "the password is"
msgstr "密码是"
-#: mod_offline.erl:509 mod_offline_odbc.erl:352
+#: mod_offline.erl:510 mod_offline_odbc.erl:353
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "您的联系人离线消息队列已满. 消息已被丢弃"
-#: mod_offline.erl:558 mod_offline_odbc.erl:407
+#: mod_offline.erl:560 mod_offline_odbc.erl:409
msgid "~s's Offline Messages Queue"
msgstr "~s 的离线消息队列"
-#: mod_offline.erl:561 mod_offline_odbc.erl:410 mod_roster.erl:992
-#: mod_roster_odbc.erl:1093 mod_shared_roster.erl:780
-#: mod_shared_roster.erl:881 web/ejabberd_web_admin.erl:813
-#: web/ejabberd_web_admin.erl:854 web/ejabberd_web_admin.erl:922
-#: web/ejabberd_web_admin.erl:958 web/ejabberd_web_admin.erl:999
-#: web/ejabberd_web_admin.erl:1489 web/ejabberd_web_admin.erl:1700
-#: web/ejabberd_web_admin.erl:1870 web/ejabberd_web_admin.erl:1902
-#: web/ejabberd_web_admin.erl:1971 web/ejabberd_web_admin.erl:2075
-#: web/ejabberd_web_admin.erl:2100 web/ejabberd_web_admin.erl:2188
+#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
+#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
+#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
+#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
+#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
+#: web/ejabberd_web_admin.erl:1925 web/ejabberd_web_admin.erl:1957
+#: web/ejabberd_web_admin.erl:2026 web/ejabberd_web_admin.erl:2130
+#: web/ejabberd_web_admin.erl:2155 web/ejabberd_web_admin.erl:2243
msgid "Submitted"
msgstr "已提交"
-#: mod_offline.erl:569
+#: mod_offline.erl:571
msgid "Time"
msgstr "时间"
-#: mod_offline.erl:570
+#: mod_offline.erl:572
msgid "From"
msgstr "从"
-#: mod_offline.erl:571
+#: mod_offline.erl:573
msgid "To"
msgstr "到"
-#: mod_offline.erl:572 mod_offline_odbc.erl:418
+#: mod_offline.erl:574 mod_offline_odbc.erl:420
msgid "Packet"
msgstr "数据包"
-#: mod_offline.erl:585 mod_offline_odbc.erl:431 mod_shared_roster.erl:787
-#: web/ejabberd_web_admin.erl:862 web/ejabberd_web_admin.erl:966
+#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
+#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "删除已选内容"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Offline Messages:"
msgstr "离线消息:"
-#: mod_offline.erl:620 mod_offline_odbc.erl:496
+#: mod_offline.erl:645 mod_offline_odbc.erl:520
msgid "Remove All Offline Messages"
msgstr "移除所有离线消息"
@@ -989,192 +1007,195 @@ msgstr "移除所有离线消息"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 字节流模块"
-#: mod_pubsub/mod_pubsub.erl:1109 mod_pubsub/mod_pubsub_odbc.erl:914
+#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
msgid "Publish-Subscribe"
msgstr "发行-订阅"
-#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1019
+#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd 发行-订阅模块"
-#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1306
+#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
msgid "PubSub subscriber request"
msgstr "PubSub 订阅人请求"
-#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1308
+#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
msgid "Choose whether to approve this entity's subscription."
msgstr "选择是否允许该实体的订阅"
-#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1314
+#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
msgid "Node ID"
msgstr "节点 ID"
-#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1319
+#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
msgid "Subscriber Address"
msgstr "订阅人地址"
-#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1325
+#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "允许该 Jabber ID 订阅该pubsub节点?"
-#: mod_pubsub/mod_pubsub.erl:3330 mod_pubsub/mod_pubsub_odbc.erl:3163
+#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
msgid "Deliver payloads with event notifications"
msgstr "用事件通告传输有效负载"
-#: mod_pubsub/mod_pubsub.erl:3331 mod_pubsub/mod_pubsub_odbc.erl:3164
+#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
msgid "Deliver event notifications"
msgstr "传递事件通知"
-#: mod_pubsub/mod_pubsub.erl:3332 mod_pubsub/mod_pubsub_odbc.erl:3165
+#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
msgid "Notify subscribers when the node configuration changes"
msgstr "当节点设置改变时通知订阅人"
-#: mod_pubsub/mod_pubsub.erl:3333 mod_pubsub/mod_pubsub_odbc.erl:3166
+#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
msgid "Notify subscribers when the node is deleted"
msgstr "当节点被删除时通知订阅人"
-#: mod_pubsub/mod_pubsub.erl:3334 mod_pubsub/mod_pubsub_odbc.erl:3167
+#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
msgid "Notify subscribers when items are removed from the node"
msgstr "当从节点删除内容条目时通知订阅人"
-#: mod_pubsub/mod_pubsub.erl:3335 mod_pubsub/mod_pubsub_odbc.erl:3168
+#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
msgid "Persist items to storage"
msgstr "持久化内容条目"
-#: mod_pubsub/mod_pubsub.erl:3336 mod_pubsub/mod_pubsub_odbc.erl:3169
+#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
msgid "A friendly name for the node"
msgstr "该节点的友好名称"
-#: mod_pubsub/mod_pubsub.erl:3337 mod_pubsub/mod_pubsub_odbc.erl:3170
+#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
msgid "Max # of items to persist"
msgstr "允许持久化的最大内容条目数"
-#: mod_pubsub/mod_pubsub.erl:3338 mod_pubsub/mod_pubsub_odbc.erl:3171
+#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
msgid "Whether to allow subscriptions"
msgstr "是否允许订阅"
-#: mod_pubsub/mod_pubsub.erl:3339 mod_pubsub/mod_pubsub_odbc.erl:3172
+#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
msgid "Specify the access model"
msgstr "指定访问模式"
-#: mod_pubsub/mod_pubsub.erl:3342 mod_pubsub/mod_pubsub_odbc.erl:3175
+#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
msgid "Roster groups allowed to subscribe"
msgstr "允许订阅的花名册组"
-#: mod_pubsub/mod_pubsub.erl:3343 mod_pubsub/mod_pubsub_odbc.erl:3176
+#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
msgid "Specify the publisher model"
msgstr "指定发布人样式"
-#: mod_pubsub/mod_pubsub.erl:3345 mod_pubsub/mod_pubsub_odbc.erl:3178
-#, fuzzy
-msgid "Specify the event message type"
-msgstr "指定访问模式"
+#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
+msgid "Purge all items when the relevant publisher goes offline"
+msgstr "相关发布人离线后清除所有选项"
-#: mod_pubsub/mod_pubsub.erl:3347 mod_pubsub/mod_pubsub_odbc.erl:3180
+#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
+msgid "Specify the event message type"
+msgstr "指定事件消息类型"
+
+#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
msgid "Max payload size in bytes"
msgstr "最大有效负载比特数"
-#: mod_pubsub/mod_pubsub.erl:3348 mod_pubsub/mod_pubsub_odbc.erl:3181
+#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
msgid "When to send the last published item"
msgstr "何时发送最新发布的内容条目"
-#: mod_pubsub/mod_pubsub.erl:3350 mod_pubsub/mod_pubsub_odbc.erl:3183
+#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
msgid "Only deliver notifications to available users"
msgstr "仅将通知发送给可发送的用户"
-#: mod_pubsub/mod_pubsub.erl:3351 mod_pubsub/mod_pubsub_odbc.erl:3184
+#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
msgid "The collections with which a node is affiliated"
msgstr "加入结点的集合"
-#: mod_register.erl:191
+#: mod_register.erl:198
msgid "Choose a username and password to register with this server"
msgstr "请选择在此服务器上注册所需的用户名和密码"
-#: mod_register.erl:244
+#: mod_register.erl:251
msgid "Users are not allowed to register accounts so quickly"
msgstr "不允许用户太频繁地注册帐户"
-#: mod_roster.erl:943 mod_roster_odbc.erl:1044 web/ejabberd_web_admin.erl:1665
-#: web/ejabberd_web_admin.erl:1825 web/ejabberd_web_admin.erl:1836
-#: web/ejabberd_web_admin.erl:2159
+#: mod_roster.erl:943 mod_roster_odbc.erl:1043 web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1880 web/ejabberd_web_admin.erl:1891
+#: web/ejabberd_web_admin.erl:2214
msgid "None"
msgstr "无"
-#: mod_roster.erl:950 mod_roster_odbc.erl:1051
+#: mod_roster.erl:950 mod_roster_odbc.erl:1050
msgid "Subscription"
msgstr "订阅"
-#: mod_roster.erl:951 mod_roster_odbc.erl:1052
+#: mod_roster.erl:951 mod_roster_odbc.erl:1051
msgid "Pending"
msgstr "挂起"
-#: mod_roster.erl:952 mod_roster_odbc.erl:1053
+#: mod_roster.erl:952 mod_roster_odbc.erl:1052
msgid "Groups"
msgstr "组"
-#: mod_roster.erl:979 mod_roster_odbc.erl:1080
+#: mod_roster.erl:979 mod_roster_odbc.erl:1079
msgid "Validate"
msgstr "确认"
-#: mod_roster.erl:987 mod_roster_odbc.erl:1088
+#: mod_roster.erl:987 mod_roster_odbc.erl:1087
msgid "Remove"
msgstr "移除"
-#: mod_roster.erl:990 mod_roster_odbc.erl:1091
+#: mod_roster.erl:990 mod_roster_odbc.erl:1090
msgid "Roster of "
msgstr "花名册属于 "
-#: mod_roster.erl:993 mod_roster_odbc.erl:1094 mod_shared_roster.erl:781
-#: mod_shared_roster.erl:882 web/ejabberd_web_admin.erl:814
-#: web/ejabberd_web_admin.erl:855 web/ejabberd_web_admin.erl:923
-#: web/ejabberd_web_admin.erl:959 web/ejabberd_web_admin.erl:1000
-#: web/ejabberd_web_admin.erl:1490 web/ejabberd_web_admin.erl:1701
-#: web/ejabberd_web_admin.erl:1871 web/ejabberd_web_admin.erl:2076
-#: web/ejabberd_web_admin.erl:2101 web/ejabberd_web_admin.erl:2189
+#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
+#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
+#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
+#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
+#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
+#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
+#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
msgid "Bad format"
msgstr "格式错误"
-#: mod_roster.erl:1000 mod_roster_odbc.erl:1101
+#: mod_roster.erl:1000 mod_roster_odbc.erl:1100
msgid "Add Jabber ID"
msgstr "添加 Jabber ID"
-#: mod_roster.erl:1099 mod_roster_odbc.erl:1200
+#: mod_roster.erl:1099 mod_roster_odbc.erl:1199
msgid "Roster"
msgstr "花名册"
-#: mod_shared_roster.erl:736 mod_shared_roster.erl:778
-#: mod_shared_roster.erl:878
+#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
+#: mod_shared_roster.erl:907
msgid "Shared Roster Groups"
msgstr "共享的花名册组群"
-#: mod_shared_roster.erl:774 web/ejabberd_web_admin.erl:1346
-#: web/ejabberd_web_admin.erl:2401
+#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
+#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "添加新用户"
-#: mod_shared_roster.erl:849
+#: mod_shared_roster.erl:878
msgid "Name:"
msgstr "姓名:"
-#: mod_shared_roster.erl:854
+#: mod_shared_roster.erl:883
msgid "Description:"
msgstr "描述:"
-#: mod_shared_roster.erl:862
+#: mod_shared_roster.erl:891
msgid "Members:"
msgstr "会员:"
-#: mod_shared_roster.erl:870
+#: mod_shared_roster.erl:899
msgid "Displayed Groups:"
msgstr "已显示的组:"
-#: mod_shared_roster.erl:879
+#: mod_shared_roster.erl:908
msgid "Group "
msgstr "组"
-#: mod_shared_roster.erl:888 web/ejabberd_web_admin.erl:820
-#: web/ejabberd_web_admin.erl:864 web/ejabberd_web_admin.erl:929
-#: web/ejabberd_web_admin.erl:1006 web/ejabberd_web_admin.erl:1956
+#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
+#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
+#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
msgstr "提交"
@@ -1182,84 +1203,84 @@ msgstr "提交"
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber 服务器"
-#: mod_vcard.erl:357 mod_vcard.erl:471 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:446
+#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:448
msgid "Birthday"
msgstr "出生日期"
-#: mod_vcard.erl:357 mod_vcard.erl:473 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:448
+#: mod_vcard.erl:358 mod_vcard.erl:474 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:450
msgid "City"
msgstr "城市"
-#: mod_vcard.erl:357 mod_vcard.erl:472 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:447
+#: mod_vcard.erl:358 mod_vcard.erl:473 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:449
msgid "Country"
msgstr "国家"
-#: mod_vcard.erl:357 mod_vcard.erl:474 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:449
+#: mod_vcard.erl:358 mod_vcard.erl:475 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:451
msgid "Email"
msgstr "电子邮件"
-#: mod_vcard.erl:357 mod_vcard.erl:469 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:444
+#: mod_vcard.erl:358 mod_vcard.erl:470 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:446
msgid "Family Name"
msgstr "姓氏"
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_odbc.erl:336
msgid ""
"Fill in the form to search for any matching Jabber User (Add * to the end of "
"field to match substring)"
msgstr "填充表单以搜索任何匹配的 Jabber 用户(在字段末添加*来匹配子串)"
-#: mod_vcard.erl:357 mod_vcard.erl:466 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:441
+#: mod_vcard.erl:358 mod_vcard.erl:467 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:443
msgid "Full Name"
msgstr "全名"
-#: mod_vcard.erl:357 mod_vcard.erl:468 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:443
+#: mod_vcard.erl:358 mod_vcard.erl:469 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:445
msgid "Middle Name"
msgstr "中间名"
-#: mod_vcard.erl:357 mod_vcard.erl:467 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:442 web/ejabberd_web_admin.erl:1945
+#: mod_vcard.erl:358 mod_vcard.erl:468 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:444 web/ejabberd_web_admin.erl:2000
msgid "Name"
msgstr "姓名"
-#: mod_vcard.erl:357 mod_vcard.erl:475 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:450
+#: mod_vcard.erl:358 mod_vcard.erl:476 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:452
msgid "Organization Name"
msgstr "组织名称"
-#: mod_vcard.erl:357 mod_vcard.erl:476 mod_vcard_odbc.erl:334
-#: mod_vcard_odbc.erl:451
+#: mod_vcard.erl:358 mod_vcard.erl:477 mod_vcard_odbc.erl:336
+#: mod_vcard_odbc.erl:453
msgid "Organization Unit"
msgstr "组织单位"
-#: mod_vcard.erl:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "Search users in "
msgstr "搜索用户于 "
-#: mod_vcard.erl:357 mod_vcard_odbc.erl:334 web/ejabberd_web_admin.erl:1496
-#: web/ejabberd_web_admin.erl:1552
+#: 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:357 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:334
+#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "您需要一个兼容 x:data 的客户端来搜索"
-#: mod_vcard.erl:382 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:359
+#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
msgstr "vCard 用户搜索"
-#: mod_vcard.erl:438 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:413
+#: mod_vcard.erl:439 mod_vcard_ldap.erl:537 mod_vcard_odbc.erl:415
msgid "ejabberd vCard module"
msgstr "ejabberd vCard 模块"
-#: mod_vcard.erl:462 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:437
+#: mod_vcard.erl:463 mod_vcard_ldap.erl:547 mod_vcard_odbc.erl:439
msgid "Search Results for "
msgstr "搜索结果属于关键词 "
@@ -1267,182 +1288,182 @@ msgstr "搜索结果属于关键词 "
msgid "Fill in fields to search for any matching Jabber User"
msgstr "填充字段以搜索任何匹配的 Jabber 用户"
-#: web/ejabberd_web_admin.erl:179 web/ejabberd_web_admin.erl:186
-#: web/ejabberd_web_admin.erl:202 web/ejabberd_web_admin.erl:209
+#: web/ejabberd_web_admin.erl:189 web/ejabberd_web_admin.erl:199
+#: web/ejabberd_web_admin.erl:215 web/ejabberd_web_admin.erl:225
msgid "Unauthorized"
msgstr "未认证的"
-#: web/ejabberd_web_admin.erl:266 web/ejabberd_web_admin.erl:283
+#: web/ejabberd_web_admin.erl:282 web/ejabberd_web_admin.erl:299
msgid "ejabberd Web Admin"
msgstr "ejabberd 网页管理"
-#: web/ejabberd_web_admin.erl:749 web/ejabberd_web_admin.erl:760
+#: web/ejabberd_web_admin.erl:765 web/ejabberd_web_admin.erl:776
msgid "Administration"
msgstr "管理"
-#: web/ejabberd_web_admin.erl:858 web/ejabberd_web_admin.erl:962
+#: web/ejabberd_web_admin.erl:874 web/ejabberd_web_admin.erl:978
msgid "Raw"
msgstr "原始格式"
-#: web/ejabberd_web_admin.erl:997
+#: web/ejabberd_web_admin.erl:1013
msgid "~s access rule configuration"
msgstr "~s 访问规则配置"
-#: web/ejabberd_web_admin.erl:1015
+#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd 虚拟主机"
-#: web/ejabberd_web_admin.erl:1023 web/ejabberd_web_admin.erl:1030
+#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
msgstr "用户"
-#: web/ejabberd_web_admin.erl:1058
+#: web/ejabberd_web_admin.erl:1074
msgid "Users Last Activity"
msgstr "用户上次活动"
-#: web/ejabberd_web_admin.erl:1060
+#: web/ejabberd_web_admin.erl:1076
msgid "Period: "
msgstr "持续时间: "
-#: web/ejabberd_web_admin.erl:1070
+#: web/ejabberd_web_admin.erl:1086
msgid "Last month"
msgstr "上个月"
-#: web/ejabberd_web_admin.erl:1071
+#: web/ejabberd_web_admin.erl:1087
msgid "Last year"
msgstr "上一年"
-#: web/ejabberd_web_admin.erl:1072
+#: web/ejabberd_web_admin.erl:1088
msgid "All activity"
msgstr "所有活动"
-#: web/ejabberd_web_admin.erl:1074
+#: web/ejabberd_web_admin.erl:1090
msgid "Show Ordinary Table"
msgstr "显示普通列表"
-#: web/ejabberd_web_admin.erl:1076
+#: web/ejabberd_web_admin.erl:1092
msgid "Show Integral Table"
msgstr "显示完整列表"
-#: web/ejabberd_web_admin.erl:1085 web/ejabberd_web_admin.erl:1878
+#: web/ejabberd_web_admin.erl:1101 web/ejabberd_web_admin.erl:1933
msgid "Statistics"
msgstr "统计"
-#: web/ejabberd_web_admin.erl:1097
+#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "没有找到"
-#: web/ejabberd_web_admin.erl:1114
+#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
msgstr "没有找到节点"
-#: web/ejabberd_web_admin.erl:1441
+#: web/ejabberd_web_admin.erl:1457
msgid "Host"
msgstr "主机"
-#: web/ejabberd_web_admin.erl:1442
+#: web/ejabberd_web_admin.erl:1458
msgid "Registered Users"
msgstr "注册用户"
-#: web/ejabberd_web_admin.erl:1553
+#: web/ejabberd_web_admin.erl:1570
msgid "Offline Messages"
msgstr "离线消息"
-#: web/ejabberd_web_admin.erl:1554
+#: web/ejabberd_web_admin.erl:1571 web/ejabberd_web_admin.erl:1761
msgid "Last Activity"
msgstr "上次活动"
-#: web/ejabberd_web_admin.erl:1623 web/ejabberd_web_admin.erl:1639
+#: web/ejabberd_web_admin.erl:1653 web/ejabberd_web_admin.erl:1669
msgid "Registered Users:"
msgstr "注册用户:"
-#: web/ejabberd_web_admin.erl:1625 web/ejabberd_web_admin.erl:1641
-#: web/ejabberd_web_admin.erl:2132
+#: web/ejabberd_web_admin.erl:1655 web/ejabberd_web_admin.erl:1671
+#: web/ejabberd_web_admin.erl:2187
msgid "Online Users:"
msgstr "在线用户:"
-#: web/ejabberd_web_admin.erl:1627
+#: web/ejabberd_web_admin.erl:1657
msgid "Outgoing s2s Connections:"
msgstr "出站 s2s 连接:"
-#: web/ejabberd_web_admin.erl:1629
+#: web/ejabberd_web_admin.erl:1659
msgid "Outgoing s2s Servers:"
msgstr "出站 s2s 服务器"
-#: web/ejabberd_web_admin.erl:1695
+#: web/ejabberd_web_admin.erl:1728
msgid "Change Password"
msgstr "更改密码"
-#: web/ejabberd_web_admin.erl:1698
+#: web/ejabberd_web_admin.erl:1752
msgid "User "
msgstr "用户 "
-#: web/ejabberd_web_admin.erl:1705
+#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "已连接资源:"
-#: web/ejabberd_web_admin.erl:1706
+#: web/ejabberd_web_admin.erl:1760
msgid "Password:"
msgstr "密码: "
-#: web/ejabberd_web_admin.erl:1767
+#: web/ejabberd_web_admin.erl:1822
msgid "No Data"
msgstr "没有数据"
-#: web/ejabberd_web_admin.erl:1845
+#: web/ejabberd_web_admin.erl:1900
msgid "Nodes"
msgstr "节点"
-#: web/ejabberd_web_admin.erl:1868 web/ejabberd_web_admin.erl:1890
+#: web/ejabberd_web_admin.erl:1923 web/ejabberd_web_admin.erl:1945
msgid "Node "
msgstr "节点 "
-#: web/ejabberd_web_admin.erl:1877
+#: web/ejabberd_web_admin.erl:1932
msgid "Listened Ports"
msgstr "被监听的端口"
-#: web/ejabberd_web_admin.erl:1879 web/ejabberd_web_admin.erl:2200
-#: web/ejabberd_web_admin.erl:2388
+#: web/ejabberd_web_admin.erl:1934 web/ejabberd_web_admin.erl:2255
+#: web/ejabberd_web_admin.erl:2443
msgid "Update"
msgstr "更新"
-#: web/ejabberd_web_admin.erl:1882 web/ejabberd_web_admin.erl:2509
+#: web/ejabberd_web_admin.erl:1937 web/ejabberd_web_admin.erl:2564
msgid "Restart"
msgstr "重启"
-#: web/ejabberd_web_admin.erl:1884 web/ejabberd_web_admin.erl:2511
+#: web/ejabberd_web_admin.erl:1939 web/ejabberd_web_admin.erl:2566
msgid "Stop"
msgstr "停止"
-#: web/ejabberd_web_admin.erl:1898
+#: web/ejabberd_web_admin.erl:1953
msgid "RPC Call Error"
msgstr "RPC 调用错误"
-#: web/ejabberd_web_admin.erl:1939
+#: web/ejabberd_web_admin.erl:1994
msgid "Database Tables at "
msgstr "数据库列表位于 "
-#: web/ejabberd_web_admin.erl:1946
+#: web/ejabberd_web_admin.erl:2001
msgid "Storage Type"
msgstr "存储类型"
-#: web/ejabberd_web_admin.erl:1947
+#: web/ejabberd_web_admin.erl:2002
msgid "Elements"
msgstr "元素"
-#: web/ejabberd_web_admin.erl:1948
+#: web/ejabberd_web_admin.erl:2003
msgid "Memory"
msgstr "内存"
-#: web/ejabberd_web_admin.erl:1972 web/ejabberd_web_admin.erl:2077
+#: web/ejabberd_web_admin.erl:2027 web/ejabberd_web_admin.erl:2132
msgid "Error"
msgstr "错误"
-#: web/ejabberd_web_admin.erl:1974
+#: web/ejabberd_web_admin.erl:2029
msgid "Backup of "
msgstr "备份来源 "
-#: web/ejabberd_web_admin.erl:1976
+#: web/ejabberd_web_admin.erl:2031
msgid ""
"Please note that these options will only backup the builtin Mnesia database. "
"If you are using the ODBC module, you also need to backup your SQL database "
@@ -1451,140 +1472,140 @@ msgstr ""
"注意:这些选项仅将备份内置的 Mnesia 数据库. 如果您正在使用 ODBC 模块, 您还需"
"要分别备份您的数据库."
-#: web/ejabberd_web_admin.erl:1981
+#: web/ejabberd_web_admin.erl:2036
msgid "Store binary backup:"
msgstr "存储为二进制备份:"
-#: web/ejabberd_web_admin.erl:1985 web/ejabberd_web_admin.erl:1992
-#: web/ejabberd_web_admin.erl:2000 web/ejabberd_web_admin.erl:2007
-#: web/ejabberd_web_admin.erl:2014 web/ejabberd_web_admin.erl:2021
-#: web/ejabberd_web_admin.erl:2028 web/ejabberd_web_admin.erl:2036
-#: web/ejabberd_web_admin.erl:2043 web/ejabberd_web_admin.erl:2050
+#: web/ejabberd_web_admin.erl:2040 web/ejabberd_web_admin.erl:2047
+#: web/ejabberd_web_admin.erl:2055 web/ejabberd_web_admin.erl:2062
+#: web/ejabberd_web_admin.erl:2069 web/ejabberd_web_admin.erl:2076
+#: web/ejabberd_web_admin.erl:2083 web/ejabberd_web_admin.erl:2091
+#: web/ejabberd_web_admin.erl:2098 web/ejabberd_web_admin.erl:2105
msgid "OK"
msgstr "确定"
-#: web/ejabberd_web_admin.erl:1988
+#: web/ejabberd_web_admin.erl:2043
msgid "Restore binary backup immediately:"
msgstr "立即恢复二进制备份:"
-#: web/ejabberd_web_admin.erl:1996
+#: web/ejabberd_web_admin.erl:2051
msgid ""
"Restore binary backup after next ejabberd restart (requires less memory):"
msgstr "在下次 ejabberd 重启后恢复二进制备份(需要的内存更少):"
-#: web/ejabberd_web_admin.erl:2003
+#: web/ejabberd_web_admin.erl:2058
msgid "Store plain text backup:"
msgstr "存储为普通文本备份:"
-#: web/ejabberd_web_admin.erl:2010
+#: web/ejabberd_web_admin.erl:2065
msgid "Restore plain text backup immediately:"
msgstr "立即恢复普通文本备份:"
-#: web/ejabberd_web_admin.erl:2017
+#: web/ejabberd_web_admin.erl:2072
msgid "Import users data from a PIEFXIS file (XEP-0227):"
msgstr "从 PIEFXIS 文件 (XEP-0227)导入用户数据:"
-#: web/ejabberd_web_admin.erl:2024
+#: web/ejabberd_web_admin.erl:2079
msgid "Export data of all users in the server to PIEFXIS files (XEP-0227):"
msgstr "将服务器上所有用户的数据导出到 PIEFXIS 文件 (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2031
+#: web/ejabberd_web_admin.erl:2086
msgid "Export data of users in a host to PIEFXIS files (XEP-0227):"
msgstr "将某主机的用户数据导出到 PIEFXIS 文件 (XEP-0227):"
-#: web/ejabberd_web_admin.erl:2039
+#: web/ejabberd_web_admin.erl:2094
msgid "Import user data from jabberd14 spool file:"
msgstr "从 jabberd14 Spool文件导入用户数据:"
-#: web/ejabberd_web_admin.erl:2046
+#: web/ejabberd_web_admin.erl:2101
msgid "Import users data from jabberd14 spool directory:"
msgstr "从 jabberd14 Spool目录导入用户数据:"
-#: web/ejabberd_web_admin.erl:2072
+#: web/ejabberd_web_admin.erl:2127
msgid "Listened Ports at "
msgstr "监听的端口位于 "
-#: web/ejabberd_web_admin.erl:2097
+#: web/ejabberd_web_admin.erl:2152
msgid "Modules at "
msgstr "模块位于 "
-#: web/ejabberd_web_admin.erl:2123
+#: web/ejabberd_web_admin.erl:2178
msgid "Statistics of ~p"
msgstr "~p 的统计"
-#: web/ejabberd_web_admin.erl:2126
+#: web/ejabberd_web_admin.erl:2181
msgid "Uptime:"
msgstr "正常运行时间:"
-#: web/ejabberd_web_admin.erl:2129
+#: web/ejabberd_web_admin.erl:2184
msgid "CPU Time:"
msgstr "CPU 时间:"
-#: web/ejabberd_web_admin.erl:2135
+#: web/ejabberd_web_admin.erl:2190
msgid "Transactions Committed:"
msgstr "提交的事务:"
-#: web/ejabberd_web_admin.erl:2138
+#: web/ejabberd_web_admin.erl:2193
msgid "Transactions Aborted:"
msgstr "取消的事务:"
-#: web/ejabberd_web_admin.erl:2141
+#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "重启的事务:"
-#: web/ejabberd_web_admin.erl:2144
+#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
msgstr "记入日志的事务:"
-#: web/ejabberd_web_admin.erl:2186
+#: web/ejabberd_web_admin.erl:2241
msgid "Update "
msgstr "更新 "
-#: web/ejabberd_web_admin.erl:2194
+#: web/ejabberd_web_admin.erl:2249
msgid "Update plan"
msgstr "更新计划"
-#: web/ejabberd_web_admin.erl:2195
+#: web/ejabberd_web_admin.erl:2250
msgid "Modified modules"
msgstr "被修改模块"
-#: web/ejabberd_web_admin.erl:2196
+#: web/ejabberd_web_admin.erl:2251
msgid "Update script"
msgstr "更新脚本"
-#: web/ejabberd_web_admin.erl:2197
+#: web/ejabberd_web_admin.erl:2252
msgid "Low level update script"
msgstr "低级别更新脚本"
-#: web/ejabberd_web_admin.erl:2198
+#: web/ejabberd_web_admin.erl:2253
msgid "Script check"
msgstr "脚本检查"
-#: web/ejabberd_web_admin.erl:2366
+#: web/ejabberd_web_admin.erl:2421
msgid "Port"
msgstr "端口"
-#: web/ejabberd_web_admin.erl:2367
+#: web/ejabberd_web_admin.erl:2422
msgid "IP"
msgstr "IP"
-#: web/ejabberd_web_admin.erl:2368
+#: web/ejabberd_web_admin.erl:2423
msgid "Protocol"
msgstr "协议"
-#: web/ejabberd_web_admin.erl:2369 web/ejabberd_web_admin.erl:2496
+#: web/ejabberd_web_admin.erl:2424 web/ejabberd_web_admin.erl:2551
msgid "Module"
msgstr "模块"
-#: web/ejabberd_web_admin.erl:2370 web/ejabberd_web_admin.erl:2497
+#: web/ejabberd_web_admin.erl:2425 web/ejabberd_web_admin.erl:2552
msgid "Options"
msgstr "选项"
-#: web/ejabberd_web_admin.erl:2390
+#: web/ejabberd_web_admin.erl:2445
msgid "Delete"
msgstr "删除"
-#: web/ejabberd_web_admin.erl:2519
+#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "开始"
diff --git a/src/odbc/ejabberd_odbc.erl b/src/odbc/ejabberd_odbc.erl
index 64de686cb..4a6481525 100644
--- a/src/odbc/ejabberd_odbc.erl
+++ b/src/odbc/ejabberd_odbc.erl
@@ -39,6 +39,7 @@
sql_bloc/2,
escape/1,
escape_like/1,
+ to_bool/1,
keep_alive/1]).
%% gen_fsm callbacks
@@ -47,6 +48,7 @@
handle_sync_event/4,
handle_info/3,
terminate/3,
+ print_state/1,
code_change/4]).
%% gen_fsm states
@@ -118,14 +120,14 @@ sql_call(Host, Msg) ->
case get(?STATE_KEY) of
undefined ->
?GEN_FSM:sync_send_event(ejabberd_odbc_sup:get_random_pid(Host),
- {sql_cmd, Msg}, ?TRANSACTION_TIMEOUT);
+ {sql_cmd, Msg, now()}, ?TRANSACTION_TIMEOUT);
_State ->
nested_op(Msg)
end.
% perform a harmless query on all opened connexions to avoid connexion close.
keep_alive(PID) ->
- ?GEN_FSM:sync_send_event(PID, {sql_cmd, {sql_query, ?KEEPALIVE_QUERY}},
+ ?GEN_FSM:sync_send_event(PID, {sql_cmd, {sql_query, ?KEEPALIVE_QUERY}, now()},
?KEEPALIVE_TIMEOUT).
%% This function is intended to be used from inside an sql_transaction:
@@ -147,7 +149,9 @@ sql_query_t(Query) ->
%% Escape character that will confuse an SQL engine
escape(S) when is_list(S) ->
- [odbc_queries:escape(C) || C <- S].
+ [odbc_queries:escape(C) || C <- S];
+escape(S) when is_binary(S) ->
+ escape(binary_to_list(S)).
%% Escape character that will confuse an SQL engine
%% Percent and underscore only need to be escaped for pattern matching like
@@ -158,6 +162,12 @@ escape_like($%) -> "\\%";
escape_like($_) -> "\\_";
escape_like(C) -> odbc_queries:escape(C).
+to_bool("t") -> true;
+to_bool("true") -> true;
+to_bool("1") -> true;
+to_bool(true) -> true;
+to_bool(1) -> true;
+to_bool(_) -> false.
%%%----------------------------------------------------------------------
%%% Callback functions from gen_fsm
@@ -175,6 +185,7 @@ init([Host, StartInterval]) ->
end,
[DBType | _] = db_opts(Host),
?GEN_FSM:send_event(self(), connect),
+ ejabberd_odbc_sup:add_pid(Host, self()),
{ok, connecting, #state{db_type = DBType,
host = Host,
max_pending_requests_len = max_fsm_queue(),
@@ -215,22 +226,22 @@ connecting(Event, State) ->
?WARNING_MSG("unexpected event in 'connecting': ~p", [Event]),
{next_state, connecting, State}.
-connecting({sql_cmd, {sql_query, ?KEEPALIVE_QUERY}}, From, State) ->
+connecting({sql_cmd, {sql_query, ?KEEPALIVE_QUERY}, _Timestamp}, From, State) ->
?GEN_FSM:reply(From, {error, "SQL connection failed"}),
{next_state, connecting, State};
-connecting({sql_cmd, Command} = Req, From, State) ->
- ?DEBUG("queueing pending request while connecting:~n\t~p", [Req]),
+connecting({sql_cmd, Command, Timestamp} = Req, From, State) ->
+ ?DEBUG("queuing pending request while connecting:~n\t~p", [Req]),
{Len, PendingRequests} = State#state.pending_requests,
NewPendingRequests =
if Len < State#state.max_pending_requests_len ->
- {Len + 1, queue:in({sql_cmd, Command, From}, PendingRequests)};
+ {Len + 1, queue:in({sql_cmd, Command, From, Timestamp}, PendingRequests)};
true ->
lists:foreach(
- fun({sql_cmd, _, To}) ->
+ fun({sql_cmd, _, To, _Timestamp}) ->
?GEN_FSM:reply(
To, {error, "SQL connection failed"})
end, queue:to_list(PendingRequests)),
- {1, queue:from_list([{sql_cmd, Command, From}])}
+ {1, queue:from_list([{sql_cmd, Command, From, Timestamp}])}
end,
{next_state, connecting,
State#state{pending_requests = NewPendingRequests}};
@@ -239,19 +250,15 @@ connecting(Request, {Who, _Ref}, State) ->
[Request, Who]),
{reply, {error, badarg}, connecting, State}.
-session_established({sql_cmd, Command}, From, State) ->
- put(?NESTING_KEY, ?TOP_LEVEL_TXN),
- put(?STATE_KEY, State),
- abort_on_driver_error(outer_op(Command), From);
+session_established({sql_cmd, Command, Timestamp}, From, State) ->
+ run_sql_cmd(Command, From, State, Timestamp);
session_established(Request, {Who, _Ref}, State) ->
?WARNING_MSG("unexpected call ~p from ~p in 'session_established'",
[Request, Who]),
{reply, {error, badarg}, session_established, State}.
-session_established({sql_cmd, Command, From}, State) ->
- put(?NESTING_KEY, ?TOP_LEVEL_TXN),
- put(?STATE_KEY, State),
- abort_on_driver_error(outer_op(Command), From);
+session_established({sql_cmd, Command, From, Timestamp}, State) ->
+ run_sql_cmd(Command, From, State, Timestamp);
session_established(Event, State) ->
?WARNING_MSG("unexpected event in 'session_established': ~p", [Event]),
{next_state, session_established, State}.
@@ -275,6 +282,7 @@ handle_info(Info, StateName, State) ->
{next_state, StateName, State}.
terminate(_Reason, _StateName, State) ->
+ ejabberd_odbc_sup:remove_pid(State#state.host, self()),
case State#state.db_type of
mysql ->
%% old versions of mysql driver don't have the stop function
@@ -285,10 +293,30 @@ terminate(_Reason, _StateName, State) ->
end,
ok.
+%%----------------------------------------------------------------------
+%% Func: print_state/1
+%% Purpose: Prepare the state to be printed on error log
+%% Returns: State to print
+%%----------------------------------------------------------------------
+print_state(State) ->
+ State.
%%%----------------------------------------------------------------------
%%% Internal functions
%%%----------------------------------------------------------------------
+run_sql_cmd(Command, From, State, Timestamp) ->
+ case timer:now_diff(now(), Timestamp) div 1000 of
+ Age when Age < ?TRANSACTION_TIMEOUT ->
+ put(?NESTING_KEY, ?TOP_LEVEL_TXN),
+ put(?STATE_KEY, State),
+ abort_on_driver_error(outer_op(Command), From);
+ Age ->
+ ?ERROR_MSG("Database was not available or too slow,"
+ " discarding ~p milliseconds old request~n~p~n",
+ [Age, Command]),
+ {next_state, session_established, State}
+ end.
+
%% Only called by handle_call, only handles top level operations.
%% @spec outer_op(Op) -> {error, Reason} | {aborted, Reason} | {atomic, Result}
outer_op({sql_query, Query}) ->
@@ -537,7 +565,7 @@ max_fsm_queue() ->
_ ->
undefined
end.
-
+
fsm_limit_opts() ->
case max_fsm_queue() of
N when is_integer(N) ->
diff --git a/src/odbc/ejabberd_odbc_sup.erl b/src/odbc/ejabberd_odbc_sup.erl
index d828449ec..8fb6e2552 100644
--- a/src/odbc/ejabberd_odbc_sup.erl
+++ b/src/odbc/ejabberd_odbc_sup.erl
@@ -30,6 +30,8 @@
%% API
-export([start_link/1,
init/1,
+ add_pid/2,
+ remove_pid/2,
get_pids/1,
get_random_pid/1
]).
@@ -44,7 +46,19 @@
-define(CONNECT_TIMEOUT, 500). % milliseconds
+-record(sql_pool, {host, pid}).
+
start_link(Host) ->
+ mnesia:create_table(sql_pool,
+ [{ram_copies, [node()]},
+ {type, bag},
+ {local_content, true},
+ {attributes, record_info(fields, sql_pool)}]),
+ mnesia:add_table_copy(sql_pool, node(), ram_copies),
+ F = fun() ->
+ mnesia:delete({sql_pool, Host})
+ end,
+ mnesia:ets(F),
supervisor:start_link({local, gen_mod:get_module_proc(Host, ?MODULE)},
?MODULE, [Host]).
@@ -86,16 +100,25 @@ init([Host]) ->
end, lists:seq(1, PoolSize))}}.
get_pids(Host) ->
- Proc = gen_mod:get_module_proc(Host, ?MODULE),
-
- % throw an exception if supervisor is not ready (i.e. if it cannot
- % start its children, if the database is down for example)
- sys:get_status(Proc, ?CONNECT_TIMEOUT),
-
- [Child ||
- {_Id, Child, _Type, _Modules} <- supervisor:which_children(Proc),
- Child /= undefined].
+ Rs = mnesia:dirty_read(sql_pool, Host),
+ [R#sql_pool.pid || R <- Rs].
get_random_pid(Host) ->
Pids = get_pids(Host),
lists:nth(erlang:phash(now(), length(Pids)), Pids).
+
+add_pid(Host, Pid) ->
+ F = fun() ->
+ mnesia:write(
+ #sql_pool{host = Host,
+ pid = Pid})
+ end,
+ mnesia:ets(F).
+
+remove_pid(Host, Pid) ->
+ F = fun() ->
+ mnesia:delete_object(
+ #sql_pool{host = Host,
+ pid = Pid})
+ end,
+ mnesia:ets(F).
diff --git a/src/odbc/pg.sql b/src/odbc/pg.sql
index b13fecb8a..1d6a458aa 100644
--- a/src/odbc/pg.sql
+++ b/src/odbc/pg.sql
@@ -19,7 +19,8 @@
CREATE TABLE users (
username text PRIMARY KEY,
- "password" text NOT NULL
+ "password" text NOT NULL,
+ created_at TIMESTAMP NOT NULL DEFAULT now()
);
@@ -39,7 +40,8 @@ CREATE TABLE rosterusers (
askmessage text NOT NULL,
server character(1) NOT NULL,
subscribe text,
- "type" text
+ "type" text,
+ created_at TIMESTAMP NOT NULL DEFAULT now()
);
CREATE UNIQUE INDEX i_rosteru_user_jid ON rosterusers USING btree (username, jid);
@@ -59,7 +61,8 @@ CREATE INDEX pk_rosterg_user_jid ON rostergroups USING btree (username, jid);
CREATE TABLE spool (
username text NOT NULL,
xml text NOT NULL,
- seq SERIAL
+ seq SERIAL,
+ created_at TIMESTAMP NOT NULL DEFAULT now()
);
CREATE INDEX i_despool ON spool USING btree (username);
@@ -67,7 +70,8 @@ CREATE INDEX i_despool ON spool USING btree (username);
CREATE TABLE vcard (
username text PRIMARY KEY,
- vcard text NOT NULL
+ vcard text NOT NULL,
+ created_at TIMESTAMP NOT NULL DEFAULT now()
);
CREATE TABLE vcard_search (
@@ -117,7 +121,8 @@ CREATE TABLE privacy_default_list (
CREATE TABLE privacy_list (
username text NOT NULL,
name text NOT NULL,
- id SERIAL UNIQUE
+ id SERIAL UNIQUE,
+ created_at TIMESTAMP NOT NULL DEFAULT now()
);
CREATE INDEX i_privacy_list_username ON privacy_list USING btree (username);
@@ -139,7 +144,8 @@ CREATE TABLE privacy_list_data (
CREATE TABLE private_storage (
username text NOT NULL,
namespace text NOT NULL,
- data text NOT NULL
+ data text NOT NULL,
+ created_at TIMESTAMP NOT NULL DEFAULT now()
);
CREATE INDEX i_private_storage_username ON private_storage USING btree (username);
diff --git a/src/p1_fsm.erl b/src/p1_fsm.erl
index 2ae2ed8ad..9ca924112 100644
--- a/src/p1_fsm.erl
+++ b/src/p1_fsm.erl
@@ -25,7 +25,8 @@
%% - You can limit the time processing a message (TODO): If the
%% message processing does not return in a given period of time, the
%% process will be terminated.
-%%
+%% - You might customize the State data before sending it to error_logger
+%% in case of a crash (just export the function print_state/1)
%% $Id$
%%
-module(p1_fsm).
@@ -146,7 +147,7 @@
behaviour_info(callbacks) ->
[{init,1},{handle_event,3},{handle_sync_event,4},{handle_info,3},
- {terminate,3},{code_change,4}];
+ {terminate,3},{code_change,4}, {print_state,1}];
behaviour_info(_Other) ->
undefined.
@@ -376,7 +377,7 @@ loop(Parent, Name, StateName, StateData, Mod, hibernate, Debug,
Debug, Limits, Queue1, QueueLen - 1, false);
{empty, _} ->
Reason = internal_queue_error,
- error_info(Reason, Name, hibernate, StateName, StateData, Debug),
+ error_info(Mod, Reason, Name, hibernate, StateName, StateData, Debug),
exit(Reason)
end;
loop(Parent, Name, StateName, StateData, Mod, hibernate, Debug,
@@ -516,6 +517,25 @@ print_event(Dev, return, {Name, StateName}) ->
io:format(Dev, "*DBG* ~p switched to state ~w~n",
[Name, StateName]).
+relay_messages(MRef, TRef, Clone, Queue) ->
+ lists:foreach(
+ fun(Msg) -> Clone ! Msg end,
+ queue:to_list(Queue)),
+ relay_messages(MRef, TRef, Clone).
+
+relay_messages(MRef, TRef, Clone) ->
+ receive
+ {'DOWN', MRef, process, Clone, Reason} ->
+ Reason;
+ {'EXIT', _Parent, _Reason} ->
+ {migrated, Clone};
+ {timeout, TRef, timeout} ->
+ {migrated, Clone};
+ Msg ->
+ Clone ! Msg,
+ relay_messages(MRef, TRef, Clone)
+ end.
+
handle_msg(Msg, Parent, Name, StateName, StateData, Mod, _Time,
Limits, Queue, QueueLen) -> %No debug here
From = from(Msg),
@@ -534,6 +554,23 @@ handle_msg(Msg, Parent, Name, StateName, StateData, Mod, _Time,
reply(From, Reply),
loop(Parent, Name, NStateName, NStateData, Mod, Time1, [],
Limits, Queue, QueueLen);
+ {migrate, NStateData, {Node, M, F, A}, Time1} ->
+ Reason = case catch rpc:call(Node, M, F, A, 5000) of
+ {badrpc, _} = Err ->
+ {migration_error, Err};
+ {'EXIT', _} = Err ->
+ {migration_error, Err};
+ {error, _} = Err ->
+ {migration_error, Err};
+ {ok, Clone} ->
+ process_flag(trap_exit, true),
+ MRef = erlang:monitor(process, Clone),
+ TRef = erlang:start_timer(Time1, self(), timeout),
+ relay_messages(MRef, TRef, Clone, Queue);
+ Reply ->
+ {migration_error, {bad_reply, Reply}}
+ end,
+ terminate(Reason, Name, Msg, Mod, StateName, NStateData, []);
{stop, Reason, NStateData} ->
terminate(Reason, Name, Msg, Mod, StateName, NStateData, []);
{stop, Reason, Reply, NStateData} when From =/= undefined ->
@@ -570,6 +607,23 @@ handle_msg(Msg, Parent, Name, StateName, StateData,
Debug1 = reply(Name, From, Reply, Debug, NStateName),
loop(Parent, Name, NStateName, NStateData,
Mod, Time1, Debug1, Limits, Queue, QueueLen);
+ {migrate, NStateData, {Node, M, F, A}, Time1} ->
+ Reason = case catch rpc:call(Node, M, F, A, Time1) of
+ {badrpc, R} ->
+ {migration_error, R};
+ {'EXIT', R} ->
+ {migration_error, R};
+ {error, R} ->
+ {migration_error, R};
+ {ok, Clone} ->
+ process_flag(trap_exit, true),
+ MRef = erlang:monitor(process, Clone),
+ TRef = erlang:start_timer(Time1, self(), timeout),
+ relay_messages(MRef, TRef, Clone, Queue);
+ Reply ->
+ {migration_error, {bad_reply, Reply}}
+ end,
+ terminate(Reason, Name, Msg, Mod, StateName, NStateData, Debug);
{stop, Reason, NStateData} ->
terminate(Reason, Name, Msg, Mod, StateName, NStateData, Debug);
{stop, Reason, Reply, NStateData} when From =/= undefined ->
@@ -620,7 +674,7 @@ reply(Name, {To, Tag}, Reply, Debug, StateName) ->
terminate(Reason, Name, Msg, Mod, StateName, StateData, Debug) ->
case catch Mod:terminate(Reason, StateName, StateData) of
{'EXIT', R} ->
- error_info(R, Name, Msg, StateName, StateData, Debug),
+ error_info(Mod, R, Name, Msg, StateName, StateData, Debug),
exit(R);
_ ->
case Reason of
@@ -632,19 +686,17 @@ terminate(Reason, Name, Msg, Mod, StateName, StateData, Debug) ->
%% Priority shutdown should be considered as
%% shutdown by SASL
exit(shutdown);
- {process_limit, Limit} ->
- %% Priority shutdown should be considered as
- %% shutdown by SASL
- error_logger:error_msg("FSM limit reached (~p): ~p~n",
- [self(), Limit]),
- exit(shutdown);
+ {process_limit, _Limit} ->
+ exit(Reason);
+ {migrated, _Clone} ->
+ exit(normal);
_ ->
- error_info(Reason, Name, Msg, StateName, StateData, Debug),
+ error_info(Mod, Reason, Name, Msg, StateName, StateData, Debug),
exit(Reason)
end
end.
-error_info(Reason, Name, Msg, StateName, StateData, Debug) ->
+error_info(Mod, Reason, Name, Msg, StateName, StateData, Debug) ->
Reason1 =
case Reason of
{undef,[{M,F,A}|MFAs]} ->
@@ -662,12 +714,16 @@ error_info(Reason, Name, Msg, StateName, StateData, Debug) ->
_ ->
Reason
end,
+ StateToPrint = case erlang:function_exported(Mod, print_state, 1) of
+ true -> (catch Mod:print_state(StateData));
+ false -> StateData
+ end,
Str = "** State machine ~p terminating \n" ++
get_msg_str(Msg) ++
"** When State == ~p~n"
"** Data == ~p~n"
"** Reason for termination = ~n** ~p~n",
- format(Str, [Name, get_msg(Msg), StateName, StateData, Reason1]),
+ format(Str, [Name, get_msg(Msg), StateName, StateToPrint, Reason1]),
sys:print_log(Debug),
ok.
@@ -700,7 +756,12 @@ get_msg(Msg) -> Msg.
format_status(Opt, StatusData) ->
[PDict, SysState, Parent, Debug, [Name, StateName, StateData, Mod, _Time]] =
StatusData,
- Header = lists:concat(["Status for state machine ", Name]),
+ NameTag = if is_pid(Name) ->
+ pid_to_list(Name);
+ is_atom(Name) ->
+ Name
+ end,
+ Header = lists:concat(["Status for state machine ", NameTag]),
Log = sys:get_debug(log, Debug, []),
Specfic =
case erlang:function_exported(Mod, format_status, 2) of
diff --git a/src/p1_prof.erl b/src/p1_prof.erl
new file mode 100644
index 000000000..a7edbe139
--- /dev/null
+++ b/src/p1_prof.erl
@@ -0,0 +1,337 @@
+%%%-------------------------------------------------------------------
+%%% File : p1_prof.erl
+%%% Author : Evgeniy Khramtsov
+%%% Description : Handy wrapper around eprof and fprof
+%%%
+%%% Created : 23 Jan 2010 by Evgeniy Khramtsov
+%%%
+%%%
+%%% 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(p1_prof).
+
+%% API
+-export([eprof_start/0, eprof_stop/0,
+ fprof_start/0, fprof_start/1,
+ fprof_stop/0, fprof_analyze/0,
+ queue/0, queue/1, memory/0, memory/1,
+ reds/0, reds/1, trace/1, help/0,
+ q/0, m/0, r/0, q/1, m/1, r/1]).
+
+-define(APPS, [ejabberd, mnesia]).
+
+%%====================================================================
+%% API
+%%====================================================================
+eprof_start() ->
+ eprof:start(),
+ case lists:keyfind(running, 1, application:info()) of
+ {_, Apps} ->
+ case get_procs(?APPS, Apps) of
+ [] ->
+ {error, no_procs_found};
+ Procs ->
+ eprof:start_profiling(Procs)
+ end;
+ _ ->
+ {error, no_app_info}
+ end.
+
+fprof_start() ->
+ fprof_start(0).
+
+fprof_start(Duration) ->
+ case lists:keyfind(running, 1, application:info()) of
+ {_, Apps} ->
+ case get_procs(?APPS, Apps) of
+ [] ->
+ {error, no_procs_found};
+ Procs ->
+ fprof:trace([start, {procs, Procs}]),
+ io:format("Profiling started~n"),
+ if Duration > 0 ->
+ timer:sleep(Duration*1000),
+ fprof:trace([stop]),
+ fprof:stop();
+ true->
+ ok
+ end
+ end;
+ _ ->
+ {error, no_app_info}
+ end.
+
+fprof_stop() ->
+ fprof:trace([stop]),
+ fprof:profile(),
+ fprof:analyse([totals, no_details, {sort, own},
+ no_callers, {dest, "fprof.analysis"}]),
+ fprof:stop(),
+ format_fprof_analyze().
+
+fprof_analyze() ->
+ fprof_stop().
+
+eprof_stop() ->
+ eprof:stop_profiling(),
+ case erlang:function_exported(eprof, analyse, 0) of
+ true ->
+ eprof:analyse();
+ false ->
+ eprof:analyze()
+ end.
+
+help() ->
+ M = ?MODULE,
+ io:format("Brief help:~n"
+ "~p:queue(N) - show top N pids sorted by queue length~n"
+ "~p:queue() - shorthand for ~p:queue(10)~n"
+ "~p:memory(N) - show top N pids sorted by memory usage~n"
+ "~p:memory() - shorthand for ~p:memory(10)~n"
+ "~p:reds(N) - show top N pids sorted by reductions~n"
+ "~p:reds() - shorthand for ~p:reds(10)~n"
+ "~p:q(N)|~p:q() - same as ~p:queue(N)|~p:queue()~n"
+ "~p:m(N)|~p:m() - same as ~p:memory(N)|~p:memory()~n"
+ "~p:r(N)|~p:r() - same as ~p:reds(N)|~p:reds()~n"
+ "~p:trace(Pid) - trace Pid; to stop tracing close "
+ "Erlang shell with Ctrl+C~n"
+ "~p:eprof_start() - start eprof on all available pids; "
+ "DO NOT use on production system!~n"
+ "~p:eprof_stop() - stop eprof and print result~n"
+ "~p:fprof_start() - start fprof on all available pids; "
+ "DO NOT use on production system!~n"
+ "~p:fprof_stop() - stop eprof and print formatted result~n"
+ "~p:fprof_start(N) - start and run fprof for N seconds; "
+ "use ~p:fprof_analyze() to analyze collected statistics and "
+ "print formatted result; use on production system with CARE~n"
+ "~p:fprof_analyze() - analyze previously collected statistics "
+ "using ~p:fprof_start(N) and print formatted result~n"
+ "~p:help() - print this help~n",
+ lists:duplicate(31, M)).
+
+q() ->
+ queue().
+
+q(N) ->
+ queue(N).
+
+m() ->
+ memory().
+
+m(N) ->
+ memory(N).
+
+r() ->
+ reds().
+
+r(N) ->
+ reds(N).
+
+queue() ->
+ queue(10).
+
+memory() ->
+ memory(10).
+
+reds() ->
+ reds(10).
+
+queue(N) ->
+ dump(N, lists:reverse(lists:ukeysort(1, all_pids(queue)))).
+
+memory(N) ->
+ dump(N, lists:reverse(lists:ukeysort(2, all_pids(memory)))).
+
+reds(N) ->
+ dump(N, lists:reverse(lists:ukeysort(3, all_pids(reductions)))).
+
+trace(Pid) ->
+ erlang:trace(Pid, true, [send, 'receive']),
+ trace_loop().
+
+trace_loop() ->
+ receive
+ M ->
+ io:format("~p~n", [M]),
+ trace_loop()
+ end.
+
+%%====================================================================
+%% Internal functions
+%%====================================================================
+get_procs(Apps, AppList) ->
+ io:format("Searching for processes to profile...~n", []),
+ Procs = lists:flatmap(
+ fun({App, Leader}) when is_pid(Leader) ->
+ case lists:member(App, Apps) of
+ true ->
+ get_procs(Leader);
+ false ->
+ []
+ end;
+ (_) ->
+ []
+ end, AppList),
+ io:format("Found ~p processes~n", [length(Procs)]),
+ Procs.
+
+get_procs(Leader) ->
+ lists:filter(
+ fun(Pid) ->
+ case process_info(Pid, group_leader) of
+ {_, Leader} ->
+ true;
+ _ ->
+ false
+ end
+ end, processes()).
+
+format_fprof_analyze() ->
+ case file:consult("fprof.analysis") of
+ {ok, [_, [{totals, _, _, TotalOWN}] | Rest]} ->
+ OWNs = lists:flatmap(
+ fun({MFA, _, _, OWN}) ->
+ Percent = OWN*100/TotalOWN,
+ case round(Percent) of
+ 0 ->
+ [];
+ _ ->
+ [{mfa_to_list(MFA), Percent}]
+ end
+ end, Rest),
+ ACCs = collect_accs(Rest),
+ MaxACC = find_max(ACCs),
+ MaxOWN = find_max(OWNs),
+ io:format("=== Sorted by OWN:~n"),
+ lists:foreach(
+ fun({MFA, Per}) ->
+ L = length(MFA),
+ S = lists:duplicate(MaxOWN - L + 2, $ ),
+ io:format("~s~s~.2f%~n", [MFA, S, Per])
+ end, lists:reverse(lists:keysort(2, OWNs))),
+ io:format("~n=== Sorted by ACC:~n"),
+ lists:foreach(
+ fun({MFA, Per}) ->
+ L = length(MFA),
+ S = lists:duplicate(MaxACC - L + 2, $ ),
+ io:format("~s~s~.2f%~n", [MFA, S, Per])
+ end, lists:reverse(lists:keysort(2, ACCs)));
+ Err ->
+ Err
+ end.
+
+mfa_to_list({M, F, A}) ->
+ atom_to_list(M) ++ ":" ++ atom_to_list(F) ++ "/" ++ integer_to_list(A);
+mfa_to_list(F) when is_atom(F) ->
+ atom_to_list(F).
+
+find_max(List) ->
+ find_max(List, 0).
+
+find_max([{V, _}|Tail], Acc) ->
+ find_max(Tail, lists:max([length(V), Acc]));
+find_max([], Acc) ->
+ Acc.
+
+collect_accs(List) ->
+ List1 = lists:filter(
+ fun({MFA, _, _, _}) ->
+ case MFA of
+ {sys, _, _} ->
+ false;
+ suspend ->
+ false;
+ {gen_fsm, _, _} ->
+ false;
+ {p1_fsm, _, _} ->
+ false;
+ {gen, _, _} ->
+ false;
+ {gen_server, _, _} ->
+ false;
+ {proc_lib, _, _} ->
+ false;
+ _ ->
+ true
+ end
+ end, List),
+ TotalACC = lists:sum([A || {_, _, A, _} <- List1]),
+ lists:flatmap(
+ fun({MFA, _, ACC, _}) ->
+ Percent = ACC*100/TotalACC,
+ case round(Percent) of
+ 0 ->
+ [];
+ _ ->
+ [{mfa_to_list(MFA), Percent}]
+ end
+ end, List1).
+
+all_pids(Type) ->
+ lists:foldl(
+ fun(P, Acc) when P == self() ->
+ %% exclude ourself from statistics
+ Acc;
+ (P, Acc) ->
+ case catch process_info(
+ P,
+ [message_queue_len,
+ memory,
+ reductions,
+ dictionary,
+ current_function,
+ registered_name]) of
+ [{_, Len}, {_, Memory}, {_, Reds},
+ {_, Dict}, {_, CurFun}, {_, RegName}] ->
+ if Type == queue andalso Len == 0 ->
+ Acc;
+ true ->
+ [{Len, Memory, Reds, Dict, CurFun, P, RegName}|Acc]
+ end;
+ _ ->
+ Acc
+ end
+ end, [], processes()).
+
+dump(N, Rs) ->
+ lists:foreach(
+ fun({MsgQLen, Memory, Reds, Dict, CurFun, Pid, RegName}) ->
+ PidStr = pid_to_list(Pid),
+ [_, Maj, Min] = string:tokens(
+ string:substr(
+ PidStr, 2, length(PidStr) - 2), "."),
+ io:format("** pid(0,~s,~s)~n"
+ "** registered name: ~p~n"
+ "** memory: ~p~n"
+ "** reductions: ~p~n"
+ "** message queue len: ~p~n"
+ "** current_function: ~p~n"
+ "** dictionary: ~p~n~n",
+ [Maj, Min, RegName, Memory, Reds, MsgQLen, CurFun, Dict])
+ end, nthhead(N, Rs)).
+
+nthhead(N, L) ->
+ lists:reverse(nthhead(N, L, [])).
+
+nthhead(0, _L, Acc) ->
+ Acc;
+nthhead(N, [H|T], Acc) ->
+ nthhead(N-1, T, [H|Acc]);
+nthhead(_N, [], Acc) ->
+ Acc.
diff --git a/src/sha.erl b/src/sha.erl
index 44a552bb9..06dd3c2d1 100644
--- a/src/sha.erl
+++ b/src/sha.erl
@@ -27,10 +27,32 @@
-module(sha).
-author('alexey@process-one.net').
--export([start/0, sha/1]).
+-export([start/0, sha/1, sha1/1, sha224/1, sha256/1, sha384/1,
+ sha512/1]).
+
+-ifdef(HAVE_MD2).
+-export([md2/1]).
+-endif.
+
+-include("ejabberd.hrl").
+
+-define(DRIVER, sha_drv).
start() ->
- crypto:start().
+ crypto:start(),
+ Res = case erl_ddll:load_driver(ejabberd:get_so_path(), ?DRIVER) of
+ ok -> ok;
+ {error, already_loaded} -> ok;
+ Err -> Err
+ end,
+ case Res of
+ ok ->
+ Port = open_port({spawn, ?DRIVER}, [binary]),
+ register(?DRIVER, Port);
+ {error, Reason} ->
+ ?CRITICAL_MSG("unable to load driver '~s': ~s",
+ [driver_path(), erl_ddll:format_error(Reason)])
+ end.
digit_to_xchar(D) when (D >= 0) and (D < 10) ->
D + 48;
@@ -47,3 +69,29 @@ ints_to_rxstr([N | Ns], Res) ->
ints_to_rxstr(Ns, [digit_to_xchar(N rem 16),
digit_to_xchar(N div 16) | Res]).
+sha1(Text) ->
+ crypto:sha(Text).
+
+sha224(Text) ->
+ erlang:port_control(?DRIVER, 224, Text).
+
+sha256(Text) ->
+ erlang:port_control(?DRIVER, 256, Text).
+
+sha384(Text) ->
+ erlang:port_control(?DRIVER, 384, Text).
+
+sha512(Text) ->
+ erlang:port_control(?DRIVER, 512, Text).
+
+-ifdef(HAVE_MD2).
+md2(Text) ->
+ erlang:port_control(?DRIVER, 2, Text).
+-endif.
+
+driver_path() ->
+ Suffix = case os:type() of
+ {win32, _} -> ".dll";
+ _ -> ".so"
+ end,
+ filename:join(ejabberd:get_so_path(), atom_to_list(?DRIVER) ++ Suffix).
diff --git a/src/tls/Makefile.in b/src/tls/Makefile.in
index 477a202b1..ee40f93ec 100644
--- a/src/tls/Makefile.in
+++ b/src/tls/Makefile.in
@@ -21,6 +21,7 @@ ifeq ($(shell uname),SunOs)
DYNAMIC_LIB_CFLAGS = -KPIC -G -z text
endif
+EFLAGS += @ERLANG_SSLVER@
EFLAGS += -I ..
EFLAGS += -pz ..
@@ -29,7 +30,12 @@ ifdef debug
EFLAGS+=+debug_info +export_all
endif
-ERLSHLIBS = ../tls_drv.so
+ifeq (@md2@, true)
+ EFLAGS+=-DHAVE_MD2
+ ERLANG_CFLAGS += -DHAVE_MD2
+endif
+
+ERLSHLIBS = ../tls_drv.so ../sha_drv.so
OUTDIR = ..
SOURCES = $(wildcard *.erl)
BEAMS = $(addprefix $(OUTDIR)/,$(SOURCES:.erl=.beam))
diff --git a/src/tls/Makefile.win32 b/src/tls/Makefile.win32
index 4ead4f26e..b982791e2 100644
--- a/src/tls/Makefile.win32
+++ b/src/tls/Makefile.win32
@@ -6,9 +6,9 @@ EFLAGS = -I .. -pz ..
OUTDIR = ..
BEAMS = ..\tls.beam
-SOURCE = tls_drv.c
-OBJECT = tls_drv.o
-DLL = $(OUTDIR)\tls_drv.dll
+SOURCE = tls_drv.c sha_drv.c
+OBJECT = tls_drv.o sha_drv.o
+DLL = $(OUTDIR)\tls_drv.dll $(OUTPUT)\sha_drv.dll
ALL : $(DLL) $(BEAMS)
@@ -16,6 +16,8 @@ CLEAN :
-@erase $(DLL)
-@erase $(OUTDIR)\tls_drv.exp
-@erase $(OUTDIR)\tls_drv.lib
+ -@erase $(OUTDIR)\sha_drv.exp
+ -@erase $(OUTDIR)\sha_drv.lib
-@erase $(OBJECT)
-@erase $(BEAMS)
diff --git a/src/tls/sha_drv.c b/src/tls/sha_drv.c
new file mode 100644
index 000000000..8e6de3203
--- /dev/null
+++ b/src/tls/sha_drv.c
@@ -0,0 +1,98 @@
+/*
+ * 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
+ *
+ */
+
+#include
+#include
+#ifdef HAVE_MD2
+#include
+#endif
+
+static ErlDrvData sha_drv_start(ErlDrvPort port, char *buf)
+{
+ set_port_control_flags(port, PORT_CONTROL_FLAG_BINARY);
+ return NULL;
+}
+
+static int sha_drv_control(ErlDrvData handle,
+ unsigned int command,
+ char *buf, int len,
+ char **rbuf, int rlen)
+{
+ ErlDrvBinary *b = NULL;
+
+ switch (command) {
+#ifdef HAVE_MD2
+ case 2:
+ rlen = MD2_DIGEST_LENGTH;
+ b = driver_alloc_binary(rlen);
+ if (b) MD2((unsigned char*)buf, len, (unsigned char*)b->orig_bytes);
+ break;
+#endif
+ case 224:
+ rlen = SHA224_DIGEST_LENGTH;
+ b = driver_alloc_binary(rlen);
+ if (b) SHA224((unsigned char*)buf, len, (unsigned char*)b->orig_bytes);
+ break;
+ case 256:
+ rlen = SHA256_DIGEST_LENGTH;
+ b = driver_alloc_binary(rlen);
+ if (b) SHA256((unsigned char*)buf, len, (unsigned char*)b->orig_bytes);
+ break;
+ case 384:
+ rlen = SHA384_DIGEST_LENGTH;
+ b = driver_alloc_binary(rlen);
+ if (b) SHA384((unsigned char*)buf, len, (unsigned char*)b->orig_bytes);
+ break;
+ case 512:
+ rlen = SHA512_DIGEST_LENGTH;
+ b = driver_alloc_binary(rlen);
+ if (b) SHA512((unsigned char*)buf, len, (unsigned char*)b->orig_bytes);
+ break;
+ };
+
+ if (b) {
+ *rbuf = (char *)b;
+ } else {
+ *rbuf = NULL;
+ rlen = 0;
+ };
+
+ return rlen;
+}
+
+ErlDrvEntry sha_driver_entry = {
+ NULL, /* F_PTR init, N/A */
+ sha_drv_start, /* L_PTR start, called when port is opened */
+ NULL, /* F_PTR stop, called when port is closed */
+ NULL, /* F_PTR output, called when erlang has sent */
+ NULL, /* F_PTR ready_input, called when input descriptor ready */
+ NULL, /* F_PTR ready_output, called when output descriptor ready */
+ "sha_drv", /* char *driver_name, the argument to open_port */
+ NULL, /* F_PTR finish, called when unloaded */
+ NULL, /* handle */
+ sha_drv_control, /* F_PTR control, port_command callback */
+ NULL, /* F_PTR timeout, reserved */
+ NULL /* F_PTR outputv, reserved */
+};
+
+DRIVER_INIT(sha_drv) /* must match name in driver_entry */
+{
+ return &sha_driver_entry;
+}
diff --git a/src/tls/tls.erl b/src/tls/tls.erl
index 9aee54cfb..9c921b36f 100644
--- a/src/tls/tls.erl
+++ b/src/tls/tls.erl
@@ -61,6 +61,13 @@
-define(GET_VERIFY_RESULT, 8).
-define(VERIFY_NONE, 16#10000).
+-ifdef(SSL40).
+-define(CERT_DECODE, {public_key, pkix_decode_cert, plain}).
+-else.
+-define(CERT_DECODE, {ssl_pkix, decode_cert, [pkix]}).
+-endif.
+
+
-record(tlssock, {tcpsock, tlsport}).
start() ->
@@ -232,7 +239,8 @@ close(#tlssock{tcpsock = TCPSocket, tlsport = Port}) ->
get_peer_certificate(#tlssock{tlsport = Port}) ->
case port_control(Port, ?GET_PEER_CERTIFICATE, []) of
<<0, BCert/binary>> ->
- case catch ssl_pkix:decode_cert(BCert, [pkix]) of
+ {CertMod, CertFun, CertSecondArg} = ?CERT_DECODE,
+ case catch apply(CertMod, CertFun, [BCert, CertSecondArg]) of
{ok, Cert} ->
{ok, Cert};
_ ->
diff --git a/src/tls/tls_drv.c b/src/tls/tls_drv.c
index 08aa1f6f1..041fad6ed 100644
--- a/src/tls/tls_drv.c
+++ b/src/tls/tls_drv.c
@@ -369,9 +369,10 @@ static int tls_drv_control(ErlDrvData handle,
SSL_set_bio(d->ssl, d->bio_read, d->bio_write);
- if (command == SET_CERTIFICATE_FILE_ACCEPT)
+ if (command == SET_CERTIFICATE_FILE_ACCEPT) {
+ SSL_set_options(d->ssl, SSL_OP_NO_TICKET);
SSL_set_accept_state(d->ssl);
- else {
+ } else {
SSL_set_options(d->ssl, SSL_OP_NO_SSLv2|SSL_OP_NO_TICKET);
SSL_set_connect_state(d->ssl);
}
diff --git a/src/web/Makefile.in b/src/web/Makefile.in
index 519314ef7..77f801410 100644
--- a/src/web/Makefile.in
+++ b/src/web/Makefile.in
@@ -9,7 +9,7 @@ LIBS = @LIBS@
ERLANG_CFLAGS = @ERLANG_CFLAGS@
ERLANG_LIBS = @ERLANG_LIBS@
-EFLAGS += @ERLANG_SSL39@
+EFLAGS += @ERLANG_SSLVER@
EFLAGS += -I ..
EFLAGS += -pz ..
diff --git a/src/web/ejabberd_http.erl b/src/web/ejabberd_http.erl
index 4e1f14320..2f2315017 100644
--- a/src/web/ejabberd_http.erl
+++ b/src/web/ejabberd_http.erl
@@ -87,9 +87,10 @@ start_link(SockData, Opts) ->
init({SockMod, Socket}, Opts) ->
TLSEnabled = lists:member(tls, Opts),
- TLSOpts = lists:filter(fun({certfile, _}) -> true;
+ TLSOpts1 = lists:filter(fun({certfile, _}) -> true;
(_) -> false
end, Opts),
+ TLSOpts = [verify_none | TLSOpts1],
{SockMod1, Socket1} =
if
TLSEnabled ->
diff --git a/src/web/ejabberd_http_bind.erl b/src/web/ejabberd_http_bind.erl
index 11ee84182..27ea3c089 100644
--- a/src/web/ejabberd_http_bind.erl
+++ b/src/web/ejabberd_http_bind.erl
@@ -32,6 +32,12 @@
change_shaper/2,
monitor/1,
close/1,
+ start/4,
+ handle_session_start/8,
+ handle_http_put/7,
+ http_put/7,
+ http_get/2,
+ prepare_response/4,
process_request/2]).
-include("ejabberd.hrl").
@@ -39,7 +45,7 @@
-include("ejabberd_http.hrl").
-include("http_bind.hrl").
--record(http_bind, {id, pid, to, hold, wait, version}).
+-record(http_bind, {id, pid, to, hold, wait, process_delay, version}).
-define(NULL_PEER, {{0, 0, 0, 0}, 0}).
@@ -101,6 +107,11 @@
-define(MAX_PAUSE, 120). % may num of sec a client is allowed to pause
% the session
+%% Wait 100ms before continue processing, to allow the client provide more related stanzas.
+-define(PROCESS_DELAY_DEFAULT, 100).
+-define(PROCESS_DELAY_MIN, 0).
+-define(PROCESS_DELAY_MAX, 1000).
+
%%%----------------------------------------------------------------------
%%% API
@@ -251,6 +262,18 @@ handle_session_start(Pid, XmppDomain, Sid, Rid, Attrs,
CHold
end
end,
+ Pdelay = case string:to_integer(xml:get_attr_s("process-delay",Attrs)) of
+ {error, _} ->
+ ?PROCESS_DELAY_DEFAULT;
+ {CPdelay, _} when
+ (?PROCESS_DELAY_MIN =< CPdelay) and
+ (CPdelay =< ?PROCESS_DELAY_MAX) ->
+ CPdelay;
+ {CPdelay, _} ->
+ erlang:max(
+ erlang:min(CPdelay,?PROCESS_DELAY_MAX),
+ ?PROCESS_DELAY_MIN)
+ end,
Version =
case catch list_to_float(
xml:get_attr_s("ver", Attrs)) of
@@ -268,6 +291,7 @@ handle_session_start(Pid, XmppDomain, Sid, Rid, Attrs,
XmppVersion},
hold = Hold,
wait = Wait,
+ process_delay = Pdelay,
version = Version
})
end),
@@ -523,10 +547,7 @@ handle_info(_, StateName, StateData) ->
%%----------------------------------------------------------------------
terminate(_Reason, _StateName, StateData) ->
?DEBUG("terminate: Deleting session ~s", [StateData#state.id]),
- mnesia:transaction(
- fun() ->
- mnesia:delete({http_bind, StateData#state.id})
- end),
+ mnesia:dirty_delete({http_bind, StateData#state.id}),
send_receiver_reply(StateData#state.http_receiver, {ok, terminate}),
case StateData#state.waiting_input of
false ->
@@ -769,7 +790,7 @@ handle_http_put(Sid, Rid, Attrs, Payload, PayloadSize, StreamStart, IP) ->
?DEBUG("Trafic Shaper: Delaying request ~p", [Rid]),
timer:sleep(Pause),
%{200, ?HEADER,
- % xml:element_to_string(
+ % xml:element_to_binary(
% {xmlelement, "body",
% [{"xmlns", ?NS_HTTP_BIND},
% {"type", "error"}], []})};
@@ -778,7 +799,7 @@ handle_http_put(Sid, Rid, Attrs, Payload, PayloadSize, StreamStart, IP) ->
{buffered, _Sess} ->
{200, ?HEADER, ""};
{ok, Sess} ->
- prepare_response(Sess, Rid, Attrs, StreamStart)
+ prepare_response(Sess, Rid, [], StreamStart)
end.
http_put(Sid, Rid, Attrs, Payload, PayloadSize, StreamStart, IP) ->
@@ -806,21 +827,21 @@ handle_http_put_error(Reason, #http_bind{pid=FsmRef, version=Version})
case Reason of
not_exists ->
{200, ?HEADER,
- xml:element_to_string(
+ xml:element_to_binary(
{xmlelement, "body",
[{"xmlns", ?NS_HTTP_BIND},
{"type", "terminate"},
{"condition", "item-not-found"}], []})};
bad_key ->
{200, ?HEADER,
- xml:element_to_string(
+ xml:element_to_binary(
{xmlelement, "body",
[{"xmlns", ?NS_HTTP_BIND},
{"type", "terminate"},
{"condition", "item-not-found"}], []})};
polling_too_frequently ->
{200, ?HEADER,
- xml:element_to_string(
+ xml:element_to_binary(
{xmlelement, "body",
[{"xmlns", ?NS_HTTP_BIND},
{"type", "terminate"},
@@ -880,9 +901,8 @@ update_shaper(ShaperState, PayloadSize) ->
{NewShaperState, undefined}
end.
-prepare_response(#http_bind{id=Sid, wait=Wait, hold=Hold, to=To}=Sess,
- Rid, _, StreamStart) ->
- receive after 100 -> ok end, %% TODO: Why is this needed. Argh. Bad programming practice.
+prepare_response(Sess, Rid, OutputEls, StreamStart) ->
+ receive after Sess#http_bind.process_delay -> ok end,
case catch http_get(Sess, Rid) of
{ok, cancel} ->
%% actually it would be better if we could completely
@@ -895,89 +915,104 @@ prepare_response(#http_bind{id=Sid, wait=Wait, hold=Hold, to=To}=Sess,
{200, ?HEADER, ""};
{ok, ROutPacket} ->
OutPacket = lists:reverse(ROutPacket),
- ?DEBUG("OutPacket: ~p", [OutPacket]),
- case StreamStart of
- false ->
- case catch send_outpacket(Sess, OutPacket) of
- {'EXIT', _Reason} ->
- {200, ?HEADER,
- ""};
- SendRes ->
- SendRes
- end;
- true ->
- case OutPacket of
- [{xmlstreamstart, _, OutAttrs} | Els] ->
- AuthID = xml:get_attr_s("id", OutAttrs),
- From = xml:get_attr_s("from", OutAttrs),
- Version = xml:get_attr_s("version", OutAttrs),
- OutEls =
- case Els of
- [] ->
- [];
- [{xmlstreamelement,
- {xmlelement, "stream:features",
- StreamAttribs, StreamEls}}
- | StreamTail] ->
- TypedTail =
- [check_default_xmlns(OEl) ||
- {xmlstreamelement, OEl} <-
- StreamTail],
- [{xmlelement, "stream:features",
- [{"xmlns:stream",
- ?NS_STREAM}] ++
- StreamAttribs, StreamEls}] ++
- TypedTail;
- StreamTail ->
- [check_default_xmlns(OEl) ||
- {xmlstreamelement, OEl} <-
- StreamTail]
- end,
- BOSH_attribs =
- [{"authid", AuthID},
- {"xmlns:xmpp", ?NS_BOSH},
- {"xmlns:stream", ?NS_STREAM}] ++
- case OutEls of
- [] ->
- [];
- _ ->
- [{"xmpp:version", Version}]
- end,
- MaxInactivity = get_max_inactivity(To, ?MAX_INACTIVITY),
- MaxPause = get_max_pause(To),
- {200, ?HEADER,
- xml:element_to_string(
- {xmlelement,"body",
- [{"xmlns",
- ?NS_HTTP_BIND},
- {"sid", Sid},
- {"wait", integer_to_list(Wait)},
- {"requests", integer_to_list(Hold+1)},
- {"inactivity",
- integer_to_list(
- trunc(MaxInactivity/1000))},
- {"maxpause",
- integer_to_list(MaxPause)},
- {"polling",
- integer_to_list(
- trunc(?MIN_POLLING/1000000))},
- {"ver", ?BOSH_VERSION},
- {"from", From},
- {"secure", "true"} %% we're always being secure
- ] ++ BOSH_attribs,OutEls})};
- {error, _} ->
- {200, ?HEADER, ""}
- end
- end;
+ ?DEBUG("OutPacket: ~p", [OutputEls++OutPacket]),
+ prepare_outpacket_response(Sess, Rid, OutputEls++OutPacket, StreamStart);
{'EXIT', {shutdown, _}} ->
{200, ?HEADER, ""};
{'EXIT', _Reason} ->
{200, ?HEADER, ""}
end.
+%% Send output payloads on establised sessions
+prepare_outpacket_response(Sess, _Rid, OutPacket, false) ->
+ case catch send_outpacket(Sess, OutPacket) of
+ {'EXIT', _Reason} ->
+ {200, ?HEADER,
+ ""};
+ SendRes ->
+ SendRes
+ end;
+%% Handle a new session along with its output payload
+prepare_outpacket_response(#http_bind{id=Sid, wait=Wait,
+ hold=Hold, to=To}=Sess,
+ Rid, OutPacket, true) ->
+ case OutPacket of
+ [{xmlstreamstart, _, OutAttrs} | Els] ->
+ AuthID = xml:get_attr_s("id", OutAttrs),
+ From = xml:get_attr_s("from", OutAttrs),
+ Version = xml:get_attr_s("version", OutAttrs),
+ OutEls =
+ case Els of
+ [] ->
+ [];
+ [{xmlstreamelement,
+ {xmlelement, "stream:features",
+ StreamAttribs, StreamEls}}
+ | StreamTail] ->
+ TypedTail =
+ [check_default_xmlns(OEl) ||
+ {xmlstreamelement, OEl} <-
+ StreamTail],
+ [{xmlelement, "stream:features",
+ [{"xmlns:stream",
+ ?NS_STREAM}] ++
+ StreamAttribs, StreamEls}] ++
+ TypedTail;
+ StreamTail ->
+ [check_default_xmlns(OEl) ||
+ {xmlstreamelement, OEl} <-
+ StreamTail]
+ end,
+ case OutEls of
+ [] ->
+ prepare_response(Sess, Rid, OutPacket, true);
+ [{xmlelement,
+ "stream:error",_,_}] ->
+ {200, ?HEADER, ""};
+ _ ->
+ BOSH_attribs =
+ [{"authid", AuthID},
+ {"xmlns:xmpp", ?NS_BOSH},
+ {"xmlns:stream", ?NS_STREAM}] ++
+ case OutEls of
+ [] ->
+ [];
+ _ ->
+ [{"xmpp:version", Version}]
+ end,
+ MaxInactivity = get_max_inactivity(To, ?MAX_INACTIVITY),
+ MaxPause = get_max_pause(To),
+ {200, ?HEADER,
+ xml:element_to_binary(
+ {xmlelement,"body",
+ [{"xmlns",
+ ?NS_HTTP_BIND},
+ {"sid", Sid},
+ {"wait", integer_to_list(Wait)},
+ {"requests", integer_to_list(Hold+1)},
+ {"inactivity",
+ integer_to_list(
+ trunc(MaxInactivity/1000))},
+ {"maxpause",
+ integer_to_list(MaxPause)},
+ {"polling",
+ integer_to_list(
+ trunc(?MIN_POLLING/1000000))},
+ {"ver", ?BOSH_VERSION},
+ {"from", From},
+ {"secure", "true"} %% we're always being secure
+ ] ++ BOSH_attribs,OutEls})}
+ end;
+ _ ->
+ {200, ?HEADER, ""}
+ end.
+
+
http_get(#http_bind{pid = FsmRef, wait = Wait, hold = Hold}, Rid) ->
gen_fsm:sync_send_all_state_event(
FsmRef, {http_get, Rid, Wait, Hold}, 2 * ?MAX_WAIT * 1000).
@@ -1006,7 +1041,7 @@ send_outpacket(#http_bind{pid = FsmRef}, OutPacket) ->
true ->
TypedEls = [check_default_xmlns(OEl) ||
{xmlstreamelement, OEl} <- OutPacket],
- Body = xml:element_to_string(
+ Body = xml:element_to_binary(
{xmlelement,"body",
[{"xmlns",
?NS_HTTP_BIND}],
@@ -1040,7 +1075,7 @@ send_outpacket(#http_bind{pid = FsmRef}, OutPacket) ->
StreamTail]
end,
{200, ?HEADER,
- xml:element_to_string(
+ xml:element_to_binary(
{xmlelement,"body",
[{"xmlns",
?NS_HTTP_BIND}],
@@ -1156,7 +1191,7 @@ set_inactivity_timer(_Pause, MaxInactivity) ->
elements_to_string([]) ->
[];
elements_to_string([El | Els]) ->
- xml:element_to_string(El) ++ elements_to_string(Els).
+ [xml:element_to_binary(El)|elements_to_string(Els)].
%% @spec (To, Default::integer()) -> integer()
%% where To = [] | {Host::string(), Version::string()}
diff --git a/src/web/ejabberd_http_poll.erl b/src/web/ejabberd_http_poll.erl
index bd7b8bd0e..0bdbc6287 100644
--- a/src/web/ejabberd_http_poll.erl
+++ b/src/web/ejabberd_http_poll.erl
@@ -1,7 +1,7 @@
%%%----------------------------------------------------------------------
%%% File : ejabberd_http_poll.erl
%%% Author : Alexey Shchepin
-%%% Purpose : HTTP Polling support (JEP-0025)
+%%% Purpose : HTTP Polling support (XEP-0025)
%%% Created : 4 Mar 2004 by Alexey Shchepin
%%%
%%%
diff --git a/src/web/ejabberd_web_admin.erl b/src/web/ejabberd_web_admin.erl
index 9f6301526..3832736b9 100644
--- a/src/web/ejabberd_web_admin.erl
+++ b/src/web/ejabberd_web_admin.erl
@@ -50,29 +50,39 @@
%%%==================================
%%%% get_acl_access
-%% @spec (Path::[string()]) -> {HostOfRule, AccessRule}
+%% @spec (Path::[string()], Method) -> {HostOfRule, [AccessRule]}
+%% where Method = 'GET' | 'POST'
%% All accounts can access those URLs
-get_acl_rule([]) -> {"localhost", all};
-get_acl_rule(["style.css"]) -> {"localhost", all};
-get_acl_rule(["logo.png"]) -> {"localhost", all};
-get_acl_rule(["logo-fill.png"]) -> {"localhost", all};
-get_acl_rule(["favicon.ico"]) -> {"localhost", all};
-get_acl_rule(["additions.js"]) -> {"localhost", all};
+get_acl_rule([],_) -> {"localhost", [all]};
+get_acl_rule(["style.css"],_) -> {"localhost", [all]};
+get_acl_rule(["logo.png"],_) -> {"localhost", [all]};
+get_acl_rule(["logo-fill.png"],_) -> {"localhost", [all]};
+get_acl_rule(["favicon.ico"],_) -> {"localhost", [all]};
+get_acl_rule(["additions.js"],_) -> {"localhost", [all]};
%% This page only displays vhosts that the user is admin:
-get_acl_rule(["vhosts"]) -> {"localhost", all};
+get_acl_rule(["vhosts"],_) -> {"localhost", [all]};
%% The pages of a vhost are only accesible if the user is admin of that vhost:
-get_acl_rule(["server", VHost | _RPath]) -> {VHost, configure};
+get_acl_rule(["server", VHost | _RPath], 'GET') -> {VHost, [configure, webadmin_view]};
+get_acl_rule(["server", VHost | _RPath], 'POST') -> {VHost, [configure]};
%% Default rule: only global admins can access any other random page
-get_acl_rule(_RPath) -> {global, configure}.
+get_acl_rule(_RPath, 'GET') -> {global, [configure, webadmin_view]};
+get_acl_rule(_RPath, 'POST') -> {global, [configure]}.
+
+is_acl_match(Host, Rules, Jid) ->
+ lists:any(
+ fun(Rule) ->
+ allow == acl:match_rule(Host, Rule, Jid)
+ end,
+ Rules).
%%%==================================
%%%% Menu Items Access
-get_jid(Auth, HostHTTP) ->
- case get_auth_admin(Auth, HostHTTP, []) of
+get_jid(Auth, HostHTTP, Method) ->
+ case get_auth_admin(Auth, HostHTTP, [], Method) of
{ok, {User, Server}} ->
jlib:make_jid(User, Server, "");
{unauthorized, Error} ->
@@ -119,8 +129,8 @@ is_allowed_path(BasePath, {Path, _, _}, JID) ->
is_allowed_path(["admin" | Path], JID) ->
is_allowed_path(Path, JID);
is_allowed_path(Path, JID) ->
- {HostOfRule, AccessRule} = get_acl_rule(Path),
- allow == acl:match_rule(HostOfRule, AccessRule, JID).
+ {HostOfRule, AccessRule} = get_acl_rule(Path, 'GET'),
+ is_acl_match(HostOfRule, AccessRule, JID).
%% @spec(Path) -> URL
%% where Path = [string()]
@@ -163,13 +173,13 @@ process(["doc", LocalFile], _Request) ->
end
end;
-process(["server", SHost | RPath] = Path, #request{auth = Auth, lang = Lang, host = HostHTTP} = Request) ->
+process(["server", SHost | RPath] = Path, #request{auth = Auth, lang = Lang, host = HostHTTP, method = Method} = Request) ->
Host = jlib:nameprep(SHost),
case lists:member(Host, ?MYHOSTS) of
true ->
- case get_auth_admin(Auth, HostHTTP, Path) of
+ case get_auth_admin(Auth, HostHTTP, Path, Method) of
{ok, {User, Server}} ->
- AJID = get_jid(Auth, HostHTTP),
+ AJID = get_jid(Auth, HostHTTP, Method),
process_admin(Host, Request#request{path = RPath,
auth = {auth_jid, Auth, AJID},
us = {User, Server}});
@@ -178,8 +188,11 @@ process(["server", SHost | RPath] = Path, #request{auth = Auth, lang = Lang, hos
[{"WWW-Authenticate", "basic realm=\"ejabberd\""}],
ejabberd_web:make_xhtml([?XCT("h1", "Unauthorized")])};
{unauthorized, Error} ->
- ?WARNING_MSG("Access ~p failed with error: ~p~n~p",
- [Auth, Error, Request]),
+ {BadUser, _BadPass} = Auth,
+ {IPT, _Port} = Request#request.ip,
+ IPS = inet_parse:ntoa(IPT),
+ ?WARNING_MSG("Access of ~p from ~p failed with error: ~p",
+ [BadUser, IPS, Error]),
{401,
[{"WWW-Authenticate",
"basic realm=\"auth error, retry login to ejabberd\""}],
@@ -189,10 +202,10 @@ process(["server", SHost | RPath] = Path, #request{auth = Auth, lang = Lang, hos
ejabberd_web:error(not_found)
end;
-process(RPath, #request{auth = Auth, lang = Lang, host = HostHTTP} = Request) ->
- case get_auth_admin(Auth, HostHTTP, RPath) of
+process(RPath, #request{auth = Auth, lang = Lang, host = HostHTTP, method = Method} = Request) ->
+ case get_auth_admin(Auth, HostHTTP, RPath, Method) of
{ok, {User, Server}} ->
- AJID = get_jid(Auth, HostHTTP),
+ AJID = get_jid(Auth, HostHTTP, Method),
process_admin(global, Request#request{path = RPath,
auth = {auth_jid, Auth, AJID},
us = {User, Server}});
@@ -201,18 +214,21 @@ process(RPath, #request{auth = Auth, lang = Lang, host = HostHTTP} = Request) ->
[{"WWW-Authenticate", "basic realm=\"ejabberd\""}],
ejabberd_web:make_xhtml([?XCT("h1", "Unauthorized")])};
{unauthorized, Error} ->
- ?WARNING_MSG("Access ~p failed with error: ~p~n~p",
- [Auth, Error, Request]),
+ {BadUser, _BadPass} = Auth,
+ {IPT, _Port} = Request#request.ip,
+ IPS = inet_parse:ntoa(IPT),
+ ?WARNING_MSG("Access of ~p from ~p failed with error: ~p",
+ [BadUser, IPS, Error]),
{401,
[{"WWW-Authenticate",
"basic realm=\"auth error, retry login to ejabberd\""}],
ejabberd_web:make_xhtml([?XCT("h1", "Unauthorized")])}
end.
-get_auth_admin(Auth, HostHTTP, RPath) ->
+get_auth_admin(Auth, HostHTTP, RPath, Method) ->
case Auth of
{SJID, Pass} ->
- {HostOfRule, AccessRule} = get_acl_rule(RPath),
+ {HostOfRule, AccessRule} = get_acl_rule(RPath, Method),
case jlib:string_to_jid(SJID) of
error ->
{unauthorized, "badformed-jid"};
@@ -229,11 +245,11 @@ get_auth_admin(Auth, HostHTTP, RPath) ->
get_auth_account(HostOfRule, AccessRule, User, Server, Pass) ->
case ejabberd_auth:check_password(User, Server, Pass) of
true ->
- case acl:match_rule(HostOfRule, AccessRule,
+ case is_acl_match(HostOfRule, AccessRule,
jlib:make_jid(User, Server, "")) of
- deny ->
+ false ->
{unauthorized, "unprivileged-account"};
- allow ->
+ true ->
{ok, {User, Server}}
end;
false ->
@@ -1427,7 +1443,7 @@ list_vhosts(Lang, JID) ->
Hosts = ?MYHOSTS,
HostsAllowed = lists:filter(
fun(Host) ->
- allow == acl:match_rule(Host, configure, JID)
+ is_acl_match(Host, [configure, webadmin_view], JID)
end,
Hosts
),
diff --git a/src/web/mod_http_bind.erl b/src/web/mod_http_bind.erl
index bbaeae6c6..25e964f93 100644
--- a/src/web/mod_http_bind.erl
+++ b/src/web/mod_http_bind.erl
@@ -33,8 +33,6 @@
-module(mod_http_bind).
-author('steve@zeank.in-berlin.de').
--define(MOD_HTTP_BIND_VERSION, "1.2").
-
%%-define(ejabberd_debug, true).
-behaviour(gen_mod).
@@ -52,7 +50,7 @@
%% Duplicated from ejabberd_http_bind.
%% TODO: move to hrl file.
--record(http_bind, {id, pid, to, hold, wait, version}).
+-record(http_bind, {id, pid, to, hold, wait, process_delay, version}).
%%%----------------------------------------------------------------------
%%% API
@@ -80,7 +78,7 @@ process(_Path, _Request) ->
[{xmlcdata, "400 Bad Request"}]}}.
get_human_html_xmlel() ->
- Heading = "ejabberd " ++ atom_to_list(?MODULE) ++ " v" ++ ?MOD_HTTP_BIND_VERSION,
+ Heading = "ejabberd " ++ atom_to_list(?MODULE),
{xmlelement, "html", [{"xmlns", "http://www.w3.org/1999/xhtml"}],
[{xmlelement, "head", [],
[{xmlelement, "title", [], [{xmlcdata, Heading}]}]},
@@ -138,7 +136,7 @@ setup_database() ->
migrate_database() ->
case catch mnesia:table_info(http_bind, attributes) of
- [id, pid, to, hold, wait, version] ->
+ [id, pid, to, hold, wait, process_delay, version] ->
ok;
_ ->
%% Since the stored information is not important, instead
diff --git a/src/web/mod_http_fileserver.erl b/src/web/mod_http_fileserver.erl
index 3f324a1db..ab4e1a5bd 100644
--- a/src/web/mod_http_fileserver.erl
+++ b/src/web/mod_http_fileserver.erl
@@ -66,11 +66,15 @@
headers
}).
+-ifdef(SSL40).
+-define(STRING2LOWER, string).
+-else.
-ifdef(SSL39).
-define(STRING2LOWER, string).
-else.
-define(STRING2LOWER, httpd_util).
-endif.
+-endif.
-record(state, {host, docroot, accesslog, accesslogfd, directory_indices,
custom_headers, default_content_type, content_types = []}).
@@ -91,6 +95,7 @@
{".js", "text/javascript"},
{".png", "image/png"},
{".txt", "text/plain"},
+ {".xml", "application/xml"},
{".xpi", "application/x-xpinstall"},
{".xul", "application/vnd.mozilla.xul+xml"}]).
@@ -298,6 +303,8 @@ process(LocalPath, Request) ->
{Code, Headers, Contents}
catch
exit:{noproc, _} ->
+ ?ERROR_MSG("Received an HTTP request with Host ~p, but couldn't find the related "
+ "ejabberd virtual host", [Request#request.host]),
ejabberd_web:error(not_found)
end.
diff --git a/src/xml.c b/src/xml.c
new file mode 100644
index 000000000..e363fed74
--- /dev/null
+++ b/src/xml.c
@@ -0,0 +1,258 @@
+#include
+#include
+#include
+
+#ifdef SSL40
+#define ENIF_ALLOC(SIZE) enif_alloc(SIZE)
+#define ENIF_FREE(PTR) enif_free(PTR)
+#define ENIF_REALLOC(PTR, SIZE) enif_realloc(PTR, SIZE)
+#define ENIF_ALLOC_BINARY(SIZE, BIN) enif_alloc_binary(SIZE, BIN)
+#define ENIF_COMPARE(TERM1, TERM2) enif_compare(TERM1, TERM2)
+#else
+#define ENIF_ALLOC(SIZE) enif_alloc(env, SIZE)
+#define ENIF_FREE(PTR) enif_free(env, PTR)
+#define ENIF_REALLOC(PTR, SIZE) enif_realloc(env, PTR, SIZE)
+#define ENIF_ALLOC_BINARY(SIZE, BIN) enif_alloc_binary(env, SIZE, BIN)
+#define ENIF_COMPARE(TERM1, TERM2) enif_compare(env, TERM1, TERM2)
+#endif
+
+static ERL_NIF_TERM atom_xmlelement;
+static ERL_NIF_TERM atom_xmlcdata;
+
+struct buf {
+ int limit;
+ int len;
+ unsigned char *b;
+};
+
+static int make_element(ErlNifEnv* env, struct buf *rbuf, ERL_NIF_TERM el);
+
+static int load(ErlNifEnv* env, void** priv, ERL_NIF_TERM load_info)
+{
+ atom_xmlelement = enif_make_atom(env, "xmlelement");
+ atom_xmlcdata = enif_make_atom(env, "xmlcdata");
+ return 0;
+}
+
+static struct buf *init_buf(ErlNifEnv* env)
+{
+ struct buf *rbuf = ENIF_ALLOC(sizeof(struct buf));
+ rbuf->limit = 1024;
+ rbuf->len = 0;
+ rbuf->b = ENIF_ALLOC(rbuf->limit);
+ return rbuf;
+}
+
+static void destroy_buf(ErlNifEnv* env, struct buf *rbuf)
+{
+ if (rbuf) {
+ if (rbuf->b) {
+ ENIF_FREE(rbuf->b);
+ };
+ ENIF_FREE(rbuf);
+ };
+}
+
+inline void resize_buf(ErlNifEnv* env, struct buf *rbuf, int len_to_add)
+{
+ int new_len = rbuf->len + len_to_add;
+
+ if (new_len >= rbuf->limit) {
+ rbuf->limit = ((new_len / 1024) + 1) * 1024;
+ rbuf->b = ENIF_REALLOC(rbuf->b, rbuf->limit);
+ };
+}
+
+static void buf_add_char(ErlNifEnv* env, struct buf *rbuf, unsigned char c)
+{
+ resize_buf(env, rbuf, 1);
+ (rbuf->b)[rbuf->len] = c;
+ rbuf->len += 1;
+}
+
+static void buf_add_str(ErlNifEnv* env, struct buf *rbuf, char *data, int len)
+{
+ resize_buf(env, rbuf, len);
+ memcpy(rbuf->b + rbuf->len, data, len);
+ rbuf->len += len;
+}
+
+inline void crypt(ErlNifEnv* env, struct buf *rbuf, unsigned char *data, int len)
+{
+ int i;
+
+ for (i = 0; i < len; i++) {
+ switch (data[i]) {
+ case '&':
+ buf_add_str(env, rbuf, "&", 5);
+ break;
+ case '<':
+ buf_add_str(env, rbuf, "<", 4);
+ break;
+ case '>':
+ buf_add_str(env, rbuf, ">", 4);
+ break;
+ case '"':
+ buf_add_str(env, rbuf, """, 6);
+ break;
+ case '\'':
+ buf_add_str(env, rbuf, "'", 6);
+ break;
+ default:
+ buf_add_char(env, rbuf, data[i]);
+ break;
+ };
+ };
+}
+
+static int make_elements(ErlNifEnv* env, struct buf *rbuf, ERL_NIF_TERM els)
+{
+ ERL_NIF_TERM head, tail;
+ int ret = 0;
+
+ while (enif_get_list_cell(env, els, &head, &tail)) {
+ ret = make_element(env, rbuf, head);
+ if (ret) {
+ els = tail;
+ } else {
+ break;
+ };
+ };
+
+ return ret;
+}
+
+static int make_attrs(ErlNifEnv* env, struct buf *rbuf, ERL_NIF_TERM attrs)
+{
+ ErlNifBinary name, data;
+ ERL_NIF_TERM head, tail;
+ const ERL_NIF_TERM *tuple;
+ int arity, ret = 1;
+
+ while (enif_get_list_cell(env, attrs, &head, &tail)) {
+ if (enif_get_tuple(env, head, &arity, &tuple)) {
+ if (arity == 2) {
+ if (enif_inspect_iolist_as_binary(env, tuple[0], &name) &&
+ enif_inspect_iolist_as_binary(env, tuple[1], &data)) {
+ buf_add_char(env, rbuf, ' ');
+ buf_add_str(env, rbuf, (char *)name.data, name.size);
+ buf_add_str(env, rbuf, "='", 2);
+ crypt(env, rbuf, data.data, data.size);
+ buf_add_char(env, rbuf, '\'');
+ attrs = tail;
+ } else {
+ ret = 0;
+ break;
+ };
+ } else {
+ ret = 0;
+ break;
+ };
+ } else {
+ ret = 0;
+ break;
+ };
+ };
+
+ return ret;
+}
+
+static int make_element(ErlNifEnv* env, struct buf *rbuf, ERL_NIF_TERM el)
+{
+ ErlNifBinary cdata, name;
+ const ERL_NIF_TERM *tuple;
+ int arity, ret = 0;
+
+ if (enif_get_tuple(env, el, &arity, &tuple)) {
+ if (arity == 2) {
+ if (!ENIF_COMPARE(tuple[0], atom_xmlcdata)) {
+ if (enif_inspect_iolist_as_binary(env, tuple[1], &cdata)) {
+ crypt(env, rbuf, cdata.data, cdata.size);
+ ret = 1;
+ };
+ };
+ };
+ if (arity == 4) {
+ if (!ENIF_COMPARE(tuple[0], atom_xmlelement)) {
+ if (enif_inspect_iolist_as_binary(env, tuple[1], &name)) {
+ buf_add_char(env, rbuf, '<');
+ buf_add_str(env, rbuf, (char *)name.data, name.size);
+ ret = make_attrs(env, rbuf, tuple[2]);
+ if (ret) {
+ if (enif_is_empty_list(env, tuple[3])) {
+ buf_add_str(env, rbuf, "/>", 2);
+ } else {
+ buf_add_char(env, rbuf, '>');
+ ret = make_elements(env, rbuf, tuple[3]);
+ if (ret) {
+ buf_add_str(env, rbuf, "", 2);
+ buf_add_str(env, rbuf, (char*)name.data, name.size);
+ buf_add_char(env, rbuf, '>');
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+
+ return ret;
+}
+
+static ERL_NIF_TERM element_to(ErlNifEnv* env, int argc,
+ const ERL_NIF_TERM argv[],
+ int as_string)
+{
+ ErlNifBinary output;
+ ERL_NIF_TERM result;
+ struct buf *rbuf;
+
+ if (argc == 1) {
+ rbuf = init_buf(env);
+ if (make_element(env, rbuf, argv[0])) {
+ if (as_string) {
+ (rbuf->b)[rbuf->len] = 0;
+ result = enif_make_string(env, (char *) rbuf->b, ERL_NIF_LATIN1);
+ destroy_buf(env, rbuf);
+ return result;
+ } else {
+ if (ENIF_ALLOC_BINARY(rbuf->len, &output)) {
+ memcpy(output.data, rbuf->b, rbuf->len);
+ result = enif_make_binary(env, &output);
+ destroy_buf(env, rbuf);
+ return result;
+ };
+ };
+ };
+ destroy_buf(env, rbuf);
+ };
+
+ return enif_make_badarg(env);
+}
+
+#ifdef SSL40
+static ERL_NIF_TERM element_to_string(ErlNifEnv* env, int argc,
+ const ERL_NIF_TERM argv[])
+{
+ return element_to(env, argc, argv, 1);
+}
+#endif
+
+static ERL_NIF_TERM element_to_binary(ErlNifEnv* env, int argc,
+ const ERL_NIF_TERM argv[])
+{
+ return element_to(env, argc, argv, 0);
+}
+
+static ErlNifFunc nif_funcs[] =
+ {
+ /* Stupid Erlang bug with enif_make_string() is fixed
+ in R14A only (OTP-8685), so we can't use
+ element_to_string in Erlang < R14A.*/
+#ifdef SSL40
+ {"element_to_string", 1, element_to_string},
+#endif
+ {"element_to_binary", 1, element_to_binary}
+ };
+
+ERL_NIF_INIT(xml, nif_funcs, load, NULL, NULL, NULL)
diff --git a/src/xml.erl b/src/xml.erl
index 96d0b2189..22746b10a 100644
--- a/src/xml.erl
+++ b/src/xml.erl
@@ -28,6 +28,7 @@
-author('alexey@process-one.net').
-export([element_to_string/1,
+ element_to_binary/1,
crypt/1, make_text_node/1,
remove_cdata/1,
get_cdata/1, get_tag_cdata/1,
@@ -36,8 +37,11 @@
get_subtag/2, get_subtag_cdata/2,
append_subtags/2,
get_path_s/2,
+ start/0,
replace_tag_attr/3]).
+-include("ejabberd.hrl").
+
%% Select at compile time how to escape characters in binary text
%% nodes.
%% Can be choosen with ./configure --enable-full-xml
@@ -47,6 +51,25 @@
-define(ESCAPE_BINARY(CData), crypt(CData)).
-endif.
+%% Replace element_to_binary/1 with NIF
+%% Can be choosen with ./configure --enable-nif
+-ifdef(NIF).
+start() ->
+ SOPath = filename:join(ejabberd:get_so_path(), "xml"),
+ case catch erlang:load_nif(SOPath, 0) of
+ ok ->
+ ok;
+ Err ->
+ ?WARNING_MSG("unable to load xml NIF: ~p", [Err])
+ end.
+-else.
+start() ->
+ ok.
+-endif.
+
+element_to_binary(El) ->
+ iolist_to_binary(element_to_string(El)).
+
element_to_string(El) ->
case catch element_to_string_nocatch(El) of
{'EXIT', Reason} ->
diff --git a/tools/ejabberdctl b/tools/ejabberdctl
deleted file mode 100755
index 80d8702f7..000000000
--- a/tools/ejabberdctl
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-
-NODE=ejabberd
-HOST=localhost
-
-# Define ejabberd environment
-ERL=erl
-here=`which "$0" 2>/dev/null || echo .`
-base="`dirname $here`/.."
-ROOTDIR=`(cd "$base"; echo $PWD)`
-SASL_LOG_PATH=$ROOTDIR/erlang.log
-EJABBERD_DB=$ROOTDIR/database/$NODE
-EJABBERD_EBIN=$ROOTDIR/src
-export EJABBERD_LOG_PATH=$ROOTDIR/ejabberd.log
-export EJABBERD_CONFIG_PATH=$ROOTDIR/ejabberd.cfg
-export EJABBERD_MSGS_PATH=$ROOTDIR/src/msgs
-export EJABBERD_SO_PATH=$ROOTDIR/src
-export EJABBERD_BIN_PATH=$ROOTDIR/src
-export ERL_MAX_PORTS=32000
-
-[ -d $EJABBERD_DB ] || mkdir -p $EJABBERD_DB
-[ -f $EJABBERD_CONFIG_PATH ] || cp $ROOTDIR/src/ejabberd.cfg.example $EJABBERD_CONFIG_PATH
-
-start()
-{
- $ERL \
- -noinput -detached \
- -sname $NODE@$HOST \
- -pa $EJABBERD_EBIN \
- -mnesia dir "\"$EJABBERD_DB\"" \
- -s ejabberd \
- -ejabberd config \"$EJABBERD_CONFIG_PATH\" \
- log_path \"$EJABBERD_LOG_PATH\" \
- -sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\}
-}
-
-debug()
-{
- $ERL \
- -sname debug$NODE@$HOST \
- -pa $EJABBERD_EBIN \
- -mnesia dir "\"$EJABBERD_DB\"" \
- -hidden \
- -remsh $NODE@$HOST
-}
-
-ctl()
-{
- $ERL \
- -sname ctl$NODE@$HOST \
- -pa $EJABBERD_EBIN \
- -noinput \
- -hidden \
- -s ejabberd_ctl -extra $NODE@$HOST $@
-}
-
-usage()
-{
- ctl
- exit
-}
-
-[ $# -lt 1 ] && usage
-
-case $1 in
- start) start;;
- debug) debug;;
- *) ctl $@;;
-esac
|