'--quota -1' gets parsed as two options ("quota" and "1"), but it's
meant to be "quota => -1".
Make sure '-1' is considered as a value, not as an option.
Also get rid of unset()'ing $params[$i] and (now?) superfluous recursive
calls to __parseParams() to make the code less confusing.
This warning was for example
PHP Notice: Undefined variable: CONF in .../languages/en.lang on line 184
and is caused by some texts that include $CONF['admin_name']
dd52a98d43 added honoring POST['lang'] and
COOKIE['lang'] even if $_SERVER['HTTP_ACCEPT_LANGUAGE'] is not set.
This also means we can drop the now-duplicate check in the code section
handling $_SERVER['HTTP_ACCEPT_LANGUAGE'].
The file was a big mess, Turkish exclusive chars were completely corrupted, gramatically wrong words in the translation such as;
Not "Hiçbirşey" but "Hiçbir şey".
Not "eposta" but "e-posta" and/or "E-posta".
Not "Şuanki" but "Şu anki"
Not "ddeðiþtirmek" but "değiştirmek" (Wrong/corrupted Turkish characters)
Not "Yönlendirmen deðiþtir" but "Yönlendirme değiştir" (Wrong/corrupted Turkish characters)
As well as a lot of lines weren't translated -yet-. So here it is.
Regards,
Özgür Kazancci
1. Favicon configuration of the project:
a. Fixed incorrect link to favicon from the subfolder /users/
b. Added ability to set favicon via config
2. Completed translation of all string constants into Russian language.
... by using table_by_key() instead of reading $CONF directly.
Otherwise, $CONF['database_prefix'] gets ignored and the query tries to
use a wrong table name.
This fixes a bug introduced in d809e0fbf7
This reverts c5c42cfbe8 ("remove custom
field separator; just go with the default php behaviour").
That change didn't improve anything on
https://sourceforge.net/p/postfixadmin/bugs/386/ - it "just" changed the
CSV file format which might break existing workflows and/or tools of our
users.
- Encryption improvements (see: php_crypt / encrypt_difficulty in sample config)
- Sqlite improvements (see https://github.com/postfixadmin/postfixadmin/issues/177 and https://github.com/postfixadmin/postfixadmin/issues/176 )
- MySQL 8 compatibility (see https://github.com/postfixadmin/postfixadmin/pull/175 )
- Internally the database functions have been refactored to use PDO rather than the lower level mysql_, mysqli_, pg_ etc functions. ( see: https://github.com/postfixadmin/postfixadmin/pull/231 )
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid, CONCAT('dict:storage=',floor(quota/1000),' proxy::quota') as quota FROM mailbox WHERE username = '%u' AND active='1'
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid, CONCAT('dict:storage=',floor(quota/1000),' ::proxy::quota') as quota FROM mailbox WHERE username = '%u' AND active='1'
for PostgreSQL:
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid, 'dict:storage=' || floor(quota/1000) || '::proxy::quota' as quota FROM mailbox WHERE username = '%u' AND active='1'
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes
Where you chose to store the .cf files doesn't really matter, but they will
have database passwords stored in plain text so they should be readable only
by user postfix, or in a directory only accessible to user postfix.
@ -73,7 +73,7 @@ user = postfix
password = password
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active='1' AND alias_domain.active='1'
mysql_virtual_alias_domain_catchall_maps.cf:
# handles catch-all settings of target-domain
@ -81,7 +81,7 @@ user = postfix
password = password
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active='1' AND alias_domain.active='1'
(See above note re Concat + PostgreSQL)
@ -94,6 +94,8 @@ query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
#query = SELECT domain FROM domain WHERE domain='%s'
#optional query to use when relaying for backup MX
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
#optional query to use for transport map support
#query = SELECT domain FROM domain WHERE domain='%s' AND active = '1' AND NOT (transport LIKE 'smtp%%' OR transport LIKE 'relay%%')
#expansion_limit = 100
mysql_virtual_mailbox_maps.cf:
@ -109,7 +111,21 @@ user = postfix
password = password
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'
query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active='1' AND alias_domain.active='1'
mysql_relay_domains.cf:
user = postfix
password = password
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' AND active = '1' AND (transport LIKE 'smtp%%' OR transport LIKE 'relay%%')
mysql_transport_maps.cf:
user = postfix
password = password
hosts = localhost
dbname = postfix
query = SELECT transport FROM domain WHERE domain='%s' AND active = '1'
This extension adds support for password expiration.
It is designed to have expiration on users passwords. An email is sent when the password is expiring in 30 days, then 14 days, then 7 days.
It is strongly inspired by https://abridge2devnull.com/posts/2014/09/29/dovecot-user-password-expiration-notifications-updated-4122015/, and adapted to fit with Postfix Admin & Roundcube's password plugin
Expiration unit is day
Expiration value for domain is set through Postfix Admin GUI
*Installation
Perform the following changes:
**Changes in MySQL/MariaDB mailbox table (as defined in $CONF['database_tables'] from config.inc.php):
You are invited to backup your DB first, and ensure the table name is correct.
Execute the attached SQL script (password_expiration.sql) that will add the required columns. The expiration value for existing users will be set to 90 days. If you want a different value, edit line 2 in the script and replace 90 by the required value.
**Changes in Postfix Admin :
To enable password expiration, add the following to your config.inc.php file:
$CONF['password_expiration'] = 'YES';
All my tests are performed using $CONF['encrypt'] = 'md5crypt';
**If you are using Roundcube's password plugin, you should also adapt the $config['password_query'] value.
of cource you may adapt to the expected expiration value
All my tests are performed using $config['password_algorithm'] = 'md5-crypt';
**Changes in Dovecot (adapt if you use another LDA)
Edit dovecot-mysql.conf file, and replace the user_query (and only this one) by this query:
password_query = SELECT username as user, password, concat('/var/vmail/', maildir) as userdb_var, concat('maildir:/var/vmail/', maildir) as userdb_mail, 20001 as userdb_uid, 20001 as userdb_gid, m.domain FROM mailbox m, domain d where d.domain = m.domain and m.username = '%u' AND m.active = '1' AND (m.password_expiry > now() or d.password_expiry = 0)
Of course you may require to adapt the uid, gid, maildir and table to your setup
**Changes in system
You need to have a script running on a daily basis to check password expiration and send emails 30, 14 and 7 days before password expiration (script attached: check_mailpass_expiration.sh).
Edit the script to adapt the variables to your setup.
This script is using postfixadmin.my.cnf to read credentials. Edit this file to enter a DB user that is allowed to access (read-write) your database. This file should be protected from any user (chmod 400).
(if you installed PostfixAdmin as RPM or DEB package, you can obviously skip this step.)
Assuming we are installing Postfixadmin into /srv/postfixadmin, then something like this should work :
Assuming we are installing Postfixadmin into /srv/postfixadmin, then something like this should work.Please check https://github.com/postfixadmin/postfixadmin/releases to get the latest stable release first (the 3.2.4 version/url below is probably stale)
# Change this list to change notification times and when ...
for INTERVAL in 30147
do
LOWER=$(($INTERVAL-1))
QUERY="SELECT username,password_expiry FROM mailbox WHERE password_expiry > now() + interval $LOWER DAY AND password_expiry < NOW() + interval $INTERVAL DAY"
mysql --defaults-extra-file="$MYSQL_CREDENTIALS_FILE""$POSTFIX_DB" -B -e "$QUERY"|whileread -a RESULT ;do
echo -e "Dear User, \n Your password will expire on ${RESULT[1]}"| mail -s "Password 30 days before expiration notication" -r $REPLY_ADDRESS${RESULT[0]}
if (isset($CONF['configured']) && !defined('PHPUNIT_TEST')) {
if ($CONF['configured'] == false) {
die("Please edit config.local.php - change \$CONF['configured'] to true after setting your database settings");
die("Please edit config.local.php - change \$CONF['configured'] to true after specifying appropriate local settings (database_type etc)");
}
}
Config::write($CONF);
$PALANG = [];
require_once("$incpath/languages/language.php");
require_once("$incpath/functions.inc.php");
require_once("$incpath/lib/random_compat.phar");
if (extension_loaded('Phar') && ( version_compare(PHP_VERSION, '7.0.0') <0)){
require_once("$incpath/lib/random_compat.phar");
}
if (defined('POSTFIXADMIN_CLI')) {
$language = 'en'; # TODO: make configurable or autodetect from locale settings
@ -77,8 +78,9 @@ if (defined('POSTFIXADMIN_CLI')) {
$language = check_language(); # TODO: storing the language only at login instead of calling check_language() on every page would save some processor cycles ;-)
// If you want to keep most settings at default values and/or want to ensure
//Account expiration info
//If enabled, mailbox passwords have a password_expiry field set, which is updated each time the password is changed, based on the parent domain's password_expiry (days) value.
//More details in README.password_expiration
$CONF['password_expiration'] = 'YES';
// If you want to keep most settings at default values and/or want to ensure
// that future updates work without problems, you can use a separate config
// file (config.local.php) instead of editing this file and override some
@ -394,6 +400,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -393,6 +399,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -393,6 +399,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['password_too_short'] = "Heslo je příliš krátké - je vyžadováno minimálně %s znaků";
$PALANG['password_no_characters'] = "Heslo musí obsahovat alespoň %s znak(-y).";
$PALANG['password_no_characters'] = "Heslo musí obsahovat alespoň %s znak(-y)."; # XXX text changed to "Your password must contain at least %s letters (A-Z, a-z)."
$PALANG['password_no_digits'] = "Heslo musí obsahovat alespoň %s číslici(-ce).";
$PALANG['pInvalidDomainRegex'] = "Neplatné doménové jméno %s, nevyhovělo regulárnímu výrazu";
$PALANG['pInvalidDomainDNS'] = "Neplatná doména %s, a/nebo nezjištěn DNS záznam.";
@ -407,6 +413,8 @@ $PALANG['pFetchmail_desc_date'] = 'Dato for seneste prøve/konfigura
$PALANG['pFetchmail_desc_returned_text'] = 'Tekstbesked fra seneste prøve';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['pCreate_mailbox_result_error'] = 'Das Erstellen der Mailbox %s ist fehlgeschlagen';
$PALANG['pCreate_mailbox_result_success'] = 'Die Mailbox %s wurde in die Mailbox-Tabelle eingetragen.';
@ -176,13 +177,13 @@ $PALANG['pPassword_password_text_error'] = 'Die beiden angegebenen Passwörter s
$PALANG['change_password'] = 'Passwort ändern';
$PALANG['pPassword_result_error'] = 'Das Passwort für %s konnte nicht geändert werden';
$PALANG['pPassword_result_success'] = 'Das Passwort für %s wurde geändert.';
$PALANG['pPassword_recovery_title'] = 'Follow the instructions to reset your password.'; # XXX
$PALANG['pPassword_recovery_button'] = 'Send me the code'; # XXX
$PALANG['pPassword_recovery_email_body'] = "Hello,\n\nUse the following link to change your email password :\n%s\n\nRegards,\n\n" . $CONF['admin_name']; # XXX
$PALANG['pPassword_recovery_sms_body'] = "Hello,\nThe code to change your password is: %s\n" . $CONF['admin_name']; # XXX
$PALANG['pPassword_recovery_processed'] = "We processed your request. If you entered a valid username, you'll receive an email/SMS with a password code."; # XXX
$PALANG['pPassword_password_code'] = 'Code sent by email/SMS'; # XXX
$PALANG['pPassword_recovery_email_body'] = "Hallo,\n\nBenutzen Sie den folgenden Link, um Ihr E-Mail-Passwort zu ändern :\n%s\n\nMit freundlichen Grüßen,\n\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_sms_body'] = "Hallo,\nDer Code zum Ändern des Passwortes lautet: %s\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_processed'] = "Wir haben Ihre Anfrage erhalten. Wenn Sie einen gültigen Benutzernamen eingegeben haben, dann erhalten Sie eine E-Mail/SMS mit dem Passwort-Code.";
$PALANG['pPassword_password_code'] = 'Code per E-Mail/SMS geschickt';
@ -395,6 +401,8 @@ $PALANG['pFetchmail_desc_date'] = 'Fecha del último sondeo/cambio e
$PALANG['pFetchmail_desc_returned_text'] = 'Mensaje del último sondeo';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -397,6 +403,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -392,6 +398,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -398,6 +404,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['confirm_delete_alias'] = 'Realmente quere borrar o alias %s?'; # XXX
$PALANG['confirm_delete_aliasdomain'] = 'Realmente quere borrar o alias de dominio %s?'; # XXX
$PALANG['confirm_delete_domain'] = 'Está seguro que desexa borrar todos os rexistros deste dominio? Non se pode desfacer!\n (%s)'; # XXX text changed to: 'Do you really want to delete all records for the domain %s? This can not be undone'
$PALANG['confirm_delete_fetchmail'] = 'Realmente quere borrar a tarefa de fetchmail %s?'; # XXX
$PALANG['confirm_delete_mailbox'] = 'Realmente quere borrar o buzón %s?'; # XXX
$PALANG['confirm_delete_vacation'] = 'Realmente quere borrar a mensaxe de ausencia de %s?'; # XXX
$PALANG['no_delete_permissions'] = 'Non ten permisos para borrar %s!'; # XXX
$PALANG['no_domains_for_this_admin'] = 'Non ten permisos para nengún dominio.'; # XXX
$PALANG['no_domains_exist'] = 'Debe crear cando menos un dominio antes de empregar unha lista virtual.'; # "virtual list" should match $PALANG['pAdminMenu_list_virtual'] # XXX
$PALANG['domain'] = 'Dominio';
$PALANG['pOverview_get_alias_domains'] = 'Alias de Dominios';
$PALANG['mailboxes'] = 'Buzóns';
$PALANG['pOverview_get_quota'] = 'Cota de buzón (MB)';
$PALANG['pDelete_delete_error'] = 'Imposible borrar o rexistro ';
$PALANG['pDelete_domain_error'] = 'Este dominio non lle pertence ';
$PALANG['pDelete_alias_error'] = 'Non se puido eliminar o alias ';
$PALANG['pCreate_alias_domain_welcome'] = 'Sincronizar direccións dun dominio a outro.';
$PALANG['pCreate_alias_domain_alias'] = 'Alias de Dominio';
$PALANG['pCreate_alias_domain_alias_text'] = 'O dominio ao que cheega o email.';
$PALANG['pCreate_alias_domain_target'] = 'Dominio de destino';
$PALANG['pCreate_alias_domain_target_text'] = 'O dominio ao que deberían ir os emails.';
$PALANG['pCreate_alias_domain_error1'] = 'Non estás autorizado a crear a configuración que elexiches.';
$PALANG['pCreate_alias_domain_error2'] = 'A configuración seleccionada non é válida, por favor elixe unha distinta!';
$PALANG['alias_domain_already_exists'] = 'Xa existe un alias para este dominio!'; # XXX
$PALANG['alias_domain_does_not_exist'] = 'Non existe un alias para este dominio!'; # XXX
$PALANG['alias_domain_create_failed'] = 'Fallou a inserción na base de datos. (%s)'; # XXX Text changed to: Creating the alias domain %s failed!
$PALANG['alias_domain_change_failed'] = 'Errou o cambio de alias do dominio %s!'; # XXX
$PALANG['pCreate_alias_domain_error4'] = 'Xa están todos os dominios asignados.';
$PALANG['pCreate_alias_domain_success'] = 'O alias de dominio insertouse na táboa! (%s)'; # XXX Text changed to: The alias domain %s has been created.
$PALANG['alias_domain_changed'] = 'O alias do dominio cambiouse.'; # XXX
$PALANG['alias_domain_to_itsself'] = 'Un dominio non pode ser un alias de dominio de sí mesmo!'; # XXX
$PALANG['delete_domain_aliasdomain_target'] = 'O dominio %s é o destino dun ou máis alias de dominio e non pode ser borrado! (Borra primeiro os alias do dominio.)'; # XXX
$PALANG['pCreate_alias_address_text_error1'] = 'O ALIAS non é válido!';
$PALANG['alias_does_not_exist'] = 'Este alias non existe!'; # XXX
$PALANG['email_address_already_exists'] = '¡Esta dirección xa existe, elixa outra diferente por favor!'; # XXX check text - should be 'This email address already exists, please choose a different one\!'
$PALANG['pCreate_alias_address_text_error3'] = 'Chegou ao seu límite de creación de alias!';
$PALANG['pCreate_alias_goto_text'] = 'Onde debe de ser enviado o e-mail.';
$PALANG['pCreate_alias_goto_text_error'] = 'O PARA non é válido!';
$PALANG['pCreate_alias_result_error'] = 'Non é posible engadir o alias á táboa de alias! (%s)'; # XXX Text changed to: Creating the alias %s failed!
$PALANG['pCreate_alias_result_success'] = 'O alias foi engadido á táboa de alias!'; # XXX text change: 'The alias %s has been created!'
$PALANG['alias_updated'] = 'O alias %s foi actualizado!'; # XXX
$PALANG['pCreate_alias_catchall_text'] = 'Para crear un alias xeral use "*" como alias. Para unha redirección de dominio a dominio, use "*@domain.tld" como Destino.'; # XXX check/beautify - was split in two lines before
$PALANG['mailbox_alias_cant_be_deleted'] = 'Este alias pertence a un buzón e non pode borrarse!'; # XXX
$PALANG['protected_alias_cant_be_deleted'] = 'O alias %s está protexido e só pode ser borrado por un superadmin'; # XXX
$PALANG['pEdit_alias_welcome'] = 'Edite un alias para o seu dominio.'; # XXX Text change to: 'Edit forwarding settings'
$PALANG['pEdit_alias_help'] = 'Unha entrada por liña.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
$PALANG['alias'] = 'Alias';
$PALANG['to'] = 'Destino';
$PALANG['pEdit_alias_goto_text_error1'] = 'Non introduciu nada no destino';
$PALANG['pEdit_alias_goto_text_error2'] = 'A dirección de e-mail introducida non é válida: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Non se puido modificar o alias de dominio!';
$PALANG['pEdit_alias_forward_and_store'] = 'Entregar no buzón local.';
$PALANG['pEdit_alias_forward_only'] = 'Reenviar só ao email especificado.';
$PALANG['pEdit_alias_result_error'] = 'Imposible modificar o alias! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Crear un novo buzón para o seu dominio.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'O email non é válido!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Chegou ao límite de creación de buzóns!';
$PALANG['pCreate_mailbox_password_text'] = 'Contrasinal para POP3/IMAP';
$PALANG['pCreate_mailbox_result_error'] = 'Imposible engadir un buzón á táboa de buzóns! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'O buzón foi engadido á táboa de buzóns! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'O buzón %s foi engadido á táboa de buzóns, pero nengún (ou só algún) das subcarpetas predefinidas puideron ser creadas.'; # XXX
$PALANG['mailbox_updated'] = "O buzón %s fpoi actualizado."; # XXX
$PALANG['mailbox_update_failed'] = "A actualización do buzón %s fallou!"; # XXX
$PALANG['pEdit_mailbox_welcome'] = 'Editar un buzón para o seu dominio.';
$PALANG['pEdit_mailbox_username'] = 'Usuario';
$PALANG['pEdit_mailbox_password_text_error'] = 'Os contrasinais introducidos non coinciden!';
$PALANG['pEdit_mailbox_quota'] = 'Cota';
$PALANG['pEdit_mailbox_quota_text'] = 'MB';
$PALANG['mb_max'] = 'MB (max: %s)'; # XXX
$PALANG['pEdit_mailbox_quota_text_error'] = 'A cota especificada é demasiado alta!';
$PALANG['pEdit_mailbox_domain_error'] = 'Este dominio non lle pertence: ';
$PALANG['pEdit_mailbox_result_error'] = 'Imposible mudar o contrasinal!';
$PALANG['pPassword_welcome'] = 'Cambie o seu contrasinal de login.';
$PALANG['pPassword_password_text_error'] = 'Os contrasinais introducidos non coinciden ou están en branco!'; # XXX check/beautify - was split in two lines before
$PALANG['change_password'] = 'Cambiar contrasinal'; # XXX check text - should be 'Change Password'
$PALANG['pPassword_result_error'] = 'Imposible mudar o contrasinal! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'o seu contrasinal foi cambiado! (%s)'; # XXX Text changed to: The password for %s has been changed.
$PALANG['pPassword_recovery_title'] = 'Siga as instruccións para mudar o seu contrasinal.'; # XXX
$PALANG['pPassword_recovery_button'] = 'Enviar o código'; # XXX
$PALANG['pPassword_recovery_email_body'] = "Olá,\n\nUse a seguinte ligazón para mudar o seu contrasinal de correo :\n%s\n\nGrazas,\n\n" . $CONF['admin_name']; # XXX
$PALANG['pPassword_recovery_sms_body'] = "Olá,\nO código para mudar o seu contrasinal é: %s\n" . $CONF['admin_name']; # XXX
$PALANG['pPassword_recovery_processed'] = "Procesouse a súa petición. Se introduciu un usuario válido, recibirá un email/SMS con un código de contrasinal."; # XXX
$PALANG['pPassword_password_code'] = 'Código enviado por email/SMS'; # XXX
$PALANG['pEdit_vacation_set'] = 'Cambiar / Establecer mensaxe de ausencia';
$PALANG['pEdit_vacation_remove'] = 'Quitar mensaxe de ausencia';
$PALANG['pVacation_result_error'] = 'Imposible actualizar a configuración e a resposta automática! (%s)'; # XXX Text changed to: Updating the auto response settings for %s failed
$PALANG['pVacation_result_removed'] = 'Autoresposta eliminada! (%s)'; # XXX Text changed to "Auto response for %s has been disabled!"
$PALANG['pVacation_result_added'] = 'Autoresposta habilitada! (%s)'; # XXX Text changed to "Auto response for %s has been enabled!"
$PALANG['pVacation_reply_type'] = 'Escolla de resposta'; # XXX
$PALANG['pVacation_reply_delay_time'] = 'Intervalo de tempo'; # XXX
$PALANG['pVacation_reply_delay_time_text'] = 'Tempo en segundos'; # XXX
$PALANG['pVacation_until_before_today'] = 'The Date of [Active until] is set before Today'; # XXX
$PALANG['pVacation_until_before_from'] = 'The Date of [Active until] is set before [Active from]'; # XXX
$PALANG['reply_once'] = 'Respostar unha vez'; # XXX
$PALANG['reply_every_mail'] = 'Respostar cada email'; # XXX
$PALANG['reply_once_per_day'] = 'Respostar unha vez ao día'; # XXX
$PALANG['reply_once_per_week'] = 'Respostar unha vez á semana'; # XXX
$PALANG['pViewlog_welcome'] = 'Ver as últimas %s accións para ';
$PALANG['pAdminCreate_domain_result_error'] = 'Imposible engadir o dominio! (%s)'; # XXX Text changed to: Adding the domain %s failed!
$PALANG['pAdminCreate_domain_result_success'] = 'O dominio foi añadido! (%s)'; # XXX Text changed to: The domain %s has been added.
$PALANG['domain_updated'] = 'O dominio %s foi actualizado.'; # XXX
$PALANG['pAdminDelete_admin_error'] = 'Non se puido borrar admin!'; # XXX
$PALANG['domain_postdel_failed'] = 'Non se puido borrar o dominio!'; # XXX Text changed to: The domain postdeletion script failed, check the error log for details!
$PALANG['domain_postcreate_failed'] = 'Fallou o script executado despois da creación do dominio, revise o log!'; # XXX
$PALANG['mailbox_postdel_failed'] = 'Fallou o script executado despois do borrado do buzón, revise o log!'; # XXX
$PALANG['mailbox_postedit_failed'] = 'Fallou o script executado despois da edición do buzón, revise o log!'; # XXX
$PALANG['mailbox_postcreate_failed'] = 'Fallou o script executado despois da creación do buzón, revise o log!'; # XXX
$PALANG['pAdminDelete_alias_domain_error'] = 'Non se puido eliminar o alias do dominio!';
$PALANG['domain_conflict_vacation_domain'] = 'Non pode usar o dominio de ausencia como dominio de correo!'; # XXX
$PALANG['pAdminEdit_domain_welcome'] = 'Editar un dominio';
$PALANG['pUsersVacation_welcome_text'] = 'Xa dispón dunha resposta automática configurada! (%s)'; # XXX Text changed to: 'Auto response for %s is active!'
$PALANG['pUsersVacation_subject_text'] = 'Fóra do traballo';
$PALANG['message'] = 'Mensaxe';
$PALANG['pUsersVacation_body_text'] = <<<EOM
Estarei fóra desde <date> ata <date>.
Para asuntos urxentes, pode contactar comigo en <contact person>.
$PALANG['password_too_short'] = "O contrasinal é demasiado corto - necesitanse %s caracteres";
$PALANG['password_no_characters'] = "O contrasinal debe conter ao menos %s letras (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "O contrasinal debe conter ao menos %s díxito(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "O nome de dominio %s é inválido, non se axusta á expresión regular";
$PALANG['pInvalidDomainDNS'] = "O dominio %s non é válido, e/ou non ten resolución DNS";
$PALANG['pInvalidMailRegex'] = "A dirección de email non é válida, non se axusta á expresión regular (%s)"; # XXX %s added - but it should be in the text, not at the end
$PALANG['pFetchmail_welcome'] = 'Obter mail para:';
$PALANG['pFetchmail_new_entry'] = 'Nova entrada';
$PALANG['fetchmail_already_exists'] = 'Esta tarefa de fetchmail xa existe!'; # XXX
$PALANG['fetchmail_does_not_exist'] = 'Esta tarefa de fetchmail non existe!'; # XXX
$PALANG['pFetchmail_database_save_error'] = 'Non se puido gardar a entrada na base de datos!';
$PALANG['pFetchmail_database_save_success'] = 'Entrada gardada na base de datos.';
$PALANG['pFetchmail_error_invalid_id'] = 'Non se atopou rexistro co ID %s!'; # XXX
$PALANG['pFetchmail_desc_date'] = 'Data do último sondeo/cambio na configuración';
$PALANG['pFetchmail_desc_returned_text'] = 'Mensaxe do último sondeo';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['password_expiration'] = 'Expiración de contrasinal'; # XXX
$PALANG['password_expiration_desc'] = 'Data na que expirará o contrasinal'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */
@ -392,6 +398,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -406,6 +412,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -393,6 +399,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['password_no_characters'] = "パスワードには、少なくとも %s 個の英字がなくてはなりません。"; # XXX text changed to "Your password must contain at least %s letters (A-Z, a-z)."
@ -399,6 +405,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -394,6 +400,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -394,6 +400,8 @@ $PALANG['pFetchmail_desc_date'] = 'Dato for siste spørring/konfigur
$PALANG['pFetchmail_desc_returned_text'] = 'Tekstmelding fra siste spørring';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['password_too_short'] = "Wachtwoord is te kort - moet minimaal %s karakters bevatten";
$PALANG['password_no_characters'] = "Je wachtwoord moet minimaal %s karakter(s) bevatten.";
$PALANG['password_no_characters'] = "Je wachtwoord moet minimaal %s karakter(s) bevatten."; # XXX text changed to "Your password must contain at least %s letters (A-Z, a-z)."
$PALANG['password_no_digits'] = "Je wachtwoord moet minimaal %s getal(len) bevatten.";
$PALANG['pInvalidDomainRegex'] = "Ongeldig domein naam %s";
$PALANG['pFetchmail_desc_src_port'] = 'Remote port number, if a non-standard remote port is needed. (0: use default)'; # XXX
$PALANG['pFetchmail_desc_src_auth'] = 'In de meeste gevallen \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Gebruiker op andere server.';
$PALANG['pFetchmail_desc_src_password'] = 'Wachtwoord op andere server.';
@ -395,6 +401,8 @@ $PALANG['pFetchmail_desc_date'] = 'datum van de laatste berichtencon
$PALANG['pFetchmail_desc_returned_text'] = 'text bericht van de laatste berichtencontrole.';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -393,6 +399,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -399,6 +405,8 @@ $PALANG['pFetchmail_desc_date'] = 'Data ostatniego sprawdzenia/zmian
$PALANG['pFetchmail_desc_returned_text'] = 'Wiadomość tekstowa z ostatniego sprawdzenia';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -406,6 +412,8 @@ $PALANG['pFetchmail_desc_date'] = 'Data da última checagem/mudança
$PALANG['pFetchmail_desc_returned_text'] = 'Mensagem de texto da última checagem';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['password_too_short'] = "Parola prea scurta - minim %s caractere";
$PALANG['password_no_characters'] = "Parola trebuie sa contina cel putin %s litere.";
$PALANG['password_no_characters'] = "Parola trebuie sa contina cel putin %s litere."; # XXX text changed to "Your password must contain at least %s letters (A-Z, a-z)."
$PALANG['password_no_digits'] = "Parola trebuie sa contina cel putin %s cifre.";
$PALANG['confirm'] = 'Вы уверены, что хотите удалить это?\n';
$PALANG['confirm_delete_admin'] = 'Do you really want to delete the admin %s?'; # XXX
$PALANG['confirm_delete_alias'] = 'Do you really want to delete the alias %s?'; # XXX
$PALANG['confirm_delete_aliasdomain'] = 'Do you really want to delete the alias domain %s?'; # XXX
$PALANG['confirm_delete_domain'] = 'Вы действительно хотите удалить все настройки для домена? Это действие нельзя будет отменить!\n (%s)'; # XXX text changed to: 'Do you really want to delete all records for the domain %s? This can not be undone'
$PALANG['confirm_delete_fetchmail'] = 'Do you really want to delete the fetchmail job %s?'; # XXX
$PALANG['confirm_delete_mailbox'] = 'Do you really want to delete the mailbox %s?'; # XXX
$PALANG['confirm_delete_vacation'] = 'Do you really want to delete the vacation message for %s?'; # XXX
$PALANG['no_delete_permissions'] = 'You are not allowed to delete %s!'; # XXX
$PALANG['confirm_delete_admin'] = 'Вы действительно хотите удалить админа %s?';
$PALANG['confirm_delete_alias'] = 'Вы действительно хотите удалить алиас %s?';
$PALANG['confirm_delete_aliasdomain'] = 'Вы действительно хотите удалить алиас домена %s?';
$PALANG['confirm_delete_domain'] = 'Вы действительно хотите удалить все записи домена %s? Это действие нельзя будет отменить!';
$PALANG['confirm_delete_fetchmail'] = 'Вы действительно хотите удалить задание fetchmail %s?';
$PALANG['confirm_delete_mailbox'] = 'Вы действительно хотите удалить почтовый ящик %s?';
$PALANG['confirm_delete_vacation'] = 'Вы действительно хотите удалить сообщение автоответчика для %s?';
$PALANG['no_delete_permissions'] = 'Вы не можете удалить %s!';
$PALANG['no_domains_for_this_admin'] = 'У вас нет разрешений ни на один домен.';
$PALANG['no_domains_exist'] = 'Вам нужно создать хотя бы один домен, чтобы использовать обзор.'; # "virtual list" should match $PALANG['pAdminMenu_list_virtual']
$PALANG['no_domains_exist'] = 'Вам нужно создать хотя бы один домен, прежде чем вы сможете использовать обзор.'; # "virtual list" should match $PALANG['pAdminMenu_list_virtual']
$PALANG['alias_domain_already_exists'] = 'This domain is already an alias domain!'; # XXX
$PALANG['alias_domain_does_not_exist'] = 'This domain isn\'t an alias domain!'; # XXX
$PALANG['alias_domain_create_failed'] = 'Не удалось добавить запись в базу данных. (%s)'; # XXX Text changed to: Creating the alias domain %s failed!
$PALANG['alias_domain_change_failed'] = 'Changing the alias domain %s failed!'; # XXX
$PALANG['pCreate_alias_domain_error4'] = 'Все домены уже задействованы в доменах-алиасах.';
$PALANG['pCreate_alias_domain_success'] = 'Домен-алиас добавлен в таблицу доменов-алиасов! (%s)'; # XXX Text changed to: The alias domain %s has been created.
$PALANG['alias_domain_changed'] = 'The alias domain %s has been changed.'; # XXX
$PALANG['alias_domain_to_itsself'] = 'A domain can\'t be an alias domain to itsself!'; # XXX
$PALANG['delete_domain_aliasdomain_target'] = 'The domain %s is the target for one or more alias domains and can\'t be deleted! (Delete the alias domains first.)'; # XXX
$PALANG['alias_domain_already_exists'] = 'Указанный домен уже является алиасом домена!';
$PALANG['alias_domain_does_not_exist'] = 'Указанный домен не является алиасом домена!';
$PALANG['alias_domain_create_failed'] = 'Не удалось создать алиас домена %s!';
$PALANG['alias_domain_change_failed'] = 'Не удалось изменить алиас домена %s!';
$PALANG['pCreate_alias_domain_error4'] = 'Все домены уже задействованы в алиасах доменов.';
$PALANG['pCreate_alias_domain_success'] = 'Алиас домена %s успешно создан.';
$PALANG['alias_domain_changed'] = 'Алиас домена %s успешно изменен.';
$PALANG['alias_domain_to_itsself'] = 'Домен не может быть алиасом для самого себя!';
$PALANG['delete_domain_aliasdomain_target'] = 'Домен %s является целевым для одного или нескольких алиасов доменов и не может быть удален! (Сначала удалите алиасы доменов.)';
$PALANG['pCreate_alias_address_text_error1'] = 'Неверное имя алиаса!';
$PALANG['alias_does_not_exist'] = 'This alias does not exist!'; # XXX
$PALANG['email_address_already_exists'] = 'Этот почтовый адрес уже существует, пожалуйста, выберите другой.'; # XXX check text - should be 'This email address already exists, please choose a different one\!'
$PALANG['alias_does_not_exist'] = 'Указанный алиас не существует!';
$PALANG['email_address_already_exists'] = 'Указанный почтовый адрес уже существует, пожалуйста, выберите другой!';
$PALANG['pCreate_alias_address_text_error3'] = 'Вы достигли лимита по созданным алиасам!';
$PALANG['pCreate_alias_goto_text'] = 'Куда должна доставляться почта.';
$PALANG['pCreate_alias_goto_text_error'] = 'Неверное поле Кому!';
$PALANG['pCreate_alias_result_error'] = 'Невозможно добавить алиас в список! (%s)'; # XXX Text changed to: Creating the alias %s failed!
$PALANG['pCreate_alias_result_success'] = 'Алиас был успешно создан!'; # XXX text change: 'The alias %s has been created!'
$PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
$PALANG['pCreate_alias_result_error'] = 'Не удалось создать алиас %s!';
$PALANG['pCreate_alias_result_success'] = 'Алиас %s успешно создан!';
$PALANG['alias_updated'] = 'Алиас %s успешно обновлен!';
$PALANG['pCreate_alias_catchall_text'] = 'Для создания catch-all почтового ящика используйте "*" в качестве имени алиаса.'; # XXX don't propagate usage of *@target-domain.com for domain-aliasing any longer
$PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
$PALANG['mailbox_alias_cant_be_deleted'] = 'Указанный алиас ссылается на почтовый ящик и не может быть удален!';
$PALANG['protected_alias_cant_be_deleted'] = 'Алиас %s защищен и может быть удален только суперадмином';
$PALANG['pCreate_mailbox_result_error'] = 'Невозможно добавить ящик в список существующих ящиков! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Почтовый ящик был успешно создан! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'Почтовый ящик был успешно создан, но в нем не удалось создать (некоторые) стандартные папки (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table, but none (or only some) of the predefined sub-folders could be created.
$PALANG['mailbox_updated'] = "The mailbox %s has been updated."; # XXX
$PALANG['mailbox_update_failed'] = "Updating the mailbox %s failed!"; # XXX
$PALANG['pCreate_mailbox_result_error'] = 'Не удалось создать почтовый ящик %s!';
$PALANG['pCreate_mailbox_result_success'] = 'Почтовый ящик %s успешно добавлен в список существующих ящиков!';
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'Почтовый ящик %s успешно добавлен в список существующих ящиков, но в нем не удалось создать некоторые стандартные папки.';
$PALANG['mailbox_updated'] = "Почтовый ящик %s успешно обновлен.";
$PALANG['mailbox_update_failed'] = "Не удалось обновить почтовый ящик %s!";
$PALANG['pEdit_mailbox_welcome'] = 'Редактирование ящика для вашего домена.';
$PALANG['pPassword_password_text_error'] = 'Введенные вами пароли не совпадают либо пусты!';
$PALANG['change_password'] = 'Изменить пароль';
$PALANG['pPassword_result_error'] = 'Невозможно изменить ваш пароль! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Ваш пароль был изменен! (%s)'; # XXX Text changed to: The password for %s has been changed.
$PALANG['pPassword_recovery_title'] = 'Follow the instructions to reset your password.'; # XXX
$PALANG['pPassword_recovery_button'] = 'Send me the code'; # XXX
$PALANG['pPassword_recovery_email_body'] = "Hello,\n\nUse the following link to change your email password :\n%s\n\nRegards,\n\n" . $CONF['admin_name']; # XXX
$PALANG['pPassword_recovery_sms_body'] = "Hello,\nThe code to change your password is: %s\n" . $CONF['admin_name']; # XXX
$PALANG['pPassword_recovery_processed'] = "We processed your request. If you entered a valid username, you'll receive an email/SMS with a password code."; # XXX
$PALANG['pPassword_password_code'] = 'Code sent by email/SMS'; # XXX
$PALANG['pPassword_result_error'] = 'Не удалось изменить пароль для %s!';
$PALANG['pPassword_result_success'] = 'Пароль для %s успешно изменен.';
$PALANG['pPassword_recovery_title'] = 'Следуйте инструкциям для сброса вашего пароля.';
$PALANG['pPassword_recovery_button'] = 'Прислать мне код';
$PALANG['pPassword_recovery_email_body'] = "Здравствуйте!\n\nИспользуйте следующую ссылку для изменения вашего пароля от электронной почты:\n%s\n\nС уважением,\n\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_sms_body'] = "Здравствуйте!\nКод для изменения вашего пароля: %s\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_processed'] = "Мы обработали ваш запрос. Если вы ввели корректное имя пользователя, вы получите письмо/SMS с кодовым словом.";
$PALANG['pPassword_password_code'] = 'Код отправлен по почте/SMS';
$PALANG['pEdit_vacation_set'] = 'Поменять / задать сообщение об отсутствии';
$PALANG['pEdit_vacation_remove'] = 'Убрать сообщение об отсутствии';
$PALANG['pVacation_result_error'] = 'Невозможно обновить настройки автоответчика! (%s)'; # XXX Text changed to: Updating the auto response settings for %s failed
$PALANG['pVacation_result_error'] = 'Не удалось обновить настройки автоответчика для %s!';
$PALANG['pVacation_result_removed'] = 'Автоответчик для %s отключен!';
$PALANG['pVacation_result_added'] = 'Автоответчик для %s включен!';
$PALANG['pVacation_reply_type'] = 'Choice of reply'; # XXX
$PALANG['domain_postdel_failed'] = 'Невозможно удалить домен!'; # XXX Text changed to: The domain postdeletion script failed, check the error log for details!
$PALANG['domain_postcreate_failed'] = 'The domain postcreate script failed, check the error log for details!'; # XXX
$PALANG['mailbox_postdel_failed'] = 'The mailbox postdeletion script failed, check the error log for details!'; # XXX
$PALANG['mailbox_postedit_failed'] = 'The mailbox postedit script failed, check the error log for details!'; # XXX
$PALANG['mailbox_postcreate_failed'] = 'The mailbox postcreate script failed, check the error log for details!'; # XXX
$PALANG['password_too_short'] = "Пароль слишком короткий - требуется %s символов";
$PALANG['password_too_short'] = "Пароль слишком короткий: требуется %s символов";
$PALANG['password_no_characters'] = "Ваш пароль должен содержать не менее %s символов.";
$PALANG['password_no_digits'] = "Ваш пароль должен содержать не менее %s цифр(ы).";
$PALANG['pInvalidDomainRegex'] = "Некорректное имя домена %s, не соответствует регулярному выражению";
$PALANG['pInvalidDomainDNS'] = "Некорректный домен %s, и/или не обнаруживается в DNS";
$PALANG['pInvalidMailRegex'] = "Некорректный адрес e-mail, не соответствует регулярному выражению (%s)"; # XXX %s added - but it should be in the text, not at the end
$PALANG['pInvalidMailRegex'] = "Некорректный email %s, не соответствует регулярному выражению";
$PALANG['pFetchmail_desc_date'] = 'Дата последнего опроса/изменения конфигурации';
$PALANG['pFetchmail_desc_returned_text'] = 'Текст отчета о последнем опросе';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['dateformat_pgsql'] = 'dd.mm.YYYY'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format
$PALANG['dateformat_mysql'] = '%d.%m.%Y'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format
$PALANG['password_too_short'] = "Heslo je príliš krátke - musí mať aspoň %s znakov";
$PALANG['password_no_characters'] = "Heslo musí obsahovať aspoň %s písmen.";
$PALANG['password_no_characters'] = "Heslo musí obsahovať aspoň %s písmen."; # XXX text changed to "Your password must contain at least %s letters (A-Z, a-z)."
$PALANG['password_no_digits'] = "Heslo musí obsahovať aspoň %s číslic.";
$PALANG['pInvalidDomainRegex'] = "Neplatný názov domény %s";
$PALANG['pInvalidDomainDNS'] = "Neplatná doména %s alebo neexistuje jej DNS záznam";
@ -393,6 +399,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['password_too_short'] = "För kort lösenord - ett lösenord på %s tecken krävs";
$PALANG['password_no_characters'] = "Lösenordet måste innehålla minst %s tecken.";
$PALANG['password_no_characters'] = "Lösenordet måste innehålla minst %s tecken."; # XXX text changed to "Your password must contain at least %s letters (A-Z, a-z)."
$PALANG['password_no_digits'] = "Lösenordet måste innehålla minst %s siffra/siffror.";
$PALANG['pInvalidDomainRegex'] = "Regexp-kollen misslyckas på domänen %s";
$PALANG['pInvalidDomainDNS'] = "Domänen %s finns inte i DNS";
@ -371,6 +375,7 @@ $PALANG['pFetchmail_password_missing'] = 'Var snäll och fyll i lösenordet till
@ -406,6 +412,8 @@ $PALANG['pFetchmail_desc_returned_text'] = 'Textmeddelande från senaste kont
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
$PALANG['confirm_delete_admin'] = 'Do you really want to delete the admin %s?'; # XXX
$PALANG['confirm_delete_alias'] = 'Do you really want to delete the alias %s?'; # XXX
$PALANG['confirm_delete_aliasdomain'] = 'Do you really want to delete the alias domain %s?'; # XXX
$PALANG['confirm_delete_domain'] = 'Bu domain için tüm kayýtlarý silmek istediðinizden emin misiniz? Bu iþlem geri alýnamaz!\n (%s)'; # XXX text changed to: 'Do you really want to delete all records for the domain %s? This can not be undone'
$PALANG['confirm_delete_fetchmail'] = 'Do you really want to delete the fetchmail job %s?'; # XXX
$PALANG['confirm_delete_mailbox'] = 'Do you really want to delete the mailbox %s?'; # XXX
$PALANG['confirm_delete_vacation'] = 'Do you really want to delete the vacation message for %s?'; # XXX
$PALANG['no_delete_permissions'] = 'You are not allowed to delete %s!'; # XXX
$PALANG['check_update'] = 'Check for update'; # XXX
$PALANG['confirm_delete_domain'] = 'Bu domain için tüm kayıtları silmek istediğinizden emin misiniz? Bu işlem geri alınamaz!\n (%s)'; # XXX text changed to: 'Do you really want to delete all records for the domain %s? This can not be undone'
$PALANG['no_domains_for_this_admin'] = 'You don\'t have permissions for any domains.'; # XXX
$PALANG['no_domains_exist'] = 'You have to create at least one domain before you can use virtual list.'; # "virtual list" should match $PALANG['pAdminMenu_list_virtual'] # XXX
$PALANG['pOverview_vacation_edit'] = 'TATİL MODU AÇIK';
$PALANG['pOverview_vacation_option'] = 'Tatil Modu Ayarla';
$PALANG['no_domains_for_this_admin'] = 'Herhangi bir domain için yetkiniz yok.';
$PALANG['no_domains_exist'] = 'Sanal liste kullanabilmeniz için en az bir domain oluşturmalısınız.'; # "virtual list" should match $PALANG['pAdminMenu_list_virtual']
$PALANG['pCreate_alias_domain_target_text'] = 'The domain where mails should go to.'; # XXX
$PALANG['pCreate_alias_domain_error1'] = 'You are not allowed to create the chosen configuration.'; # XXX
$PALANG['pCreate_alias_domain_error2'] = 'The chosen configuration is invalid, please choose a different one!'; # XXX
$PALANG['alias_domain_already_exists'] = 'This domain is already an alias domain!'; # XXX
$PALANG['alias_domain_does_not_exist'] = 'This domain isn\'t an alias domain!'; # XXX
$PALANG['alias_domain_create_failed'] = 'Creating the alias domain %s failed!'; # XXX
$PALANG['alias_domain_change_failed'] = 'Changing the alias domain %s failed!'; # XXX
$PALANG['pCreate_alias_domain_error4'] = 'All domains are already aliased.'; # XXX
$PALANG['pCreate_alias_domain_success'] = 'The alias domain %s has been created.'; # XXX
$PALANG['alias_domain_changed'] = 'The alias domain %s has been changed.'; # XXX
$PALANG['alias_domain_to_itsself'] = 'A domain can\'t be an alias domain to itsself!'; # XXX
$PALANG['delete_domain_aliasdomain_target'] = 'The domain %s is the target for one or more alias domains and can\'t be deleted! (Delete the alias domains first.)'; # XXX
$PALANG['alias_domain_to_itsself'] = 'Bir domain, kendi alias domaini olamaz!';
$PALANG['delete_domain_aliasdomain_target'] = 'Domaininiz %s bir veya birden fazla alias domaini olarak kayıtlı, ve silinemez. (Öncelikle alias domainleri siliniz.)';
$PALANG['pCreate_alias_address_text_error1'] = 'ALIAS uygun deðil!';
$PALANG['alias_does_not_exist'] = 'This alias does not exist!'; # XXX
$PALANG['email_address_already_exists'] = 'Bu e-posta zaten kullanýlýyor, lütfen baþka bir tane seçin!'; # XXX check text - should be 'This email address already exists, please choose a different one\!'
$PALANG['pCreate_alias_goto_text'] = 'E-postanýn gitmesi gereken yer.';
$PALANG['pCreate_alias_goto_text_error'] = 'Kime alaný uygun deðil!';
$PALANG['pCreate_alias_result_error'] = 'Alias\'ý alias tabþlosuna eklenemedi! (%s)'; # XXX Text changed to: Creating the alias %s failed!
$PALANG['pCreate_alias_result_success'] = 'Alias tabloya eklendi!'; # XXX text change: 'The alias %s has been created!'
$PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
$PALANG['pCreate_alias_catchall_text'] = 'Hepsini-yakala yaratmak için alias olarak "*" kullanýn. Domain yönlendirme domaini için kime kýsmýnda "*@domain.tld" kullanýn.'; # XXX check/beautify - was split in two lines before
$PALANG['mailbox_alias_cant_be_deleted'] = 'This alias belongs to a mailbox and can\'t be deleted!'; # XXX
$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
$PALANG['pCreate_alias_address_text_error1'] = 'ALIAS uygun değil!';
$PALANG['alias_does_not_exist'] = 'Bu alias mevcut değil!';
$PALANG['email_address_already_exists'] = 'Bu e-posta zaten kullanılıyor, lütfen başka bir tane seçin!'; # XXX check text - should be 'This email address already exists, please choose a different one\!'
$PALANG['pCreate_alias_catchall_text'] = 'Tümünü-yakala oluşturmak için alias olarak "*" kullanın. Domain yönlendirme domaini için kime kısmında "*@domain.tld" kullanın.'; # XXX check/beautify - was split in two lines before
$PALANG['mailbox_alias_cant_be_deleted'] = 'Bu alias, sistemde kayıtlı bir e-posta hesabına ait ve silinemez!';
$PALANG['protected_alias_cant_be_deleted'] = '%s isimli alias korumalı olarak ayarlı ve ancak bir süper yönetici tarafından silinebilir';
$PALANG['pEdit_alias_welcome'] = 'domaniniz için bir domain\'i düzenleyin. '; # XXX Text change to: 'Edit forwarding settings'
$PALANG['pEdit_alias_help'] = 'Satýr baþýna bir giriþ.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
$PALANG['pEdit_alias_welcome'] = 'Yönlendirme ayarlarını düzenleyin. '; # XXX Text change to: 'Edit forwarding settings'
$PALANG['pEdit_alias_help'] = 'Her bir satıra bir giriş şeklinde, çoklu hedefler kabul edilir.'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
$PALANG['alias'] = 'Alias';
$PALANG['to'] = 'Kime'; # XXX check text - should be 'To'
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Posta kutusu yarat'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Posta kutusu posta kutusu tablosuna eklenemiyor! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Posta kutusu tabloya eklendi! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'The mailbox %s has been added to the mailbox table, but none (or only some) of the predefined sub-folders could be created.'; # XXX
$PALANG['mailbox_updated'] = "The mailbox %s has been updated."; # XXX
$PALANG['mailbox_update_failed'] = "Updating the mailbox %s failed!"; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Şifrenizi unuttuğunuzda kullanılması için";
$PALANG['pCreate_mailbox_mail'] = 'Hoş Geldin e-posta iletisi gönder'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'E-posta hesabı oluşturulamadı: %s'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'E-posta hesabı, e-posta tablolarına eklendi! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'E-posta hesabı %s e-posta tablolar listesine kaydedildi, fakat hiçbir (veya bir takım) ön tanımlı alt-klasörler oluşturulamadı.';
$PALANG['pPassword_password_text_error'] = 'Verdiðiniz þifreler birbirini tutmuyor! Ya da boþ!'; # XXX check/beautify - was split in two lines before
$PALANG['change_password'] = 'Þifreyi deðiþtir'; # XXX check text - should be 'Change Password'
$PALANG['pPassword_result_error'] = 'Þifreniz deðiþtirilemedi! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'þifreniz deðiþtirildi! (%s)'; # XXX Text changed to: The password for %s has been changed.
$PALANG['pPassword_recovery_title'] = 'Follow the instructions to reset your password.'; # XXX
$PALANG['pPassword_recovery_button'] = 'Send me the code'; # XXX
$PALANG['pPassword_recovery_email_body'] = "Hello,\n\nUse the following link to change your email password :\n%s\n\nRegards,\n\n" . $CONF['admin_name']; # XXX
$PALANG['pPassword_recovery_sms_body'] = "Hello,\nThe code to change your password is: %s\n" . $CONF['admin_name']; # XXX
$PALANG['pPassword_recovery_processed'] = "We processed your request. If you entered a valid username, you'll receive an email/SMS with a password code."; # XXX
$PALANG['pPassword_password_code'] = 'Code sent by email/SMS'; # XXX
$PALANG['pPassword_password_text_error'] = 'Girdiğiniz şifreler birbirini tutmuyor! Veya boş!'; # XXX check/beautify - was split in two lines before
$PALANG['change_password'] = 'Şifreyi değiştir'; # XXX check text - should be 'Change Password'
$PALANG['pPassword_result_error'] = 'Şifreniz değiştirilemedi! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Şifreniz değiştirildi! (%s)'; # XXX Text changed to: The password for %s has been changed.
$PALANG['pPassword_recovery_title'] = 'Şifrenizi sıfırlamak için yönergeleri izleyin.';
$PALANG['pPassword_recovery_button'] = 'Bana kodu gönder';
$PALANG['pPassword_recovery_email_body'] = "Merhaba,\n\nE-posta hesabınızın şifresini değiştirmek için şu linki kullanın: \n%s\n\nSaygılarımızla,\n\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_sms_body'] = "Merhaba,\nŞifrenizi değiştirebilmeniz için gerekli kod: %s\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_processed'] = "Talebiniz gerçekleştirildi. Şayet geçerli bir kullanıcı adı girdiyseniz, şifre kodunuzu e-posta veya SMS ile alacaksınız.";
$PALANG['pPassword_password_code'] = 'Kod tarafınıza e-posta veya SMS yoluyla gönderildi';
$PALANG['super_admin_desc'] = 'Super admins have access to all domains, can manage domains and admin accounts.'; # XXX
$PALANG['password_again'] = 'Şifre (tekrar)';
$PALANG['super_admin'] = 'Süper admin';
$PALANG['super_admin_desc'] = 'Süper admin yöneticiler, tüm domainler üzerinde yetkilidirler, tüm domainleri ve yönetici admin hesaplarını düzenleyebilirler.';
$PALANG['pAdminEdit_admin_result_error'] = 'Yönetici düzenlenemedi! (%s)'; # XXX Text changed to: Modifying the admin %s failed!
$PALANG['pAdminEdit_admin_result_success'] = 'Yönetici düzenlendi! (%s)'; # XXX Text changed to: The admin %s has been modified.
$PALANG['pUsersLogin_welcome'] = 'Posta kutusu sahipleri, þifre ddeðiþtirmek için giriþ yapýn.';
$PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuration change'; # XXX
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX
@ -395,6 +401,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuratio
$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format # XXX
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format # XXX