Compare commits

...

659 Commits

Author SHA1 Message Date
David Goodwin 864065cd37 fix MailboxHandler -> adding mailbox with empty quota field 4 years ago
David Goodwin 192c797fe1 add a support block to compoer.json 4 years ago
David Goodwin 052f2faffb do not fail on error from coveralls 4 years ago
David Goodwin 85e15790bb should fix: #351 4 years ago
Christian Boltz ad4142134a
merge __parseParams() into parseParams() 4 years ago
Christian Boltz 9833a8f289
whitespace fix in __parseParams() 4 years ago
Christian Boltz 4e9e3db75d
Fix parameter parsing for '-1'
'--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.
4 years ago
David Goodwin fc464d6e69 update INSTALL.TXT - see also #349 4 years ago
David Goodwin df9a400ea2 remove debug stuff 4 years ago
David Goodwin fd48714615 fix issue reported with __LANG.$var - 844840c6a8 (commitcomment-38653465) 4 years ago
Christian Boltz 44c3ac5e20
language-update.sh: silence warning about undefined $CONF variable
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']
4 years ago
David Goodwin be0105b33e
Merge pull request #348 from Jolly-Pirate/patch-1
Flush privileges
4 years ago
drakos f17c722f0b
Flush privileges
Must `FLUSH PRIVILEGES;` after granting.
4 years ago
David Goodwin 844840c6a8 simplify Config use; drop support for dotty name notation which we are not using 4 years ago
David Goodwin e4158d6d7e psalm fix 4 years ago
David Goodwin f8415eef2a remove cache suppression 4 years ago
David Goodwin ffc7787b76 psalm fix 4 years ago
David Goodwin 3cd62f9f4f update to phpunit v8, try changing coveralls library, update github action 4 years ago
David Goodwin 5e8ce2b5b0 move to php-parallel-lint/php-parallel-lint rather than abandoned jakuk-onderka/php-parallel-lint 4 years ago
David Goodwin c69211ca5f Merge remote-tracking branch 'origin/master' 4 years ago
David Goodwin eea72e0019 check for PDO modules in setup.php, not old style functions 4 years ago
Christian Boltz 3b704715dc
setup.php: replace last mentions of php5 with php7 4 years ago
David Goodwin dec4b38f35 improve langauge checks (remove unnecessary is_string check) 4 years ago
Christian Boltz 531a52e053
remove superfluous code in check_language()
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'].
4 years ago
Christian Boltz 4d10a2c4bb
remove obsolete translation markers from tr.lang 4 years ago
David Goodwin d81363541a fix psalm 4 years ago
David Goodwin 338fb8c564 Fix quota storage; see https://github.com/postfixadmin/postfixadmin/issues/342 4 years ago
David Goodwin d3295a59bb format 4 years ago
David Goodwin d540d904db cast mailbox['quota'] to be integer.
see:  https://github.com/postfixadmin/postfixadmin/issues/342
4 years ago
David Goodwin 3303f25bcc add some php 7+ array type hints. 4 years ago
David Goodwin 1c0fd02323 composer format time 4 years ago
David Goodwin d6869a4d35 update CHANGELOG.TXT, some stuff probably missing 4 years ago
David Goodwin 3b9d8f867e merge sha512.b64 encrypt support - see https://github.com/postfixadmin/postfixadmin/issues/58 4 years ago
David Goodwin 48e236ffc0 use hash_equals for login - see: https://github.com/postfixadmin/postfixadmin/issues/58 4 years ago
David Goodwin dd52a98d43 prefer POST/COOKIE lang over browser http header - see: https://github.com/postfixadmin/postfixadmin/issues/28 4 years ago
David Goodwin 8f20c96278 see: https://github.com/postfixadmin/postfixadmin/issues/101 - in Debian Buster, /var/lock is writeable by anyone, /var/run is not... both are tmpfs 4 years ago
David Goodwin fefe3f7df5 default domain_quota_default to -1 if not specified - see https://github.com/postfixadmin/postfixadmin/issues/299 4 years ago
David Goodwin d2b8f7ac15 might fix: https://github.com/postfixadmin/postfixadmin/issues/306 4 years ago
David Goodwin 8754af58cb fix undefined variables (psalm) 4 years ago
David Goodwin 3b1fffdf22 merge in patch from @jackdeguest - see https://github.com/postfixadmin/postfixadmin/issues/337 4 years ago
David Goodwin 5e1a4e27dd ensure edit works 4 years ago
David Goodwin e49c25139e ignore coveralls erroring 4 years ago
David Goodwin 7f58163d65 update README.md 4 years ago
David Goodwin 70fe1f93f2 rename build 4 years ago
David Goodwin 50bbae62f4
switch from travis to github action 4 years ago
David Goodwin 591ea333ea drop caching; we as we do not add composer.lock to git anyway 4 years ago
David Goodwin 22bb34ff60 try this 4 years ago
David Goodwin a00e551a8a try adding composer caching 4 years ago
David Goodwin 71966ce917 Revert "drop coveralls"
This reverts commit b6c7d1418d.
4 years ago
David Goodwin 3809cf905f rinse repeat 4 years ago
David Goodwin fddd450df0 rinse, repeat 4 years ago
David Goodwin cd6386bdea - => _ 4 years ago
David Goodwin 6c3d595c0b coverage.xml 4 years ago
David Goodwin e661f2445a coveralls test - see af8a5e1ebf/.github/workflows/build.yml and https://github.com/php-coveralls/php-coveralls/issues/273 4 years ago
David Goodwin b6c7d1418d drop coveralls 4 years ago
David Goodwin 2444b0c16b Revert "try updating coveralls"
This reverts commit cffcd1c4ec.
4 years ago
David Goodwin cffcd1c4ec try updating coveralls 4 years ago
David Goodwin 79ee5f82cb add a far better MailboxHandler test case 4 years ago
David Goodwin 01b4d6c587 cleanup db after running 4 years ago
David Goodwin 30f97c97ee avoid: A non-numeric value encountered errors from no quota being specified 4 years ago
David Goodwin 6a7abbe663 fix formatting 4 years ago
David Goodwin 28a3f5f157 better testing 4 years ago
David Goodwin a4afebbe77 verify ssl certs when connecting to the db by default (we also do if this setting is not present) 4 years ago
David Goodwin 6edbda45e2
Merge pull request #321 from adrium/transport-map-support
POSTFIX_CONF.txt: Add transport map support
4 years ago
David Goodwin 1ecada175c and support whether we verify ssl certs; default to true 4 years ago
David Goodwin 212415db56 document better 4 years ago
David Goodwin 4cbd82d750 remove empty settings so not all SSL things are required for using SSL with MySQL 4 years ago
David Goodwin 2a1383ee2e give the browser a hint that we want a new password for new admin accounts - see https://github.com/postfixadmin/postfixadmin/issues/331 4 years ago
David Goodwin 5b16f4a483 composer build 4 years ago
David Goodwin 9dfc866edd composer format 4 years ago
David Goodwin eb5fcf829e
Merge pull request #332 from kr1pt0ph0b14/patch-1
Update tr.lang
4 years ago
Özgür Kazanççı 97c2b582a3
Update tr.lang
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
4 years ago
David Goodwin 268daa892d
Merge pull request #330 from veitw/dovecot-quota2-docs
Update dovecot documentation
4 years ago
David Goodwin 6a10c869e5 allow existance of pdo for us to proceed with setup 4 years ago
Veit eb83a0aa3f Update dovecot documentation
- added quota2 table dict template for dovecot 1.2 and newer to dovecot
  documentation
4 years ago
David Goodwin 95d92a2345 psalm fix: rewrite to avoid php error (@) suppression 4 years ago
David Goodwin ec2fbfd87f skip this query - for a new database it will run before the domain table has been created and just error 4 years ago
David Goodwin fd35dada38 try and be consistent with MySQL table types/collations - see https://github.com/postfixadmin/postfixadmin/issues/327 4 years ago
Christian Boltz bee61f329b
Only show password expiration if enabled in config 4 years ago
Christian Boltz 3d0add075a
Add empty $CONF['database_socket'] to avoid warnings
... about reading an undefined config option
4 years ago
David Goodwin 666bb0218a
Merge pull request #324 from smhessenauer/master
fetchmail dovecot delivery
4 years ago
Stefan M. Hessenauer 416a71d604 short documentation added, path to deliver as configuration option 4 years ago
David Goodwin 80a0faa633 specify a default table collation / charset for MySQL - might help fix https://github.com/postfixadmin/postfixadmin/issues/327 4 years ago
David Goodwin cabd97ff17
Merge pull request #325 from Slamdunk/php_74
[Travis] Test against PHP 7.4
4 years ago
David Goodwin 036245063e drop references to magic_quotes; see: https://github.com/postfixadmin/postfixadmin/pull/325 4 years ago
Filippo Tessarotto fc3cd79f21 [Travis] Test against PHP 7.4 4 years ago
Stefan M. Hessenauer 352ae80395 fetchmail dovecot delivery 4 years ago
David Goodwin 5f772afe14 dev improvements
bump minimum php variant to 7.0
 update phpunit.xml
 switch to shardj/zf1-future rather than unsupported zf1
 try running tests by default in github
4 years ago
David Goodwin 1ad184641d php7.4 / psalm fixes 4 years ago
David Goodwin 882b6835ed just wondering 4 years ago
David Goodwin 038a08d838 touch config.local.php perhaps 4 years ago
David Goodwin c0bd763c53 another replacement of string{x} with string[x] 4 years ago
David Goodwin 55661a80c6 see ticket:318 - try and fix IT translation issue 4 years ago
David Goodwin aa37ab57e6 stop using { } for string character access (use [ ] instead) - see https://www.php.net/manual/en/language.types.string.php#language.types.string.substr 4 years ago
David Goodwin 79c2e77a00 should fix: https://github.com/postfixadmin/postfixadmin/issues/323 4 years ago
David Goodwin d0f254faee mkdir templates_c 4 years ago
David Goodwin 6582678173
test 4 years ago
Adrian 47618bf5a3 POSTFIX_CONF.txt: Add transport map support 5 years ago
David Goodwin 52e0d3e4b0 work around nano highlighting - see https://github.com/postfixadmin/postfixadmin/issues/320 5 years ago
David Goodwin 4b0b6904ca
Merge pull request #317 from alexandregz/master
Added galician language
5 years ago
Alexandre Espinosa Menor 48e07e7a5f
Added galician language 5 years ago
David Goodwin d6bbecaf45 change row to r everywhere; see : https://sourceforge.net/p/postfixadmin/discussion/676076/thread/616c1d25/?limit=25#7da0 - hopefully removing "row" which might be a reserved keyword for some databases etc 5 years ago
David Goodwin 6a4b7ec163
Merge pull request #316 from koenr/patch-1
Update nl.lang
5 years ago
koenr 8828d28bbc
Update nl.lang
typo in change password mail subject line
5 years ago
Christian Boltz 06f57767bd
DOVECOT.TXT: update user_query for postgresql and some cleanup
- update postgresql user_query to include quota_rule
- drop partial user_query without quota_rule
- some whitespace fixes
5 years ago
Christian Boltz 125113d83c
POSTFIX_CONF.txt: make queries pgsql-compatible
... by changing WHERE ...=1 to WHERE ...='1' which should work with both
mysql and postgresql.

Reported by xpoint on IRC.
5 years ago
Christian Boltz 115ff22761
INSTALL.TXT: mention an Alias as alternative for a symlink
See also the question on
https://sourceforge.net/p/postfixadmin/discussion/676076/thread/1074971cc8/
5 years ago
David Goodwin c1bdfe5432 fix travis / autoloading smarty etc 5 years ago
David Goodwin bcae218cbb composer format time 5 years ago
David Goodwin 87824ef970 psalm fixes/workarounds; require PHP 5.6+ 5 years ago
David Goodwin 1df7f15d40 require PHP 5.6+ 5 years ago
David Goodwin 4aa3110712 phpdoc/psalm fixes 5 years ago
David Goodwin ccd74cc506
Merge pull request #308 from dsamoshin/icon_ru
Favicon config and ru_lang
5 years ago
gotty 13549cea0f Favicon config and ru_lang:
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.
5 years ago
David Goodwin 61cb429845 revert psalm; fix issues later 5 years ago
David Goodwin b8d7c0513f psalm fix 5 years ago
David Goodwin e20b2cacdb psalm fix 5 years ago
David Goodwin 174b874c56 allow psalm to update
phpdoc fix
5 years ago
David Goodwin 9526e68e3e perhaps this will help https://github.com/postfixadmin/postfixadmin/issues/305 5 years ago
David Goodwin 907bd7ee46 update Smarty to v3.1.33 - "This release does cover security issue CVE-2018-16831, other bug fixes (see changelog.txt) and adds a new feature of the {capture} tag (see NEW_FEATURES.txt)." 5 years ago
David Goodwin 7360407b73 see: https://github.com/postfixadmin/postfixadmin/issues/302 - check if the session key exists; and if not show something that may help 5 years ago
David Goodwin 58b064f1c8
Merge pull request #298 from leitmedium/master
remove double libmime-encwords-perl install call in virtual vacation …
5 years ago
Caspar Clemens Mierau 9c4caf1045 remove double libmime-encwords-perl install call in virtual vacation howto 5 years ago
David Goodwin c66755a0da remove test for code that probably does not work 5 years ago
David Goodwin cd8cf289b4 more empty tests 5 years ago
David Goodwin a03317e088 drop codecov 5 years ago
David Goodwin f61cb513ae might fix pg failing test? 5 years ago
David Goodwin 0e9a1ff0ff emptyish tests 5 years ago
David Goodwin f4a5155f7a codecov removed 5 years ago
David Goodwin a485a2d861 cleanup after test 5 years ago
David Goodwin 946c47dd66 postgres requires fkeys exist 5 years ago
David Goodwin 2742849e7b reformat 5 years ago
David Goodwin 958df260ec mostly empty test 5 years ago
David Goodwin 7965a83aff tighten psalm checks even more 5 years ago
David Goodwin 34e6f7829e tighten psalm checks; fix errors 5 years ago
David Goodwin 034a50836c tighten psalm checks 5 years ago
David Goodwin a603d36224 format 5 years ago
David Goodwin 29d990f5f4 fix page browser test for sqlite; see #87 and #161 5 years ago
David Goodwin 71e7859c91 see #161 and #87 - unit test that seems to trigger this bug 5 years ago
David Goodwin f36ba9b4c2 format 5 years ago
David Goodwin 28bef9e136 output $sqlite file .... 5 years ago
David Goodwin 4081267cb2 fix phpdoc; throw exception on error within phpunit - helps testing 5 years ago
David Goodwin f7c7e35b34 fix formatting 5 years ago
David Goodwin f8713651cc explode if $run_dir is not specified; make a config setting and perhaps shift the onus onto the user rather than having to deal with tmpfiles.d etc
See: https://github.com/postfixadmin/postfixadmin/issues/78
5 years ago
David Goodwin 80418e6412 try and avoid hitting : https://github.com/postfixadmin/postfixadmin/issues/51 5 years ago
David Goodwin 17a50c51f1 drop some dies; use Exception and catch after dispatch() - see #197 5 years ago
David Goodwin 2ff05bc737 typo 5 years ago
David Goodwin 9cd7dac187 initial attempt at trying to return an exit value within the cli 5 years ago
David Goodwin 284d4b2eb0
Merge pull request #295 from Corvan/platform-independent
Update postfixadmin-cli
5 years ago
Lars Liedtke 0c94760828
Update postfixadmin-cli
Make this script platform independent to be usable under e.g. FreeBSD, where bash is located in /usr/local/bin/bash and thus the script fails.
5 years ago
David Goodwin 758ccb9a19 add note in config for mailbox subdir creation requiring imap extension 5 years ago
David Goodwin 34cf66110e see https://github.com/postfixadmin/postfixadmin/issues/251 - avoid things breaking if imap_open is not present 5 years ago
David Goodwin 3551710b82
Merge pull request #294 from wuuuduu/vacation_from_mx_get_smtp_server
Find MX record of receiver and use it
5 years ago
wuuuduu 86852b3dbd Find MX record of receiver and use it 5 years ago
David Goodwin 60c44a3ca3
Merge pull request #290 from akhilin/master
a small mistake in user_query with quota
5 years ago
Akhil Jalagam 53cefa1107
[NEW BADGE] freenode irc badge at #postfixadmin 5 years ago
Akhil Jalagam 3295334dd7
[NEW BADGE] repo size added 5 years ago
Akhil Jalagam 0f64f22a7e
a small mistake in user_query with quota
mistake in user_query with quota enabled for dovecot 1.2+
It took two days for me to find this issue.

Thank you,
Akhil
5 years ago
David Goodwin bc273a97e4 Revert "apply patch for vacation body encoding - see #288"
This reverts commit c3d3a9dbc8.

See comment at: https://github.com/postfixadmin/postfixadmin/issues/288#issuecomment-522495422
5 years ago
David Goodwin e8fb276c2f
Merge pull request #289 from akhilin/master
Update DOVECOT.txt
5 years ago
Akhil Jalagam 1941f970bd
Update DOVECOT.txt
a small mistake in documentation for imap quota.
5 years ago
David Goodwin 6a89b9a363 composer format 5 years ago
David Goodwin bee5fcbe24 improve setup form - only display "add superadmin account" if setup password is configured; change verbs depending on context etc; see https://github.com/postfixadmin/postfixadmin/issues/263 5 years ago
David Goodwin fa27c7c8b7 reindent/reformat 5 years ago
David Goodwin 7b18d0386c
Merge pull request #287 from gabrielfin/fix-pagination
Fix pagination
5 years ago
David Goodwin 296fc2f48e silence psalm error - cast $show_password_fields to an int in model/MailboxHandler.php lines 33/34 5 years ago
David Goodwin c3d3a9dbc8 apply patch for vacation body encoding - see #288 5 years ago
David Goodwin a0b4e690b2 only load random_compat if PHP_VERSION is < 7.0 5 years ago
David Goodwin d788c6ac99
Merge pull request #285 from Nutomic/ssl-sendmail
Use TLS to send emails
5 years ago
Felix Ableitner 8ba1cf20a7 use config::bool instead of read_string 5 years ago
David Goodwin 55bf13298e
Merge pull request #286 from gabrielfin/master
Use percentage for quota levels
5 years ago
Unknown 88587f4cd3 Fix pagination 5 years ago
Unknown 7583decbcb Use percentage for quota levels in bootstrap theme 5 years ago
Gabriel c3065bdace Use percentage for quota levels 5 years ago
Felix Ableitner a46245eecc Add config option for TLS 5 years ago
Felix Ableitner 61ede42800 Send emails with TLS 5 years ago
David Goodwin 8b19ef21cf add default value for password_expiry (default to one year)
should fix: https://github.com/postfixadmin/postfixadmin/issues/280
5 years ago
David Goodwin c53d17fff7 support TRUE orFALSE strings just incase 5 years ago
David Goodwin 01477f0009
Merge pull request #277 from Nutomic/admin-smtp-password
Add option to use smtp password when sending admin emails (fixes #272)
5 years ago
Felix Ableitner 600248e955 Add option to use smtp password when sending admin emails (fixes #272) 5 years ago
Christian Boltz 55858bf3a0
Fix table names in gen_show_status()
... 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
5 years ago
David Goodwin 651688c802 if we are generating passwords, there will only be one password value; so reduce the fields we check before deciding whether to update password_expiry - see https://github.com/postfixadmin/postfixadmin/issues/266 5 years ago
David Goodwin 1d1960a476 if CONF['generate_password'] == 'YES' then do not display password fields
Given we autogenerate a password ....
5 years ago
David Goodwin ae476950f2 try and avoid smarty complaining about no variable $conf - see https://github.com/postfixadmin/postfixadmin/issues/266 5 years ago
David Goodwin 3ff2436f2f try a bit harder to avoid non-numeric argument issues with $multiplier
(see https://github.com/postfixadmin/postfixadmin/issues/266 )
5 years ago
David Goodwin 8e2e4eb189 run: composer format 5 years ago
David Goodwin 03b9483204 default to providing a password_expiry datetime value - even if password_expiry is turned off - this should fix https://github.com/postfixadmin/postfixadmin/issues/280 5 years ago
David Goodwin 95429a6963 reindent, remove comment 5 years ago
David Goodwin 3322b43bb6 see: https://github.com/postfixadmin/postfixadmin/issues/282 - try and ensure local_part contains an @ on creating a mailbox 5 years ago
David Goodwin 78764578db update languages to include the mailbox local_part string 5 years ago
David Goodwin d64eadf609 try and stop $_SERVER[REQUEST_SCHEME] not being defined - see https://github.com/postfixadmin/postfixadmin/issues/279 5 years ago
David Goodwin cc19870923 drop function: db_connect_with_errors(); just throw from db_connect() if something goes wrong 5 years ago
David Goodwin 87746e6de8
Merge pull request #281 from Nutomic/db-exceptions
Dont swallow database connection exceptions
5 years ago
Felix Ableitner 5d0a587fe7 Dont swallow database connection exceptions 5 years ago
David Goodwin 31de6c6d66
Merge pull request #278 from HeavyThumper/master
list.tpl - fix lowercase typo for $CONF variable reference for quota …
5 years ago
HeavyThumper 16bf5cab7f
list.tpl - fix lowercase typo for $CONF variable reference for quota handling 5 years ago
David Goodwin 71402e9051 comment 5 years ago
David Goodwin ad858592f4 remove password_expiry logic from generic db_update function; the various *Handler classes should fix the password_expiry field already and this just breaks PgSQL; see #264 5 years ago
David Goodwin 7ed4df5459
Merge pull request #265 from r0l1/master
Allow Top-Level-Domain with 1 char
5 years ago
Roland Singer 23a7f1bfda allow TLD with 1 char 5 years ago
David Goodwin 3fc5c74040 drop old / invalid postfix paramaeters - see #262 5 years ago
David Goodwin d4d47e02cc .deb packaging: move php-imap from being a dependency to a suggestion - see https://github.com/postfixadmin/postfixadmin/issues/251 5 years ago
David Goodwin 684cf3d829
Merge pull request #255 from csware/quota-level
Make quota levels configurable
5 years ago
Sven Strickroth 56395709f3 Make quota levels configurable
Signed-off-by: Sven Strickroth <email@cs-ware.de>
5 years ago
David Goodwin 852a09f138 move version string output to only be shown to logged in users - see #252 5 years ago
David Goodwin dcef888587 token test coverage 5 years ago
David Goodwin 045a19ae33 re-format 5 years ago
David Goodwin 7ed57a0cda assume the db updates work if no exception was thrown 5 years ago
David Goodwin 9024dddf46 move password_expiration code into the MailboxHandler. 5 years ago
David Goodwin b8ee437169 add throw_exceptions parameter to db_update and db_insert. 5 years ago
David Goodwin df99e66b2d try and stop "A non-numeric value encountered in ..."; see #239 5 years ago
David Goodwin 4a084d91b5
Merge pull request #249 from mtdcr/scram-sha-1
pacrypt_dovecot: Don't blacklist SCRAM-SHA-1
5 years ago
Andreas Oberritter 000416c401 pacrypt_dovecot: Don't blacklist SCRAM-SHA-1
Actually it doesn't include the username at all. Fixes commit f444de4.
5 years ago
David Goodwin e9ed15143e add token MailboxHandler test 5 years ago
David Goodwin de5b739d4a drop unnecessary common.php 5 years ago
David Goodwin 28e687ff5b sqlite does not support NOW(), use a string comparison 5 years ago
David Goodwin 7718ca808d try adding code coverage things 5 years ago
David Goodwin 2a0f708529 relax version check for php-cs-fixer so it will work with php7.3 as well 5 years ago
David Goodwin 215daecf29
Merge pull request #248 from Slamdunk/patch-1
[Travis] Build also against PHP 7.3
5 years ago
Filippo Tessarotto 361f0ccb22
[Travis] Build also against PHP 7.3 5 years ago
David Goodwin 9ccf5250cd remove config dump 5 years ago
David Goodwin 81fed601a2 remove var_dumps 5 years ago
David Goodwin 06513c2a14 remove quotes around table name which is not necessary as table_by_key does this 5 years ago
David Goodwin 079462bb29 wrong password variable/key 5 years ago
David Goodwin 496657aa5d echo something helpful on db error when testing 5 years ago
David Goodwin d6fc337272 dump mysql config things; lets fumble about in the dark once again and see... 5 years ago
David Goodwin 2e87464fc8 initial attempt at connecting to mysql socket file through pdo 5 years ago
David Goodwin d30c122f37 possible handling of mysql socket file 5 years ago
David Goodwin 018f5d9e05 check output / travis fun 5 years ago
David Goodwin fe48b35cfd split multiple queries into single ones to keep pdo/prepared statements happy 5 years ago
David Goodwin 4cb36857da possibly better defaults/output 5 years ago
David Goodwin f52aa9929a re-format 5 years ago
David Goodwin 9cc04df973 move the password expiry date to be php generated so it works fine on all databases 5 years ago
David Goodwin 8632cbd1a9 improve documentation around the various crypt functions 5 years ago
David Goodwin 17a420152c use pdo/prepared statement for list-virtual + page browser 5 years ago
David Goodwin d95ee79b9a reformat 5 years ago
David Goodwin 69b9d9671c fix PaCrypt test 5 years ago
David Goodwin dcb60a670c try adding mysql + postgres support to tests 5 years ago
David Goodwin 4d7ac16bfb bump install instructions to 3.2.2 tag 5 years ago
David Goodwin 730a05cdd3 phpcs fix 5 years ago
David Goodwin ed99a46ec4 log if no mechanisms were used for password recovery 5 years ago
David Goodwin db4aecd23c typo fix 5 years ago
David Goodwin 237f34d38f
Merge pull request #246 from 8ctopus/master
updated installation instructions
5 years ago
8ctopus 47bbb7c2a3 updated: git checkout version 3.2.1 instead of 3.2 5 years ago
David Goodwin a05f87723f reformat 5 years ago
David Goodwin 28870e4b45 explode if there is no db connection made 5 years ago
David Goodwin 0afdb5619b fix tests 5 years ago
David Goodwin b4564958a1 phpdoc; touch sqlite file before trying to use it in tests 5 years ago
David Goodwin a71669fba8
Merge pull request #245 from 8ctopus/master
db_connect_with_errors() improvements for SQLite databases
5 years ago
8ctopus b37e3c859d added: installation instructions for SQLite 5 years ago
8ctopus 637220a3fb fixed: typos 5 years ago
8ctopus 5528d8be30 added: line break so $error_text is on its own line 5 years ago
8ctopus 4f2dab357c the directory the SQLite database is in must be writeable 5 years ago
hawk ceae3caa37 sqlite3 databases: check that the file exists and is writeable 5 years ago
David Goodwin 92d6259cd0 possibly fix PGSQL PDO DSN to be unicode aware; see #243 5 years ago
David Goodwin 76e30d1dd3
Merge pull request #244 from 8ctopus/master
fix setup db_connect_with_errors PDO exceptions were not caught
5 years ago
hawk c71dd25afa fix setup db_connect_with_errors PDO exceptions were not caught 5 years ago
David Goodwin 888524af99
Update INSTALL.TXT
add chcon note for centos etc.
5 years ago
David Goodwin 4d24ab7171 possibly update language files 5 years ago
David Goodwin 2cf73f704a $0 may not be in $PATH 5 years ago
David Goodwin 93a127d7f2 see https://github.com/postfixadmin/postfixadmin/issues/236 5 years ago
David Goodwin 63f63a58b7
Update INSTALL.md
add 1; for vacation.conf file
5 years ago
Christian Boltz 5bc85bec44
fix error message in Config::read_array(() 5 years ago
Christian Boltz acf20bbc9e
move comments to the beginning of upgrade.php 5 years ago
David Goodwin a2e2cdce8c
Update CHANGELOG.TXT 5 years ago
David Goodwin 66747337f9 fix formatting 5 years ago
David Goodwin 583b8958c7 psalm 5 years ago
David Goodwin 7f8fd5ec1a Merge branch 'master' into feature-try-pdo 5 years ago
David Goodwin 83a4ee39b0 more phpdoc 5 years ago
David Goodwin 26d769740c silence some psalm warnings 5 years ago
David Goodwin e9d12bf918 silence some psalm warnings 5 years ago
David Goodwin 7838e85ff0 fix formatting 6 years ago
David Goodwin 5db463b35c improve docs 6 years ago
David Goodwin 6225899863 Merge remote-tracking branch 'origin/master' into feature-try-pdo 6 years ago
David Goodwin e6666e0af0 attempt to improve installation instructions 6 years ago
David Goodwin cef2ba5598 Merge remote-tracking branch 'origin/master' into feature-try-pdo 6 years ago
David Goodwin fb1bffbbf9
Merge pull request #232 from volp1s/patch-1
Fix for MySQL 8
6 years ago
Luca e347b4677b
Fix for MySQL 8
The keyword ROW became reserved in MySQL 8.0.2
https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-R
6 years ago
David Goodwin 570972944d Merge remote-tracking branch 'origin/master' into feature-try-pdo 6 years ago
David Goodwin 10446a0cad avoid: Fatal error: Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(. from psalm 6 years ago
David Goodwin 5d47b85b9d remove attribute that is in parent class 6 years ago
David Goodwin 5a9efc18f0 just disable psalm caching 6 years ago
David Goodwin 3da5b64677 stab in the dark 6 years ago
David Goodwin 9bb00499c7 stop caching vendor 6 years ago
David Goodwin 18312a8aaa formatting... 6 years ago
David Goodwin cc079b773f fix formatting 6 years ago
David Goodwin 020343999a
Merge pull request #221 from SuperVirus/fetchmail_different_source_port
Allow different port for fetchmail
6 years ago
David Goodwin 98536f03e8 fix sqlite upgrade check; remove test database between runs; ignore lib/array_column.php from linting 6 years ago
David Goodwin e26877f2f9 add almost forgotten file: array_column.php 6 years ago
David Goodwin 803e2342f8 fix psalm issues; reformat; rename new db functions 6 years ago
David Goodwin 1176c9ce78 reformat; fix some transition bugs 6 years ago
David Goodwin ea33d9951a try migrating to pdo 6 years ago
David Goodwin eb61141d2f
Merge pull request #230 from 8ctopus/setup-warning
add warning on setup over http connection
6 years ago
hawk 51320919fc add warning on setup over http connection 6 years ago
David Goodwin ccb000467d
Merge pull request #229 from 8ctopus/update-translation-fr
Update fr.lang
6 years ago
hawk 67010c86e3 Update fr.lang 6 years ago
David Goodwin a500d2557e fix indentation 6 years ago
David Goodwin d78fb1fbbd move to Shell 6 years ago
David Goodwin e5cacbec90 add missing attribute 6 years ago
David Goodwin 78276534d9 remove error log prefix; use db_mysql 6 years ago
David Goodwin 7e7f644952 skip this check if unit test 6 years ago
David Goodwin 897893f3ce fix indentation 6 years ago
David Goodwin 8a59c9548a reformat 6 years ago
David Goodwin e8eea39b9d reformat; try and persuade people to move off use of "mysql" (to mysqli); add php version warning 6 years ago
David Goodwin 2b31e71d5c improve error message 6 years ago
David Goodwin 8798a65a06 remove db_array() function (not in use); use Config::read_string(..) more 6 years ago
David Goodwin cdacb5697f improve formatting of error message; remove use of db_array (to be removed). 6 years ago
David Goodwin 2ea829eb7a fix postgresql compatability - see #227 6 years ago
David Goodwin b91c7a4ef8
Update README.md 6 years ago
David Goodwin 4b990ff330 fix sql for notification resend; see #226 6 years ago
David Goodwin d4e5470f7c try and improve README.md markup 6 years ago
David Goodwin 4d6cb9c328 touch config.local.php in build 6 years ago
David Goodwin 63ca48eb6b work around templates_c not existing in git 6 years ago
David Goodwin 5441295e25 phpcs? 6 years ago
David Goodwin d4ef211a19 only build with php7.2; run composer build etc (travis) 6 years ago
David Goodwin b2e814967f try and get working under travis ... 6 years ago
David Goodwin 590c80f0bc add more unit tests; re-enable random_int warning in functions.inc.php for old php versions etc etc 6 years ago
David Goodwin e8acb609c2 reformat 6 years ago
David Goodwin 20b1eb842e fix sqlite display of password expired check for mailboxes 6 years ago
David Goodwin 1dfb03ea32 fix sqlite query for mailbox password_expiry 6 years ago
David Goodwin e949e76acd add check-format to build step 6 years ago
David Goodwin 4fcdba9cf4 run php-cs-fixer (code reforamt) 6 years ago
David Goodwin 5eba76ac36 add composer build target 6 years ago
David Goodwin 19cda31849 remove psalm warnings from code; fix password_expiry behaviour when enabled/disabled on MySQL 6 years ago
David Goodwin d74b276192 ignore more 6 years ago
David Goodwin 9c476be17f move into DOCUMENTS 6 years ago
David Goodwin 93967030c7 remove composer.lock 6 years ago
David Goodwin 5d6dde7bff psalm fixes 6 years ago
David Goodwin 76ec4bc84d token psalm fixes 6 years ago
David Goodwin 5bc6e93347 fix query fields etc 6 years ago
David Goodwin 77b87107f9 improve composer behaviour for psalm; bump dev dependencies and add sqlite3+mysqli 6 years ago
David Goodwin 59dc05d746 use newer method (return type is consistent) 6 years ago
David Goodwin 766c947190 fix case of $conf; improve comments 6 years ago
David Goodwin 166574efae add {IF_NOT_EXISTS} for sqlite tables - see #225 6 years ago
David Goodwin 5d74ff4cc7 only require language if non-empty 6 years ago
David Goodwin 01c8b14a44 PFASmarty class 6 years ago
David Goodwin d146f51feb remove duplication of PFASmarty class 6 years ago
David Goodwin 74002bbf57 psalm fixes 6 years ago
David Goodwin 8d2a592aa9 bump psalm version; autoload config and functions files 6 years ago
David Goodwin 029c4ffe47 psalm fixes 6 years ago
David Goodwin 7408a3b30a fix safepost doc 6 years ago
David Goodwin 173d5775cd psalm fixes 6 years ago
David Goodwin 97528f3ebd remove var_dumps; fix assertEqual -> assertEquals and other random psalm findings 6 years ago
David Goodwin 93cc4d9e8c update phpunit tests to use different parent class 6 years ago
David Goodwin 9b8c067515 bump phpunit to stop countable warning with php7.2 6 years ago
David Goodwin 8cf7947f15 move function into the only place it is used 6 years ago
David Goodwin cecfe6b215 see #217 - should solve looking in /etc/postfixadmin ... 6 years ago
Christian Boltz 18be203039
add new texts to all language files 6 years ago
Christian Boltz 878e4d7f11
Merge pull request #220 from SuperVirus/updated_german_translation
Updated german translation
6 years ago
SuperVirus 3ee8b497f1
Update de.lang 6 years ago
Christoph 'SuperVirus' Heitkamp d35e66808b Allow different port for fetchmail 6 years ago
Christoph 'SuperVirus' Heitkamp 1fea1f8c3b Updated german translation 6 years ago
David Goodwin dda0302cdf
Merge pull request #218 from cweiske/specific-login-error
Change login failure message to show the login type (admin or user)
6 years ago
Christian Weiske 3960f6fdad Change login failure message to show the login type (admin or user) 6 years ago
David Goodwin 55790f9835
Merge pull request #215 from ChoiZ/patch-1
Update INSTALL.TXT
6 years ago
François LASSERRE 9598c63fc0
Update INSTALL.TXT
Missing `cd postfixadmin`
6 years ago
David Goodwin a53165d3d8 update CHANGELOG - see https://github.com/postfixadmin/postfixadmin/issues/176 6 years ago
David Goodwin 69e234f668
Merge pull request #200 from doktoil-makresh/master
Support for password expiration, managed in PostFix Admin
6 years ago
Damien Martins 78a461f07e Accepts incoming emails for active mailboxes, even if password is expired 6 years ago
David Goodwin b4a16a0313 quote shell vars 6 years ago
David Goodwin 435d97c282 try looking for alternatives to maildirmake etc - see #213 6 years ago
Christian Boltz 056e8af99b
Change $PALANG['password_no_characters'] to new text if untranslated
That's better than a TODO note next to the old english text ;-)
6 years ago
Christian Boltz bd847e38e6
add translation notes for updated $LANG['password_no_characters'] 6 years ago
Damien Martins 9e4d64ef78
Merge pull request #1 from DavidGoodwin/doktoil-master
updates to password expiry feature
6 years ago
David Goodwin 3a8762d785
Merge pull request #210 from inkVerb/master
Change "characters" to "letters" in EN language file
6 years ago
Jesse Steele 9e8ce47849
Change "characters" to "letters"
A "character" includes letters and numbers. The requirement triggered by line 355 is for "letters". This created confusion in the past.
6 years ago
David Goodwin 87472af5ba add Date header into smtp_from(...) function - see #203 6 years ago
David Goodwin b1795ab596 phpdoc 6 years ago
David Goodwin 1e158245d6 try and fix #30 - cope with timestamp and numeric field number comparison better for PostgreSQL. 6 years ago
David Goodwin afd418675c pointless comment 6 years ago
David Goodwin a8b02cfc05 Default to default values 6 years ago
David Goodwin 77d1b6c2e7 rename sql fields to just have mailbox.password_expiry and domain.password_expiry 6 years ago
David Goodwin 27c2842cd2 remove duplication of sql, remove use of functions (hopefully unnecessary) 6 years ago
David Goodwin a455916a6b add password expiry stuff to the db schema upgrade script 6 years ago
Damien Martins 8115d8d047 Reverting unexpected changes 6 years ago
Damien Martins 12ce418f79 No need to have password expiration value in config file 6 years ago
Damien Martins 84533224ba Adds colored indicators for password expired, account disabled and vacation enabled accounts 6 years ago
Damien Martins b33d79125c Merge branch 'master' of github.com:doktoil-makresh/postfixadmin 6 years ago
Damien Martins d809e0fbf7 Adds colored indicators for password expired, account disabled and vacation enabled accounts 6 years ago
Damien Martins 72dddbc93b Adds colored indicators for password expired, account disabled and vacation enabled accounts 6 years ago
Damien Martins ce60b9fa59 Now password expiration is managed through Postfix Admin GUI 6 years ago
Damien Martins ab10c9b49a Better arguments management 6 years ago
Damien Martins 9be8c8082f More details in README file 6 years ago
Damien Martins 29a993e6fd Better (aka safer) way to deal with authentication 6 years ago
Damien Martins e786609aa9 Adding support for password expiration. Please read README.password_expiration for more details 6 years ago
David Goodwin c3d3898eb2
Merge pull request #167 from csware/recipient_delimiter
vacation: Correctly process mails with recipient_delimiter
6 years ago
David Goodwin cde3d7530d
Merge pull request #194 from cantoute/patch-1
libmime-perl => libemail-mime-perl on debian 9
6 years ago
Antony 61011619a8
libmime-perl => libemail-mime-perl on debian 9 6 years ago
David Goodwin ba14535489
Merge pull request #172 from abonanni/bootstrap
Bootstrap Integration
6 years ago
David Goodwin a981ff8172 list.php csv export: implode array values, suppress fields with empty label after trimming (html status) 6 years ago
Christian Boltz 77670f36f6
revert CSV separator to ";"
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.
6 years ago
David Goodwin 39bb2dbcd6 see remove outdated doc links - see #191 6 years ago
David Goodwin c5c42cfbe8 remove custom field separator; just go with the default php behaviour 6 years ago
David Goodwin 00877885cf update installation instructions - see #189 and #188 6 years ago
David Goodwin 6d328795cb remove windows code; remove array_merge (seems to just break parsing) 6 years ago
David Goodwin 563b8c7636 phpdoc fixes (psalm) 6 years ago
David Goodwin 45fd1bf08b silence psalm a little; bump parallel-lint version 6 years ago
David Goodwin 532eb09f1f possible readability improvement 6 years ago
David Goodwin 76ee147375 phpdoc fix 6 years ago
David Goodwin aa38d0090d token fixes; code looks incomplete anyway 6 years ago
David Goodwin 97c48a0fc9 fix phpdoc 6 years ago
David Goodwin 299735773e fix phpdoc 6 years ago
David Goodwin ec085b668b missing class property 6 years ago
David Goodwin 9c0e1dd575 phpdoc fixes 6 years ago
David Goodwin 318ac048d5 psalm fixes 6 years ago
David Goodwin c44e82cc2d phpdoc fix 6 years ago
David Goodwin b6f75c9c2c try and require Phar extension through setup if we are using php_crypt and PHP version < 7 6 years ago
David Goodwin 1f643a052f see #185 - try putting the session_ recreation stuff in an else { ... } 6 years ago
David Goodwin a787c0fc1e
Merge pull request #181 from Sopsy/master
Add support for difficulty setting for php_crypt
6 years ago
Aleksi Kinnunen 2df4348f09
Typo fix 6 years ago
Aleksi Kinnunen 48c19a1cbd
Combine encrypt CONF-keys
Went through the old PR #25, updated the encrypt rounds/cost setting to be in the encrypt -configuration key as per suggestion from @cboltz
6 years ago
Aleksi Kinnunen c1b5e66e27
Add missing global
... you should never edit with the GitHub web GUI, lazy me.
6 years ago
Aleksi Kinnunen b676e8337f
Allow empty $CONF['encrypt_difficulty'] for defaults 6 years ago
Aleksi Kinnunen 7b16e8a1c2
Add info about php_crypt and encrypt_difficulty to sample config 6 years ago
Aleksi Kinnunen 9c2161a549
Added support for password generation cost/rounds
$CONF["php_crypt_difficulty"], only for php_crypt:BLOWFISH, php_crypt:SHA256 and php_crypt:SHA512
6 years ago
David Goodwin 6100ca4cf9 try and fix #177 (add missing fields to sqlite db) 6 years ago
David Goodwin 1c4a6080d7 make phar loading optional depending on the extension being present or not 6 years ago
David Goodwin 9c7f60fa76 possible fix for sqlite schema/upgrade issues; see #177 and and #176 6 years ago
David Goodwin 3754381f0e
Merge pull request #175 from racerxdl/master
'row' is a reserved word in MySQL 8.0
6 years ago
Lucas Teske 11f9680963
'row' is a reserved word in MySQL 8.0 6 years ago
Christian Boltz 05bf2d2013
if unconfigured, recommend to edit config.local.php
... instead of config.inc.php

(idea based on comments on
7c38bdd871 )
6 years ago
Christian Boltz 2eb5a7ed60
simplify function_exists() checks for random_int()
It's easier to define a compat function than to have function_exists()
checks all over the code.
6 years ago
root bd85b3725f Bootstrap TPL for user interface 6 years ago
root 5dcd203d8f Gestion des dates de vacation 6 years ago
root fb3e968cfc Bootstrap template integration 6 years ago
David Goodwin 603c5195df update debian changelog (v3.2) 6 years ago
Christian Boltz 9044bed288
re-order some changelog entries and adjust date 6 years ago
David Goodwin b4849b8431 bump minimum db version 6 years ago
David Goodwin 4c6bcdbc39 update version 6 years ago
David Goodwin a510981350 update with notes on php_crypt and smarty 6 years ago
David Goodwin 5b7f4cda48 add phpdoc comments, default php_crypt hash to use SHA512 rather than MD5 6 years ago
David Goodwin 7282928e6d update generate_password() to allow length to be specified; update test 6 years ago
David Goodwin 7388a7ca62 remove notice about additional plugin - lost with time, does not seem to be used 6 years ago
Christian Boltz a3feba7c73
change default for php_crypt to SHA512
(+ a few whitespace changes)
6 years ago
David Goodwin bd5ac21398 update debian dirs etc to cope iwth smarty->lib/smarty 6 years ago
David Goodwin 1308c52355 refresh debian patch 6 years ago
David Goodwin b48f99d4c6 reformat (phpcs) 6 years ago
David Goodwin e7f9d536d9 change default salt method with php_crypt 6 years ago
David Goodwin f7ba904800 see #171 6 years ago
David Goodwin f1a15b2269 phpunit.xml file 6 years ago
David Goodwin 2f2730ffa0 add more tests 6 years ago
David Goodwin f543c7d403 use random_int() if available 6 years ago
David Goodwin 94f05bf9e4 switch to store $config internally within an array 6 years ago
David Goodwin 7c0cb82be8 use random_int if it is available 6 years ago
David Goodwin 0d211949c9 skip tests unless configuraton updated 6 years ago
David Goodwin b97decb7c2 add a lib directory; move smarty into it; add random_compat phar (for random_bytes() on PHP < 7) 6 years ago
David Goodwin a4760ef53c
Merge pull request #170 from snuggeman/php_crypt
multiple hash algorithms using crypt (pfa 3.2)
6 years ago
snuggeman 11f0ceb615 added php_crypt scheme 6 years ago
David Goodwin b25a04a43f
Merge pull request #169 from abonanni/master
Update french language
6 years ago
Aurélien BONANNI 3ea4f80e34 Update french language 6 years ago
Christian Boltz 24ad5cc3d8
Set $reset_by_sms even if password reset is disabled
... to avoid an "undefined variable" warning
6 years ago
Christian Boltz 7c38bdd871
add a big notice about using config.local.php 6 years ago
Sven Strickroth f0f6c16afa vacation: Correctly process mails with recipient_delimiter
Signed-off-by: Sven Strickroth <email@cs-ware.de>
6 years ago
Christian Boltz 7f19cae57e
Add a index.php showing a note about the "public" directory
This avoids that users get a 403 error (if DirectoryIndex is disabled)
or a directory listing after updating to 3.2.

This is what likely happened in
https://github.com/postfixadmin/postfixadmin/issues/30 (see the comment
from Apr 24, 2018)
6 years ago
David Goodwin f05f118d4d bump smarty version (doc) 6 years ago
David Goodwin 2ba2802774 bump Smarty to v3.1.32 (possible security fix, numerous bugs listed at https://github.com/smarty-php/smarty/blob/master/change_log.txt 6 years ago
David Goodwin 9a07772626 remove commented out echo 6 years ago
Christian Boltz 11ded0a4d8
Changelog for 3.2 6 years ago
Christian Boltz 3f1866d041
display phone number field only if $CONF[sms_send_function] is set
Without a way to send a SMS, asking users for their mobile number is
pointless.
6 years ago
Christian Boltz cdf3c9acb9
initStruct(): use multiopt for 'id' 'dont_write_to_db'
This also means we can drop the 0 for not_in_db because this is the
default.
6 years ago
Christian Boltz 30c61e81b3
better comment for pacol() parameter 6 years ago
Christian Boltz cd0a718d52
add config.local.php to .gitignore
It should never be commited to git
6 years ago
Christian Boltz d2588a4de2
Fix phpcs whitespace breakage in initStruct etc. 6 years ago
David Goodwin 5e4e0bb426
Merge pull request #158 from ondrej-zary/master
Update Slovak language
6 years ago
Ondrej Zary 957657c853 Update Slovak language 6 years ago
Christian Boltz 9bd230cd46
fix syntax error in ja.lang 6 years ago
Christian Boltz c7201afa6c
drop unused shells/mailbox.php 6 years ago
Christian Boltz 12c4a4f29e
move shells/shell.php to model/Shell.php
... and drop a few lines in postfixadmin-cli.php that became superfluous
by this move (thanks autoloader!)
6 years ago
Christian Boltz 71d61a1d8a
drop superfluous Config::read('all') call 6 years ago
Christian Boltz 48a3709041
postfixadmin-cli: get rid of empty/unused initialize() 6 years ago
Christian Boltz 36fe1f6ccc
remove deleted functions from $protectedCommands
If grep -r doesn't find a function, we don't need to keep it in
$protectedCommands ;-)
6 years ago
Christian Boltz 5e93dfe604
postfixadmin-cli: drop (undocumented) -webroot etc.
Dropping the -webroot parameter (which basically means hardcoding that
../common.php has to exist) allows to do quite some cleanup.

Also unconditionally require_once('../common.php') to ensure that
everything we expect in the global namespace (like the 'Conf' class) is
there.

This allows even more cleanup. We get rid of __bootstrap() and some
constants, and can simplify parameter handling.
6 years ago
Christian Boltz 500c847fe0
re-add lost comment 6 years ago
Christian Boltz 91c07c9eae
VacationHandler: re-enable and fix code in validate_new_id()
Note that vacation.php doesn't use this function yet, so it's not
surprising that users didn't notice the broken code.
6 years ago
David Goodwin 4f1dd314e7
Merge pull request #154 from Jan-Kruis/master
Update nl.lang
6 years ago
Jan Kruis 04b73c1879
Update nl.lang 6 years ago
David Goodwin 4fb4d406ee phpdoc; disable function init() - seems invalid 6 years ago
David Goodwin fef2591335 phpdoc fixes 6 years ago
David Goodwin 59a220d8d2 add psalm 6 years ago
David Goodwin bf840f93cd
Merge pull request #148 from csware/autoresponders
Don't reply to known autoresponses
6 years ago
Sven Strickroth 6c12800a78 Don't autorespond to Outlook autoresponses
Signed-off-by: Sven Strickroth <email@cs-ware.de>
6 years ago
Sven Strickroth 7cb36bc0b2 Don't autorespond to Communigate autoresponses
Signed-off-by: Sven Strickroth <email@cs-ware.de>
6 years ago
David Goodwin 2f7d3d9534 remove (possibly) unnecessary Config::read(all) calls ... see #144 6 years ago
David Goodwin f8d7844767 reduce some nesting of the code loops 6 years ago
David Goodwin 898a8145f2
Merge pull request #143 from Seitanas/master
Making virtualmaidel.php remove Sieve filters if they exist
6 years ago
Tadas Ustinavičius 9ab2eaedc6 Only delete Sieve directory if it really exists 6 years ago
Tadas Ustinavičius d986e26be8 Making virtualmaidel.php remove Sieve filters if they exist 6 years ago
David Goodwin b64e202508
Merge pull request #142 from racerxdl/master
Fixed "Incorrect integer value: 'Array' for column" error in updates.
6 years ago
Lucas Teske 50ac4c7597
Fixed "Incorrect integer value: 'Array' for column" error in updates. 6 years ago
David Goodwin d57aa46eb5 remove explode() 6 years ago
David Goodwin 2a1d8daeba remove unused variables 6 years ago
David Goodwin 3228fa1fcb
Update README.md 6 years ago
David Goodwin b79ad2ae28 composer format ... 6 years ago
David Goodwin 6446f3f6cc split up pacrypt() into different functions; add some minimal test coverage 6 years ago
David Goodwin 6ed1527497 fix phpdoc 6 years ago
David Goodwin 12242b0893 add ZF1 as a dependency and phpunit; remove require/include calls from tests/ 6 years ago
David Goodwin 9462c0cb7b composer magic 6 years ago
David Goodwin cb34da4f46 phpcs reformat 6 years ago
David Goodwin 2dc502e684 add postfix postgresql dovecot example to DOCUMENTS - see #136 6 years ago
David Goodwin 68a42dd331
add docker image link to README.md
Add link to Docker images
6 years ago
David Goodwin 152975d05c move to use db_assoc() rather than db_array() (code assumes assoc. array) 6 years ago
David Goodwin c147eb053b move to use db_assoc() rather than db_array() (code assumes assoc. array) 6 years ago
David Goodwin 43a2493876 remove unused code. 6 years ago
David Goodwin 4dec9cd24e refactor (reduce nesting) 6 years ago
David Goodwin d088651fd6 Drop db_commit(), db_rollback(), db_begin() functions (unused). 6 years ago
David Goodwin 0b66cd6bd2 Do not try to db_escape() an SQL field. 6 years ago
David Goodwin 4e9d166765 use db_assoc() rather than db_array() as we're depending on an assoc array afterall. 6 years ago
David Goodwin 45a1073b97 change to use foreach($a as $k => $v) { ... } 6 years ago
David Goodwin 8ac94394cb improve phpdoc 6 years ago
David Goodwin e2b1233269 Use filter_var($x, FILTER_VALIDATE_EMAIL) as an extra check if we can in check_email(...) 6 years ago
David Goodwin 5e1855632a allow local aliases - see #134 6 years ago
David Goodwin 2615b6fece see #132 - better broadcast mail format, perhaps 6 years ago
David Goodwin 2b8e6ff5b4
Merge pull request #131 from cygery/fix-user-logout
Destroy session when loading user login page
6 years ago
Erwin Goslawski d0897f625d
Destroy session when loading user login page
Fixes #130
6 years ago
David Goodwin 9bef45aed5 remove logout behaviour from common.php (never used); try and fix logout in login.php - see #130 6 years ago
David Goodwin d305374568 make the html slightly more html5 like; remove possibility of smarty.session.lang being undefined and erroring 6 years ago
David Goodwin 220f8289c7 see #129 - add hint 6 years ago
David Goodwin 68934539bf see #129 - be consistent over mail root dir 6 years ago
David Goodwin 828e3b2290 yet another datetime in the future that needs changing a little... 6 years ago
David Goodwin aad433eceb stop undefined error on CONF[sendmail_all_admins] 6 years ago
David Goodwin c3b87ebb11 phpcs fixes 6 years ago
David Goodwin 06f6c71c56
Merge pull request #127 from Ecodev/reformat
Reformat everything with PHP-Cs-Fixer
6 years ago
Adrien Crivelli 15df6c1d7b
Reformat everything with PHP-Cs-Fixer 6 years ago
David Goodwin 943c5a94ee
Merge pull request #121 from J0WI/split-docker
Move docker to dedicated repo
6 years ago
J0WI 5e8e1dd5f0 Move docker to dedicated repo 6 years ago
David Goodwin f0be0ebf62 remove more incpath usages 6 years ago
David Goodwin 2bb583a86a remove specifying MYISAM as our default db table format; use whatever the db server wants to default to 6 years ago
David Goodwin d259544515 ignore config.local.php too 6 years ago
David Goodwin d5c40453ac update debian things, fix patch, move backup.php to public, fix lighttpd config 6 years ago
David Goodwin 63f44c9b2d update INSTALL.TXT to mention public/ etc 6 years ago
David Goodwin 104561c419 change to public/ in apache alias 6 years ago
David Goodwin 3d63d8b9af update debian things to perhaps cope with public/ 6 years ago
David Goodwin 99147d51eb move public facing stuff into public/, this allows us to stop exposing templates_c/ etc to the world 6 years ago
David Goodwin 436bbe87a8 change DATEFUTURE to 2038-01-18 ... - see #126 6 years ago
David Goodwin e1d42ed7d3 rename script commands 6 years ago
David Goodwin 2fc3af0b73 composer.lock 6 years ago
David Goodwin 80d30d81e9 add parallel-lint 6 years ago
David Goodwin d9f66eca4c minimal php_cs.dist file - PSR2 with braces for class opening on the same line 6 years ago
Adrien Crivelli 6f7e75dc63 Introduce PHP-CS-Fixer and Travis to enforce code style
Commands `composer check` and `composer fix` can be used to respectively
check and automatically fix code style in the entire project.
6 years ago
David Goodwin 3593d23c6f remove undefined variable _SERVER[REQUEST_METHOD] when running from the cli 6 years ago
David Goodwin 772a882c74
Merge pull request #124 from sitilge/master
Password reset  - fix invalid DB query (double backtick)
6 years ago
Martins Eglitis 97f0fa2c3d Fix invalid DB query (double backtick) 6 years ago
David Goodwin 938e7dcb7d
Merge pull request #122 from dryware-fr/patch-1
Typo correction
6 years ago
dryware-fr e4bfae260b
Typo correction
There was a typo in the script, rendering a TCP connection to MySQL or Postgres impossible.
6 years ago
Christian Boltz 75bcf3091b
Fix instructions for templates_c directory in UPGRADE.txt
Also add instructions for SELinux, and fix the version number describing
since when templates_c is used.

Fixes: https://github.com/postfixadmin/postfixadmin/issues/119
7 years ago
Christian Boltz 3bd7ef2b0a
adjust pgsql $row['v_active'] only if vacation is enabled
This avoids an "Undefined index" warning if vacation is disabled.

Fixes: https://github.com/postfixadmin/postfixadmin/issues/118
7 years ago
David Goodwin 9982783481
Merge pull request #117 from mzch/ja_fix
Remove '# XXX'
7 years ago
Koichi MATSUMOTO 70c839cbc6 Remove '# XXX'
Removed '# XXX' comments
7 years ago
David Goodwin a52eeaf020
Merge pull request #116 from mzch/ja_fix
Ja fix
7 years ago
Koichi MATSUMOTO 9aeec2147e Update ja.lang
Update ja.lang with the latest
7 years ago
Koichi MATSUMOTO 9b7cfdf807
Update ja.lang
in progress...
7 years ago
David Goodwin a320b67508 possible fix for issue in #112 - PostgreSQL does not like backticks (only do them for MySQL) 7 years ago
Christian Boltz 977f335a0f
Fix quoting in table_by_key()
This fixes a regression introduced by
https://github.com/postfixadmin/postfixadmin/pull/112
which became only visible when using a $CONF['database_prefix']
7 years ago
Christian Boltz d04c82fbcb
change default for vacation.activeuntil to 2038
When adding the activeuntil field during the upgrade, it got set to
2000-01-01 which is a bad idea for existing vacation entries - the new
vacation.pl will consider them as outdated.

Introduce a new {DATEFUTURE}, and set the default value for activeuntil
to 2038 (that's the limit in MySQL for 'timestamp' columns, we'll have to
switch to 'datetime' in 20 years ;-)

Note that sqlite doesn't support changing the field default, so sqlite
users will have to live with the wrong default.

Also note that this fix does not change existing vacation entries if you
already have the activeuntil column.

Reported by Christoph Lechleitner on the mailinglist
7 years ago
Christian Boltz ddb94e24ee
rename upgrade_1838_mysql() to upgrade_1839() to keep all databases in sync
better fix for https://github.com/postfixadmin/postfixadmin/issues/89
7 years ago
Christian Boltz 1c0cd61fff
Add texts for password recovery to all languages 7 years ago
Christian Boltz ab666b6b7f
Fix microtime() usage
By default, microtime() returns a string :-/ which unsurprisingly causes
a warning when doing math on it.
7 years ago
Christian Boltz 8fb67e6fbf
Fix broken table names caused by doubled table_by_key() calls
The high-level db_*() functions (like db_update(), and also
_db_add_field() in upgrade.php) call table_by_key() internally, which
also means the unwrangled table name needs to be handed over to them.
If handing over an already table_by_key()'d table name, it gets modified
again and results in something like prefix_prefix_mailbox.
7 years ago
David Goodwin a27f80c01d
Merge pull request #113 from er1cs/patch-2
Update upgrade.php
7 years ago
David Goodwin 24b447f8e5
Merge pull request #112 from er1cs/patch-1
Update functions.inc.php
7 years ago
er1cs a4467a7e0b
Update upgrade.php 7 years ago
er1cs 7b8626ca81
Update functions.inc.php
I found that Mysql 8 don't like table names without `` in requests. So i make changes in function table_by_key in functions.inc.php and in upgrade.php . Now it works.  FreeBSD 11.1 Apache/2.4.29 (FreeBSD) PHP/7.1.11 Mysql 8
7 years ago
David Goodwin e478eb8b9f
Merge pull request #110 from Erwane/syslog-ident
#109 : syslog ident set to "vacation"
7 years ago
Breton Erwane 37d4279c52
syslog ident set to "vacation" 7 years ago
David Goodwin 43fb0bde77 log IP address for failed logins as well - see #105 7 years ago
Christian Boltz b06d25de8f
Merge pull request #108 from HLFH/master
favicon within images folder
7 years ago
HLFH 0972df8243 favicon within images folder 7 years ago
David Goodwin 768d29623e patch from https://github.com/bofh16/postfixadmin/blob/master/bg.lang.patch - thanks! 7 years ago
David Goodwin 7afb26fcc8 variables for docker 7 years ago
David Goodwin bdade520f4
Merge pull request #85 from julywind/master
fix invalid value for token_validity
7 years ago
houmingtao 5f1ac12d72 use current time as default token_validity value 7 years ago
David Goodwin 8bd435039b
Merge pull request #92 from leeclemens/feature-91/mysql-ssl
Add support for MySQL connections over SSL
7 years ago
Lee Clemens ebbd9025e4 Add support for MySQL connections over SSL 7 years ago
David Goodwin dbbc40b327 add example docker compose settings 7 years ago
David Goodwin ba47f2df2a update docker entrypoint - require db connection params; default to sqlite; revert to using upgrade.php as we do not need the setup.php checks 7 years ago
David Goodwin 72f32f0b3d
Merge pull request #90 from pbkwee/patch-1
singular correction.  Update en.lang
7 years ago
pbkwee f217524524
Update en.lang
"Your email address or password are not correct".  Message indicates one thing is wrong.  So use is not are.
7 years ago
David Goodwin 5720e73732 + cd docker 7 years ago
David Goodwin a77d08a92c initial Docker readme 7 years ago
David Goodwin 699267a915 fall back to sqlite for docker image 7 years ago
David Goodwin 356ca84144
Merge pull request #64 from J0WI/docker
[WIP] add Dockerfile
7 years ago
David Goodwin 0f09b8c176 _db_add_field() calls table_by_key - so avoid calling it twice ... 7 years ago
David Goodwin 17e347de7f Add id autoincrement field to log table; ought to fix #89 7 years ago
David Goodwin 90d3a0ded7 see #86 - remove unnecessary config user/group 7 years ago
David Goodwin 56e1215994 upgrade.php: output current/target version 7 years ago
root 4670182d79 fix invalid value for token_validity 7 years ago
Christian Boltz fe5e256b6d Merge pull request #79 from Ecodev/harden-password-reset
Harden password reset process
7 years ago
Sylvain Tissot ffb84283c2
Harden password reset process
The improvements are:

- Die with an explicit message when a user is trying to reset his lost password and the option is disabled in config
- Redirect user to main page after password change using relative URL
- Don't leak info whether user exists or has recovery info defined
- Throttle password reset requests to prevent brute force attacks
- Show phone/alt email fields in mailbox/admin edit form only when the password reset option is enabled
- Make database upgrade code compatible with other databases types
- Use the existing password generator to generate OTP. It is now stored in database, unique to each user, valid only for 1 hour and can only by used once.
7 years ago
David Goodwin 8bb6000072 Merge pull request #60 from Vilican/master
Security fixes
7 years ago
David Goodwin db06ac919c Merge pull request #82 from evaryont/sqlite-v1837
Upgrade SQlite db to v1837
7 years ago
Colin Shea f568309ef5 Upgrade SQlite db to v1837
Includes a TODO for v1836. Not sure if it's needed... Haven't ran into
any issues yet.
7 years ago
jowi 39dca79879 Add SQLite and PDO support 7 years ago
David Goodwin c5136c408d improve config file loading when installed from a debian package 7 years ago
jowi ec2cc0041e fix postgres dependency 7 years ago
Christian Boltz ae56c2b700
Fix syntax error in viewlog.php
Reported in issue #74
7 years ago
David Goodwin dd06aa75e0 attempt at fixing various .deb issues - link templates_c to /var/cache/postfixadmin; add postfixadmin-cli to deb and symlink into /usr/bin 7 years ago
David Goodwin 252d42dcc0 fix perms (executable) 7 years ago
David Goodwin 5c2e3d1e00 possible changes for deb package to include postfixadmin-cli in /usr/bin 7 years ago
David Goodwin 6258cc669d update quilt patches 7 years ago
David Goodwin 2fc36e82ad see #74 - fix undefined $CONF[page_size] 7 years ago
David Goodwin 4b999b3f6b improve mysqli connection settings - see https://github.com/postfixadmin/postfixadmin/issues/73 7 years ago
Matyáš Koc 3c95ec4a09 Add CSRF token 7 years ago
Matyáš Koc 9f30aa5ff4 Handle logout in a new way (user login) 7 years ago
Matyáš Koc 74c29f8a10 Handle logout in a new way (admin login) 7 years ago
David Goodwin 82e7bdfda3 fix surname typo 7 years ago
David Goodwin 9dbeb68f9a add TODO 7 years ago
David Goodwin 2b04b72072 remove unnecessary nesting, reindent, make it print out what it might do before breaking stuff etc 7 years ago
David Goodwin 9b16645c0f Merge pull request #70 from Seitanas/master
virtualmaildel.php with PHP mysqli extension.
7 years ago
Seitanas 72288b8402 Updated to use PHP mysqli extension. 7 years ago
David Goodwin 0b70b5c686 resync debian/control with debian stretch 7 years ago
jowi dbe8475ed2 pgsql support (wip) 7 years ago
David Goodwin 9841c7c86b bump file 7 years ago
David Goodwin c476a61ec4 clear stat cache so the is_writeable() result will eventually change with subsequent page reloads if the user has actually fixed the dir 7 years ago
David Goodwin 14ec596cbf bump Smarty to v1.3.31 (various fixes); add custom modifier.needle.php 7 years ago
David Goodwin a40e99c8ed renamed to INSTALL.md 7 years ago
Christian Boltz 2251c00fb8
disable password reset until it is secure
For some unknown reason, the insecure version of pull request 18 (which
uses easily guessable reset codes) was merged. This commit disables the
password reset until someone makes it secure.

See the comments in https://github.com/postfixadmin/postfixadmin/pull/18
for details.
7 years ago
David Goodwin f3b2fe68f1 Merge pull request #18 from Ecodev/password-reset
#75 Enable users to reset their passwords
7 years ago
Sylvain Tissot 7a0b3b3750 Fix typo in french language file #18 7 years ago
Sylvain Tissot 9c9ba64a7f Allows a user or admin to reset his/her forgotten password with a code sent by email/SMS #18 7 years ago
David Goodwin 25f50f262d update for https://github.com/postfixadmin/postfixadmin/issues/66 7 years ago
David Goodwin 1f63a9df89 update Install.txt -> Install.md 7 years ago
David Goodwin da9f674611 better now? 7 years ago
David Goodwin 8d2223acfa better now? 7 years ago
David Goodwin 6442c8aff4 better now? 7 years ago
David Goodwin ba8a4ab659 better markup 7 years ago
David Goodwin 76f0387313 try this 7 years ago
David Goodwin 7f2ea1a20a make github friendly, perhaps 7 years ago
David Goodwin c3a4a6ed8d remove some comments from the top of vacation.pl; add links to file(s); remove unnecessary index.php 7 years ago
David Goodwin d98e83e624 Merge pull request #61 from tkempf/Email-Sender
Replace Deprecated Mail::Sender by Email::Sender
7 years ago
tkempf 066a22cb42 Added forgotten use Statement for MIME:EncWords 7 years ago
tkempf f2d4e6dbcc Subject with non ASCII-chars still needs to be encoded 7 years ago
tkempf 34474a20e5 set default value for $no_vacation_pattern 7 years ago
tkempf 4660d65679 Renamed $novacation_pattern to $no_vacation_pattern + codestyle changes 7 years ago
J0WI 33db684562 add Dockerfile 7 years ago
David Goodwin 466bd6834c Merge pull request #63 from Callidior/viewlog-page_size
Fix unquoted string array index in viewlog.php
7 years ago
Björn Barz 3786ebc33e Fixed unquoted string array index in viewlog.php
`$CONF[page_size]` was working, but throwing E_NOTICE, so I propose changing it to `$CONF['page_size']`.
7 years ago
tkempf c5dcbeb48d Removed unused libraries MIME::Encwords and MIME::Base64 7 years ago
tkempf 79f8a63a46 Bugfix in Encoding of vacation mail. UTF-8 header was missing and the
mailbody is already utf8, so no need to recode
7 years ago
tkempf cc3d5b13e8 Add Example for $novacation_pattern 7 years ago
tkempf e5e9ce7674 When using STARTTLS the SSL_verifycn_name must be set to prevent SSL
Errors
7 years ago
tkempf 1653e58398 Bump Version to 4.1
Sending Mail now works at least without encryption
7 years ago
Matyáš Koc e903484692 Links with target="_blank" should have rel="noopener" 7 years ago
Matyáš Koc 3486a5c593 Updated comment-documentation 7 years ago
Matyáš Koc 019209abab Added CSRF check to user login 7 years ago
Matyáš Koc 7de653db58 Added CSRF check to admin login 7 years ago
tkempf b781195526 Replace deprecated Mail::Sender by Email::Sender
Add searchpath for local vacation.conf
7 years ago
Christian Boltz bfaea973bd Merge pull request #59 from lamby/correct-equals-plus-to-plus-equals-typos
Correct some "=+ 1" -> "+= 1" typos in setup.php.
7 years ago
Chris Lamb e318b940ce Correct some "=+ 1" -> "+= 1" typos in setup.py.
This probably wasn't causing a problem as we were setting $error to +1
and we only ever check whether it is non-zero.
7 years ago
tkempf 27e336cd2c Added novacation_pattern regexp to prevent sending vacation messages for
specific recipient addresses
7 years ago
Christian Boltz db4b38ecad Merge pull request #56 from Vilican/patch-1
Updated Czech language
7 years ago
Matyáš Koc 1ea38f9c43 Updated Czech language
Corrected typos and mistakes, translated new strings
7 years ago
Christian Boltz f18f16c004
move $CONF['edit_alias'] next to $CONF['alias_control'] 7 years ago
Christian Boltz 4d9a0717d0 Merge pull request #26 from medarion/master
added config option to disable "edit_alias" function for users
7 years ago
David Goodwin e498a16da6 Merge pull request #55 from dresken/master
Fixed: php 5.4 array shortcut syntax errors on 5.3
7 years ago
Aaron Howell cf72bf1dcc Fixed: php 5.4 array shortcut syntax errors on 5.3 7 years ago
Christian Boltz be3b7412ca
update requirements and links in INSTALL.TXT
- add mariadb and sqlite to requirements
- add link to github
- several small changes
7 years ago
Christian Boltz d4e77e7da6
Update/remove outdated information
- wiki link was outdated, fixed
- remove outdated note about SVN
- some whitespace fixes
7 years ago
Martin Oemus 6a6e1c8352 use Config-class, check auth first, fixed redirect 7 years ago
Martin Oemus 9aba43ee48 added config option to disable "edit_alias" function for users 7 years ago

@ -0,0 +1,34 @@
name: GitHubBuild
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Validate composer.json and composer.lock
run: composer validate
- name: setup templates_c
run: mkdir templates_c || true
- name: touch config.local.php
run: touch config.local.php && php -v
- name: Install dependencies
run: composer install --prefer-dist --no-progress --no-suggest
- name: Build/test
run: composer build
- name: setup coveralls
run: mkdir -p build/logs || true
- name: Coveralls
run: vendor/bin/coveralls ./clover.xml || true
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}

6
.gitignore vendored

@ -1,3 +1,7 @@
/config.local.php
/templates_c/*.tpl.php
/templates_c/*menu.conf.php
/vendor/
/.php_cs.cache
/.idea
/composer.lock

@ -0,0 +1,23 @@
<?php
$finder = PhpCsFixer\Finder::create()
->exclude('lib')
->exclude('vendor')
->exclude('templates')
->exclude('templates_c')
->exclude('debian')
->files()->notName('config.inc.php')->notName('config.local.php')
->in(__DIR__);
return PhpCsFixer\Config::create()
->setFinder($finder)
->setRules(array(
'@PSR2' => true,
'braces' => array(
'position_after_functions_and_oop_constructs' => 'same',
),
'method_argument_space' => false, # don't break formatting in initStruct()
'no_spaces_inside_parenthesis' => false, # don't break formatting in initStruct()
));
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4 ft=php: */

@ -0,0 +1,32 @@
language: php
php:
- 7.2
- 7.3
- 7.4
services:
- mysql
- postgresql
cache:
directories:
- $HOME/.composer/cache
- $HOME/vendor
before_install:
- mysql -e 'CREATE DATABASE postfixadmin;'
- psql -c 'create database postfixadmin;' -U postgres
before_script:
- travis_retry composer install --no-interaction --prefer-source --dev
- mkdir -p build/logs
script:
- composer build
- DATABASE=sqlite vendor/bin/phpunit tests/
- DATABASE=mysql vendor/bin/phpunit --coverage-clover=build/logs/clover.xml tests/
- DATABASE=postgresql vendor/bin/phpunit tests/
after_success:
- travis_retry php vendor/bin/php-coveralls

@ -26,6 +26,15 @@ our $db_username="mail";
# database password
our $db_password="CHANGE_ME!";
# Where to create a lockfile; please ensure path exists.
our $run_dir="/var/lock/fetchmail";
# in case you want to use dovecot deliver to put the mail directly into the users mailbox,
# set "mda" in the fetchmail table to the keyword "dovecot".
# Where the delivery binary is located
$dovecot_deliver = "/usr/lib/dovecot/deliver";
# instead of changing this script, you can put your settings to /etc/mail/postfixadmin/fetchmail.conf
# just use perl syntax there to fill the variables listed above (without the "our" keyword). Example:
# $db_username = 'mail';
@ -40,7 +49,7 @@ if (-f "/etc/mail/postfixadmin/fetchmail.conf") {
openlog("fetchmail-all", "pid", "mail");
sub log_and_die {
my($message) = @_;
my($message) = @_;
syslog("err", $message);
die $message;
}
@ -59,8 +68,6 @@ while ($_ = shift @ARGS1) {
}
}
$run_dir="/var/run/fetchmail";
# use specified config file
if (-e $configfile) {
do $configfile;
@ -72,6 +79,10 @@ if($db_type eq "Pg" || $db_type eq "mysql") {
log_and_die "unsupported db_type $db_type";
}
if(!-d $run_dir) {
log_and_die("Please create: $run_dir");
}
$lock_file=$run_dir . "/fetchmail-all.lock";
$lockmgr = LockFile::Simple->make(-autoclean => 1, -max => 1);
@ -100,7 +111,14 @@ map{
$cmd="user '${src_user}' there with password '".decode_base64($src_password)."'";
$cmd.=" folder '${src_folder}'" if ($src_folder);
$cmd.=" mda ".$mda if ($mda);
if ($mda) {
if ($mda eq "dovecot") {
$cmd.=" mda \"${dovecot_deliver} -d ${mailbox}\" ";
} else {
$cmd.=" mda ".$mda
}
}
# $cmd.=" mda \"/usr/local/libexec/dovecot/deliver -m ${mailbox}\"";
$cmd.=" is '${mailbox}' here";
@ -120,10 +138,11 @@ set no spambounce
set properties ""
set syslog
poll ${src_server} with proto ${protocol}
$cmd
TXT
$text.="poll ${src_server} with proto ${protocol}";
$text.=" service ${src_port}" if ($src_port);
$text.="\n $cmd";
($file_handler, $filename) = mkstemp( "/tmp/fetchmail-all-XXXXX" ) or log_and_die "cannot open/create fetchmail temp file";
print $file_handler $text;

@ -52,7 +52,17 @@ if [ -e "$maildir" ]; then
exit 1
fi
maildirmake "$maildir"
# try looking for maildirmake ...
MDM=`which maildirmake || which courier-maildirmake`
if [ "x${MDM}" = "x" ]; then
echo "Couldn't find maildirmake or courier-maildirmake in your PATH etc (via which)" >/dev/stderr
exit 1
fi
"${MDM}" "${maildir}"
if [ ! -d "$maildir" ]; then
echo "$0: maildirmake didn't produce a directory; bailing out."
exit 1

@ -3,35 +3,43 @@
ini_set('include_path', get_include_path() . ':' . dirname(__FILE__));
@include_once('Zend/Version.php');
if(!class_exists('Zend_Version', false)) {
die("Zend Framework not found. Please check the INSTALL File.");
if (!class_exists('Zend_Version', false)) {
die("Zend Framework not found. Please check the INSTALL File.");
}
chdir("..");
if (!defined('SM_PATH'))
{
define('SM_PATH','../');
if (!defined('SM_PATH')) {
define('SM_PATH', '../');
}
include_once(dirname(__FILE__) . '/config.php');
include_once(dirname(__FILE__) . '/functions.inc.php');
include_if_exists(dirname(__FILE__) . '/../include/validate.php');
if (file_exists(dirname(__FILE__) . '/../include/validate.php'))
{
include_once(dirname(__FILE__) . '/include/validate.php');
$config_file = dirname(__FILE__ ) . '/config.php';
$validate_file = dirname(__FILE__) . '/../include/validate.php';
if (!file_exists($config_file)) {
die("$config_file is missing");
}
else {
include_if_exists(SM_PATH . 'src/validate.php');
include_once($config_file);
include_once(dirname(__FILE__) . '/functions.inc.php');
if (file_exists($validate_file)) {
include_once($validate_file);
} else {
$validate_file = SM_PATH . '/src/validate.php';
if (file_exists($validate_file)) {
include_once($validate_file);
}
}
include_once(SM_PATH . 'functions/page_header.php');
include_once(SM_PATH . 'functions/display_messages.php');
include_once(SM_PATH . 'functions/imap.php');
include_if_exists(SM_PATH . 'functions/array.php');
if (file_exists(SM_PATH . 'src/load_prefs.php'))
{
if (file_exists(SM_PATH . 'src/load_prefs.php')) {
include_once(SM_PATH . 'src/load_prefs.php');
}
else {
} else {
include_if_exists(SM_PATH . 'include/load_prefs.php');
}
// overwrite squirrelmail's content type to utf8...
@ -41,4 +49,3 @@ header("Content-Type: text/html; charset=utf8");
//global $VACCONFMESSAGE;
bindtextdomain('postfixadmin', dirname(__FILE__) . '/postfixadmin/locale');
textdomain('postfixadmin');

@ -22,7 +22,7 @@ function _display_password_form() {
echo _('The PostfixAdmin plugin needs your current mailbox password');
echo "<form action='' method='post'>";
echo _('Password for');
echo " " . $_SESSION['username'] . " :";
echo " " . $_SESSION['username'] . " :";
echo "<input type='password' name='password' value=''>";
echo "<input type='submit' value='" . _('Submit') . "'></form>";
do_footer();
@ -40,37 +40,33 @@ function get_xmlrpc() {
$login_object = $client->getProxy('login');
if(empty($_SESSION['password'])) {
if(empty($_POST['password'])) {
if (empty($_SESSION['password'])) {
if (empty($_POST['password'])) {
_display_password_form();
exit(0);
}
else {
} else {
try {
$success = $login_object->login($_SESSION['username'], $_POST['password']);
}
catch(Exception $e) {
} catch (Exception $e) {
//var_dump($client->getHttpClient()->getLastResponse()->getBody());
error_log("Failed to login to xmlrpc instance - " . $e->getMessage());
die('Failed to login to xmlrpc instance');
}
if($success) {
if ($success) {
$_SESSION['password'] = $_POST['password'];
// reload the current page as a GET request.
header("Location: {$_SERVER['REQUEST_URI']}");
exit(0);
}
else {
} else {
_display_password_form();
exit(0);
}
}
}
else {
} else {
$success = $login_object->login($_SESSION['username'], $_SESSION['password']);
}
if(!$success) {
if (!$success) {
unset($_SESSION['password']);
die("Invalid details cached... refresh this page and re-enter your mailbox password");
}
@ -78,7 +74,7 @@ function get_xmlrpc() {
}
function include_if_exists($filename) {
if(file_exists($filename)) {
if (file_exists($filename)) {
include_once($filename);
}
return;
@ -93,10 +89,8 @@ $optmode = 'display';
//
function check_email($email) {
$return = filter_var($email, FILTER_VALIDATE_EMAIL);
if($return === false) {
if ($return === false) {
return false;
}
return true;
}

@ -23,5 +23,3 @@
****************************************************************************************/
header("Location: ../../index.php");
?>

@ -9,7 +9,7 @@ global $username;
do_header();
$USERID_USERNAME = $username;
$tmp = preg_split ('/@/', $USERID_USERNAME);
$tmp = preg_split('/@/', $USERID_USERNAME);
$USERID_DOMAIN = $tmp[1];
@ -20,15 +20,14 @@ $pPassword_password_current_text = '';
$pPassword_password_text = '';
$error = 0;
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
if ($_SERVER['REQUEST_METHOD'] == "POST") {
//$pPassword_password_text = _("pPassword_password_text");
$fPassword_current = $_POST['fPassword_current'];
$fPassword = $_POST['fPassword'];
$fPassword2 = $_POST['fPassword2'];
$username = $USERID_USERNAME;
if(!$user->login($_SESSION['username'], $_POST['fPassword_current'])) {
if (!$user->login($_SESSION['username'], $_POST['fPassword_current'])) {
$error = 1;
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
@ -37,20 +36,20 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
textdomain('squirrelmail');
}
$min_length = 0;
if(isset($CONF['min_password_length'])) {
if (isset($CONF['min_password_length'])) {
$min_length = $CONF['min_password_length'];
}
if (empty ($fPassword) or ($fPassword != $fPassword2) or ($min_length > 0 && strlen($fPassword) < $min_length)) {
if (empty($fPassword) or ($fPassword != $fPassword2) or ($min_length > 0 && strlen($fPassword) < $min_length)) {
$error = 1;
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
if(empty($fPassword)) {
if (empty($fPassword)) {
$pPassword_password_text .= _("The passwords that you supplied are empty!");
}
if($fPassword != $fPassword2) {
if ($fPassword != $fPassword2) {
$pPassword_password_text .= _("The passwords that you supplied don't match!");
}
if($min_length > 0 && strlen($fPassword) < $min_length) {
if ($min_length > 0 && strlen($fPassword) < $min_length) {
$pPassword_password_text .= _("The password you supplied is too short!");
}
bindtextdomain('squirrelmail', SM_PATH . 'locale');
@ -67,8 +66,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
$stMessage = _("Please sign out and log back again with your new password!");
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
}
else {
} else {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
$tMessage = _("Unable to change your password!");
@ -125,4 +123,3 @@ echo "<table bgcolor=\"$color[0]\" align=\"center\" width=\"95%\" cellpadding=\"
</tr></table></td></tr></table>";
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
?>

@ -5,7 +5,7 @@ require_once(dirname(__FILE__) . '/common.php');
$USERID_USERNAME = $username;
$tmp = preg_split ('/@/', $USERID_USERNAME);
$tmp = preg_split('/@/', $USERID_USERNAME);
$USERID_LOCALPART = $tmp[0];
$USERID_DOMAIN = $tmp[1];
@ -13,10 +13,9 @@ $xmlrpc = get_xmlrpc();
$alias = $xmlrpc->getProxy('alias');
do_header();
// Normal page request (GET)
if ($_SERVER['REQUEST_METHOD'] == "GET")
{
if ($_SERVER['REQUEST_METHOD'] == "GET") {
$row = $alias->get();
if($row === false) {
if ($row === false) {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
$tMessage = _("Unable to locate alias!");
@ -26,29 +25,25 @@ if ($_SERVER['REQUEST_METHOD'] == "GET")
}
}
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$pEdit_alias_goto = _("To");
$fGoto = $_POST['fGoto'];
// reform string into a list...
$goto = preg_replace ('/\r\n/', ',', $fGoto);
$goto = preg_replace ('/[\s]+/i', '', $goto);
$goto = preg_replace ('/\,*$/', '', $goto);
$array = preg_split ('/,/', $goto);
$goto = preg_replace('/\r\n/', ',', $fGoto);
$goto = preg_replace('/[\s]+/i', '', $goto);
$goto = preg_replace('/\,*$/', '', $goto);
$array = preg_split('/,/', $goto);
$error = 0;
// check that we have valid addresses in the list
foreach($array as $key => $email_address)
{
if (empty($email_address))
{
unset($array[$key]);
foreach ($array as $key => $email_address) {
if (empty($email_address)) {
unset($array[$key]);
continue;
}
if (!check_email($email_address))
{
if (check_email($email_address) != "") {
$error = 1;
$tGoto = $goto;
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
@ -61,15 +56,13 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
if ($error != 1) {
$flag = 'forward_and_store'; // goto = $USERID_USERNAME;
$success = $alias->update($array, $flag);
if(!$success) {
if (!$success) {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
$tMessage = _("Unable to modify the alias!");
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
}
else {
} else {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
echo "<p align=center><b>". _("Alias successfully changed!"). "\n</b></p>";
@ -83,7 +76,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
if(!isset($tMessage)) {
if (!isset($tMessage)) {
$tMessage = '';
}
echo "<table bgcolor=\"$color[0]\" align=\"center\" width=\"95%\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\">
@ -129,8 +122,10 @@ echo "<table bgcolor=\"$color[0]\" align=\"center\" width=\"95%\" cellpadding=\"
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
$aliases = $alias->get();
foreach($aliases as $address) {
if ($address == "" || $address == NULL) { continue; }
foreach ($aliases as $address) {
if ($address == "" || $address == null) {
continue;
}
print "$address\n";
}
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
@ -162,4 +157,3 @@ echo "
";
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
?>

@ -15,14 +15,12 @@ EOM;
do_header();
$USERID_USERNAME = $username;
$tmp = preg_split ('/@/', $USERID_USERNAME);
$tmp = preg_split('/@/', $USERID_USERNAME);
$USERID_DOMAIN = $tmp[1];
if ($_SERVER['REQUEST_METHOD'] == "GET")
{
if ($_SERVER['REQUEST_METHOD'] == "GET") {
$details = $vacation->getDetails();
if($vacation->checkVacation()) {
if ($vacation->checkVacation()) {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
$tMessage = _("You already have an auto response configured!");
@ -54,9 +52,7 @@ if ($_SERVER['REQUEST_METHOD'] == "GET")
</tr></table><BR></td></tr></table></td></tr></table>";
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
}
else
{
} else {
$tSubject = "Out of Office";
$tSubject = $details['subject'];
$VACCONF = $details['body'];
@ -94,64 +90,52 @@ if ($_SERVER['REQUEST_METHOD'] == "GET")
}
}
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$fBack = null;
$fAway = null;
foreach(array('fBack', 'fAway', 'fSubject', 'fBody') as $key) {
foreach (array('fBack', 'fAway', 'fSubject', 'fBody') as $key) {
$$key = null;
if(isset($_POST[$key])) {
if (isset($_POST[$key])) {
$$key = $_POST[$key];
}
}
if (!empty($fBack))
{
if (!empty($fBack)) {
$success = $vacation->remove();
if(!$success)
{
if (!$success) {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
$tMessage = _("Unable to update your auto response settings!");
echo "<p>This may signify an error; please contact support (1)</p>";
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
}
else
{
} else {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
echo "<p align=center><b>". _("Your auto response has been removed!") ."</b></p>";
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
}
}
if (!empty ($fAway))
{
if (!empty($fAway)) {
// add record into vacation
$success = $vacation->setAway($fSubject, $fBody);
if(!$success) {
if (!$success) {
$error = 1;
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
$tMessage = _("Unable to update your auto response settings!");
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
}
else
{
} else {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
echo "<p align=center><b>". _("Your auto response has been set!") ."</b></p>";
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
}
}
}
?>

@ -1,5 +1,8 @@
<?php
// vim:ts=4:sw=4:et
if (!defined('SM_PATH')) {
die("Invalid internal state (don't access file directly)");
}
include_once(SM_PATH . 'functions/i18n.php');
function squirrelmail_plugin_init_postfixadmin() {
@ -7,14 +10,13 @@ function squirrelmail_plugin_init_postfixadmin() {
global $squirrelmail_plugin_hooks;
$squirrelmail_plugin_hooks['optpage_register_block']['postfixadmin'] = 'postfixadmin_optpage_register_block';
}
function postfixadmin_version(){
function postfixadmin_version() {
return '2.3.0';
}
function postfixadmin_optpage_register_block () {
function postfixadmin_optpage_register_block() {
// Gets added to the user's OPTIONS page.
global $optpage_blocks;
global $AllowVacation;
@ -24,18 +26,18 @@ function postfixadmin_optpage_register_block () {
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
$optpage_blocks[] = array (
$optpage_blocks[] = array(
'name' => _("Forwarding"),
'url' => '../plugins/postfixadmin/postfixadmin_forward.php',
'desc' => _("Here you can create and edit E-Mail forwards."),
'js' => FALSE
'js' => false
);
bindtextdomain('squirrelmail', SM_PATH . 'locale');
textdomain('squirrelmail');
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
if($AllowVacation) {
if ($AllowVacation) {
$optpage_blocks[] = array(
'name' => _("Auto Response"),
'url' => '../plugins/postfixadmin/postfixadmin_vacation.php',
@ -47,7 +49,7 @@ function postfixadmin_optpage_register_block () {
}
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
textdomain('postfixadmin');
if($AllowChangePass) {
if ($AllowChangePass) {
$optpage_blocks[] = array(
'name' => _("Change Password"),
'url' => '../plugins/postfixadmin/postfixadmin_changepass.php',
@ -58,4 +60,3 @@ function postfixadmin_optpage_register_block () {
textdomain('squirrelmail');
}
}
?>

@ -1,185 +1,193 @@
<?php
/*
Virtual Mail Delete
by George Vieira <george at citadelcomputer dot com dot au>
You can run this from your crontab with something like
0 4 * * * * vmail php -q virtualmaildel.php >/dev/null
Changes:
2017.08.31 updated to use PHP mysqli extension.
2018.02.23 removing Sieve filters if exists.
Tadas Ustinavičius <tadas at ring dot lt> ( https://github.com/postfixadmin/postfixadmin/pull/70 )
*/
$CONF = [];
// Either, uncomment this (and change to work)
//require_once('/path/to/postfixadmin/config.inc.php');
// OR uncomment this.
/*
$CONF = [
'database_host' => 'localhost',
'database_user' => 'someone',
'database_password' => 'something',
'database_name' => 'mydb'
];
*/
$MAKE_CHANGES = false; // change to true when you're happy this isn't going to trash your server.
if (empty($CONF)) {
die("\nPlease configure me\n\n");
}
// Where's the homedir accounts stored. (GET THIS RIGHT OTHERWISE IT THINK NONE EXIST AND DELETES ALL)
$homedir = '/home/virtual';
if (! is_dir($homedir)) {
die("Cannot find home directory for virtual mailboxes in $homedir\n");
}
//
// Recursive Delete Function
//
// Virtual Mail Delete
// by George Vieira <george at citadelcomputer dot com dot au>
//
// You can run this from your crontab with something like
//
// 0 4 * * * * vmail php -q virtualmaildel.php >/dev/null
//
// Setup location of postfixadmin config files. Needed to login to mysql
//
$conf = '/home/httpd/mail/admin/config.inc.php';
//
// Where's the homedir accounts stored. (GET THIS RIGHT OTHERWISE IT THINK NONE EXIST AND DELETES ALL)
//
$homedir = '/home/virtual';
//
// Make sure everything is everything before continuing
//
if ( ! file_exists( $conf ) )
die( "Cannot find config file $conf\n" );
if ( ! is_dir( $homedir ) )
die( "Cannot find home directory for virtual mailboxes in $homedir\n" );
//
// Load mysql authentication from postfixadmin
//
include( $conf );
//
// Recursive Delete Function
//
function deldir($dir)
{
$current_dir = opendir($dir);
while($entryname = readdir($current_dir))
{
if(is_dir("$dir/$entryname") and ($entryname != "." and $entryname!=".."))
{
deldir("${dir}/${entryname}");
}
elseif($entryname != "." and $entryname!="..")
{
unlink("${dir}/${entryname}");
}
}
closedir($current_dir);
@rmdir(${dir});
}
function deldir($dir) {
$current_dir = opendir($dir);
while ($entryname = readdir($current_dir)) {
if (is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")) {
deldir("{$dir}/{$entryname}");
} elseif ($entryname != "." and $entryname!="..") {
unlink("{$dir}/{$entryname}");
}
}
closedir($current_dir);
@rmdir($dir);
}
// --- Main Start ---
//
// Get list of directories
//
$fr = opendir( $homedir );
while ( ($domain = readdir($fr)) !== false)
{
//
// Check if it's a dir
//
if ( $domain != "." and $domain != ".." and filetype($homedir .'/'. $domain) == "dir" )
{
//
// Open the (assumed) DOMAIN directory
//
$ff = opendir( $homedir .'/'. $domain );
while ( ($user = readdir($ff)) !== false)
{
//
// Check for directories assuming it's a user account
//
if ( $user!="." and $user!=".." and filetype($homedir .'/'. $domain .'/'. $user) == "dir" )
{
//
// if the dir 'new' exists inside then it's an account
//
if ( file_exists($homedir .'/'. $domain .'/'. $user .'/'. "new") )
{
$dir[$domain][$user] = "";
}
else
{
//
// Alert that the dir doesn't have a 'new' dir, possibly not an account. Leave it.
//
echo "UNKNOWN : " . $homedir ."/". $domain ."/". $user ."/new NOT FOUND. Possibly not an account. Leaving untouched\n";
}
}
}
}
}
//
// OK, got an array of accounts from the dir, Now connect to the DB and check them
//
$conx = mysql_connect( $CONF['database_host'],$CONF['database_user'],$CONF['database_password'] );
//
// Is there a problem connecting?
//
if ( $conx != false )
{
//
// Select the database
//
mysql_select_db( $CONF['database_name'] , $conx) or die ("Can't access database postfix : " . mysql_error());
//
// Select all mailboxes to verify against dirs listed in array
//
$query = "SELECT * FROM mailbox";
$result = mysql_query( $query );
//
// Query the mailbox table
//
if ( $result != false )
{
//
// Fetch the list of results
//
while ( $row = mysql_fetch_assoc( $result ) )
{
//
// Pull apart the maildir field, needed to figure out the directory structure to compare
//
$strip = explode("/",$row['maildir']);
//
// Unset the array if it exists. This stops it being erased later.
//
unset( $dir[ $strip[0] ][ $strip[1] ] );
}
//
// If there are results. unset the domain too.
//
if ( count($dir[$strip[0]])==0 and mysql_num_rows($result)>0 )
unset( $dir[$strip[0]] );
}
else
die( "Failed SELECT in mailboxes\n" );
}
else
die( 'Cannot connect to the database!\n' );
//
// OK, time to clean up. All known users/domains have been removed from the list.
//
//
// If the array still exists (incase nothing there)
//
if ( is_array($dir) )
{
//
// Go through each dir
//
foreach ( $dir as $key => $value )
{
//
// Is this a user array?
//
if ( is_array( $value) )
{
//
// Go through and nuke the folders
//
foreach ( $value as $user => $value2 )
{
//
// Nuke.. need any more explanations?
//
echo "REMOVING : " . $homedir."/".$key."/".$user."\n" ;
deldir( $homedir."/".$key."/".$user ) ;
}
}
}
}
//
// And we are outta here....
//
echo "Cleanup process completed\n";
?>
$dir = [];
//
// Get list of directories
//
$fr = opendir($homedir);
// TODO: Would glob($homedir . '/**/*/new') be somewhat quicker/shorter/less effort?
while (($domain = readdir($fr)) !== false) {
//
// Check if it's a dir
//
if ($domain == "." || $domain == ".." || filetype($homedir .'/'. $domain) != "dir") {
continue;
}
//
// Open the (assumed) DOMAIN directory
//
$ff = opendir($homedir .'/'. $domain);
while (($user = readdir($ff)) !== false) {
//
// Check for directories assuming it's a user account
//
if ($user == "." || $user == ".." || filetype($homedir .'/'. $domain .'/'. $user) != "dir") {
continue;
}
//
// if the dir 'new' exists inside then it's an account
//
if (file_exists($homedir .'/'. $domain .'/'. $user .'/'. "new")) {
$dir[$domain][$user] = "";
} else {
//
// Alert that the dir doesn't have a 'new' dir, possibly not an account. Leave it.
//
echo "UNKNOWN : " . $homedir ."/". $domain ."/". $user ."/new NOT FOUND. Possibly not an account. Leaving untouched\n";
}
}
}
//
// OK, got an array of accounts from the dir, Now connect to the DB and check them
//
$conx = mysqli_connect($CONF['database_host'], $CONF['database_user'], $CONF['database_password'], $CONF['database_name']);
//
// Is there a problem connecting?
//
if (! $conx || mysqli_connect_errno()) {
echo "DB connection failed." . mysqli_connect_error() . "\n";
die("Problem connecting to the database. ");
}
//
// Select all mailboxes to verify against dirs listed in array
//
$query = "SELECT * FROM mailbox";
$result = mysqli_query($conx, $query);
//
// Query the mailbox table
//
if (! $result) {
die("Failed to query mailbox table.");
}
//
// Fetch the list of results
//
while ($row = mysqli_fetch_assoc($result)) {
//
// Pull apart the maildir field, needed to figure out the directory structure to compare
//
$strip = explode("/", $row['maildir']);
//
// Unset the array if it exists. This stops it being erased later.
//
unset($dir[ $strip[0] ][ $strip[1] ]);
}
//
// If there are results. unset the domain too.
//
if (count($dir[$strip[0]])==0 and mysqli_num_rows($result)>0) {
unset($dir[$strip[0]]);
}
//
// OK, time to clean up. All known users/domains have been removed from the list.
//
//
// If the array still exists (incase nothing there)
//
if (is_array($dir)) {
//
// Go through each dir
//
foreach ($dir as $key => $value) {
//
// Is this a user array?
//
if (!is_array($value)) {
continue;
}
//
// Go through and nuke the folders
//
foreach ($value as $user => $value2) {
// Nuke.. need any more explanations?
$path = $homedir . '/' . $key . '/' . $user;
$sieve_path = $homedir . '/.sieve/' . $key . '/' . $user;
$sieve_exists = file_exists($sieve_path);
// check if user has Sieve filters created
if ($MAKE_CHANGES) {
deldir($path);
if ($sieve_exists) {
deldir($sieve_path);
}
} else {
echo " - Would recursively delete : $path \n";
if ($sieve_exists) {
echo " - Would recursively delete Sieve filters : $sieve_path \n";
}
}
}
}
}
echo "Cleanup process completed\n";

@ -6,6 +6,58 @@
#
# Further details on the project are available at http://postfixadmin.sf.net
Version X.X - master
-------------------------------------------------
- Improve vacation.pl (better utf-8 support)
- Improve DB connections (PDO, SSL)
- Add sha512.b64 password hash support (see https://github.com/postfixadmin/postfixadmin/issues/58)
- Add support for password expiration (see https://github.com/postfixadmin/postfixadmin/pull/200 and README.password_expiration )
- Improve ADDITIONS/postfixadmin-mailbox-postcreate.sh
- Add Date header into smtp_from() (see https://github.com/postfixadmin/postfixadmin/issues/203 )
- PostgreSQL fixes ( 1e158245d613fd1d8d5c1d59e26e940eb71f5b32 )
- vacation.pl fixes (perl libraries; see https://github.com/postfixadmin/postfixadmin/pull/194 )
- Add bootstrap theme (default not changed yet) ( see https://github.com/postfixadmin/postfixadmin/pull/172 )
- Improve CSV export from list.php
- Various misc. changes from static analysis (psalm)
- Update installation instructions. (see: https://github.com/postfixadmin/postfixadmin/issues/189 https://github.com/postfixadmin/postfixadmin/issues/188 )
- 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 )
- Usage of dovecot deliver as fetchmail mda
Version 3.2 - 2018/05/02
-------------------------------------------------
- move public facing stuff into public/, this allows us to stop exposing
templates_c/ etc. to the world (but also means you'll need to adjust your
webserver config)
- enable users to reset their passwords by mail or SMS
($CONF['forgotten_user_password_reset'],
$CONF['forgotten_admin_password_reset'], $CONF['sms_send_function'])
- allow local alias targets (without @domain) - see #134
- add $CONF['edit_alias'] to disable "edit_alias" function for users
- add php_crypt $CONF["encrypt"] option (see #170 for examples)
- add random_compat phar (see: https://github.com/paragonie/random_compat) to
support random_int()/random_string() in older PHP versions.
- add support for MySQL connections over SSL
- language updates: sk, ja, nl, bg, fr, cz
- update bundled smarty library (lib/smarty to 3.1.32; includes security fixes)
- split up pacrypt() into different functions; add some minimal test coverage
- add id autoincrement field to log table (#89)
- add token to login.php to prevent CSRF
- lots of bugfixes and code cleanup
- drop unused code in postfixadmin-cli
- introduce PHP-CS-Fixer to enforce code style
- vacation.pl:
- avoid answering to more known autoresponders
- add $no_vacation_pattern to avoid sending autoresponders based on the To:
address
- replace Deprecated Mail::Sender by Email::Sender
- use MIME:EncWords
- remove unused MIME::Base64
- add docker repo, see https://github.com/postfixadmin/docker
Version 3.1 - 2017/06/25
-------------------------------------------------

@ -29,7 +29,7 @@ changing to talk to a PostgreSQL or MySQL database.
# BEGIN /etc/dovecot/dovecot.conf:
# Change this to where your mail root is, this needs to match whatever structure postfix expects....
# See also: https://wiki.dovecot.org/MailLocation - %d domain, %u full username, %n user part (%u with no domain)
mail_location = maildir:/var/mail/vmail/%u/
namespace inbox {
@ -62,7 +62,7 @@ ssl_key = </etc/dovecot/private/dovecot.pem
# login is for outlook express smtpd auth
auth_mechanisms = plain login
# If you're having trouble, try uncommenting these :
# If you're having trouble, try uncommenting these:
#auth_debug = yes
#auth_debug_passwords = yes
@ -77,7 +77,7 @@ passdb {
}
# Uncomment this if you want Postfix to be able to do smtpd auth through dovecot
# At a minimum Postfix probably needs : smtpd_sasl_type = dovecot
# At a minimum Postfix probably needs smtpd_sasl_type = dovecot
# And additionally: smtpd_sasl_path = private/auth
#service auth {
# unix_listener /var/spool/postfix/private/auth {
@ -85,8 +85,6 @@ passdb {
# user = postfix
# group = postfix
# }
# user = postfix
# group = postfix
#}
# Needs to match Postfix virtual_uid_maps
@ -128,14 +126,12 @@ default_pass_scheme = MD5-CRYPT
password_query = SELECT username AS user,password FROM mailbox WHERE username = '%u' AND active='1'
# Query to retrieve user information, note uid matches dovecot.conf AND Postfix virtual_uid_maps parameter.
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid FROM mailbox WHERE username = '%u' AND active='1'
# MYSQL :
user_query = SELECT CONCAT('/var/vmail/mail/', maildir) AS home, 1001 AS uid, 1001 AS gid,
# MYSQL:
user_query = SELECT CONCAT('/var/mail/vmail/', maildir) AS home, 1001 AS uid, 1001 AS gid,
CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active='1'
# PostgreSQL : (no Quota though) :
# user_query = SELECT '/var/vmail/mail/' || maildir AS home, 1001 as uid, 1001 as gid FROM mailbox WHERE username = '%u' AND active = '1'
# PostgreSQL:
# user_query = SELECT '/var/mail/vmail/' || maildir AS home, 1001 AS uid, 1001 AS gid,
# '*:bytes=' || quota AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1'
#END /etc/dovecot/dovecot-sql.conf
@ -154,7 +150,7 @@ Add to dovecot.conf:
## IMAP quota
protocol imap {
quota = dict:storage=200000 proxy::quota
mail_plugins = quota
}
## POP quota
@ -181,13 +177,15 @@ quota = dict:storage=200000 proxy::quota
Change dovecot-sql.conf to return quota values:
for MySQL:
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'
Create file dovecot-dict-quota.conf:
Create file dovecot-dict-quota.conf.
For dovecot 1.0 & 1.1, use this as a template:
driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfix
@ -197,6 +195,22 @@ select_field = current
where_field = path
username_field = username
If you use dovecot 1.2 or newer, use this:
connect = host=localhost dbname=postfix user=postfix password=postfix
map {
pattern = priv/quota/storage
table = quota2
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = quota2
username_field = username
value_field = messages
}
Create database in Mysql:
(This is automatically done by postfixadmin's setup.php)

@ -20,18 +20,18 @@ virtual_mailbox_maps =
proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
# For transport map support, also use the following configuration:
relay_domains = proxy:mysql:/etc/postfix/sql/mysql_relay_domains.cf
transport_maps = proxy:mysql:/etc/postfix/sql/mysql_transport_maps.cf
# Also set the config.inc.php setting transport=YES
# and add the transport choices to transport_options.
# if you let postfix store your mails directly (without using maildrop, dovecot deliver etc.)
virtual_mailbox_base = /var/mail/vmail
# or whereever you want to store the mails
# Additional for quota support
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
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'
(See above note re Concat + PostgreSQL)

@ -0,0 +1,221 @@
# Example configuration
The below covers some default(ish) configuration things for using Postfix, Dovecot with PostgreSQL.
# Postfix
Assumptions :
* Mail is delivered into /var/mail/vmail/foo@example.com/
* The user with id 8 is used for ownership of mail files.
* PostgreSQL is running on the local server
* Dovecot is running on the local server, and SASL is used to allow authenticated clients to mail out.
## /etc/postfix/main.cf
The proxy: bits are optional, you may need to install an additional postfix package on your server to enable them.
i.e. proxy:pgsql:/path/to/file is equivalent to pgsql:/path/to/file. Use of 'proxy:' may lead to a small performance boost.
```
relay_domains = $mydestination, proxy:pgsql:/etc/postfix/pgsql/relay_domains.cf
virtual_alias_maps = proxy:pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf
virtual_mailbox_domains = proxy:pgsql:/etc/postfix/pgsql/virtual_domains_maps.cf
virtual_mailbox_maps = proxy:pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf
virtual_mailbox_base = /var/mail/vmail
virtual_mailbox_limit = 512000000
virtual_minimum_uid = 8
virtual_transport = virtual
virtual_uid_maps = static:8
virtual_gid_maps = static:8
local_transport = virtual
local_recipient_maps = $virtual_mailbox_maps
```
and for Postfix SASL support :
```
# SASL Auth for SMTP relaying
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_authenticated_header = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
```
## /etc/postfix/pgsql/relay_domains.cf
```
user = postfix
password = whatever
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = true
```
## /etc/postfix/pgsql/virtual_alias_maps.cf
```
user = postfix
password = whatever
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = true
```
## /etc/postfix/pgsql/virtual_domains_maps.cf
```
user = postfix
password = whatever
hosts = localhost
dbname = postfix
#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 = false and active = true
```
## /etc/postfix/pgsql/virtual_mailbox_limits.cf
```
# Used for quota
user = postfix
password = whatever
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s'
```
## /etc/postfix/pgsql/virtual_mailbox_maps.cf
```
user = postfix
password = whatever
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = true
```
# Dovecot
(This is from version 2.2.27, Debian Stretch)
## /etc/dovecot/dovecot.conf
```
mail_location = maildir:/var/mail/vmail/%u/
namespace inbox {
type = private
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
protocols = "imap pop3"
# Requires certificates ...
#ssl = yes
#ssl_cert = </etc/dovecot/private/something.pem
#ssl_key = </etc/letsencrypt/certs/something.key
login_greeting = My Mail Server
# http://wiki2.dovecot.org/Authentication/Mechanisms
# login is for outlook express ...
auth_mechanisms = plain login
#auth_debug = yes
#auth_debug_passwords=yes
# Postfix - Sasl auth support.
service auth {
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
# Auth process is run as this user.
user = postfix
group = postfix
}
service imap {
executable = imap
}
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf
}
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf
}
# Needs to match Postfix virtual_uid_maps
first_valid_uid = 8
# disallow or allow plaintext auth.
disable_plaintext_auth = yes
mail_plugins = $mail_plugins zlib
plugin {
zlib_save_level = 6
zlib_save = gz
}
protocol imap {
mail_plugins = $mail_plugins imap_zlib
}
mail_max_userip_connections = 50
log_path = /var/log/dovecot.log
```
## /etc/dovecot/dovecot-sql.conf
Ideally dovecot has a different read only database user.
```
connect = host=localhost dbname=postfix user=dovecot password=whatever
driver = pgsql
# Default password scheme - change to match your Postfixadmin setting.
# depends on your $CONF['encrypt'] setting:
# md5crypt -> MD5-CRYPT
# md5 -> PLAIN-MD5
# cleartext -> PLAIN
default_pass_scheme = MD5-CRYPT
# Query to retrieve password. user can be used to retrieve username in other
# formats also.
password_query = SELECT username AS user,password FROM mailbox WHERE username = '%u' AND active='1'
# Query to retrieve user information, note uid matches dovecot.conf AND Postfix virtual_uid_maps parameter.
user_query = SELECT '/var/vmail/mail/' || maildir AS home, 8 as uid, 8 as gid FROM mailbox WHERE username = '%u' AND active = '1'
```

@ -0,0 +1,48 @@
*Description
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.
I recommend to use:
$config['password_query'] = 'UPDATE mailbox SET password=%c, modified = now(), password_expiry = now() + interval 90 day';
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).

@ -33,10 +33,11 @@ When you install from a previous version make sure you backup your database
first. There are a lot of changes in the database structure since Postfix Admin
1.5.4.
$ mysqldump -a -u root -p > /tmp/postfixadmin-backup.sql
$ mysqldump -u root -p postfixdb > /tmp/postfixadmin-backup.sql
or
$ pg_dump -ad -u postfix postfix > /tmp/postfixadmin-backup.sql
$ pg_dump -ad -u postfix postfixdb > /tmp/postfixadmin-backup.sql
(Replace postfixdb with your Postfixadmin database's name)
2. Unarchive new Postfix Admin
------------------------------
@ -53,28 +54,35 @@ to have change the permissions for Postfix Admin.
$ cd /usr/local/www/postfixadmin
$ find -type f -print0 | xargs -0 chmod 640
$ find -type f -print0 | xargs -0 chown root:www
$ find -type f -print0 | xargs -0 chown root:www-data
(the last command assumes your Apache is running with group "www")
(the last command assumes your Apache is running with group "www-data")
Since version 2.4 we use smarty templates. That means the templates_c directory
Since version 3.0 we use smarty templates. That means the templates_c directory
needs to be writeable for your webserver.
$ chown -R www-data templates_c/
$ cd /usr/local/www/postfixadmin
$ mkdir templates_c && chmod 750 templates_c && chown -R www-data templates_c
(if your Apache runs as user "www-data")
If you have SELinux enabled, also run (adust the path to match your setup)
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/utils/pfadmin/public/templates_c(/.*)?"
$ sudo restorecon -Rv /var/www/utils/pfadmin/
4. Configure
------------
Check the config.inc.php file. There you can specify settings that are
relevant to your setup.
Comparing config.inc.php with your previous using "diff" might save you some
time.
You can use a config.local.php file to contain your local settings. These will override any
defined in config.inc.php - and save some time when upgrading to a new version of PostfixAdmin ;-)
You can use a config.local.php file to contain your local settings.
These will override any defined in config.inc.php - and save some time when upgrading to a new version of PostfixAdmin ;-)
5. Run setup.php
----------------------------------------

@ -5,12 +5,15 @@
# Licensed under GPL for more info check GPL-LICENSE.TXT
#
REQUIRED!!
----------
- You are using Postfix 2.0 or higher.
- You are using Apache 1.3.27 / Lighttpd 1.3.15 or higher.
- You are using PHP 5.1.2 or higher.
- You are using MySQL 3.23 or higher (5.x recommended) OR PostgreSQL 7.4 (or higher)
REQUIREMENTS
------------
- Postfix
- Apache / Lighttpd
- PHP (for web server)
- one of the following databases:
- MariaDB/MySQL
- PostgreSQL
- SQLite
READ THIS FIRST!
@ -29,20 +32,41 @@ There are also lots of HOWTOs around the web. Be warned that many of them
Please stick to the PostfixAdmin documentation, and use those HOWTOs only if
you need some additional information that is missing in the PostfixAdmin
DOCUMENTS/ folder.
- http://codepoets.co.uk/postfixadmin-postgresql-courier-squirrelmail-debian-etch-howto-tutorial (Debian+Courier+PostgreSQL+Postfix+Postfixadmin)
- http://bliki.rimuhosting.com/space/knowledgebase/linux/mail/postfixadmin+on+debian+sarge (Postfix+MySQL+Postfixadmin+Dovecot)
- http://en.gentoo-wiki.com/wiki/Virtual_mail_server_using_Postfix,_Courier_and_PostfixAdmin (Postfix+MySQL+Postfixadmin+Courier)
1. Unarchive new Postfix Admin
------------------------------
Make sure that you are in your WWW directory and then unarchive the
Postfix Admin archive (whatever the filename is):
$ tar -zxvf postfixadmin-$version.tgz
(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. 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)
2. Setup a Database
$ cd /srv/
$ wget -O postfixadmin.tgz https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.2.4.tar.gz
$ tar -zxvf postfixadmin.tgz
$ mv postfixadmin-postfixadmin-3.2 postfixadmin
Alternatively :
$ cd /srv
$ git clone https://github.com/postfixadmin/postfixadmin.git
$ cd postfixadmin
$ git checkout postfixadmin-3.2.4
2. Setup Web Server
-------------------
Assuming /var/www/html is where your webserver reads from, either create a symlink:
$ ln -s /srv/postfixadmin/public /var/www/html/postfixadmin
or setup an alias in your webserver config. For Apache, use:
Alias /postfixadmin /srv/postfixadmin/public
3. Setup a Database
-------------------
With your chosen/preferred database server (i.e. MySQL or PostgreSQL),
@ -60,16 +84,22 @@ For MySQL:
CREATE DATABASE postfix;
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'choose_a_password';
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';
FLUSH PRIVILEGES;
For PostgreSQL:
CREATE USER postfix WITH PASSWORD 'whatever';
CREATE DATABASE postfix OWNER postfix ENCODING 'unicode';
For SQLite:
$mkdir /srv/postfixadmin/database
$touch /srv/postfixadmin/database/postfixadmin.db
$sudo chown -R www-data:www-data /srv/postfixadmin/database
(both the directory and the database need to be writeable)
3. Configure PostfixAdmin so it can find the database
4. Configure PostfixAdmin so it can find the database
-----------------------------------------------------
Create a config.local.php file for your local configuration:
Create /srv/postfixadmin/config.local.php file for your local configuration:
<?php
$CONF['database_type'] = 'mysqli';
@ -97,14 +127,21 @@ $CONF['configured'] = true;
PostfixAdmin does not require write access to any files except the templates_c
directory (smarty cache). You can therefore leave the files owned as root (or
directory (smarty cache). You can therefore leave the files owned by root (or
another user); as long as the web server user (e.g. www-data) can read them, it
will be fine.
For templates_c/, allow write access (only) for the web server user (e. g. www-data).
The easiest way to do this is chown -R www-data templates_c
The easiest way to do this is
$ mkdir -p /srv/postfixadmin/templates_c
$ chown -R www-data /srv/postfixadmin/templates_c
(If you're using e.g. CentOS or another distribution which enables SELinux, something like the following may be necessary as well :
```chcon -R -t httpd_sys_content_rw_t /usr/share/postfixadmin/templates_c```
)
4. Check settings, and create Admin user
5. Check settings, and create Admin user
----------------------------------------
Hit http://yourserver.tld/postfixadmin/setup.php in a web browser.
@ -121,13 +158,13 @@ out - with appropriate instructions on what to do with it).
create the admin user using the form displayed.
5. Use PostfixAdmin
6. Use PostfixAdmin
-------------------
This is all that is needed. Fire up your browser and go to the site that you
specified to host Postfix Admin.
6. Integration with Postfix, Dovecot etc.
7. Integration with Postfix, Dovecot etc.
-----------------------------------------
Now that PostfixAdmin is working, you need to do some configuration in Postfix,
@ -151,9 +188,12 @@ You'll need to enable the xmlrpc link (see config.inc.php)
8. More information
-------------------
As of March 2007, PostfixAdmin moved to SourceForge. For the
forum posts and source updates, see:
https://sourceforge.net/projects/postfixadmin
The code and issue tracker is on GitHub:
https://github.com/postfixadmin/postfixadmin
IRC - a community of people may be able to help in #postfixadmin on irc.freenode.net.
See http://webchat.freenode.net/
There is also #postfixadmin on irc.freenode.net.
Legacy forum posts are on SourceForce at
https://sourceforge.net/projects/postfixadmin

@ -1,22 +1,41 @@
postfixadmin
============
![GitHubBuild](https://github.com/postfixadmin/postfixadmin/workflows/GitHubBuild/badge.svg)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/postfixadmin/Lobby)
[![Coverage Status](https://coveralls.io/repos/github/postfixadmin/postfixadmin/badge.svg?branch=master)](https://coveralls.io/github/postfixadmin/postfixadmin?branch=master)
![GitHub repo size](https://img.shields.io/github/repo-size/postfixadmin/postfixadmin)
[![Chat](https://img.shields.io/badge/chat-on%20freenode-brightgreen.svg)](https://kiwiirc.com/nextclient/irc.freenode.net/#postfixadmin)
PostfixAdmin - web based administration interface for Postfix mail servers
# PostfixAdmin
An open source, web based interface for managing domains/mailboxes/aliases etc on a Postfix based mail server.
Technically this project is still hosted in SVN/SourceForge. However, we welcome git pull requests and will merge them into subversion as necessary. If this repository (on github) becomes well used, we'll probably migrate.
Integrates with :
(DG. 2014/05/07)
- Postfix
- IMAP/POP3 server (e.g. Dovecot or Courier)
- Database backend (choose one of: sqlite, mysql, postgresql)
- Fetchmail (optional)
## Features
Useful Links
------------
- [Probably all you need to read (pdf)](http://blog.cboltz.de/uploads/postfixadmin-30-english.pdf)
- Unlimited domains/aliases/mailboxes
- Optional storage quota support
- Optional password expiry (beta)
- Multiple password hashing formats
- Supports PostgreSQL, MySQL, MariaDB, SQLite database backends (choose one)
- Supports retrieval of mail from a remote POP3 server (via fetchmail)
- Vacation / Autoresponder / Out Of Office support
- Users have the ability to login, change their password or vacation (out of office) status.
- Integration with Squirrelmail / Roundcube (via plugins)
- Optional XMLRPC based API
- Supports PHP5.6+
## Useful Links
- [Probably all you need to read (pdf)](http://blog.cboltz.de/uploads/postfixadmin-30-english.pdf)
- http://postfixadmin.sf.net - the current homepage for the project
- [Docker Images](https://github.com/postfixadmin/docker)
- [What is it? (txt)](/DOCUMENTS/POSTFIXADMIN.txt)
- [Installation instructions](/INSTALL.TXT)
- [Wiki](http://sourceforge.net/apps/mediawiki/postfixadmin)
- [Wiki](https://sourceforge.net/p/postfixadmin/wiki/)
- [Mailing list](https://sourceforge.net/p/postfixadmin/discussion/676076)
- [IRC channel](irc://irc.freenode.net/postfixadmin) (#postfixadmin on irc.freenode.net).

@ -0,0 +1,93 @@
This file is not exhaustive.
Please feel free to add yourself and a summary of changes to this file at the bottom if creating a pull request.
Postfixadmin was originally written by Mischa Peters <mischa at high5 dot net>
Copyright (c) 2002 - 2005 High5!
Licensed under GPL for more info check GPL-LICENSE.TXT
Additional authors:
2004/07/13 David Osborn <ossdev at daocon.com>
strict, processes domain level aliases, more
subroutines, send reply from original to address
2004/11/09 David Osborn <ossdev at daocon.com>
Added syslog support
Slightly better logging which includes messageid
Avoid infinite loops with domain aliases
2005-01-19 Troels Arvin <troels at arvin.dk>
PostgreSQL-version.
Normalized DB schema from one vacation table ("vacation")
to two ("vacation", "vacation_notification"). Uses
referential integrity CASCADE action to simplify cleanup
when a user is no longer on vacation.
Inserting variables into queries stricly by prepare()
to try to avoid SQL injection.
International characters are now handled well.
2005-01-21 Troels Arvin <troels at arvin.dk>
Uses the Email::Valid package to avoid sending notices
to obviously invalid addresses.
2007-08-15 David Goodwin <david at palepurple.co.uk>
Use the Perl Mail::Sendmail module for sending mail
Check for headers that start with blank lines (patch from forum)
2007-08-20 Martin Ambroz <amsys at trustica.cz>
Added initial Unicode support
2008-05-09 Fabio Bonelli <fabiobonelli at libero.it>
Properly handle failed queries to vacation_notification.
Fixed log reporting.
2008-07-29 Patch from Luxten to add repeat notification after timeout. See:
https://sourceforge.net/tracker/index.php?func=detail&aid=2031631&group_id=191583&atid=937966
2008-08-01 Luigi Iotti <luigi at iotti dot biz>
Use envelope sender/recipient instead of using
From: and To: header fields;
Support to good vacation behavior as in
http://www.irbs.net/internet/postfix/0707/0954.html
(needs to be tested);
2008-08-04 David Goodwin <david at palepurple dot co dot uk>
Use Log4Perl
Added better testing (and -t option)
2009-06-29 Stevan Bajic <stevan at bajic.ch>
Add Mail::Sender for SMTP auth + more flexibility
2009-07-07 Stevan Bajic <stevan at bajic.ch>
Add better alias lookups
Check for more heades from Anti-Virus/Anti-Spam solutions
2009-08-10 Sebastian <reg9009 at yahoo dot de>
Adjust SQL query for vacation timeframe. It is now possible to set from/until date for vacation message.
2012-04-1 Nikolaos Topp <info at ichier.de>
Add configuration parameter $smtp_client in order to get mails through
postfix helo-checks, using check_helo_access whitelist without permitting 'localhost' default style stuff
2012-04-19 Jan Kruis <jan at crossreference dot nl>
change SQL query for vacation into function.
Add sub get_interval()
Gives the user the option to set the interval time ( 0 = one reply, 1 = autoreply, > 1 = Delay reply )
See https://sourceforge.net/tracker/?func=detail&aid=3508083&group_id=191583&atid=937966
2012-06-18 Christoph Lechleitner <christoph.lechleitner@iteg.at>
Add capability to include the subject of the original mail in the subject of the vacation message.
A good vacation subject could be: 'Re: $SUBJECT'
Also corrected log entry about "Already informed ..." to show the $orig_from, not $email
2017-07-14 Thomas Kempf <tkempf@hueper.de>
Replacing deprecated Mail::Sender by Email::Sender
Add configuration parameter $no_vacation_pattern in order to exlude specific alias-recipients from
sending vacation mails, even if one or multiple of the recipients the alias points to has vacation
currently active.

@ -1,43 +1,61 @@
######################################
# Virtual Vacation for Postfix Admin #
######################################
#
# Postfix Admin (Virtual Vacation)
# Originally authored by Mischa Peters <mischa at high5 dot net>
# Copyright (c) 2002 - 2005 High5!
# Licensed under GPL for more info check GPL-LICENSE.TXT
#
REQUIRED!
---------
There are a bunch of Perl modules which need installing, depending on your
distribution these may be available through your package management tool, or
will need installing through CPAN.
A full list of required modules can be found in the source of vacation.pl.
# About Virtual Vacation
It obviously relies on Perl
AKA 'An out of office' automated email response.
About Virtual Vacation
----------------------
The vacation script runs as service within Postfix's master.cf configuration file.
Mail is sent to the vacation service via a transport table mapping.
When users mark themselves as away on vacation, an alias is added to their account
sending a copy of all mail to them to the vacation service.
e.g. mail to billy@goat.com will be delivered to
billy@goat.com AND
billy#goat.com@autoreply.goat.com
* billy@goat.com AND
* billy#goat.com@autoreply.goat.com
Mail to @autoreply.goat.com is caught by the vacation.pl script and a reply
will be sent based on various settings. By default a reply is only sent once.
# Dependencies / Requirements
There are a bunch of Perl modules which need installing, depending on your
distribution these may be available through your package management tool, or
will need installing through CPAN.
```
Email::Valid
Email::Sender
Email::Simple
Email::Valid
Try::Tiny
MIME::Charset
MIME::EncWords
Log::Log4perl
Log::Dispatch
GetOpt::Std
Net::DNS;
```
You may install these via CPAN, or through your package tool.
CPAN: 'perl -MCPAN -e shell', then 'install Module::Whatever'
## Debian Systems
```bash
apt-get install libemail-sender-perl libemail-simple-perl libemail-valid-perl libtry-tiny-perl libdbd-pg-perl libemail-mime-perl liblog-log4perl-perl liblog-dispatch-perl libgetopt-argvfile-perl libmime-charset-perl libmime-encwords-perl libnet-dns-perl
```
Install Virtual Vacation
------------------------
and one of :
```bash
libdbd-pg-perl or libdbd-mysql-perl
```
1. Create a local account
-------------------------
# Installing Virtual Vacation
## 1. Create a local account
Create a dedicated local user account called "vacation".
This user handles all potentially dangerous mail content - that is why it
@ -51,17 +69,19 @@ Also create a separate "vacation" group.
This should look like this:
```raw
#/etc/passwd
vacation:*:65501:65501:Virtual Vacation:/nonexistent:/sbin/nologin
```
```raw
#/etc/group
vacation:*:65501:
```
## 2. Create a log directory or log file
2. Create a log directory or log file
-------------------------------------
If you want to log to a file ($log_to_file), create a log directory or an
If you want to log to a file ($log\_to\_file), create a log directory or an
empty log file.
This file or directory needs to be writeable for the "vacation" user.
@ -69,66 +89,79 @@ This file or directory needs to be writeable for the "vacation" user.
Note: If you are logging to syslog, you can skip this step.
3. Install vacation.pl
----------------------
## 3. Install vacation.pl
Create a directory /usr/lib/postfixadmin/ and copy the vacation.pl file to it:
$ mkdir /usr/lib/postfixadmin
$ cp vacation.pl /usr/lib/postfixadmin/vacation.pl
$ chown -R root:vacation /usr/lib/postfixadmin
$ chmod 750 /usr/lib/postfixadmin/ /usr/lib/postfixadmin/vacation.pl
```bash
mkdir /usr/lib/postfixadmin
cp vacation.pl /usr/lib/postfixadmin/vacation.pl
chown -R root:vacation /usr/lib/postfixadmin
chmod 750 /usr/lib/postfixadmin/ /usr/lib/postfixadmin/vacation.pl
```
Which will then look something like:
```raw
-rwxr-x--- 1 root vacation 3356 Dec 21 00:00 vacation.pl*
```
## 4. Setup the transport type
4. Setup the transport type
---------------------------
Define the transport type in the Postfix master file:
```raw
#/etc/postfix/master.cf:
vacation unix - n n - - pipe
flags=Rq user=vacation argv=/usr/lib/postfixadmin/vacation.pl -f ${sender} -- ${recipient}
```
5. Setup the transport maps file
--------------------------------
## 5. Setup the transport maps file
Tell Postfix to use a transport maps file, so add the following to your
Postfix main.cf:
```raw
#/etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport
```
Then add the transport definition to the newly created transport file.
Obviously, change yourdomain.com to your own domain. This can be any
arbitrary domain, and it is easiest if you just choose one that will be used
for all your domains.
```raw
#/etc/postfix/transport
autoreply.yourdomain.com vacation:
```
(You may need to create an entry in /etc/hosts for your non-existant domain)
Execute "postmap /etc/postfix/transport" to build the hashed database.
Execute "postfix reload" to complete the change.
(You may need to create an entry in /etc/hosts for your non-existant domain)
Execute
```bash
postmap /etc/postfix/transport
```
Execute
```bash
postfix reload
```
to complete the change.
6. Configure vacation.pl
------------------------
## 6. Configure vacation.pl
The perl vacation.pl script needs to know which database you are using, and also
how to connect to the database.
Namely :
Change any variables starting with '$db_' and '$db_type' to either 'mysql' or 'pgsql'.
Change any variables starting with '$db\_' and '$db\_type' to either 'mysql' or 'pgsql'.
Change the $vacation_domain variable to match what you entered in your /etc/postfix/transport
Change the $vacation\_domain variable to match what you entered in your /etc/postfix/transport
file.
You can do this in two ways:
@ -139,17 +172,21 @@ b) create /etc/postfixadmin/vacation.conf and enter your settings there
Just use perl syntax there to fill the config variables listed in vacation.pl
(without the "our" keyword). Example:
$db_username = 'mail';
```perl
$db_username = 'mail';
1; # required final line - keeps perl happy.
```
To make sure nobody except vacation.pl can read your vacation.conf (including the
database password), run
$ chown root:vacation /etc/postfixadmin/vacation.conf
$ chmod 640 /etc/postfixadmin/vacation.conf
```bash
chown root:vacation /etc/postfixadmin/vacation.conf
chmod 640 /etc/postfixadmin/vacation.conf
```
7. Check the alias expansion
----------------------------
## 7. Check the alias expansion
Depending on your setup, you may have multiple 'smtpd' service definitions within
your postfix master.cf file. This is especially the case if you are also using AMAVIS or
@ -158,10 +195,14 @@ another content filtering system when mail is re-injected into Postfix using the
If you are, it's likely that alias expansion may happen more than once, in which case you
may see vacation-style responses duplicated. To suppress this behaviour, you need to add:
```raw
-o receive_override_options=no_address_mappings
```
For example :
```raw
smtp inet n - - - 12 smtpd
-o content_filter=amavis:[127.0.0.50]:10024
-o receive_override_options=no_address_mappings
@ -175,40 +216,26 @@ smtp inet n - - - 12 smtpd
-o mynetworks=127.0.0.0/8
-o receive_override_options=no_header_body_checks
```
^^^ Alias expansion occurs here, so we don't want it to happen again for the
first smtpd daemon (above). If you have per-user settings in amavis,
you might want to have no_address_mappings in the smtpd on port 10025
instead.
8. Security
-----------
## 8. Security
If security is an issue for you, read ../DOCUMENTS/Security.txt
# Postfixadmin
When this is all in place you need to have a look at the Postfix Admin
config.inc.php. Here you need to enable Virtual Vacation for the site.
What do these files do?
-----------------------
When a user enables a vacation message on their account, the alias
definition is changed so that in addition to delivering to their own
mailbox, it also delivers to a dummy alias which calls the vacation.pl
program. In other words, if joeuser@domain.com enables their vacation, the
entry in the alias database table will deliver mail to
joeuser@something.com, as well as
joeuser#something.com@autoreply.yourdomain.com
vacation.pl then checks the database to see wether a user is on holiday and
what message to send back. Make sure that vacation.pl is able to communicate
to your database. You have to specify the database, username and password for
it as described in the "Configure vacation.pl" section.
NOTE: Make sure that the path to perl in vacation.pl is correct.
# Help ! It's not working
I'm in trouble!
---------------
When something is not working there are a couple of files that you can have
a look at. The most important one is your maillog (usually in /var/log/).
@ -216,7 +243,3 @@ Vacation.pl also has some debugging and logging capabilties. Check the top
of vacation.pl.
Done!
-----
When this is all in place you need to have a look at the Postfix Admin
config.inc.php. Here you need to enable Virtual Vacation for the site.

@ -1,22 +0,0 @@
<?php
//
// Postfix Admin
// by Mischa Peters <mischa at high5 dot net>
// Copyright (c) 2002 - 2005 High5!
// Licensed under GPL for more info check GPL-LICENSE.TXT
//
// File: index.php
//
// Template File: -none-
//
// Template Variables:
//
// -none-
//
// Form POST \ GET Variables:
//
// -none-
//
header ("Location: ../login.php");
exit;
?>

@ -1,110 +1,13 @@
#!/usr/bin/perl -X
# Note - 2017/02/08 DG :
# Yes - I know -X (^) is not ideal.
# Patches are welcome to remove the dependency on Mail::Sender.
# Until then, we need -X to stop it failing with warnings like
# defined(@array) is deprecated at .../perl5/Mail/Sender.pm line 318.
#!/usr/bin/perl
#
# Virtual Vacation 4.0
#
# $Revision$
# Originally by Mischa Peters <mischa at high5 dot net>
#
# Copyright (c) 2002 - 2005 High5!
# Licensed under GPL for more info check GPL-LICENSE.TXT
#
# Additions:
# 2004/07/13 David Osborn <ossdev at daocon.com>
# strict, processes domain level aliases, more
# subroutines, send reply from original to address
#
# 2004/11/09 David Osborn <ossdev at daocon.com>
# Added syslog support
# Slightly better logging which includes messageid
# Avoid infinite loops with domain aliases
#
# 2005-01-19 Troels Arvin <troels at arvin.dk>
# PostgreSQL-version.
# Normalized DB schema from one vacation table ("vacation")
# to two ("vacation", "vacation_notification"). Uses
# referential integrity CASCADE action to simplify cleanup
# when a user is no longer on vacation.
# Inserting variables into queries stricly by prepare()
# to try to avoid SQL injection.
# International characters are now handled well.
#
# 2005-01-21 Troels Arvin <troels at arvin.dk>
# Uses the Email::Valid package to avoid sending notices
# to obviously invalid addresses.
#
# 2007-08-15 David Goodwin <david at palepurple.co.uk>
# Use the Perl Mail::Sendmail module for sending mail
# Check for headers that start with blank lines (patch from forum)
#
# 2007-08-20 Martin Ambroz <amsys at trustica.cz>
# Added initial Unicode support
#
# 2008-05-09 Fabio Bonelli <fabiobonelli at libero.it>
# Properly handle failed queries to vacation_notification.
# Fixed log reporting.
#
# 2008-07-29 Patch from Luxten to add repeat notification after timeout. See:
# https://sourceforge.net/tracker/index.php?func=detail&aid=2031631&group_id=191583&atid=937966
#
# 2008-08-01 Luigi Iotti <luigi at iotti dot biz>
# Use envelope sender/recipient instead of using
# From: and To: header fields;
# Support to good vacation behavior as in
# http://www.irbs.net/internet/postfix/0707/0954.html
# (needs to be tested);
#
# 2008-08-04 David Goodwin <david at palepurple dot co dot uk>
# Use Log4Perl
# Added better testing (and -t option)
#
# 2009-06-29 Stevan Bajic <stevan at bajic.ch>
# Add Mail::Sender for SMTP auth + more flexibility
#
# 2009-07-07 Stevan Bajic <stevan at bajic.ch>
# Add better alias lookups
# Check for more heades from Anti-Virus/Anti-Spam solutions
#
# 2009-08-10 Sebastian <reg9009 at yahoo dot de>
# Adjust SQL query for vacation timeframe. It is now possible to set from/until date for vacation message.
#
# 2012-04-1 Nikolaos Topp <info at ichier.de>
# Add configuration parameter $smtp_client in order to get mails through
# postfix helo-checks, using check_helo_access whitelist without permitting 'localhost' default style stuff
#
# 2012-04-19 Jan Kruis <jan at crossreference dot nl>
# change SQL query for vacation into function.
# Add sub get_interval()
# Gives the user the option to set the interval time ( 0 = one reply, 1 = autoreply, > 1 = Delay reply )
# See https://sourceforge.net/tracker/?func=detail&aid=3508083&group_id=191583&atid=937966
#
# 2012-06-18 Christoph Lechleitner <christoph.lechleitner@iteg.at>
# Add capability to include the subject of the original mail in the subject of the vacation message.
# A good vacation subject could be: 'Re: $SUBJECT'
# Also corrected log entry about "Already informed ..." to show the $orig_from, not $email
# Virtual Vacation 4.2
#
# See Contributions.txt for a list of contributions.
# https://github.com/postfixadmin/postfixadmin/blob/master/VIRTUAL_VACATION/Contributions.txt
# See INSTALL.txt for help installing (and lists of dependent packages etc)
# https://github.com/postfixadmin/postfixadmin/blob/master/VIRTUAL_VACATION/INSTALL.md
# Requirements - the following perl modules are required:
# DBD::Pg or DBD::mysql
# Mail::Sender, Email::Valid MIME::Charset, Log::Log4perl, Log::Dispatch, MIME::EncWords and GetOpt::Std
#
# You may install these via CPAN, or through your package tool.
# CPAN: 'perl -MCPAN -e shell', then 'install Module::Whatever'
#
# On Debian based systems :
# libmail-sender-perl
# libdbd-pg-perl
# libemail-valid-perl
# libmime-perl
# liblog-log4perl-perl
# liblog-dispatch-perl
# libgetopt-argvfile-perl
# libmime-charset-perl (currently in testing, see instructions below)
# libmime-encwords-perl (currently in testing, see instructions below)
#
# Note: When you use this module, you may start seeing error messages
# like "Cannot insert a duplicate key into unique index
@ -112,25 +15,22 @@
# behavior, and not an indication of trouble (see the "already_notified"
# subroutine for an explanation).
#
# You must also have the Email::Valid and MIME-tools perl-packages
# installed. They are available in some package collections, under the
# names 'perl-Email-Valid' and 'perl-MIME-tools', respectively.
# One such package collection (for Linux) is:
# http://dag.wieers.com/home-made/apt/packages.php
#
use utf8;
use DBI;
use MIME::Base64 qw(encode_base64);
use Encode qw(encode decode);
use Encode qw(decode);
use MIME::EncWords qw(:all);
use Email::Valid;
use strict;
use Mail::Sender;
use Getopt::Std;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP;
use Email::Simple;
use Email::Simple::Creator;
use Try::Tiny;
use Log::Log4perl qw(get_logger :levels);
use File::Basename;
use Net::DNS;
# ========== begin configuration ==========
# IMPORTANT: If you put passwords into this script, then remember
@ -151,23 +51,26 @@ our $db_name = 'postfix';
our $vacation_domain = 'autoreply.example.org';
# smtp server used to send vacation e-mails
our $smtp_server = 'localhost';
our $recipient_delimiter = '+';
# port to connect to; defaults to 25 for non-SSL, 465 for 'ssl', 587 for 'starttls'
our $smtp_server_port = 25;
# this is the helo we [the vacation script] use on connection; you may need to change this to your hostname or something,
# depending upon what smtp helo restrictions you have in place within Postfix.
# depending upon what smtp helo restrictions you have in place within Postfix.
our $smtp_client = 'localhost';
# SMTP authentication protocol used for sending.
# Can be 'PLAIN', 'LOGIN', 'CRAM-MD5' or 'NTLM'
# see "perldoc Mail::Sender" (search for "auth") for more options and details
# Leave it blank if you don't use authentication
our $smtp_auth = undef;
# username used to login to the server
our $smtp_authid = 'someuser';
# password used to login to the server
our $smtp_authpwd = 'somepass';
# send mail encrypted or plaintext
# if 'starttls', use STARTTLS; if 'ssl' (or 1), connect securely; otherwise, no security
our $smtp_ssl = 'starttls';
# maximum time in secs to wait for server; default is 120
our $smtp_timeout = '120';
# sasl_username: the username to use for auth; optional
our $smtp_authid = '';
# sasl_password: the password to use for auth; required if username is provided
our $smtp_authpwd = '';
# This specifies the mail 'from' name which is shown to recipients of vacation replies.
# If you leave it empty, the vacation mail will contain:
@ -176,10 +79,6 @@ our $smtp_authpwd = 'somepass';
# From: Some Friendly Name <original@recipient.domain>
our $friendly_from = '';
# use TLS for the SMTP connection?
# while in general this would be a good idea, TLS with Mail::Sender 0.8.22 is buggy - https://rt.cpan.org/Public/Bug/Display.html?id=85438
our $smtp_tls_allowed = 0;
# Set to 1 to enable logging to syslog.
our $syslog = 0;
@ -207,6 +106,15 @@ our $interval = 0;
our $custom_noreply_pattern = 0;
our $noreply_pattern = 'bounce|do-not-reply|facebook|linkedin|list-|myspace|twitter';
# Never send vacation mails for the following recipient email addresses.
# Useful for e.g. aliases pointing to multiple recipients which have vacation active
# hence an email to the alias should not trigger vacation messages.
# By default vacation email addresses will be sent for all recipients.
# default = ''
# preventing vacation notifications for recipient info@example.org would look like this:
# our $no_vacation_pattern = 'info\@example\.org';
our $no_vacation_pattern = 'info\@example\.org';
# instead of changing this script, you can put your settings to /etc/mail/postfixadmin/vacation.conf
# or /etc/postfixadmin/vacation.conf just use Perl syntax there to fill the variables listed above
@ -216,6 +124,8 @@ if (-f '/etc/mail/postfixadmin/vacation.conf') {
require '/etc/mail/postfixadmin/vacation.conf';
} elsif (-f '/etc/postfixadmin/vacation.conf') {
require '/etc/postfixadmin/vacation.conf';
} elsif (-f './vacation.conf') {
require './vacation.conf';
}
# =========== end configuration ===========
@ -249,6 +159,7 @@ if($test_mode == 1) {
$appender->layout($log_layout);
$logger->add_appender($appender);
$logger->debug('Test mode enabled');
} else {
$logger = get_logger();
if($log_to_file == 1) {
@ -266,6 +177,7 @@ if($test_mode == 1) {
my $syslog_appender = Log::Log4perl::Appender->new(
'Log::Dispatch::Syslog',
facility => 'mail',
ident => 'vacation',
);
$logger->add_appender($syslog_appender);
}
@ -300,6 +212,7 @@ if ($db_type eq 'mysql') {
$db_true = '1';
} else { # Pg
$dbh->do("SET CLIENT_ENCODING TO 'UTF8'");
$dbh->{pg_enable_utf8} = 1;
$db_true = 'True';
}
@ -368,7 +281,7 @@ sub already_notified {
if ($db_type eq 'Pg') {
$query = qq{SELECT extract( epoch from (NOW()-notified_at))::int FROM vacation_notification WHERE on_vacation=? AND notified=?};
} else { # mysql
$query = qq{SELECT NOW()-notified_at FROM vacation_notification WHERE on_vacation=? AND notified=?};
$query = qq{SELECT UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(notified_at) FROM vacation_notification WHERE on_vacation=? AND notified=?};
}
$stm = $dbh->prepare($query) or panic_prepare($query);
$stm->execute($to,$from) or panic_execute($query,"on_vacation='$to', notified='$from'");
@ -525,8 +438,9 @@ sub send_vacation_email {
}
$logger->debug("Will send vacation response for $orig_messageid: FROM: $email (orig_to: $orig_to), TO: $orig_from; VACATION SUBJECT: $row[0] ; VACATION BODY: $row[1]");
my $subject = $row[0];
$subject = Encode::decode_utf8( $subject ) if( !Encode::is_utf8( $subject ) );
$orig_subject = decode("mime-header", $orig_subject);
$subject =~ s/\$SUBJECT/$orig_subject/g;
if ($subject ne $row[0]) {
@ -534,47 +448,72 @@ sub send_vacation_email {
}
my $body = $row[1];
$body = Encode::decode_utf8( $body ) if( !Encode::is_utf8( $body ) );
my $from = $email;
my $to = $orig_from;
my %smtp_connection;
%smtp_connection = (
'smtp' => $smtp_server,
'port' => $smtp_server_port,
'auth' => $smtp_auth,
'authid' => $smtp_authid,
'authpwd' => $smtp_authpwd,
'tls_allowed' => $smtp_tls_allowed,
'smtp_client' => $smtp_client,
'skip_bad_recipients' => 'true',
'encoding' => 'Base64',
'ctype' => 'text/plain; charset=UTF-8',
'headers' => 'Precedence: junk',
'headers' => 'X-Loop: Postfix Admin Virtual Vacation',
'on_errors' => 'die', # raise exception on error
);
my %mail;
%mail = (
'subject' => encode_mimewords($subject, 'Charset', 'UTF-8'),
'from' => $from,
'fake_from' => $friendly_from . " <$from>",
'to' => $to,
'msg' => encode_base64(encode("UTF-8", $body))
# part of the username in the email && part of the domain in the email
my ($email_username_part, $email_domain_part) = split(/@/, $email);
my $resolver = Net::DNS::Resolver->new;
my @mx = mx($resolver, $email_domain_part);
my $smtp_server;
if (@mx) {
$smtp_server = @mx[0]->exchange;
$logger->debug("Found MX record <$smtp_server> for user <$email>!");
} else {
$logger->error("Unable to find MX record for user <$email>, error message: ".$resolver->errorstring);
exit(0);
}
my $smtp_params = {
host => $smtp_server,
port => $smtp_server_port,
ssl_options => {
SSL_verifycn_name => $smtp_server
},
ssl => $smtp_ssl,
timeout => $smtp_timeout,
localaddr => $smtp_client,
debug => 0,
};
if($smtp_authid ne ''){
$smtp_params->{sasl_username}=$smtp_authid;
$smtp_params->{sasl_password}=$smtp_authpwd;
$logger->info("Doing SASL Authentication with user $smtp_params->{sasl_username}\n");
};
my $transport = Email::Sender::Transport::SMTP->new($smtp_params);
$subject = Encode::encode_utf8( $subject ) if( Encode::is_utf8( $subject ) );
$body = Encode::encode_utf8( $body ) if( Encode::is_utf8( $body ) );
$email = Email::Simple->create(
header => [
To => $to,
From => $from,
Subject => encode_mimewords($subject, 'Charset', 'UTF-8'),
Precedence => 'junk',
'Content-Type' => "text/plain; charset=utf-8",
'X-Loop' => 'Postfix Admin Virtual Vacation',
],
body => $body,
);
if($test_mode == 1) {
$logger->info("** TEST MODE ** : Vacation response sent to $to from $from subject $subject (not) sent\n");
$logger->info(%mail);
$logger->info($email);
return 0;
}
eval {
$Mail::Sender::NO_X_MAILER = 1;
my $sender = new Mail::Sender({%smtp_connection});
$sender->Open({%mail});
$sender->SendLineEnc($body);
$sender->Close();
$logger->debug("Vacation response sent to $to, from $from");
};
if ($@) {
$logger->error("Failed to send vacation response: $@ / " . $Mail::Sender::Error);
try {
sendmail($email, { transport => $transport });
} finally {
if (@_) {
$logger->error("Failed to send vacation response to $to from $from subject $subject: @_");
} else {
$logger->debug("Vacation response sent to $to from $from subject $subject sent\n");
}
}
}
}
@ -655,6 +594,7 @@ $cc = '';
$replyto = '';
$logger->debug("Script argument SMTP recipient is : '$smtp_recipient' and smtp_sender : '$smtp_sender'");
while (<STDIN>) {
last if (/^$/);
if (/^\s+(.*)/ and $lastheader) { $$lastheader .= " $1"; next; }
@ -676,6 +616,8 @@ while (<STDIN>) {
elsif (/^(x\-(anti|avas\-)?virus\-status):\s+(infected)/i) { $logger->debug("$1: $3 found; exiting"); exit (0); }
elsif (/^(x\-(avas\-spam|spamtest|crm114|razor|pyzor)\-status):\s+(spam)/i) { $logger->debug("$1: $3 found; exiting"); exit (0); }
elsif (/^(x\-osbf\-lua\-score):\s+[0-9\/\.\-\+]+\s+\[([-S])\]/i) { $logger->debug("$1: $2 found; exiting"); exit (0); }
elsif (/^x\-autogenerated:\s*reply/i) { $logger->debug('x-autogenerated found; exiting'); exit (0); }
elsif (/^x\-auto\-response\-suppress:\s*oof/i) { $logger->debug('x-auto-response-suppress: oof found; exiting'); exit (0); }
else {$lastheader = '' ; }
}
@ -684,6 +626,9 @@ if($smtp_recipient =~ /\@$vacation_domain/) {
my $tmp = $smtp_recipient;
$tmp =~ s/\@$vacation_domain//;
$tmp =~ s/#/\@/;
if ($recipient_delimiter) {
$tmp =~ s/[\Q$recipient_delimiter\E].+$//;
}
$logger->debug("Converted autoreply mailbox back to normal style - from $smtp_recipient to $tmp");
$smtp_recipient = $tmp;
undef $tmp;
@ -695,6 +640,12 @@ if(!$from || !$to || !$messageid || !$smtp_sender || !$smtp_recipient) {
exit(0);
}
$logger->debug("Email headers have to: '$to' and From: '$from'");
if ($to =~ /^.*($no_vacation_pattern).*/i) {
$logger->debug("Will not send vacation reply for messages to $to");
exit(0);
}
$to = strip_address($to);
$cc = strip_address($cc);
$from = check_and_clean_from_address($from);

@ -1,140 +0,0 @@
<?php
/**
* Postfix Admin
*
* LICENSE
* This source file is subject to the GPL license that is bundled with
* this package in the file LICENSE.TXT.
*
* Further details on the project are available at http://postfixadmin.sf.net
*
* @version $Id$
* @license GNU GPL v2 or later.
*
* File: backup.php
* Used to save all settings - but only works for MySQL databases.
* Template File: -none-
*
* Template Variables: -none-
*
* Form POST \ GET Variables: -none-
*/
require_once('common.php');
authentication_require_role('global-admin');
(($CONF['backup'] == 'NO') ? header("Location: main.php") && exit : '1');
// TODO: make backup supported for postgres
if (db_pgsql()) {
flash_error('Sorry: Backup is currently not supported for your DBMS ('.$CONF['database_type'].').');
$smarty->assign ('smarty_template', 'message');
$smarty->display ('index.tpl');
die;
}
if (safeget('download') == "") {
$smarty->assign ('smarty_template', 'backupwarning');
$smarty->display ('index.tpl');
die;
}
# Still here? Then let's create the database dump...
/*
SELECT attnum,attname,typname,atttypmod-4,attnotnull,atthasdef,adsrc
AS def FROM pg_attribute,pg_class,pg_type,pg_attrdef
WHERE pg_class.oid=attrelid AND pg_type.oid=atttypid
AND attnum>0 AND pg_class.oid=adrelid AND adnum=attnum AND atthasdef='t' AND lower(relname)='admin'
UNION SELECT attnum,attname,typname,atttypmod-4,attnotnull,atthasdef,''
AS def FROM pg_attribute,pg_class,pg_type
WHERE pg_class.oid=attrelid
AND pg_type.oid=atttypid
AND attnum>0
AND atthasdef='f'
AND lower(relname)='admin'
$db = $_GET['db'];
$cmd = "pg_dump -c -D -f /tix/miner/miner.sql -F p -N -U postgres $db";
$res = `$cmd`;
// Alternate: $res = shell_exec($cmd);
echo $res;
*/
if ($_SERVER['REQUEST_METHOD'] == "GET")
{
umask (077);
$path = (ini_get('upload_tmp_dir') != '') ? ini_get('upload_tmp_dir') : '/tmp';
date_default_timezone_set(@date_default_timezone_get()); # Suppress date.timezone warnings
$filename = "postfixadmin-" . date ("Ymd") . "-" . getmypid() . ".sql";
$backup = $path . DIRECTORY_SEPARATOR . $filename;
$header = "#\n# Postfix Admin $version\n# Date: " . date ("D M j G:i:s T Y") . "\n#\n";
if (!$fh = fopen ($backup, 'w'))
{
flash_error("<div class=\"error_msg\">Cannot open file ($backup)</div>");
$smarty->assign ('smarty_template', 'message');
$smarty->display ('index.tpl');
}
else
{
fwrite ($fh, $header);
$tables = array(
'admin',
'alias',
'alias_domain',
'config',
'domain',
'domain_admins',
'fetchmail',
'log',
'mailbox',
'quota',
'quota2',
'vacation',
'vacation_notification'
);
for ($i = 0 ; $i < sizeof ($tables) ; ++$i)
{
$result = db_query ("SHOW CREATE TABLE " . table_by_key($tables[$i]));
if ($result['rows'] > 0)
{
while ($row = db_array ($result['result']))
{
fwrite ($fh, "$row[1];\n\n");
}
}
}
for ($i = 0 ; $i < sizeof ($tables) ; ++$i)
{
$result = db_query ("SELECT * FROM " . table_by_key($tables[$i]));
if ($result['rows'] > 0)
{
while ($row = db_assoc ($result['result']))
{
$fields = array_keys($row);
$values = array_values($row);
$values = array_map('escape_string', $values);
fwrite ($fh, "INSERT INTO ". $tables[$i] . " (". implode (',',$fields) . ") VALUES ('" . implode ('\',\'',$values) . "');\n");
$fields = "";
$values = "";
}
}
}
}
header ("Content-Type: text/plain");
header ("Content-Disposition: attachment; filename=\"$filename\"");
header ("Content-Transfer-Encoding: binary");
header ("Content-Length: " . filesize("$backup"));
header ("Content-Description: Postfix Admin");
$download_backup = fopen ("$backup", "r");
unlink ("$backup");
fpassthru ($download_backup);
}
/* vim: set expandtab softtabstop=3 tabstop=3 shiftwidth=3: */
?>

@ -1,124 +0,0 @@
<?php
/**
* Postfix Admin
*
* LICENSE
* This source file is subject to the GPL license that is bundled with
* this package in the file LICENSE.TXT.
*
* Further details on the project are available at http://postfixadmin.sf.net
*
* @version $Id$
* @license GNU GPL v2 or later.
*
* File: broadcast-message.php
* Used to send a message to _ALL_ users with mailboxes on this server.
*
* Template File: broadcast-message.tpl
*
* Template Variables: -none-
*
* Form POST \ GET Variables:
*
* name
* subject
* message
*/
require_once('common.php');
if (Config::bool('sendmail_all_admins')) {
authentication_require_role('admin');
} else {
authentication_require_role('global-admin');
}
if ($CONF['sendmail'] != 'YES') {
header("Location: main.php");
exit;
}
$error = 0;
$smtp_from_email = smtp_get_admin_email();
$allowed_domains = list_domains_for_admin(authentication_get_username());
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
if (safepost('token') != $_SESSION['PFA_token']) die('Invalid token!');
if (empty($_POST['subject']) || empty($_POST['message']) || empty($_POST['name']))
{
$error = 1;
flash_error($PALANG['pBroadcast_error_empty']);
}
else
{
$wanted_domains = array_intersect($allowed_domains, $_POST['domains']);
$table_mailbox = table_by_key('mailbox');
$table_alias = table_by_key('alias');
$recipients = [];
$q = "SELECT username from $table_mailbox WHERE active='" . db_get_boolean(true) . "' AND ".db_in_clause("domain", $wanted_domains);
if (intval(safepost('mailboxes_only')) == 0) {
$q .= " UNION SELECT goto FROM $table_alias WHERE active='" . db_get_boolean(true) . "' AND ".db_in_clause("domain", $wanted_domains)."AND goto NOT IN ($q)";
}
$result = db_query($q);
if($result['rows'] > 0) {
while($row = db_array($result['result'])) {
$recipients[] = $row[0];
}
}
$recipients = array_unique($recipients);
if(count($recipients)>0) {
mb_internal_encoding("UTF-8");
$b_name = mb_encode_mimeheader( $_POST['name'], 'UTF-8', 'Q');
$b_subject = mb_encode_mimeheader( $_POST['subject'], 'UTF-8', 'Q');
$b_message = base64_encode($_POST['message']);
$i = 0;
foreach ($recipients as $rcpt) {
$fTo = $rcpt;
$fHeaders = 'To: ' . $fTo . "\n";
$fHeaders .= 'From: ' . $b_name . ' <' . $smtp_from_email . ">\n";
$fHeaders .= 'Subject: ' . $b_subject . "\n";
$fHeaders .= 'MIME-Version: 1.0' . "\n";
$fHeaders .= 'Content-Type: text/plain; charset=UTF-8' . "\n";
$fHeaders .= 'Content-Transfer-Encoding: base64' . "\n";
$fHeaders .= $b_message;
if (!smtp_mail ($fTo, $smtp_from_email, $fHeaders))
{
flash_error(Config::lang_f('pSendmail_result_error', $fTo));
}
else
{
flash_info(Config::lang_f('pSendmail_result_success', $fTo));
}
}
}
flash_info($PALANG['pBroadcast_success']);
$smarty->assign ('smarty_template', 'message');
$smarty->display ('index.tpl');
// echo '<p>'.$PALANG['pBroadcast_success'].'</p>';
}
}
if ($_SERVER['REQUEST_METHOD'] == "GET" || $error == 1)
{
$smarty->assign ('allowed_domains', $allowed_domains);
$smarty->assign ('smtp_from_email', $smtp_from_email);
$smarty->assign ('error', $error);
$smarty->assign ('smarty_template', 'broadcast-message');
$smarty->display ('index.tpl');
// include ("templates/broadcast-message.tpl");
}
/* vim: set expandtab softtabstop=3 tabstop=3 shiftwidth=3: */
?>

@ -0,0 +1,20 @@
#!/bin/bash
#Adapt to your setup
POSTFIX_DB="postfix_test"
MYSQL_CREDENTIALS_FILE="postfixadmin.my.cnf"
REPLY_ADDRESS=noreply@example.com
# Change this list to change notification times and when ...
for INTERVAL in 30 14 7
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" | while read -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]}
done
done

@ -1,49 +1,36 @@
<?php
/**
* Postfix Admin
*
* LICENSE
* This source file is subject to the GPL license that is bundled with
* this package in the file LICENSE.TXT.
*
* Further details on the project are available at http://postfixadmin.sf.net
*
* @version $Id$
* @license GNU GPL v2 or later.
*
/**
* Postfix Admin
*
* LICENSE
* This source file is subject to the GPL license that is bundled with
* this package in the file LICENSE.TXT.
*
* Further details on the project are available at http://postfixadmin.sf.net
*
* @license GNU GPL v2 or later.
*
* File: common.php
* All pages should include this file - which itself sets up the necessary
* environment and ensures other functions are loaded.
*/
if(!defined('POSTFIXADMIN')) { # already defined if called from setup.php
if (!defined('POSTFIXADMIN')) { # already defined if called from setup.php
define('POSTFIXADMIN', 1); # checked in included files
if (!defined('POSTFIXADMIN_CLI')) {
// this is the default; see also https://sourceforge.net/p/postfixadmin/bugs/347/
session_cache_limiter('nocache');
session_cache_limiter('nocache');
session_name('postfixadmin_session');
session_start();
if (defined('POSTFIXADMIN_LOGOUT')) {
session_unset();
session_destroy();
session_start();
}
if(empty($_SESSION['flash'])) {
if (empty($_SESSION['flash'])) {
$_SESSION['flash'] = array();
}
}
}
$incpath = dirname(__FILE__);
(ini_get('magic_quotes_gpc') ? ini_set('magic_quotes_runtime', '0') : '1');
(ini_get('magic_quotes_gpc') ? ini_set('magic_quotes_sybase', '0') : '1');
if(ini_get('register_globals') == 'on') {
die("Please turn off register_globals; edit your php.ini");
}
/**
* @param string $class
@ -52,7 +39,7 @@ if(ini_get('register_globals') == 'on') {
function postfixadmin_autoload($class) {
$PATH = dirname(__FILE__) . '/model/' . $class . '.php';
if(is_file($PATH)) {
if (is_file($PATH)) {
require_once($PATH);
return true;
}
@ -60,44 +47,55 @@ function postfixadmin_autoload($class) {
}
spl_autoload_register('postfixadmin_autoload');
if(!is_file("$incpath/config.inc.php")) {
if (!is_file("$incpath/config.inc.php")) {
die("config.inc.php is missing!");
}
global $CONF;
require_once("$incpath/config.inc.php");
if(isset($CONF['configured'])) {
if($CONF['configured'] == FALSE) {
die("Please edit config.inc.php - change \$CONF['configured'] to true after setting your database settings");
if (isset($CONF['configured']) && !defined('PHPUNIT_TEST')) {
if ($CONF['configured'] == false) {
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");
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
} else {
$language = check_language (); # TODO: storing the language only at login instead of calling check_language() on every page would save some processor cycles ;-)
$language = check_language(); # TODO: storing the language only at login instead of calling check_language() on every page would save some processor cycles ;-)
$_SESSION['lang'] = $language;
}
if (!empty($language)) {
require_once("$incpath/languages/" . $language . ".lang");
}
require_once("$incpath/languages/" . $language . ".lang");
if(!empty($CONF['language_hook']) && function_exists($CONF['language_hook'])) {
if (!empty($CONF['language_hook']) && function_exists($CONF['language_hook'])) {
$hook_func = $CONF['language_hook'];
$PALANG = $hook_func ($PALANG, $language);
$PALANG = $hook_func($PALANG, $language);
}
Config::write('__LANG', $PALANG);
unset($incpath);
if (!defined('POSTFIXADMIN_CLI')) {
if(!is_file("$incpath/smarty.inc.php")) {
if (!is_file(dirname(__FILE__) . "/lib/smarty.inc.php")) {
die("smarty.inc.php is missing! Something is wrong...");
}
require_once ("$incpath/smarty.inc.php");
require_once(dirname(__FILE__) . "/lib/smarty.inc.php");
}
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */
?>

@ -0,0 +1,47 @@
{
"name": "postfixadmin/postfixadmin",
"description": "web based administration interface for Postfix mail servers",
"type": "project",
"license": "GPL-2.0",
"scripts": {
"build" : [
"@check-format",
"@lint",
"@test-fixup",
"@psalm",
"@test"
],
"check-format": "php-cs-fixer fix --ansi --dry-run --diff",
"format": "php-cs-fixer fix --ansi",
"lint": "@php ./vendor/bin/parallel-lint --exclude vendor/ --exclude lib/block_random_int.php --exclude lib/array_column.php .",
"test": "DATABASE=sqlite ./vendor/bin/phpunit --coverage-clover ./clover.xml tests/",
"test-fixup": "mkdir -p templates_c ; test -f config.local.php || touch config.local.php",
"psalm": "@php ./vendor/bin/psalm --show-info=false "
},
"require": {
"php": ">=7.0"
},
"require-dev": {
"ext-mysqli": "*",
"ext-sqlite3": "*",
"friendsofphp/php-cs-fixer": "*",
"php-parallel-lint/php-parallel-lint": "^1.0",
"php": ">7.2.0",
"cedx/coveralls": "^11.0",
"phpunit/phpunit": "8.*",
"vimeo/psalm":"^3.0",
"shardj/zf1-future" : "^1.12"
},
"autoload": {
"files": [
"config.inc.php",
"functions.inc.php",
"lib/smarty/libs/bootstrap.php"
]
},
"support": {
"irc": "irc://irc.freenode.org/postfixadmin",
"issues": "https://github.com/postfixadmin/postfixadmin/issues",
"chat": "https://gitter.im/postfixadmin/Lobby"
}
}

@ -8,13 +8,29 @@
*
* Further details on the project are available at http://postfixadmin.sf.net
*
* @version $Id$
* @license GNU GPL v2 or later.
*
* File: config.inc.php
* Contains configuration options.
*/
################################################################################
# #
# PostfixAdmin default configuration #
# #
# This file contains the PostfixAdmin default configuration settings. #
# #
# Please do not edit this file. #
# #
# Instead, add the options you want to change/override to #
# config.local.php (if it doesn't exist, create it). #
# This will make version upgrades much easier. #
# #
################################################################################
global $CONF;
/*****************************************************************
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* You have to set $CONF['configured'] = true; before the
@ -86,11 +102,27 @@ $CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'postfixadmin';
$CONF['database_name'] = 'postfix';
// Database SSL Config (PDO/MySQLi only)
$CONF['database_use_ssl'] = false;
$CONF['database_ssl_key'] = NULL;
$CONF['database_ssl_cert'] = NULL;
$CONF['database_ssl_ca'] = NULL;
$CONF['database_ssl_ca_path'] = NULL;
$CONF['database_ssl_cipher'] = NULL;
$CONF['database_ssl_verify_server_cert'] = true;
// If you need to specify a different port for a MYSQL database connection, use e.g.
// $CONF['database_host'] = '172.30.33.66:3308';
// If you need to specify a different port for POSTGRESQL database connection
//
// If you need to specify a different port for MySQLi(3306)/POSTGRESQL(5432) database connection
// uncomment and change the following
// $CONF['database_port'] = '5432';
//
// If you wish to connect using a local socket file (e.g /var/run/mysql.sock) set this to the socket path.
// $CONF['database_socket'] = '/var/run/mysql/mysqld.sock';
$CONF['database_socket'] = '';
// If sqlite is used, specify the database file path:
// $CONF['database_name'] = '/etc/postfix/sqlite/postfixadmin.db'
@ -119,6 +151,16 @@ $CONF['database_tables'] = array (
// Leave blank to send email from the logged-in Admin's Email address.
$CONF['admin_email'] = '';
// Define the smtp password for admin_email.
// This will be used to send emails from to create mailboxes and
// from Send Email / Broadcast message pages.
// Leave blank to send emails without authentification
$CONF['admin_smtp_password'] = '';
// Site admin name
// This will be used as signature in notification messages
$CONF['admin_name'] = 'Postmaster';
// Mail Server
// Hostname (FQDN) of your mail server.
// This is used to send email to Postfix in order to create mailboxes.
@ -130,6 +172,9 @@ $CONF['smtp_port'] = '25';
// Used in the HELO when sending emails from Postfix Admin
$CONF['smtp_client'] = '';
// Set 'YES' to use TLS when sending emails.
$CONF['smtp_sendmail_tls'] = 'NO';
// Encrypt
// In what way do you want the passwords to be crypted?
// md5crypt = internal postfix admin md5
@ -139,10 +184,17 @@ $CONF['smtp_client'] = '';
// mysql_encrypt = useful for PAM integration
// authlib = support for courier-authlib style passwords - also set $CONF['authlib_default_flavor']
// dovecot:CRYPT-METHOD = use dovecotpw -s 'CRYPT-METHOD'. Example: dovecot:CRAM-MD5
// php_crypt:CRYPT-METHOD:DIFFICULTY = use PHP built in crypt()-function. Example: php_crypt:SHA512:50000
// - php_crypt CRYPT-METHOD: Supported values are DES, MD5, BLOWFISH, SHA256, SHA512
// - php_crypt DIFFICULTY: Larger value is more secure, but uses more CPU and time for each login.
// - php_crypt DIFFICULTY: Set this according to your CPU processing power.
// - php_crypt DIFFICULTY: Supported values are BLOWFISH:4-31, SHA256:1000-999999999, SHA512:1000-999999999
// - php_crypt DIFFICULTY: leave empty to use default values (BLOWFISH:10, SHA256:5000, SHA512:5000). Example: php_crypt:SHA512
// IMPORTANT:
// - don't use dovecot:* methods that include the username in the hash - you won't be able to login to PostfixAdmin in this case
// - you'll need at least dovecot 2.1 for salted passwords ('doveadm pw' 2.0.x doesn't support the '-t' option)
// - dovecot 2.0.0 - 2.0.7 is not supported
// sha512.b64 - {SHA512-CRYPT.B64} (base64 encoded sha512) (no dovecot dependency; should support migration from md5crypt)
$CONF['encrypt'] = 'md5crypt';
// In what flavor should courier-authlib style passwords be encrypted?
@ -158,14 +210,14 @@ $CONF['authlib_default_flavor'] = 'md5raw';
// $CONF['dovecotpw'] = "/usr/sbin/dovecotpw";
// for dovecot 2.x (dovecot 2.0.0 - 2.0.7 is not supported!)
$CONF['dovecotpw'] = "/usr/sbin/doveadm pw";
if(file_exists('/usr/bin/doveadm')) {
if(@file_exists('/usr/bin/doveadm')) { // @ to silence openbase_dir stuff; see https://github.com/postfixadmin/postfixadmin/issues/171
$CONF['dovecotpw'] = "/usr/bin/doveadm pw"; # debian
}
// Password validation
// New/changed passwords will be validated using all regular expressions in the array.
// If a password doesn't match one of the regular expressions, the corresponding
// error message from $PALANG (see languages/*) will be displayed.
// error message from $PALANG (see languages/*.lang) will be displayed.
// See http://de3.php.net/manual/en/reference.pcre.pattern.syntax.php for details
// about the regular expression syntax.
// If you need custom error messages, you can add them using $CONF['language_hook'].
@ -303,6 +355,10 @@ $CONF['quota'] = 'NO';
$CONF['domain_quota'] = 'YES';
// You can either use '1024000' or '1048576'
$CONF['quota_multiplier'] = '1024000';
// fill state threshold (in per cent) for medium level (displayed as orange)
$CONF['quota_level_med_pct'] = 55;
// fill state threshold (in per cent) for high level (displayed as red)
$CONF['quota_level_high_pct'] = 90;
// Transport
// If you want to define additional transport options for a domain set this to 'YES'.
@ -367,6 +423,9 @@ $CONF['vacation_choice_of_reply'] = array (
// to work you need to have the mailbox replicated in the alias table.
// If you want to take control of these aliases as well set this to 'YES'.
// If you don't want edit alias tab (user mode) set this to 'NO';
$CONF['edit_alias'] = 'YES';
// Alias control for superadmins
$CONF['alias_control'] = 'YES';
@ -472,6 +531,16 @@ $CONF['show_undeliverable']='YES';
$CONF['show_undeliverable_color']='tomato';
// mails to these domains will never be flagged as undeliverable
$CONF['show_undeliverable_exceptions']=array("unixmail.domain.ext","exchangeserver.domain.ext");
// show mailboxes with expired password; requires password_expiration to be enabled
$CONF['show_expired']='YES';
$CONF['show_expired_color']='orange';
// show vacation enabled mailboxes
$CONF['show_vacation']='YES';
$CONF['show_vacation_color']='turquoise';
// show disabled accounts
$CONF['show_disabled']='YES';
$CONF['show_disabled_color']='grey';
// show POP/IMAP mailboxes
$CONF['show_popimap']='YES';
$CONF['show_popimap_color']='darkgrey';
// you can assign special colors to some domains. To do this,
@ -536,7 +605,7 @@ $CONF['domain_postdeletion_script'] = '';
// Will not work with POP3.
// If you define create_mailbox_subdirs, then the
// create_mailbox_subdirs_host must also be defined.
//
// Note: requires imap extension within PHP
// $CONF['create_mailbox_subdirs']=array('Spam');
$CONF['create_mailbox_subdirs'] = array();
$CONF['create_mailbox_subdirs_host']='localhost';
@ -569,9 +638,43 @@ $CONF['new_quota_table'] = 'YES';
// http://www.php.net/manual/en/function.imap-open.php
$CONF['create_mailbox_subdirs_hostoptions'] = array();
// Optional:
// Allows a user to reset his forgotten password with a code sent by email/SMS
$CONF['forgotten_user_password_reset'] = true;
// Allows an admin to reset his forgotten password with a code sent by email/SMS
$CONF['forgotten_admin_password_reset'] = false;
// Name of the function to send a SMS
// Please use a name that begins with "x_" to prevent collisions
// This function must accept 2 parameters: phone number and message,
// and return true on success or false on failure
// Note: if no sms_send_function is defined, the input field for the mobile
// number won't be displayed
$CONF['sms_send_function'] = '';
/*
// Example of send SMS function using Clickatell HTTP API
function x_send_sms_clickatell($to, $message) {
$clickatell_api_id = 'CHANGEME';
$clickatell_user = 'CHANGEME';
$clickatell_password = 'CHANGEME';
$clickatell_sender = 'CHANGEME';
$url = 'https://api.clickatell.com/http/sendmsg?api_id=%s&user=%s&password=%s&to=%s&from=%s&text=%s';
$url = sprintf($url, $clickatell_api_id, $clickatell_user, $clickatell_password, $to, $clickatell_sender, urlencode($message));
$result = file_get_contents($url);
return $result !== false;
}
*/
// Theme Config
// Specify your own logo and CSS file
$CONF['theme'] = 'default';
// Specify your own favicon, logo and CSS file
$CONF['theme_favicon'] = 'images/favicon.ico';
$CONF['theme_logo'] = 'images/logo-default.png';
$CONF['theme_css'] = 'css/default.css';
// If you want to customize some styles without editing the $CONF['theme_css'] file,
@ -584,7 +687,12 @@ $CONF['theme_custom_css'] = '';
// change to boolean true to enable xmlrpc
$CONF['xmlrpc_enabled'] = false;
// 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
// settings there.

@ -39,7 +39,7 @@ tr_hilightoff = <tr class="hilightoff" onmouseover="className='hilighton';" onmo
url_delete = delete.php
url_search = list-virtual.php
form_search = <form name="search" method="post" action="list-virtual.php"><input name="search[_]" size="10" /></form>
form_search = <form name="search" method="post" action="list-virtual.php"><input class="form-control" name="search[_]" size="10" /></form>
[adminlistadmin]
url_edit_admin = edit.php?table=admin

@ -1,5 +1,5 @@
# BEGIN FOR POSTFIXADMIN
Alias /postfixadmin /usr/share/postfixadmin
Alias /postfixadmin /usr/share/postfixadmin/public
# END FOR POSTFIXADMIN

6
debian/changelog vendored

@ -1,3 +1,9 @@
postfixadmin (3.2-1) unstable; urgency=low
* New upstream release - PostfixAdmin v3.2
-- David Goodwin <david@palepurple.co.uk> Wed, 02 May 2018 21:36:01 +0100
postfixadmin (3.1-1) unstable; urgency=low
* New upstream release

4
debian/control vendored

@ -11,8 +11,8 @@ Homepage: http://postfixadmin.sourceforge.net
Package: postfixadmin
Architecture: all
Depends: debconf (>= 0.5), dbconfig-common, wwwconfig-common, apache2 | lighttpd | httpd, libapache2-mod-php | libapache2-mod-php5 | php-cgi | php5-cgi | php5-fpm | php-fpm | php | php5 , php-imap | php5-imap, php-mysql | php5-mysql | php-pgsql | php5-pgsql | php-mysqlnd | php-sqlite3, mysql-client | postgresql-client | mariadb-client, ${misc:Depends}
Recommends: postfix-mysql | postfix-pgsql, virtual-mysql-server | postgresql | sqlite (>= 3.12.0), zendframework, dovecot-core | courier-authlib-mysql | courier-authlib-postgresql, php-cli
Depends: debconf (>= 0.5), dbconfig-common, wwwconfig-common, apache2 | lighttpd | httpd, libapache2-mod-php | php-cgi | php-fpm | php, php-mysql | php-mysqlnd | php-pgsql | php-pgsql | php-sqlite3, php-mbstring, default-mysql-client | mysql-client | postgresql-client | mariadb-client
Recommends: postfix-mysql | postfix-pgsql, virtual-mysql-server | postgresql | sqlite (>= 3.12.0) | mariadb-server, zendframework, php-imap, dovecot-core | courier-authlib-mysql | courier-authlib-postgresql, php-cli
Description: Virtual mail hosting interface for Postfix
Postfixadmin is a web interface to manage virtual users and domains
for a Postfix mail transport agent. It supports Virtual mailboxes,

@ -1,4 +1,4 @@
# Alias for Postfixadmin
alias.url += (
"/postfixadmin" => "/usr/share/postfixadmin",
"/postfixadmin" => "/usr/share/postfixadmin/public",
)

@ -1,31 +1,23 @@
From: Norman Messtorff <normes@normes.org>
Date: Sun, 23 Mar 2014 17:40:30 +0100
Subject: db_credentials
---
config.inc.php | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
Index: postfixadmin/config.inc.php
===================================================================
--- a/config.inc.php
+++ b/config.inc.php
@@ -15,6 +15,14 @@
* Contains configuration options.
*/
@@ -31,6 +31,16 @@
################################################################################
+// Debian: This loads the automatic generated DB credentials from /etc/postfixadmin/dbconfig.inc.php
+$db_config = dirname(__FILE__) . '/dbconfig.inc.php';
+if (file_exists($db_config) && !is_readable($db_config)) {
+ die("Could not read: $db_config\n");
+}
+require_once($db_config);
+
+// Debian: This loads the automatic generated DB credentials from
+// /etc/postfixadmin/dbconfig.inc.php
+require_once('dbconfig.inc.php');
+if (!isset($dbserver) || empty($dbserver)) {
+ $dbserver='localhost';
+ $dbserver = 'localhost';
+}
+
/*****************************************************************
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* You have to set $CONF['configured'] = true; before the
@@ -22,7 +30,7 @@
@@ -39,7 +49,7 @@
* Doing this implies you have changed this file as required.
* i.e. configuring database etc; specifying setup.php password etc.
*/
@ -34,7 +26,7 @@ Index: postfixadmin/config.inc.php
// In order to setup Postfixadmin, you MUST specify a hashed password here.
// To create the hash, visit setup.php in a browser and type a password into the field,
@@ -81,11 +89,11 @@
@@ -98,11 +108,11 @@ function language_hook($PALANG, $language) {
// mysqli = MySQL 4.1+ or MariaDB
// pgsql = PostgreSQL
// sqlite = SQLite 3
@ -48,8 +40,6 @@ Index: postfixadmin/config.inc.php
+$CONF['database_user'] = $dbuser;
+$CONF['database_password'] = $dbpass;
+$CONF['database_name'] = $dbname;
// If you need to specify a different port for a MYSQL database connection, use e.g.
// $CONF['database_host'] = '172.30.33.66:3308';
// If you need to specify a different port for POSTGRESQL database connection
// Database SSL Config
$CONF['database_use_ssl'] = false;

@ -1 +1 @@
0001-db_credentials.patch
config-debian.diff

@ -1,4 +1,8 @@
usr/share/postfixadmin
usr/share/postfixadmin/css
usr/share/postfixadmin/scripts
usr/share/postfixadmin/public
usr/share/postfixadmin/lib
usr/share/doc/postfixadmin
var/cache/postfixadmin
usr/bin
etc/postfixadmin

@ -1,10 +1,9 @@
*.php usr/share/postfixadmin
css usr/share/postfixadmin
images usr/share/postfixadmin
public usr/share/postfixadmin
languages usr/share/postfixadmin
model usr/share/postfixadmin
templates usr/share/postfixadmin
users usr/share/postfixadmin
smarty usr/share/postfixadmin
configs usr/share/postfixadmin
lib usr/share/postfixadmin
configs usr/share/postfixadmin
scripts usr/share/postfixadmin
debian/lighttpd/90-postfixadmin.conf etc/lighttpd/conf-available

@ -1 +1,2 @@
etc/postfixadmin/config.inc.php usr/share/postfixadmin/config.inc.php
var/cache/postfixadmin usr/share/postfixadmin/templates_c

@ -23,6 +23,15 @@ fi
if [ -d /usr/share/postfixadmin/templates_c ]; then
find /usr/share/postfixadmin/templates_c -type f -exec rm -r {} \;
fi
if [ -d /usr/share/postfixadmin/templates_c ]; then
chown www-data /usr/share/postfixadmin/templates_c
fi
if [ -d /var/cache/postfixadmin ]; then
find /var/cache/postfixadmin -type f -exec rm -r {} \;
chown www-data /var/cache/postfixadmin
fi
#DEBHELPER#
exit 0

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e
. /usr/share/debconf/confmodule

2
debian/rules vendored

@ -33,7 +33,7 @@ install: build
dh_install
dh_apache2
mv debian/postfixadmin/usr/share/postfixadmin/config.inc.php debian/postfixadmin/etc/postfixadmin/config.inc.php
find debian/postfixadmin -name .svn | xargs -r rm -r
ln -s /usr/share/postfixadmin/scripts/postfixadmin-cli debian/postfixadmin/usr/bin/postfixadmin-cli
# Build architecture-independent files here.
binary-indep: build install

File diff suppressed because it is too large Load Diff

@ -1,93 +1,9 @@
<?php
/**
* Postfix Admin
*
* LICENSE
* This source file is subject to the GPL license that is bundled with
* this package in the file LICENSE.TXT.
*
* Further details on the project are available at http://postfixadmin.sf.net or https://github.com/postfixadmin/postfixadmin
*
* @version $Id$
* @license GNU GPL v2 or later.
*
* File: index.php
* Shows a sort-of welcome page.
* Template File: -none-
*
* Template Variables: -none-
*
* Form POST \ GET Variables: -none-
*/
$CONF = array('configured' => FALSE);
if(file_exists(dirname(__FILE__) . '/config.inc.php')) {
require_once('config.inc.php');
}
if ( $CONF['configured'] === TRUE )
{
header ("Location: login.php");
exit;
}
?>
<html>
<head>
<title>Welcome to Postfix Admin</title>
</head>
<body>
<img id="login_header_logo" src="images/logo-default.png" />
<h1>Welcome to Postfix Admin</h1>
<h2>What is it?</h2>
<p>Postfix Admin is a web based interface to configure and manage a Postfix based email server for many users.</p>
<p>Postfix Admin can also be used to </p>
<ul>
<li>Forward email to other addresses</li>
<li>Configure vacation/out-of-office auto responses</li>
<li>Add/edit/remove mail accounts</li>
<li>Add/edit/remove domains</li>
<li>Broadcast emails to all users of the system</li>
<li>Set quota on mailboxes</li>
<li>And more...</li>
</ul>
<h2>Licensing</h2>
<p>Postfix admin is released under the following license :</p>
<code>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License 2 as published by
the Free Software Foundation.
</code>
<p>See the following <a href="http://www.fsf.org/licenses/gpl-2.0.txt">FSF GPL2 page</a> for further information on the license.</p>
<h2>What now?</h2>
<ol>
<li>Read the <a href='INSTALL.TXT'>INSTALL.txt</a> file</li>
<li>Configure Postfix to use your chosen database - see (for example) the following pages :
<ul>
<li><a href="http://codepoets.co.uk/postfixadmin-postgresql-courier-squirrelmail-debian-etch-howto-tutorial">Postfix/PostgreSQL/Postfixadmin/Courier</a></li>
<li><a href="http://bliki.rimuhosting.com/space/knowledgebase/linux/mail/postfixadmin+on+debian+sarge">Postfix/MySQL/Postfixadmin/Dovecot</a></li>
<li><a href="http://gentoo-wiki.com/HOWTO_Setup_a_Virtual_Postfix/Courier_Mail_System_with_PostfixAdmin">Postfix/MySQL/Postfixamdin/Courier</a></li>
</ul>
<li>Use it</li>
</ol>
<p><b>When you have configured Postfixadmin, this page will be replaced with a login page.</b></p>
<p>You can now run <a href="setup.php">setup</a> to make sure that all the PHP functions are available for Postfix Admin to run.<br />
<p> If you still encounter any problems, please check the documentation and website for more information.</p>
<h2>Postfix Admin Web sites</h2>
<p>For further help, or documentation please check out -
<a href="http://postfixadmin.org">Postfix Admin</a> web site<br />
<a href="http://sourceforge.net/forum/forum.php?forum_id=676076">Knowledge Base</a>
</p>
</p>
</body>
<head>
<title>Postfix Admin</title>
</head>
<body>
<p>The Postfix Admin directory layout changed.</p>
<p>Please update your webserver config so that the DocumentRoot or Alias points to the directory "public".</p>
</body>
</html>
<?php
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */
?>

@ -38,13 +38,13 @@ $PALANG['edit_not_allowed'] = 'You are not allowed to edit %s'; # XXX
$PALANG['searchparams'] = 'Search parameters:'; # XXX
$PALANG['pFooter_logged_as'] = 'Потребител %s'; # XXX # XXX Text change: 'logged in as %s' (the 'in' was missing)
$PALANG['pLogin_welcome'] = 'Администратора може да се логне оттук за администриране на домейн.';
$PALANG['pLogin_username'] = 'Логин (е-мейл)';
$PALANG['pLogin_welcome'] = 'Администраторът може да се логне оттук, за администриране на домейн.';
$PALANG['pLogin_username'] = "&nbsp;Логин (е-мейл)";
$PALANG['password'] = 'Парола';
$PALANG['pLogin_language'] = 'Language'; # XXX
$PALANG['pLogin_button'] = 'Изход'; # XXX compare with pUsersLogin_button - should be "Login"
$PALANG['pLogin_failed'] = 'Your email address or password are not correct.'; # XXX
$PALANG['pLogin_login_users'] = 'Ако сте потребител натиснете тук за логване в потребителската част.';
$PALANG['pLogin_login_users'] = 'Ако сте потребител, натиснете тук, за логване в потребителската част.';
$PALANG['pMenu_main'] = 'Main'; # XXX
$PALANG['pMenu_overview'] = 'Преглед';
@ -140,10 +140,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Не мога да модифицирам този alias! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Създаване на нова пощенска кутия за вашия домейн.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Е-мейл-а не е валиден!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Вие сте достигнали своя лимит за създаване на пощенски кутии!';
$PALANG['pCreate_mailbox_password_text'] = 'Парола за POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Пълно име';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Създай пощенска кутия'; # XXX Text change to 'Send Welcome mail'
$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!
@ -171,6 +176,13 @@ $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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -292,6 +304,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Админ-а беше модиф
$PALANG['pUsersLogin_welcome'] = 'Потребителски вход за смяна на парола и alias-и.';
$PALANG['pUsersLogin_username_incorrect'] = 'Вашият логин не е правилен. Моля проверете за коректност на вашият е-мейл адрес!';
$PALANG['pUsersLogin_password_incorrect'] = 'Вашата парола не е правилна!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Автоматичен отговор';
$PALANG['pUsersMenu_edit_alias'] = 'Смяна на пренасочването';
@ -326,10 +339,13 @@ $PALANG['pBroadcast_error_empty'] = 'Полетата Име, Заглавие
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -348,6 +364,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -367,6 +384,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -382,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -138,10 +138,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Imposible modificar l\'àlies! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Crear una nova bústia pel seu domini.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'L\'e-mail no és vàlido!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Has arribat al límit de creació de bústies!';
$PALANG['pCreate_mailbox_password_text'] = 'Contrasenya per a POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Nom complet';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Crear bústia'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Imposible afegir una bústia a la taula de bústies! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'La bústia ha estat afegida a la taula de bústies! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -169,6 +174,13 @@ $PALANG['pPassword_password_text_error'] = 'Les contrasenyes introduides no coin
$PALANG['change_password'] = 'Canviar la contrasenya';
$PALANG['pPassword_result_error'] = 'Imposible canviar la contrasenya! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'La seva contrasenya ha estat canviada! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -291,6 +303,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'L\'administrador ha estat modifica
$PALANG['pUsersLogin_welcome'] = 'Login d\'usuaris per canviar la contrasenya i els àlies.';
$PALANG['pUsersLogin_username_incorrect'] = 'El seu login no és correcte. Asseguri\'s d\'haver introduït la seva adreça d\'e-mail com a login!';
$PALANG['pUsersLogin_password_incorrect'] = 'La seva contrasenya no és correcta!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Resposta automàtica';
$PALANG['pUsersMenu_edit_alias'] = 'Canviar la redirecció';
@ -325,10 +338,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -347,6 +363,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -366,6 +383,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -381,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_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -139,10 +139,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = '不能修改该别名! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = '在你的域中新建一个本地邮箱.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = '邮件非法!';
$PALANG['pCreate_mailbox_username_text_error3'] = '邮箱地址已经达到上限!';
$PALANG['pCreate_mailbox_password_text'] = 'POP3/IMAP 密码';
$PALANG['pCreate_mailbox_name_text'] = '全名';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = '新建邮箱'; # XXX Text change to 'Send Welcome mail'
$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!
@ -170,6 +175,13 @@ $PALANG['pPassword_password_text_error'] = '你两次输入的新密码不相同
$PALANG['change_password'] = '更改密码'; # XXX check text - should be '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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -291,6 +303,7 @@ $PALANG['pAdminEdit_admin_result_success'] = '编辑域管理员成功! (%s)'; #
$PALANG['pUsersLogin_welcome'] = '邮件用户从这里登录管理你的密码和别名.';
$PALANG['pUsersLogin_username_incorrect'] = '登录失败. 请确认你是使用你的邮箱地址登录!';
$PALANG['pUsersLogin_password_incorrect'] = '登录密码不正确!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = '自动回复';
$PALANG['pUsersMenu_edit_alias'] = '修改转发';
@ -325,10 +338,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -347,6 +363,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -366,6 +383,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -381,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_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -9,6 +9,8 @@
// updated by Jan Laufik (jlaufik @ sf)
// * 2015-01-10
// * 2016-02-16
// updated by Matyas Koc (admin@sufix.cz)
// * 2017-07-12
$PALANG['YES'] = 'ANO';
$PALANG['NO'] = 'NE';
@ -39,7 +41,7 @@ $PALANG['must_be_numeric_bigger_than_null'] = '%s musí být číslo větší ne
$PALANG['must_be_boolean'] = '%s musí být typu boolean';
$PALANG['invalid_value_given'] = 'Zadána nesprávná hodnota pro %s';
$PALANG['edit_not_allowed'] = 'Nemáte oprávnění ke změně %s';
$PALANG['searchparams'] = 'Parametre vyhledávání:';
$PALANG['searchparams'] = 'Parametry vyhledávání:';
$PALANG['pFooter_logged_as'] = 'Přihlášen jako %s';
@ -60,7 +62,7 @@ $PALANG['pMenu_fetchmail'] = 'Stahování pošty';
$PALANG['pMenu_sendmail'] = 'Poslat email';
$PALANG['pMenu_password'] = 'Změnit heslo';
$PALANG['pMenu_viewlog'] = 'Prohlížet log';
$PALANG['pMenu_logout'] = 'Odhlásit.';
$PALANG['pMenu_logout'] = 'Odhlásit';
$PALANG['pMain_welcome'] = 'Vítejte v Postfix Adminu!';
$PALANG['pMain_overview'] = 'Výpis přesměrování a schránek. Můžete je zde upravovat a mazat.';
@ -71,12 +73,12 @@ $PALANG['pMain_password'] = 'Změnit heslo administrátorského účtu.';
$PALANG['pMain_viewlog'] = 'Prohlížet záznamy změn v doméně.';
$PALANG['pMain_logout'] = 'Odhlásit ze systému.';
$PALANG['pOverview_disabled'] = 'Zakázáno';
$PALANG['pOverview_unlimited'] = 'Neomezené';
$PALANG['pOverview_title'] = ':: Definované Domény';
$PALANG['pOverview_up_arrow'] = 'Na Začátek';
$PALANG['pOverview_right_arrow'] = 'Další Stránka';
$PALANG['pOverview_left_arrow'] = 'Předchozí Stránka';
$PALANG['pOverview_disabled'] = 'zakázáno';
$PALANG['pOverview_unlimited'] = 'neomezené';
$PALANG['pOverview_title'] = ':: Definované domény';
$PALANG['pOverview_up_arrow'] = 'Na začátek';
$PALANG['pOverview_right_arrow'] = 'Další stránka';
$PALANG['pOverview_left_arrow'] = 'Předchozí stránka';
$PALANG['pOverview_alias_domain_title'] = ':: Přesměrování domén';
$PALANG['pOverview_alias_title'] = ':: Přesměrování';
$PALANG['pOverview_mailbox_title'] = ':: Schránky';
@ -91,7 +93,7 @@ $PALANG['name'] = 'Jméno';
$PALANG['pOverview_mailbox_quota'] = 'Místo (MB)';
$PALANG['pOverview_vacation_edit'] = 'ZAPNUTO';
$PALANG['pOverview_vacation_option'] = 'vypnuto';
$PALANG['no_domains_for_this_admin'] = 'Nemáte oprávnění ke zprávě žádné z domén.';
$PALANG['no_domains_for_this_admin'] = 'Nemáte oprávnění ke správě žádné z domén.';
$PALANG['no_domains_exist'] = 'Musíte vytvořit alespoň jednu doménu předtím, než budete moci použít seznam schránek.';
$PALANG['domain'] = 'Doména';
@ -103,26 +105,26 @@ $PALANG['pDelete_delete_error'] = 'Nelze smazat položku ';
$PALANG['pDelete_delete_success'] = '%s odstraněn.';
$PALANG['pDelete_domain_error'] = 'Tato doména není vaše ';
$PALANG['pDelete_alias_error'] = 'Nelze odstranit přesměrování ';
$PALANG['pCreate_alias_domain_welcome'] = 'Použít addresy jedné z domén pro druhou.';
$PALANG['pCreate_alias_domain_alias'] = 'Přesměrována doména';
$PALANG['pCreate_alias_domain_welcome'] = 'Použít adresy jedné z domén pro druhou.';
$PALANG['pCreate_alias_domain_alias'] = 'Přesměrova doména';
$PALANG['pCreate_alias_domain_alias_text'] = 'Doména, na kterou jsou mailové zprávy zasílány.';
$PALANG['pCreate_alias_domain_target'] = 'Cílová doména';
$PALANG['pCreate_alias_domain_target_text'] = 'Doména, na kterou jsou mailové zprávy přesměrovány.';
$PALANG['pCreate_alias_domain_error1'] = 'Nemáte oprávnění vytvořit zvolenou konfiguraci.';
$PALANG['pCreate_alias_domain_error2'] = 'Zvolená konfigurace je neplatná, použijte prosím jinou!';
$PALANG['alias_domain_already_exists'] = 'Tato doména je již definovaná jako přesměrována!';
$PALANG['alias_domain_does_not_exist'] = 'Tato doména není definovaná jako přesměrována!';
$PALANG['alias_domain_already_exists'] = 'Tato doména je již definovaná jako přesměrova!';
$PALANG['alias_domain_does_not_exist'] = 'Tato doména není definovaná jako přesměrova!';
$PALANG['alias_domain_create_failed'] = 'Vytvoření přesměrování domény %s selhalo!';
$PALANG['alias_domain_change_failed'] = 'Změna přesměrování domény %s selhala!';
$PALANG['pCreate_alias_domain_error4'] = 'Všechny domény již mají aktivní přesměrování.';
$PALANG['pCreate_alias_domain_success'] = 'Přesměrování domény %s bylo bylo vytvořeno.';
$PALANG['alias_domain_changed'] = 'Prěsměrována doména %s byla změnena.';
$PALANG['alias_domain_changed'] = 'Prěsměrovaná doména %s byla změněna.';
$PALANG['alias_domain_to_itsself'] = 'Doména nemůže být přesměrována na sebe samu!';
$PALANG['delete_domain_aliasdomain_target'] = 'Doména %s je cílovou doménou pro jedno nebo více přesměrování, nemůže být proto odstraněna! (Odstraňte nejdřív přesměrovanou doménu.)';
$PALANG['pCreate_alias_address_text_error1'] = 'Adresa neni platná!';
$PALANG['pCreate_alias_address_text_error1'] = 'Adresa není platná!';
$PALANG['alias_does_not_exist'] = 'Toto přesměrování neexistuje!';
$PALANG['email_address_already_exists'] = 'Taková emailová adresa již existuje, zvolte jinou prosím!';
$PALANG['email_address_already_exists'] = 'Taková emailová adresa již existuje, zvolte prosím jinou!';
$PALANG['pCreate_alias_address_text_error3'] = 'Dosáhli jste limitu, nemůžete vytvářet další aliasy!';
$PALANG['pCreate_alias_goto_text'] = 'Kam má pošta chodit.';
$PALANG['pCreate_alias_goto_text_error'] = 'Cíl není platný!';
@ -131,24 +133,29 @@ $PALANG['pCreate_alias_result_success'] = 'Přesměrování %s bylo uspěšně p
$PALANG['alias_updated'] = 'Přesměrování %s bylo upraveno!';
$PALANG['pCreate_alias_catchall_text'] = 'Pro vytvoření doménového koše použijte * jako alias. Pro přesměrování doména -> doména použijte *@domain.tld jako cíl.';
$PALANG['mailbox_alias_cant_be_deleted'] = 'Toto přesměrování je svázáno s emailem a nemůže být proto vymazáno!';
$PALANG['protected_alias_cant_be_deleted'] = 'The alias %s is protected and can only be deleted by a superadmin'; # XXX
$PALANG['protected_alias_cant_be_deleted'] = 'Tento alias %s je chráněný a může být odstraněn pouze superadministrátorem';
$PALANG['pEdit_alias_welcome'] = 'Upravit nastavení přesměrování.';
$PALANG['pEdit_alias_help'] = 'Je možné zadat více cílových adres, jeden záznam na řádek.';
$PALANG['alias'] = 'Přesměrování';
$PALANG['to'] = 'Cíl';
$PALANG['pEdit_alias_goto_text_error1'] = 'Nezadali jste cíl';
$PALANG['pEdit_alias_goto_text_error2'] = 'Emailová adresa kterou jste zadali není platná: ';
$PALANG['pEdit_alias_goto_text_error2'] = 'Emailová adresa, kterou jste zadali není platná: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Nepodařilo se upravit přesměrování domény!';
$PALANG['pEdit_alias_forward_and_store'] = 'Doručovat i do schránky.';
$PALANG['pEdit_alias_forward_only'] = 'Přesměrovat pouze na dané adresy.';
$PALANG['pEdit_alias_result_error'] = 'Nepodařilo se upravit přesměrování! (%s)';
$PALANG['pCreate_mailbox_welcome'] = 'Vytvořit novou lokální schránku v doméně.';
$PALANG['pCreate_mailbox_username_text_error1'] = 'Adresa neni platná!';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Adresa není platná!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Dosáhli jste limitu, nemů&cedil;ete vytvářet další schránky!';
$PALANG['pCreate_mailbox_password_text'] = 'Heslo pro POP3/IMAP/SMTP';
$PALANG['pCreate_mailbox_name_text'] = 'Celé jméno';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Odeslat uvítací email';
$PALANG['pCreate_mailbox_result_error'] = 'Vytvoření schránky %s selhalo!';
$PALANG['pCreate_mailbox_result_success'] = 'Schránka %s byla přidána do tabulky schránek!';
@ -156,7 +163,7 @@ $PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'Schránka %s byla přid
$PALANG['mailbox_updated'] = "Schránka %s byla aktualizována.";
$PALANG['mailbox_update_failed'] = "Aktualizace schránky %s selhala!";
$PALANG['pEdit_mailbox_welcome'] = 'Upravit lokální chránku v doméně.';
$PALANG['pEdit_mailbox_welcome'] = 'Upravit lokální schránku v doméně.';
$PALANG['pEdit_mailbox_username'] = 'Uživatelské jméno';
$PALANG['pEdit_mailbox_password_text_error'] = 'Zadaná hesla se neshodují!';
$PALANG['pEdit_mailbox_quota'] = 'Místo';
@ -176,9 +183,16 @@ $PALANG['pPassword_password_text_error'] = 'Zadaná hesla jsou rozdílná nebo p
$PALANG['change_password'] = 'Změna hesla';
$PALANG['pPassword_result_error'] = 'Nepodařilo se změnit heslo! (%s)';
$PALANG['pPassword_result_success'] = 'Heslo bylo změněno! (%s)';
$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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Změnit / Nastavit zprávu o nepřítomnosti';
$PALANG['pEdit_vacation_remove'] = 'Ostranit zprávu o nepřítomnosti';
$PALANG['pEdit_vacation_set'] = 'Změnit / nastavit zprávu o nepřítomnosti';
$PALANG['pEdit_vacation_remove'] = 'Odstranit zprávu o nepřítomnosti';
$PALANG['pVacation_result_error'] = 'Nebylo možné aktualizovat nastavení automatické odpovědi pro %s!';
$PALANG['pVacation_result_removed'] = 'Automatická odpověď pro %s byla odstraněna!';
@ -217,7 +231,7 @@ $PALANG['pViewlog_action_edit_password'] = 'změna hesla';
$PALANG['pViewlog_action_create_admin'] = 'vytvoření administrátora';
$PALANG['pViewlog_action_edit_admin'] = 'změna administrátora';
$PALANG['pViewlog_action_delete_admin'] = 'smazat administrátora';
$PALANG['pViewlog_action_edit_vacation'] = 'změna zprávy o nepřítovmnosti';
$PALANG['pViewlog_action_edit_vacation'] = 'změna zprávy o nepřítomnosti';
$PALANG['pViewlog_action_create_fetchmail'] = 'vytvořit úlohu pro stažení pošty';
$PALANG['pViewlog_action_edit_fetchmail'] = 'upravit úlohu pro stažení pošty';
$PALANG['pViewlog_action_delete_fetchmail'] = 'smazat úlohu pro stažení pošty';
@ -240,8 +254,8 @@ $PALANG['pAdminMenu_list_domain'] = 'Domény';
$PALANG['pAdminMenu_list_virtual'] = 'Schránky';
$PALANG['pAdminMenu_backup'] = 'Vytvořit zálohu';
$PALANG['pAdminMenu_create_domain_admins'] = 'Administrátoři'; // unused
$PALANG['pAdminMenu_create_admin'] = 'Nový Administrátor';
$PALANG['pAdminMenu_create_domain'] = 'Nová Doména';
$PALANG['pAdminMenu_create_admin'] = 'Nový administrátor';
$PALANG['pAdminMenu_create_domain'] = 'Nová doména';
$PALANG['pAdminList_admin_count'] = 'Domény';
@ -249,10 +263,10 @@ $PALANG['description'] = 'Popis';
$PALANG['aliases'] = 'Přesměrování';
$PALANG['pAdminList_domain_quota'] = 'Kvóta domény (MB)';
$PALANG['pAdminList_domain_backupmx'] = 'Záložní MX';
$PALANG['last_modified'] = 'Naposledy Změněno';
$PALANG['last_modified'] = 'Naposledy změněno';
$PALANG['pAdminCreate_domain_welcome'] = 'Přidat Novou Doménu';
$PALANG['pAdminCreate_domain_welcome'] = 'Přidat novou doménu';
$PALANG['pAdminCreate_domain_domain_text_error'] = 'Taková doména už existuje!';
$PALANG['domain_does_not_exist'] = 'Tato doména neexistuje!';
$PALANG['pAdminCreate_domain_domain_text_error2'] = 'Taková doména není platná!';
@ -260,7 +274,7 @@ $PALANG['pAdminCreate_domain_defaultaliases'] = 'Přidat implicitní přesměrov
$PALANG['pAdminCreate_domain_button'] = 'Přidat doménu';
$PALANG['pAdminCreate_domain_result_error'] = 'Nepodařilo se přidat doménu! (%s)';
$PALANG['pAdminCreate_domain_result_success'] = 'Doména byla přidána! (%s)';
$PALANG['domain_updated'] = 'Doména %s byla aktualizovaná.';
$PALANG['domain_updated'] = 'Doména %s byla aktualizována.';
$PALANG['pAdminDelete_admin_error'] = 'Nepodařilo se odstranit admin uživatele!';
$PALANG['domain_postdel_failed'] = 'Spuštění skriptu po smazání domény selhalo, zkontrolujte log soubor!';
@ -269,7 +283,7 @@ $PALANG['mailbox_postdel_failed'] = 'Spuštění skriptu po smazání schránky
$PALANG['mailbox_postedit_failed'] = 'Spuštení skriptu po úpravě schránky selhalo, zkontrolujte log soubor!';
$PALANG['mailbox_postcreate_failed'] = 'Spuštení skriptu po vytvoření schránky selhalo, zkontrolujte log soubor!';
$PALANG['pAdminDelete_alias_domain_error'] = 'Nepodařilo se odstranit přesměrování domény!';
$PALANG['domain_conflict_vacation_domain'] = 'Doménu využitou pro správy o nepřítomnosti nelze použít jako mailovou doménu!';
$PALANG['domain_conflict_vacation_domain'] = 'Doménu využitou pro zprávy o nepřítomnosti nelze použít jako mailovou doménu!';
$PALANG['pAdminEdit_domain_welcome'] = 'Upravit doménu';
$PALANG['pAdminEdit_domain_aliases_text'] = '-1 = znepřístupnit | 0 = neomezeně';
@ -294,20 +308,21 @@ $PALANG['pAdminEdit_admin_welcome'] = 'Upravit doménového administrátora';
$PALANG['admin'] = 'Administrátor';
$PALANG['password_again'] = 'Heslo (znovu)';
$PALANG['super_admin'] = 'Superuživatel';
$PALANG['super_admin_desc'] = 'Super administrátori mají přístup ke všem doménám, zprávě domén a účtů administrátorů.';
$PALANG['super_admin_desc'] = 'Super administrátoři mají přístup ke všem doménám, správě domén a účtů administrátorů.';
$PALANG['pAdminEdit_admin_result_error'] = 'Nepodařilo se upravit administrátora! (%s)';
$PALANG['pAdminEdit_admin_result_success'] = 'Administrátor %s byl upraven!';
$PALANG['pUsersLogin_welcome'] = 'Zde se přihlašují uživatelé pro změnu hesla, přesměrování nebo automatické odpovědi.';
$PALANG['pUsersLogin_username_incorrect'] = 'Nesprávné uživatelské jmeno. Přihlašujte se svojí emailovou adresou!';
$PALANG['pUsersLogin_password_incorrect'] = 'Nesprávné heslo!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Automatická Odpověď';
$PALANG['pUsersMenu_edit_alias'] = 'Změna Přesměrování';
$PALANG['pUsersMenu_vacation'] = 'Automatická odpověď';
$PALANG['pUsersMenu_edit_alias'] = 'Změna přesměrování';
$PALANG['pUsersMain_vacation'] = 'Nastavit ,,jsem pryč`` nebo podobnou automatickou odpověď.';
$PALANG['pUsersMain_vacation'] = 'Nastavit "jsem pryč" nebo podobnou automatickou odpověď.';
$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' je NASTAVENA, klikněte na \'' . $PALANG['pUsersMenu_vacation'] . '\' pro odstranění nebo změnu';
$PALANG['pUsersMain_edit_alias'] = 'Nastavit / změnít přesměrování';
$PALANG['pUsersMain_edit_alias'] = 'Nastavit / změnit přesměrování';
$PALANG['pUsersMain_password'] = 'Změnit heslo';
$PALANG['pUsersVacation_welcome'] = 'Automatická odpověď';
@ -333,16 +348,19 @@ $PALANG['pBroadcast_title'] = 'Odeslat zprávu do všech schránek';
$PALANG['pBroadcast_name'] = 'Vaše jméno';
$PALANG['pBroadcast_success'] = 'Zpráva pro všechny schránky byla odeslána.';
$PALANG['pAdminMenu_broadcast_message'] = 'Poslat email všem';
$PALANG['pBroadcast_error_empty'] = 'Pole Od, Předmět a Zpráva by neměly být prázdné !';
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pBroadcast_error_empty'] = 'Pole Od, Předmět a Zpráva by neměly být prázdné!';
$PALANG['broadcast_mailboxes_only'] = 'Pouze poslat do schránek';
$PALANG['broadcast_to_domains'] = 'Poslat na domény:';
$PALANG['pStatus_undeliverable'] = 'možná NEDORUČITELNÉ ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Doručeno do ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$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['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.";
$PALANG['pInvalidMailRegex'] = "Neplatná emailová adresa %s, nevyhověla regulárnímu výrazu.";
$PALANG['pFetchmail_welcome'] = 'Stahovat poštu pro:';
@ -359,6 +377,7 @@ $PALANG['pFetchmail_password_missing'] = 'Prosím zadejte heslo ke vzdálené sc
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Schránka';
$PALANG['pFetchmail_field_src_server'] = 'Server';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Typ autentizace';
$PALANG['pFetchmail_field_src_user'] = 'Uživatel';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -369,19 +388,20 @@ $PALANG['pFetchmail_field_keep'] = 'Nemazat';
$PALANG['pFetchmail_field_protocol'] = 'Protokol';
$PALANG['pFetchmail_field_usessl'] = 'SSL aktivní';
$PALANG['pFetchmail_field_sslcertck'] = 'Oveření SSL certifikátu';
$PALANG['pFetchmail_field_sslcertpath'] = 'Cesta ku SSL certifikátům';
$PALANG['pFetchmail_field_sslfingerprint'] = 'Otisk SSL certifikátu (md5)';
$PALANG['pFetchmail_field_extra_options'] = 'Extra Parametry';
$PALANG['pFetchmail_field_sslcertpath'] = 'Cesta k SSL certifikátům';
$PALANG['pFetchmail_field_sslfingerprint'] = 'Otisk SSL certifikátu (MD5)';
$PALANG['pFetchmail_field_extra_options'] = 'Extra parametry';
$PALANG['pFetchmail_field_mda'] = 'MDA';
$PALANG['pFetchmail_field_date'] = 'Datum';
$PALANG['pFetchmail_field_returned_text'] = 'Výstupní Text';
$PALANG['pFetchmail_field_returned_text'] = 'Výstupní text';
$PALANG['pFetchmail_desc_id'] = 'ID záznamu';
$PALANG['pFetchmail_desc_mailbox'] = 'Místní schránka';
$PALANG['pFetchmail_desc_src_server'] = 'Vzdálený Server';
$PALANG['pFetchmail_desc_src_server'] = 'Vzdálený server';
$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'] = 'Většinou \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Vzdálený Uživatel';
$PALANG['pFetchmail_desc_src_password'] = 'Heslo Vzdáleného Uživatele';
$PALANG['pFetchmail_desc_src_folder'] = 'Vzdálená Složka';
$PALANG['pFetchmail_desc_src_user'] = 'Vzdálený uživatel';
$PALANG['pFetchmail_desc_src_password'] = 'Heslo vzdáleného uživatele';
$PALANG['pFetchmail_desc_src_folder'] = 'Vzdálená složka';
$PALANG['pFetchmail_desc_poll_time'] = 'Stahovat každých ... minut';
$PALANG['pFetchmail_desc_fetchall'] = 'Získávat všechny staré (přečtené) i nové zprávy';
$PALANG['pFetchmail_desc_keep'] = 'Ponechávat stažené zprávy na vzdáleném mailserveru';
@ -392,7 +412,9 @@ $PALANG['pFetchmail_desc_mda'] = 'Program pro doručení pošty do
$PALANG['pFetchmail_desc_date'] = 'Datum posledního stažení pošty/změny konfigurace';
$PALANG['pFetchmail_desc_returned_text'] = 'Výstupní textový záznam posledního stahování pošty';
$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['dateformat_mysql'] = '%d.%m.%Y'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -144,10 +144,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Videresend til angivene emailadres
$PALANG['pEdit_alias_result_error'] = 'Kan ikke redigere aliaset. (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Tilføj en ny lokal postboks til domænet.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Emailadressen er ikke gyldig!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Du har nået grænsen for antallet af postbokse til domæne!';
$PALANG['pCreate_mailbox_password_text'] = 'Adgangskode til POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Fulde navn';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Send velkomsthilsen'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Kan ikke tilføje postboksen til postboks-tabellen! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Postboksen er tilføjet til postboks-tabellen! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -175,6 +180,13 @@ $PALANG['pPassword_password_text_error'] = 'Adgangskoderne er ikke ens! Eller er
$PALANG['change_password'] = 'Ændr adgangskode';
$PALANG['pPassword_result_error'] = 'Kan ikke ændre adgangskoden! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Din adgangskode er ændret! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Ændr / Angiv autosvar';
$PALANG['pEdit_vacation_remove'] = 'Fjern autosvar';
@ -300,6 +312,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Administrator er rettet! (%s)'; #
$PALANG['pUsersLogin_welcome'] = 'Postboksbruger: Log ind for at ændre adgangskode og videresending.';
$PALANG['pUsersLogin_username_incorrect'] = 'Dit brugernavn er forkert. Tjek at du bruger din emailadresse som brugernavn!';
$PALANG['pUsersLogin_password_incorrect'] = 'Din adgangskode er ikke korrekt!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Autosvar';
$PALANG['pUsersMenu_edit_alias'] = 'Redigér videresending';
@ -337,11 +350,14 @@ $PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'kan måske ikke leveres ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Leveres til ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "Adgangskoden er for kort. Der kræves mindst %s tegn";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Ugyldigt domæne-navn %s. Fejlede regulært udtryks-tjek";
$PALANG['pInvalidDomainDNS'] = "Ugyldigt domæne %s, og/eller ikke fundet i DNS";
@ -361,6 +377,7 @@ $PALANG['pFetchmail_password_missing'] = 'Angiv adgangskoden til fjernserveren!'
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Postboks';
$PALANG['pFetchmail_field_src_server'] = 'Server';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Godkendelsesmetode';
$PALANG['pFetchmail_field_src_user'] = 'Brugernavn';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -380,6 +397,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returneret tekst';
$PALANG['pFetchmail_desc_id'] = 'Post ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Lokal postboks';
$PALANG['pFetchmail_desc_src_server'] = 'Fjernserver';
$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'] = 'Somregel \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Eksternt brugernavn';
$PALANG['pFetchmail_desc_src_password'] = 'Ekstern adgangskode';
@ -395,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['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -141,10 +141,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Nur zur angegebenen Adresse weiterleiten.
$PALANG['pEdit_alias_result_error'] = 'Ändern des Aliases %s ist fehlgeschlagen!';
$PALANG['pCreate_mailbox_welcome'] = 'Legen Sie eine neue Mailbox für Ihre Domain an.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Die EMAIL ist nicht korrekt!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Sie dürfen leider nicht mehr Mailboxen für diese Domain anlegen!';
$PALANG['pCreate_mailbox_password_text'] = 'Passwort für POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Vollständiger Name';
$PALANG['pCreate_mailbox_phone'] = 'Mobiltelefon';
$PALANG['pCreate_mailbox_phone_desc'] = "Wird benutzt, um eine SMS senden, falls das Passwort vergessen wurde";
$PALANG['pCreate_mailbox_email'] = 'Andere E-Mail Adresse';
$PALANG['pCreate_mailbox_email_desc'] = "Wird benutzt, falls das Passwort vergessen wurde";
$PALANG['pCreate_mailbox_mail'] = 'Begrüßungsmail senden';
$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.';
@ -172,6 +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'] = 'Folgen Sie den Anweisungen, um Ihr Passwort zurückzusetzen.';
$PALANG['pPassword_recovery_button'] = 'Code zusenden';
$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';
$PALANG['pPassword_code_text_error'] = 'Ungültiger Code';
$PALANG['pEdit_vacation_set'] = 'Automatische Antwort ändern / einrichten';
$PALANG['pEdit_vacation_remove'] = 'Automatische Antwort abschalten';
@ -179,8 +191,8 @@ $PALANG['pEdit_vacation_remove'] = 'Automatische Antwort abschalten';
$PALANG['pVacation_result_error'] = 'Änderungen der automatischen Antwort für %s konnten nicht gespeichert werden!';
$PALANG['pVacation_result_removed'] = 'Automatische Antwort für %s wurde abgeschaltet!';
$PALANG['pVacation_result_added'] = 'Automatische Antwort für %s wurde aktiviert!';
$PALANG['pVacation_reply_type'] = 'Choice of reply'; # XXX
$PALANG['pVacation_reply_delay_time'] = 'Interval time'; # XXX
$PALANG['pVacation_reply_type'] = 'Art der Antwort';
$PALANG['pVacation_reply_delay_time'] = 'Zeitintervall';
$PALANG['pVacation_reply_delay_time_text'] = 'Zeit in Sekunden';
$PALANG['pVacation_until_before_today'] = 'Das Datum von [Aktiv bis] ist in der Vergangenheit';
$PALANG['pVacation_until_before_from'] = 'Das Datum von [Aktiv bis] ist vor [Aktiv ab]';
@ -297,6 +309,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Der Admin %s wurde geändert.';
$PALANG['pUsersLogin_welcome'] = 'Benutzer bitte hier einloggen, um Weiterleitungen bzw. das Passwort zu ändern.';
$PALANG['pUsersLogin_username_incorrect'] = 'Falscher Login! Bitte benutzen Sie ihre Email-Adresse als Login';
$PALANG['pUsersLogin_password_incorrect'] = 'Falsches Passwort!';
$PALANG['pUsersLogin_password_recover'] = 'Ich habe mein Passwort vergessen';
$PALANG['pUsersMenu_vacation'] = 'Automatische Antwort';
$PALANG['pUsersMenu_edit_alias'] = 'Weiterleitung ändern';
@ -335,11 +348,14 @@ $PALANG['broadcast_mailboxes_only'] = "Nur an Postfächer senden";
$PALANG['broadcast_to_domains'] = "Senden an Domains:";
$PALANG['pStatus_undeliverable'] = 'möglicherweise UNZUSTELLBAR ';
$PALANG['pStatus_disabled'] = 'Konto deaktiviert ';
$PALANG['pStatus_expired'] = 'Passwort abgelaufen ';
$PALANG['pStatus_vacation'] = 'Automatische Antwort aktiviert ';
$PALANG['pStatus_custom'] = 'Zustellung an ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "Das Passwort ist zu kurz - mindestens %s Zeichen benötigt";
$PALANG['password_no_characters'] = "Ihr Passwort muss mindestens %s Buchstaben enthalten.";
$PALANG['password_no_characters'] = "Ihr Passwort muss mindestens %s Buchstaben (A-Z, a-z) enthalten.";
$PALANG['password_no_digits'] = "Ihr Passwort muss mindestens %s Ziffer(n) enthalten.";
$PALANG['pInvalidDomainRegex'] = "Ungültiger Domainname %s - Überprüfung per RegEx fehlgeschlagen";
$PALANG['pInvalidDomainDNS'] = "Ungültige Domain %s - nicht per DNS auflösbar";
@ -359,6 +375,7 @@ $PALANG['pFetchmail_password_missing'] = 'Bitte geben Sie das Passwort ein!';
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox';
$PALANG['pFetchmail_field_src_server'] = 'Server';
$PALANG['pFetchmail_field_src_port'] = 'Port';
$PALANG['pFetchmail_field_src_auth'] = 'Anmeldemethode';
$PALANG['pFetchmail_field_src_user'] = 'Benutzername';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -370,7 +387,7 @@ $PALANG['pFetchmail_field_protocol'] = 'Protokoll';
$PALANG['pFetchmail_field_usessl'] = 'SSL aktiv';
$PALANG['pFetchmail_field_sslcertck'] = 'SSL Zertifikatsprüfung';
$PALANG['pFetchmail_field_sslcertpath'] = 'SSL Pfad der Zertifikate';
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL fingerprint (md5)';
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL Fingerabdruck (md5)';
$PALANG['pFetchmail_field_extra_options'] = 'Zusätzliche Optionen';
$PALANG['pFetchmail_field_mda'] = 'MDA';
$PALANG['pFetchmail_field_date'] = 'Datum';
@ -378,6 +395,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Zurückgegebener Text';
$PALANG['pFetchmail_desc_id'] = 'Eintrags-ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Lokales Postfach';
$PALANG['pFetchmail_desc_src_server'] = 'Entfernter Server';
$PALANG['pFetchmail_desc_src_port'] = 'Entfernter Port, falls nicht der Standard-Port benutzt werden soll. (0: Standard-Port)';
$PALANG['pFetchmail_desc_src_auth'] = 'Normalerweise \'password\'';
$PALANG['pFetchmail_desc_src_user'] = 'Entfernter Benutzername';
$PALANG['pFetchmail_desc_src_password'] = 'Entferntes Passwort';
@ -393,6 +411,8 @@ $PALANG['pFetchmail_desc_date'] = 'Datum des letzten Mailabrufs/Konf
$PALANG['pFetchmail_desc_returned_text'] = 'Textausgabe des letzten Mailabrufs';
$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_expiration'] = 'Password läuft ab';
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -44,7 +44,7 @@ $PALANG['pLogin_username'] = 'Login (email)';
$PALANG['password'] = 'Password';
$PALANG['pLogin_language'] = 'Language';
$PALANG['pLogin_button'] = 'Login';
$PALANG['pLogin_failed'] = 'Your email address or password are not correct.';
$PALANG['pLogin_failed'] = 'Your email address or password is not correct.';
$PALANG['pLogin_login_users'] = 'Users click here to login to the user section.';
$PALANG['pMenu_main'] = 'Main';
@ -142,15 +142,20 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Modifying the alias %s failed!';
$PALANG['pCreate_mailbox_welcome'] = 'Create a new mailbox for your domain.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.';
$PALANG['pCreate_mailbox_username_text_error1'] = 'The EMAIL is not valid!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'You have reached your limit to create mailboxes!';
$PALANG['pCreate_mailbox_password_text'] = 'Password for POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Full name';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone';
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten";
$PALANG['pCreate_mailbox_email'] = 'Other e-mail';
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten";
$PALANG['pCreate_mailbox_mail'] = 'Send Welcome mail';
$PALANG['pCreate_mailbox_result_error'] = 'Creating the mailbox %s failed!';
$PALANG['pCreate_mailbox_result_success'] = '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.';
$PALANG['mailbox_updated'] = "The mailbox %s has been updated.";
$PALANG['mailbox_updated'] = "The mailbox %s has been updated.";
$PALANG['mailbox_update_failed'] = "Updating the mailbox %s failed!";
$PALANG['pEdit_mailbox_welcome'] = 'Edit a mailbox for your domain.';
@ -174,6 +179,14 @@ $PALANG['change_password'] = 'Change Password';
$PALANG['pPassword_result_error'] = 'Changing the password for %s failed!';
$PALANG['pPassword_result_success'] = 'The password for %s has been changed.';
$PALANG['pPassword_recovery_title'] = 'Follow the instructions to reset your password.';
$PALANG['pPassword_recovery_button'] = 'Send me the code';
$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'];
$PALANG['pPassword_recovery_sms_body'] = "Hello,\nThe code to change your password is: %s\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_processed'] = "We processed your request. If you entered a valid username, you'll receive an email/SMS with a password code.";
$PALANG['pPassword_password_code'] = 'Code sent by email/SMS';
$PALANG['pPassword_code_text_error'] = 'Invalid code';
$PALANG['pEdit_vacation_set'] = 'Change / Set away message';
$PALANG['pEdit_vacation_remove'] = 'Remove away message';
@ -298,6 +311,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'The admin %s has been modified.';
$PALANG['pUsersLogin_welcome'] = 'Mailbox users login to change your password and aliases.';
$PALANG['pUsersLogin_username_incorrect'] = 'Your login is not correct. Make sure that you login with your email address!';
$PALANG['pUsersLogin_password_incorrect'] = 'Your password is not correct!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password';
$PALANG['pUsersMenu_vacation'] = 'Auto Response';
$PALANG['pUsersMenu_edit_alias'] = 'Change your forward';
@ -335,11 +349,15 @@ $PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes';
$PALANG['broadcast_to_domains'] = 'Send to domains:';
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE ';
$PALANG['pStatus_disabled'] = 'Account disabled ';
$PALANG['pStatus_expired'] = 'Password expired ';
$PALANG['pStatus_vacation'] = 'Vacation enabled ';
$PALANG['pStatus_custom'] = 'Delivers to ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "Password is too short - requires %s characters";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s).";
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z).";
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s).";
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check";
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS";
@ -359,6 +377,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!';
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox';
$PALANG['pFetchmail_field_src_server'] = 'Server';
$PALANG['pFetchmail_field_src_port'] = 'Port';
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type';
$PALANG['pFetchmail_field_src_user'] = 'User';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -378,6 +397,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text';
$PALANG['pFetchmail_desc_id'] = 'Record ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox';
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server';
$PALANG['pFetchmail_desc_src_port'] = 'Remote port number, if a non-standard remote port is needed. (0: use default)';
$PALANG['pFetchmail_desc_src_auth'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Remote User';
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password';
@ -394,6 +414,8 @@ $PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format
$PALANG['password_expiration'] = 'Pass expires';
$PALANG['password_expiration_desc'] = 'Date when password will expire';
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -139,10 +139,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Reenviar sólo al email especificado.';
$PALANG['pEdit_alias_result_error'] = '¡Imposible modificar el alias! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Crear un nuevo buzón para su dominio.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = '¡El e-mail no es válido!';
$PALANG['pCreate_mailbox_username_text_error3'] = '¡Ha llegado al límite de creación de buzones!';
$PALANG['pCreate_mailbox_password_text'] = 'Contraseña para POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Nombre completo';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Enviar correo bienvenida';
$PALANG['pCreate_mailbox_result_error'] = '¡Imposible añadir un buzón a la tabla de buzones! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = '¡El buzón ha sido añadido a la tabla de buzones! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -170,6 +175,13 @@ $PALANG['pPassword_password_text_error'] = '¡Las contraseñas introducidas no c
$PALANG['change_password'] = 'Cambiar contraseña'; # XXX check text - should be 'Change Password'
$PALANG['pPassword_result_error'] = '¡Imposible cambiar la contraseña! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = '¡Su contraseña ha sido cambiada! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Cambiar / Establecer mensaje de ausencia';
$PALANG['pEdit_vacation_remove'] = 'Quitar mensaje de ausencia';
@ -293,6 +305,7 @@ $PALANG['pAdminEdit_admin_result_success'] = '¡El administrador ha sido modific
$PALANG['pUsersLogin_welcome'] = 'Login de usuarios para cambiar la contraseña y alias.';
$PALANG['pUsersLogin_username_incorrect'] = 'Su login no es correcto. ¡Asegúrese de haber introducido su dirección de e-mail como login!';
$PALANG['pUsersLogin_password_incorrect'] = '¡Su contraseña no es correcta!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Respuesta automática';
$PALANG['pUsersMenu_edit_alias'] = 'Cambiar la redirección';
@ -327,10 +340,13 @@ $PALANG['pBroadcast_error_empty'] = '¡Los campos Nombre, Asunto y Mensaje no pu
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'posiblemente NO SE ENTREGÓ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Enviado a ';
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "La contraseña es demasiado corta - se necesitan %s caracteres";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "El nombre de dominio %s es inválido, no se ajusta a la expresión regular";
$PALANG['pInvalidDomainDNS'] = "El dominio %s no es válido, y/o no tiene resolución DNS";
@ -349,6 +365,7 @@ $PALANG['pFetchmail_password_missing'] = '¡Por favor introduzca la contraseña
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Buzón';
$PALANG['pFetchmail_field_src_server'] = 'Servidor';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Tipo Autenticación';
$PALANG['pFetchmail_field_src_user'] = 'Usuario';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -368,6 +385,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Texto Devuelto';
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Buzón local';
$PALANG['pFetchmail_desc_src_server'] = 'Servidor Remoto';
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Usuario Remoto';
$PALANG['pFetchmail_desc_src_password'] = 'Contraseña Remota';
@ -383,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -139,10 +139,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Aliase muutmine ebaõnnestus! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Loo uus postkast domeenis.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-posti aadress pole kehtiv!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Oled kasutanud kogu postkastide arvu!';
$PALANG['pCreate_mailbox_password_text'] = 'Parool POP3/IMAP\'le';
$PALANG['pCreate_mailbox_name_text'] = 'Täielik nimi';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Loo postkast'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Postkasti lisamine tabelisse ebaõnnestus! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Postkast lisati postkastide tabelisse! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -170,6 +175,13 @@ $PALANG['pPassword_password_text_error'] = 'Sisestatud paroolid ei kattu! Või o
$PALANG['change_password'] = 'Muuda parool';
$PALANG['pPassword_result_error'] = 'Parooli muutmine ebaõnnestus! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Parool on muudetud! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -291,6 +303,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Haldaja on muudetud! (%s)'; # XXX
$PALANG['pUsersLogin_welcome'] = 'Postkasti kasutaja sisse logimine muutmaks parooli ja aliast.';
$PALANG['pUsersLogin_username_incorrect'] = 'Kasutajanimi pole õige. Veendu, et sisestatud kasutajanimi on e-posti aadress!';
$PALANG['pUsersLogin_password_incorrect'] = 'Parool pole õige!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Automaatne vastus';
$PALANG['pUsersMenu_edit_alias'] = 'Muuda edasisaatmist';
@ -329,10 +342,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -351,6 +367,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -370,6 +387,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -385,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -137,10 +137,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Ezinezkoa aliasa aldatzea! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Postontzi berri bat sortu domeinuarentzat.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-maila baliogabekoa da!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Postontzi sorkuntza mugara iritsi zara!';
$PALANG['pCreate_mailbox_password_text'] = 'POP3/IMAP-entzat pasahitza';
$PALANG['pCreate_mailbox_name_text'] = 'Izen osoa';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Postontzia sortu'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Ezinezkoa postontzi taulara postontzia gehitzea! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Postontzia postontzi taulara sartu da! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -168,6 +173,13 @@ $PALANG['pPassword_password_text_error'] = 'Sarturiko pasahitzak ez datoz bat ed
$PALANG['change_password'] = 'Pasahitza aldatu';
$PALANG['pPassword_result_error'] = 'Ezinezkoa pasahitza aldatzea! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Pasahitza aldatuta! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -290,6 +302,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Kudeatzailea aldatu da! (%s)'; # X
$PALANG['pUsersLogin_welcome'] = 'Erabiltzaileen logina pasahitz eta aliasa aldatzeko.';
$PALANG['pUsersLogin_username_incorrect'] = 'Login okerra. Ziurta zaitez posta helbidea login gisa sartu duzula!';
$PALANG['pUsersLogin_password_incorrect'] = 'Pasahitz okerra!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Erantzun automatikoa';
$PALANG['pUsersMenu_edit_alias'] = 'Berbiderapen helbidea aldatu';
@ -324,10 +337,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -346,6 +362,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -365,6 +382,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -380,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['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -139,10 +139,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Edelleenlähetä ainoastaan annettuun sä
$PALANG['pEdit_alias_result_error'] = 'Aliasta ei voi muokata! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Luo uusi paikallinen postilaatikko.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Sähköpostiosoite ei ole oikean muotoinen!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Postilaatikoiden maksimimäärä saavutettu!';
$PALANG['pCreate_mailbox_password_text'] = 'POP3/IMAP salasana';
$PALANG['pCreate_mailbox_name_text'] = 'Koko nimi';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Luo postilaatikko'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Postilaatikon lisääminen ei onnistu! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Postilaatikko on lisätty! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -170,6 +175,13 @@ $PALANG['pPassword_password_text_error'] = 'Antamasi salasanat eivät täsmää!
$PALANG['change_password'] = 'Vaihda salasana';
$PALANG['pPassword_result_error'] = 'Salasanan vaihto ei onnistunut! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Salasana vaihdettu! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Muuta / Aseta poissaoloviesti';
$PALANG['pEdit_vacation_remove'] = 'Poista poissaoloviesti';
$PALANG['pVacation_result_error'] = 'Automaattivastauksen asetuksia ei voitu päivittää! (%s)'; # XXX Text changed to: Updating the auto response settings for %s failed
@ -291,6 +303,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Ylläpitäjän muokkaus onnistui!
$PALANG['pUsersLogin_welcome'] = 'Salasanan vaihto.';
$PALANG['pUsersLogin_username_incorrect'] = 'Käyttäjätunnus tai salasana väärin!';
$PALANG['pUsersLogin_password_incorrect'] = 'Käyttäjätunnus tai salasana väärin!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Automaattivastaus';
$PALANG['pUsersMenu_edit_alias'] = 'Muokkaa uudelleenohjausta';
@ -325,10 +338,13 @@ $PALANG['pBroadcast_error_empty'] = 'Nimi, Aihe tai Viesti kenttien ei pidä oll
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'ehkä ei voida toimittaa ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Toimittaa osoiteeseen ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "Salasana on liian lyhyt, vaaditaan %s merkkiä";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Virheellinen domain nimi %s, ei läpäise regexp testiä";
$PALANG['pInvalidDomainDNS'] = "Virheellinen domain %s ja/tai ei löydy nimipalvelimista";
@ -347,6 +363,7 @@ $PALANG['pFetchmail_password_missing'] = 'Ole hyvä ja syötä etäkäyttäjän
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Sähköpostilaatikko';
$PALANG['pFetchmail_field_src_server'] = 'Palvelin';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Tunnistautumisen tyyppi';
$PALANG['pFetchmail_field_src_user'] = 'Käyttäjä';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -366,6 +383,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Palautettu teksti';
$PALANG['pFetchmail_desc_id'] = 'Tietue ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Paikallinen sähköpostilaatikko';
$PALANG['pFetchmail_desc_src_server'] = 'Etäpalvelin';
$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'] = 'Useimmiten \'password\'';
$PALANG['pFetchmail_desc_src_user'] = 'Etäkäyttäjä';
$PALANG['pFetchmail_desc_src_password'] = 'Etäkäyttäjän salasana';
@ -381,6 +399,8 @@ $PALANG['pFetchmail_desc_date'] = 'Viimeisen tarkistuksen/konfiguraa
$PALANG['pFetchmail_desc_returned_text'] = 'Viesti edellisestä tarkistuksesta';
$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'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -139,10 +139,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Fái ikki broytt dulnevni! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Stovna ein nýggjan postkassa á tínum navnaøki.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-post adressan er ógyldug!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Tú hevur nýtt tínum marki at stovna postkassar!';
$PALANG['pCreate_mailbox_password_text'] = 'Loyniorð til POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Fult navn';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Stovna postkassa'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Fái ikki stovnað postkassa! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Postkassin er stovnaður! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -170,6 +175,13 @@ $PALANG['pPassword_password_text_error'] = 'Loyniorðini tú skrivaði samsvara
$PALANG['change_password'] = 'Broyt loyniorð';
$PALANG['pPassword_result_error'] = 'Fái ikki broytt títt loyniorð! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Títt loyniorð er broytt! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -291,6 +303,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Umsitari er broyttur! (%s)'; # XXX
$PALANG['pUsersLogin_welcome'] = 'Postkassa brúkarar loggi inn fyri at broyta loyniorð, víðarisending ella frítíðarboð.';
$PALANG['pUsersLogin_username_incorrect'] = 'Títt login er skeivt. Minst til at logga inn við tíni e-post adressu!';
$PALANG['pUsersLogin_password_incorrect'] = 'Títt loyniorð er skeivt!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Frítíðarboð';
$PALANG['pUsersMenu_edit_alias'] = 'Broyt víðarisending';
@ -330,10 +343,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -352,6 +368,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -371,6 +388,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -386,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['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -6,6 +6,7 @@
// updated by Olivier ETIENNE
// updated by François GRANGE (rumbaya @sf)
// updated by Carlos FERREIRA (@acs_ferreira)
// updated by Aurelien BONANNI (abonanni @teicee)
//
$PALANG['YES'] = 'Oui';
@ -19,13 +20,13 @@ $PALANG['confirm'] = 'Êtes-vous sûr de vouloir supprimer cet enregistrement\n'
$PALANG['confirm_delete_admin'] = 'Êtes-vous sûr de vouloir supprimer l\'administrateur %s?';
$PALANG['confirm_delete_alias'] = 'Êtes-vous sûr de vouloir supprimer l\'alias %s?';
$PALANG['confirm_delete_aliasdomain'] = 'Êtes-vous sûr de vouloir supprimer l\'alias de domaine %s?';
$PALANG['confirm_delete_domain'] = 'Êtes-vous sûr de vouloir effacer tous les enregistrements dans ce domaine ? Cette opération ne pourra pas être annulée.\n (%s)';
$PALANG['confirm_delete_domain'] = 'Êtes-vous sûr de vouloir effacer tous les enregistrements du domaine %s ? Cette opération ne pourra pas être annulée.\n';
$PALANG['confirm_delete_fetchmail'] = 'Êtes-vous sûr de vouloir supprimer la tâche de récupération de courrier %s?';
$PALANG['confirm_delete_mailbox'] = 'Êtes-vous sûr de vouloir supprimer la boîte %s?';
$PALANG['confirm_delete_vacation'] = 'Êtes-vous sûr de vouloir supprimer le message d\'absence pour %s?';
$PALANG['no_delete_permissions'] = 'Vous n\'êtes pas autorisé à supprimer %s !';
$PALANG['check_update'] = 'Vérifier les mises à jour';
$PALANG['invalid_parameter'] = 'Paramètres invalides !';
$PALANG['invalid_parameter'] = 'Paramètre invalide !';
$PALANG['show'] = 'Afficher:';
$PALANG['all'] = 'Tous';
$PALANG['created'] = 'Créé';
@ -36,12 +37,12 @@ $PALANG['must_be_numeric'] = '%s doit être au format numérique';
$PALANG['must_be_numeric_bigger_than_null'] = '%s doit être au format numérique et plus grand que 0';
$PALANG['must_be_boolean'] = '%s doit être booléen';
$PALANG['invalid_value_given'] = 'Valeur incorrecte pour %s';
$PALANG['edit_not_allowed'] = 'Vous n\'êtes pas autorisé à editer %s';
$PALANG['edit_not_allowed'] = 'Vous n\'êtes pas autorisé à éditer %s';
$PALANG['searchparams'] = 'Paramètre de recherche :';
$PALANG['pFooter_logged_as'] = 'Connecté en tant que %s';
$PALANG['pLogin_welcome'] = 'Entrez votre adresse courriel pour administrer votre domaine.';
$PALANG['pLogin_username'] = 'Adresse courriel';
$PALANG['pLogin_welcome'] = 'Entrez votre adresse email pour administrer votre domaine.';
$PALANG['pLogin_username'] = 'Adresse email';
$PALANG['password'] = 'Mot de passe';
$PALANG['pLogin_language'] = 'Langue';
$PALANG['pLogin_button'] = 'Entrer';
@ -57,7 +58,7 @@ $PALANG['pMenu_fetchmail'] = 'Récupérer le courrier';
$PALANG['pMenu_sendmail'] = 'Envoyer un courriel';
$PALANG['pMenu_password'] = 'Mot de passe';
$PALANG['pMenu_viewlog'] = 'Journal';
$PALANG['pMenu_logout'] = 'Sortir';
$PALANG['pMenu_logout'] = 'Déconnexion';
$PALANG['pMain_welcome'] = 'Bienvenue sur Postfix Admin !';
$PALANG['pMain_overview'] = 'Visualiser vos alias et comptes courriels. (Modifier/Effacer)';
@ -65,8 +66,8 @@ $PALANG['pMain_create_alias'] = 'Ajouter un nouvel alias à votre domaine.';
$PALANG['pMain_create_mailbox'] = 'Ajouter un nouveau compte courriel à votre domaine.';
$PALANG['pMain_sendmail'] = 'Envoyer un courriel à un de vos nouveaux comptes courriels.';
$PALANG['pMain_password'] = 'Changer votre mot de passe pour le compte administrateur.';
$PALANG['pMain_viewlog'] = 'Visualiser le fichier d\'événements.';
$PALANG['pMain_logout'] = 'Sortir du système';
$PALANG['pMain_viewlog'] = 'Visualiser le journal des événements.';
$PALANG['pMain_logout'] = 'Déconnexion du système';
$PALANG['pOverview_disabled'] = 'Désactivé';
$PALANG['pOverview_unlimited'] = 'Illimité';
@ -74,38 +75,38 @@ $PALANG['pOverview_title'] = ':: Domaines définis';
$PALANG['pOverview_up_arrow'] = 'Remonter';
$PALANG['pOverview_right_arrow'] = 'Page suivante';
$PALANG['pOverview_left_arrow'] = 'Page précédente';
$PALANG['pOverview_alias_domain_title'] = ':: Alias de Domaine';
$PALANG['pOverview_alias_domain_title'] = ':: Alias de domaine';
$PALANG['pOverview_alias_title'] = ':: Alias';
$PALANG['pOverview_mailbox_title'] = ':: Comptes courriels';
$PALANG['go'] = 'Aller';
$PALANG['pOverview_welcome'] = 'Vue d\'ensemble pour ';
$PALANG['pOverview_alias_domain_aliases'] = 'Alias de Domaines';
$PALANG['pOverview_alias_domain_aliases'] = 'Alias de domaines';
$PALANG['pOverview_alias_address'] = 'De';
$PALANG['active'] = 'Actif';
$PALANG['and_x_more'] = '[et %s en plus...]';
$PALANG['pOverview_mailbox_username'] = 'courriel';
$PALANG['name'] = 'Nom';
$PALANG['pOverview_mailbox_quota'] = 'Limite (Mo)';
$PALANG['pOverview_vacation_edit'] = 'REPONDEUR ACTIVE';
$PALANG['pOverview_vacation_edit'] = 'RÉPONDEUR ACTIVE';
$PALANG['pOverview_vacation_option'] = 'Configurer le répondeur';
$PALANG['no_domains_for_this_admin'] = 'Vous n\'avez de permissions pour aucun domaine.';
$PALANG['no_domains_for_this_admin'] = 'Vous n\'avez les permissions pour aucun domaine.';
$PALANG['no_domains_exist'] = 'Vous devez créer au moins un domaine avant d\'utiliser la Liste des Virtuels.';
$PALANG['domain'] = 'Domaine';
$PALANG['pOverview_get_alias_domains'] = 'Alias de Domaine';
$PALANG['pOverview_get_alias_domains'] = 'Alias de domaine';
$PALANG['mailboxes'] = 'Comptes courriels';
$PALANG['pOverview_get_quota'] = 'Limite compte courriels (MB)';
$PALANG['pOverview_get_quota'] = 'Limite compte courriels (Mo)';
$PALANG['pDelete_delete_error'] = 'Impossible d\'effacer cette entrée ';
$PALANG['pDelete_delete_success'] = '%s supprimé.';
$PALANG['pDelete_domain_error'] = 'Ce domaine n\'est pas le votre ';
$PALANG['pDelete_alias_error'] = 'Impossible d\'effacer cet alias ';
$PALANG['pCreate_alias_domain_welcome'] = 'Les adresses mirroirs de l\'un de vos domaines vers un autre.';
$PALANG['pCreate_alias_domain_alias'] = 'Alias de Domaine';
$PALANG['pCreate_alias_domain_alias_text'] = 'Le domaine de récéption du courrier (source).';
$PALANG['pCreate_alias_domain_target'] = 'Domaine Cible';
$PALANG['pCreate_alias_domain_welcome'] = 'Les adresses mirroir de l\'un de vos domaines vers un autre.';
$PALANG['pCreate_alias_domain_alias'] = 'Alias de domaine';
$PALANG['pCreate_alias_domain_alias_text'] = 'Le domaine de réception du courrier (source).';
$PALANG['pCreate_alias_domain_target'] = 'Domaine cible';
$PALANG['pCreate_alias_domain_target_text'] = 'Le domaine qui va réceptionner le courrier à la place.';
$PALANG['pCreate_alias_domain_error1'] = 'Vous n\'êtes pas autorisé a créer la configuration choisie.';
$PALANG['pCreate_alias_domain_error1'] = 'Vous n\'êtes pas autorisé à créer la configuration choisie.';
$PALANG['pCreate_alias_domain_error2'] = 'La configuration choisie est invalide, merci d\'en choisir une autre !';
$PALANG['alias_domain_already_exists'] = 'Ce domaine est déjà un alias de domaine !';
$PALANG['alias_domain_does_not_exist'] = 'Ce domaine n\'est pas un alias de domaine !';
@ -126,25 +127,30 @@ $PALANG['pCreate_alias_result_error'] = 'Échec de la création de l\'alias %s !
$PALANG['pCreate_alias_result_success'] = 'L\'alias %s a été ajouté !';
$PALANG['alias_updated'] = 'L\'alias %s a été mis à jour !';
$PALANG['pCreate_alias_catchall_text'] = 'Pour ajouter un alias global, utilisez "*". Pour un transfert de domaine à domaine, utilisez "*@domain.tld" dans le champ À.';
$PALANG['mailbox_alias_cant_be_deleted'] = 'Cet alias appartient à un compte courriel et ne peut être supprimé !';
$PALANG['mailbox_alias_cant_be_deleted'] = 'Cet alias appartient à un compte courriel et ne peut donc pas être supprimé !';
$PALANG['protected_alias_cant_be_deleted'] = 'L\'alias %s est protégé et ne peut être supprimé que par un Super Administrateur.';
$PALANG['pEdit_alias_welcome'] = 'Modifier les paramètres de transfert.';
$PALANG['pEdit_alias_help'] = 'Cibles multiples acceptées, une entrée par ligne.';
$PALANG['pEdit_alias_help'] = 'Destinataires multiples acceptés, une entrée par ligne.';
$PALANG['alias'] = 'Alias';
$PALANG['to'] = 'À';
$PALANG['pEdit_alias_goto_text_error1'] = 'Vous devez entrer quelques choses dans le champ À';
$PALANG['pEdit_alias_goto_text_error2'] = 'L\'adresse courriel que vous avez entré est invalide: ';
$PALANG['pEdit_alias_goto_text_error1'] = 'Vous devez renseigner quelque chose dans le champ À';
$PALANG['pEdit_alias_goto_text_error2'] = 'L\'adresse email que vous avez indiquée est invalide: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Impossible de modifier cet alias de domaine !';
$PALANG['pEdit_alias_forward_and_store'] = 'Transférer une copie.';
$PALANG['pEdit_alias_forward_and_store'] = 'Conserver une copie des messages dans la boîte aux lettres.';
$PALANG['pEdit_alias_forward_only'] = 'Transférer les messages sans conserver de copie.';
$PALANG['pEdit_alias_result_error'] = 'Échec de la modification de l\'alias %s !';
$PALANG['pCreate_mailbox_welcome'] = 'Ajouter un nouveau compte courriel à votre domaine.';
$PALANG['pCreate_mailbox_username_text_error1'] = 'L\'adresse courriel est invalide !';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'L\'adresse email est invalide !';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Vous avez atteint le nombre maximum de comptes courriel !';
$PALANG['pCreate_mailbox_password_text'] = 'Mot de passe pour le compte POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Nom complet';
$PALANG['pCreate_mailbox_phone'] = 'Téléphone mobile';
$PALANG['pCreate_mailbox_phone_desc'] = "Utilisé pour l'envoi de SMS en cas d'oubli du mot de passe";
$PALANG['pCreate_mailbox_email'] = 'E-mail secondaire';
$PALANG['pCreate_mailbox_email_desc'] = "Utilisé en cas d'oubli du mot de passe";
$PALANG['pCreate_mailbox_mail'] = 'Envoyer le message de bienvenue';
$PALANG['pCreate_mailbox_result_error'] = 'Échec de la création du compte courriel %s !';
$PALANG['pCreate_mailbox_result_success'] = 'Le compte courriel %s a été ajouté à la table des comptes !';
@ -154,7 +160,7 @@ $PALANG['mailbox_update_failed'] = "Échec de la mise à jour du compte courriel
$PALANG['pEdit_mailbox_welcome'] = 'Modifier un compte courriel.';
$PALANG['pEdit_mailbox_username'] = 'Nom d\'utilisateur';
$PALANG['pEdit_mailbox_password_text_error'] = 'Le mot de passe entré ne correspond pas !';
$PALANG['pEdit_mailbox_password_text_error'] = 'Le mot de passe indiqué ne correspond pas !';
$PALANG['pEdit_mailbox_quota'] = 'Limite';
$PALANG['pEdit_mailbox_quota_text'] = 'Mo';
$PALANG['mb_max'] = 'Mo (max: %s)';
@ -162,27 +168,35 @@ $PALANG['pEdit_mailbox_quota_text_error'] = 'La limite fournie est trop élevée
$PALANG['pEdit_mailbox_domain_error'] = 'Ce domaine n\'est pas le votre: ';
$PALANG['pEdit_mailbox_result_error'] = 'Impossible de modifier le compte courriel !';
$PALANG['pPassword_welcome'] = 'Changer votre mot de passe.';
$PALANG['pPassword_welcome'] = 'Modifier votre mot de passe.';
$PALANG['pPassword_admin'] = 'Entrer';
$PALANG['pPassword_password_current'] = 'Mot de passe actuel';
$PALANG['pPassword_password_current_text_error'] = 'Vous n\'avez pas fournit le mot de passe actuel !';
$PALANG['pPassword_password_current_text_error'] = 'Vous n\'avez pas fourni le mot de passe actuel !';
$PALANG['pPassword_password'] = 'Nouveau mot de passe';
$PALANG['pPassword_password2'] = 'Nouveau mot de passe (confirmation)';
$PALANG['pPassword_password_text_error'] = 'Le mot de passe fourni ne correspond pas ou est vide !';
$PALANG['change_password'] = 'Changer le mot de passe';
$PALANG['pPassword_result_error'] = 'Impossible de changer le mot de passe de %s !';
$PALANG['pPassword_result_success'] = 'Le mot de passe de %s a été changé !';
$PALANG['pPassword_recovery_title'] = 'Suivez les instructions pour réinitialiser votre mot de passe.';
$PALANG['pPassword_recovery_button'] = 'Envoyez-moi le code';
$PALANG['pPassword_recovery_email_body'] = "Bonjour,\n\nUtilisez le lien suivant pour modifier votre mot de passe :\n%s\n\nSalutations,\n\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_sms_body'] = "Bonjour,\nLe code pour modifier votre mot de passe: %s\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_processed'] = "Nous avons traité votre demande. Si le nom d'utilisateur que vous avez saisi est valide, vous recevrez par e-mail/SMS un code de réinitialisation du mot de passe.";
$PALANG['pPassword_password_code'] = 'Code reçu par email/SMS';
$PALANG['pPassword_code_text_error'] = 'Code invalide';
$PALANG['pEdit_vacation_set'] = 'Activer le répondeur';
$PALANG['pEdit_vacation_remove'] = 'Désactiver le répondeur';
$PALANG['pVacation_result_error'] = 'Impossible de mettre à jour les réglages du répondeur de %s !';
$PALANG['pVacation_result_error'] = 'Impossible de mettre à jour les paramètres du répondeur de %s !';
$PALANG['pVacation_result_removed'] = 'Le répondeur de %s a été désactivé !';
$PALANG['pVacation_result_added'] = 'Le répondeur de %s a été activé !';
$PALANG['pVacation_reply_type'] = 'Type de réponse';
$PALANG['pVacation_reply_delay_time'] = 'Intervalle';
$PALANG['pVacation_reply_delay_time_text'] = 'Durée en secondes';
$PALANG['pVacation_until_before_today'] = 'La date de [Actif jusqu\'au] est antèrieure à la date d\'aujourd\'hui';
$PALANG['pVacation_until_before_from'] = 'La date de [Actif jusqu\'au] est antèrieure à [Actif à partir de]';
$PALANG['reply_once'] = 'Répondre une fois';
$PALANG['pVacation_until_before_today'] = 'La date de [Actif jusqu\'au] est antérieure à la date d\'aujourd\'hui';
$PALANG['pVacation_until_before_from'] = 'La date de [Actif jusqu\'au] est antérieure à [Actif à partir de]';
$PALANG['reply_once'] = 'Répondre une seule fois';
$PALANG['reply_every_mail'] = 'Répondre à chaque message';
$PALANG['reply_once_per_day'] = 'Répondre une fois par jour';
$PALANG['reply_once_per_week'] = 'Répondre une fois par semaine';
@ -205,7 +219,7 @@ $PALANG['pViewlog_action_delete_alias'] = 'supprimer un alias';
$PALANG['pViewlog_action_delete_alias_domain'] = 'supprimer un alias de domaine';
$PALANG['pViewlog_action_edit_alias'] = 'éditer un alias';
$PALANG['pViewlog_action_edit_alias_state'] = 'activer un alias';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'éditer alias de domaine actif';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'éditer l\'alias de domaine actif';
$PALANG['pViewlog_action_edit_password'] = 'changer le mot de passe';
$PALANG['pViewlog_action_create_admin'] = 'créer un administrateur';
$PALANG['pViewlog_action_edit_admin'] = 'modifier un administrateur';
@ -220,17 +234,17 @@ $PALANG['pViewlog_result_error'] = 'Impossible de trouver le journal des événe
$PALANG['pSendmail_welcome'] = 'Envoyer un courriel.';
$PALANG['from'] = 'De';
$PALANG['pSendmail_to'] = 'À';
$PALANG['pSendmail_to_text_error'] = '"À" est vide ou ce n\'est pas une adresse courriel valide !';
$PALANG['pSendmail_to_text_error'] = 'Le champ "À" est vide ou il ne contient pas une adresse email valide !';
$PALANG['subject'] = 'Sujet';
$PALANG['pSendmail_subject_text'] = 'Bienvenue';
$PALANG['pSendmail_body'] = 'Message';
$PALANG['pSendmail_button'] = 'Envoyer le message';
$PALANG['pSendmail_result_error'] = 'Impossible d\'envoyer le courriel à %s !';
$PALANG['pSendmail_result_success'] = 'Le message a été envoyé à %s.';
$PALANG['pSendmail_result_success'] = 'Le message a été envoyé à l\'adresse %s.';
$PALANG['pAdminMenu_list_admin'] = 'Liste des Administrateurs';
$PALANG['pAdminMenu_list_domain'] = 'Liste des Domaines';
$PALANG['pAdminMenu_list_virtual'] = 'Liste des Virtuels';
$PALANG['pAdminMenu_list_admin'] = 'Liste des administrateurs';
$PALANG['pAdminMenu_list_domain'] = 'Liste des domaines';
$PALANG['pAdminMenu_list_virtual'] = 'Liste des virtuels';
$PALANG['pAdminMenu_backup'] = 'Sauvegarde';
$PALANG['pAdminMenu_create_domain_admins'] = 'Administrateurs de domaines';
$PALANG['pAdminMenu_create_admin'] = 'Nouvel administrateur';
@ -241,7 +255,7 @@ $PALANG['pAdminList_admin_count'] = 'Domaines';
$PALANG['description'] = 'Description';
$PALANG['aliases'] = 'Alias';
$PALANG['pAdminList_domain_quota'] = 'Quota du domaine (Mo)';
$PALANG['pAdminList_domain_backupmx'] = 'MX Backup';
$PALANG['pAdminList_domain_backupmx'] = 'Backup MX';
$PALANG['last_modified'] = 'Dernière modification';
@ -262,7 +276,7 @@ $PALANG['mailbox_postdel_failed'] = 'Le script "postdeletion" du compte courriel
$PALANG['mailbox_postedit_failed'] = 'Le script "postedit" du compte courriel a échoué, consultez le journal !';
$PALANG['mailbox_postcreate_failed'] = 'Le script "postcreate" du compte courriel a échoué, consultez le journal !';
$PALANG['pAdminDelete_alias_domain_error'] = 'Impossible de supprimer cet alias de domaine !';
$PALANG['domain_conflict_vacation_domain'] = 'Vous ne pouvez pas utiliser le domaine vacant comme domaine !';
$PALANG['domain_conflict_vacation_domain'] = 'Vous ne pouvez pas utiliser le domaine configuré pour les réponses automatiques !';
$PALANG['pAdminEdit_domain_welcome'] = 'Modifier un domaine';
$PALANG['pAdminEdit_domain_aliases_text'] = '-1 = désactivé | 0 = illimité';
@ -270,13 +284,13 @@ $PALANG['pAdminEdit_domain_maxquota'] = 'Limite maximum';
$PALANG['pAdminEdit_domain_maxquota_text'] = 'Mo | -1 = désactivé | 0 = illimité';
$PALANG['pAdminEdit_domain_quota'] = 'Quota du Domaine';
$PALANG['transport'] = 'Transport';
$PALANG['pAdminEdit_domain_transport_text'] = 'Definir le transport';
$PALANG['pAdminEdit_domain_transport_text'] = 'Définir le transport';
$PALANG['pAdminEdit_domain_backupmx'] = 'Le serveur est un "Backup MX"';
$PALANG['pAdminEdit_domain_result_error'] = 'Échec de la mise à jour du domaine %s';
$PALANG['pAdminCreate_admin_welcome'] = 'Ajouter un nouvel administrateur de domaine';
$PALANG['email_address'] = 'adresse courriel';
$PALANG['pAdminCreate_admin_username_text_error1'] = 'Ce n\'est pas une adresse courriel administrateur valide !';
$PALANG['email_address'] = 'adresse email';
$PALANG['pAdminCreate_admin_username_text_error1'] = 'Ce n\'est pas une adresse email administrateur valide !';
$PALANG['admin_already_exists'] = 'Cet administrateur existe déjà !';
$PALANG['admin_does_not_exist'] = 'L\'administrateur n\'existe pas !';
$PALANG['pAdminCreate_admin_button'] = 'Ajouter un administrateur';
@ -291,9 +305,10 @@ $PALANG['super_admin_desc'] = 'Les Super administrateurs ont accès à tous les
$PALANG['pAdminEdit_admin_result_error'] = 'Impossible de modifier l\'administrateur %s !';
$PALANG['pAdminEdit_admin_result_success'] = 'L\'administrateur %s a été ajouté !';
$PALANG['pUsersLogin_welcome'] = 'Entrer votre adresse courriel pour modifier votre mot de passe et vos transferts.';
$PALANG['pUsersLogin_username_incorrect'] = 'L\'adresse courriel est invalide. Assurez-vous d\'avoir correctement saisi votre adresse courriel !';
$PALANG['pUsersLogin_welcome'] = 'Entrer votre adresse email pour modifier votre mot de passe et vos transferts.';
$PALANG['pUsersLogin_username_incorrect'] = 'L\'adresse email est invalide. Assurez-vous d\'avoir correctement saisi votre adresse email !';
$PALANG['pUsersLogin_password_incorrect'] = 'Votre mot de passe est invalide !';
$PALANG['pUsersLogin_password_recover'] = 'Mot de passe oublié';
$PALANG['pUsersMenu_vacation'] = 'Réponse Automatique';
$PALANG['pUsersMenu_edit_alias'] = 'Modifier votre transfert';
@ -304,7 +319,7 @@ $PALANG['pUsersMain_edit_alias'] = 'Modifier vos transferts de courriel.';
$PALANG['pUsersMain_password'] = 'Changer votre mot de passe.';
$PALANG['pUsersVacation_welcome'] = 'Répondeur Automatique.';
$PALANG['pUsersVacation_welcome_text'] = 'Le repondeur automatique pour %s est déjà configuré !';
$PALANG['pUsersVacation_welcome_text'] = 'Le répondeur automatique pour l\'adresse %s est déjà configuré !';
$PALANG['pUsersVacation_subject_text'] = 'Notification d\'absence';
$PALANG['message'] = 'Message';
$PALANG['pUsersVacation_body_text'] = <<<EOM
@ -323,19 +338,22 @@ $PALANG['pReturn_to'] = 'Réponse à';
$PALANG['pBroadcast_title'] = 'Envoyer un message général';
$PALANG['pBroadcast_name'] = 'Votre nom';
$PALANG['pBroadcast_success'] = 'Votre message général a été envoyé.';
$PALANG['pAdminMenu_broadcast_message'] = 'message général';
$PALANG['pBroadcast_error_empty'] = 'Les champs "Nom", "Sujet" et "Message" ne peuvent pas être vides!';
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pAdminMenu_broadcast_message'] = 'Message général';
$PALANG['pBroadcast_error_empty'] = 'Les champs "Nom", "Sujet" et "Message" ne peuvent pas être vides !';
$PALANG['broadcast_mailboxes_only'] = 'Envoyer seulement aux comptes courriel';
$PALANG['broadcast_to_domains'] = 'Envoyer aux domaines:';
$PALANG['pStatus_undeliverable'] = 'Non délivrable ';
$PALANG['pStatus_disabled'] = 'Compte désactivé ';
$PALANG['pStatus_expired'] = 'Mot de passe expiré ';
$PALANG['pStatus_vacation'] = 'Répondeur activé ';
$PALANG['pStatus_custom'] = 'Délivré à ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = 'Mot de passe trop court. - %s caractères minimum';
$PALANG['password_no_characters'] = 'Votre mot de passe doit contenir au moins %s caractères.';
$PALANG['password_no_characters'] = 'Votre mot de passe doit contenir au moins %s lettres (A-Z, a-z).';
$PALANG['password_no_digits'] = 'Votre mot de passe doit contenir au moins %s chiffres.';
$PALANG['pInvalidDomainRegex'] = 'Nom de domaine invalide %s, vérification "regexp" impossible';
$PALANG['pInvalidDomainDNS'] = 'Le domaine %s est invalide et/ou non resolvable via les DNS';
$PALANG['pInvalidMailRegex'] = 'L\'adresse courriel %s est invalide, vérification "regexp" impossible';
$PALANG['pInvalidDomainDNS'] = 'Le domaine %s est invalide et/ou non résolvable via les DNS';
$PALANG['pInvalidMailRegex'] = 'L\'adresse email %s est invalide, vérification "regexp" impossible';
$PALANG['pFetchmail_welcome'] = 'Récupérer le courrier pour :';
$PALANG['pFetchmail_new_entry'] = 'Nouvelle entrée';
$PALANG['fetchmail_already_exists'] = 'Cette tâche de récupération du courrier existe déjà !';
@ -344,12 +362,13 @@ $PALANG['pFetchmail_database_save_error'] = 'Impossible d\'enregistrer cette ent
$PALANG['pFetchmail_database_save_success'] = 'Entrée correctement enregistrée dans la base.';
$PALANG['pFetchmail_error_invalid_id'] = 'Aucune entrée trouvée avec l\'ID %s !';
$PALANG['pFetchmail_invalid_mailbox'] = 'Compte courriel incorrect !';
$PALANG['pFetchmail_server_missing'] = 'Merci d\'entrer le nom du serveur distant !';
$PALANG['pFetchmail_user_missing'] = 'Merci d\'entrer le nom de l\'utilisateur distant !';
$PALANG['pFetchmail_password_missing'] = 'Merci d\'entrer le mot de passe distant !';
$PALANG['pFetchmail_server_missing'] = 'Merci d\'indiquer le nom du serveur distant !';
$PALANG['pFetchmail_user_missing'] = 'Merci d\'indiquer le nom de l\'utilisateur distant !';
$PALANG['pFetchmail_password_missing'] = 'Merci d\'indiquer le mot de passe distant !';
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Compte courriel';
$PALANG['pFetchmail_field_src_server'] = 'Serveur';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Type Auth';
$PALANG['pFetchmail_field_src_user'] = 'Utilisateur';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -369,6 +388,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Message retour';
$PALANG['pFetchmail_desc_id'] = 'Identifiant';
$PALANG['pFetchmail_desc_mailbox'] = 'Compte courriel local';
$PALANG['pFetchmail_desc_src_server'] = 'Serveur distant';
$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'] = 'Surtout \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Utilisateur distant';
$PALANG['pFetchmail_desc_src_password'] = 'Mot de passe distant';
@ -384,6 +404,8 @@ $PALANG['pFetchmail_desc_date'] = 'Date de la dernière vérification/changement
$PALANG['pFetchmail_desc_returned_text'] = 'Message de la dernière vérification';
$PALANG['dateformat_pgsql'] = 'dd-mm-YYYY';
$PALANG['dateformat_mysql'] = '%d-%m-%Y';
$PALANG['password_expiration'] = 'Expiration du mot de passe';
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -0,0 +1,407 @@
<?php
# $Id$
//
// Language file Spanish
// by Alexandre Espinosa Menor <aemenor@gmail.com>
$PALANG['YES'] = 'SI';
$PALANG['NO'] = 'NON';
$PALANG['edit'] = 'editar';
$PALANG['del'] = 'borrar';
$PALANG['exit'] = 'Sair';
$PALANG['cancel'] = 'Cancelar';
$PALANG['save'] = 'Gardar'; # XXX Text change: "Save" -> "Save changes"
$PALANG['confirm'] = 'Está seguro que desexa borralo?\n';
$PALANG['confirm_delete_admin'] = 'Realmente quere borrar o/a administrador/a %s?'; # 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['check_update'] = 'Comprobar actualización'; # XXX
$PALANG['invalid_parameter'] = 'Par&aacute;metro inválido!';
$PALANG['show'] = 'Ver:'; # XXX
$PALANG['all'] = 'Todo'; # XXX
$PALANG['created'] = 'Creado'; # XXX
$PALANG['unknown'] = 'descoñecido'; # XXX
$PALANG['download_csv'] = 'Descarga esta lista como un ficheiro CSV'; # XXX
$PALANG['missing_field'] = 'Non existe o campo %s '; # XXX
$PALANG['must_be_numeric'] = '%s debe ser numérico'; # XXX
$PALANG['must_be_numeric_bigger_than_null'] = '%s debe ser numérico e maior que 0'; # XXX
$PALANG['must_be_boolean'] = '%s debe ser booleano'; # XXX
$PALANG['invalid_value_given'] = 'Valor inválido para %s'; # XXX
$PALANG['edit_not_allowed'] = 'Non ten permisos para editar %s'; # XXX
$PALANG['searchparams'] = 'Buscar parámetros:'; # XXX
$PALANG['pFooter_logged_as'] = 'Autenticado como %s'; # XXX Text change: 'logged in as %s' (the 'in' was missing)
$PALANG['pLogin_welcome'] = 'Login de administrador para administración de dominios.';
$PALANG['pLogin_username'] = 'Usuario (e-mail)'; # XXX compare with pUsersLogin_username - should be "Login (email)"
$PALANG['password'] = 'Contrasinal';
$PALANG['pLogin_language'] = 'Linguaxe'; # XXX
$PALANG['pLogin_button'] = 'Usuario'; # XXX compare with pUsersLogin_button - should be "Login"
$PALANG['pLogin_failed'] = 'A conta de email ou o contrasinal non son correctas.';
$PALANG['pLogin_login_users'] = 'Login para ir á sección de usuarios.';
$PALANG['pMenu_main'] = 'Principal';
$PALANG['pMenu_overview'] = 'Resumo';
$PALANG['add_alias'] = 'Engadir alias';
$PALANG['add_alias_domain'] = 'Engadir alias de dominio'; # XXX check text - should be 'Add Alias Domain'
$PALANG['add_mailbox'] = 'Engadir buzón';
$PALANG['pMenu_fetchmail'] = 'Obter Emails';
$PALANG['pMenu_sendmail'] = 'Enviar e-mail';
$PALANG['pMenu_password'] = 'Contrasinal';
$PALANG['pMenu_viewlog'] = 'Ver Logs';
$PALANG['pMenu_logout'] = 'Sair';
$PALANG['pMain_welcome'] = 'Benvido/a a Postfix Admin!';
$PALANG['pMain_overview'] = 'Listado dos alias e buzóns. Pode editalos / borralos desde aquí.';
$PALANG['pMain_create_alias'] = 'Creación dun novo alias para o seu dominio.'; # XXX check text - should be 'Create a new alias for your domain.'
$PALANG['pMain_create_mailbox'] = 'Creación dun nuevo buzón para o seu dominio.';
$PALANG['pMain_sendmail'] = 'Enviar un e­mail a un dos buzóns recentemente creados.';
$PALANG['pMain_password'] = 'Cambiar o contrasinal para a súa conta de administración.';
$PALANG['pMain_viewlog'] = 'Ver Logs.';
$PALANG['pMain_logout'] = 'Sair.';
$PALANG['pOverview_disabled'] = 'Desabilitado';
$PALANG['pOverview_unlimited'] = 'Ilimitado';
$PALANG['pOverview_title'] = ':: Dominios Definidos';
$PALANG['pOverview_up_arrow'] = 'Arriba';
$PALANG['pOverview_right_arrow'] = 'Páxina seguinte';
$PALANG['pOverview_left_arrow'] = 'Páxina anterior';
$PALANG['pOverview_alias_domain_title'] = ':: Alias de Dominios';
$PALANG['pOverview_alias_title'] = ':: Alias';
$PALANG['pOverview_mailbox_title'] = ':: Buzóns';
$PALANG['go'] = 'Ir';
$PALANG['pOverview_welcome'] = 'Resumo de ';
$PALANG['pOverview_alias_domain_aliases'] = 'Alias de Dominios';
$PALANG['pOverview_alias_address'] = 'De';
$PALANG['active'] = 'Activo';
$PALANG['and_x_more'] = '[e %s máis...]';
$PALANG['pOverview_mailbox_username'] = 'E-mail';
$PALANG['name'] = 'Nome';
$PALANG['pOverview_mailbox_quota'] = 'Cota (MB)';
$PALANG['pOverview_vacation_edit'] = 'VACATION ESTÁ ACTIVADO';
$PALANG['pOverview_vacation_option'] = 'Establecer Vacation';
$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_delete_success'] = '%s borrado.';
$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_name_text'] = 'Nome completo';
$PALANG['pCreate_mailbox_phone'] = 'Teléfono móvil'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Empregado para enviar un SMS se esquece o seu contrasinal"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Outro email'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Empregado se esquece o seu contrasinal"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Enviar correo benvida';
$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_admin'] = 'Login';
$PALANG['pPassword_password_current'] = 'Contrasinal actual';
$PALANG['pPassword_password_current_text_error'] = 'Non se introduciu o contrasinal actual!';
$PALANG['pPassword_password'] = 'Novo contrasinal';
$PALANG['pPassword_password2'] = 'Novo contrasinal (repetir)';
$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['pPassword_code_text_error'] = 'Código inválido'; # 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['pViewlog_timestamp'] = 'Data/Hora';
$PALANG['pViewlog_action'] = 'Acción';
$PALANG['pViewlog_data'] = 'Datos';
$PALANG['pViewlog_action_create_domain'] = 'crear domain'; # XXX
$PALANG['pViewlog_action_delete_domain'] = 'borrar domain'; # XXX
$PALANG['pViewlog_action_edit_domain'] = 'editar domain'; # XXX
$PALANG['pViewlog_action_create_mailbox'] = 'crear buzón';
$PALANG['pViewlog_action_delete_mailbox'] = 'borrar buzón';
$PALANG['pViewlog_action_edit_mailbox'] = 'editar buzón';
$PALANG['pViewlog_action_edit_mailbox_state'] = 'editar buzón activo';
$PALANG['pViewlog_action_create_alias'] = 'crear alias';
$PALANG['pViewlog_action_create_alias_domain'] = 'crear alias de dominio';
$PALANG['pViewlog_action_edit_alias_domain'] = 'editar alias de dominio'; # XXX
$PALANG['pViewlog_action_delete_alias'] = 'borrar alias';
$PALANG['pViewlog_action_delete_alias_domain'] = 'borrar alias de dominio';
$PALANG['pViewlog_action_edit_alias'] = 'editar alias';
$PALANG['pViewlog_action_edit_alias_state'] = 'editar alias activo';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'editar alias de dominio activo';
$PALANG['pViewlog_action_edit_password'] = 'cambiar contrasinal';
$PALANG['pViewlog_action_create_admin'] = 'crear admin'; # XXX
$PALANG['pViewlog_action_edit_admin'] = 'editar admin'; # XXX
$PALANG['pViewlog_action_delete_admin'] = 'borrar admin'; # XXX
$PALANG['pViewlog_action_edit_vacation'] = 'editar ausencia'; # XXX
$PALANG['pViewlog_action_create_fetchmail'] = 'crear tarefa de fetchmail'; # XXX
$PALANG['pViewlog_action_edit_fetchmail'] = 'editar tarefa de fetchmail'; # XXX
$PALANG['pViewlog_action_delete_fetchmail'] = 'borrar tarefa de fetchmail'; # XXX
$PALANG['pViewlog_result_error'] = 'Imposible atopar os logs!';
$PALANG['pSendmail_welcome'] = 'Enviar un email.';
$PALANG['from'] = 'De';
$PALANG['pSendmail_to'] = 'Destino';
$PALANG['pSendmail_to_text_error'] = 'A dirección destino está baleira o é unha dirección inválida!';
$PALANG['subject'] = 'Asunto';
$PALANG['pSendmail_subject_text'] = 'Benvido';
$PALANG['pSendmail_body'] = 'Corpo';
$PALANG['pSendmail_button'] = 'Enviar mensaxe';
$PALANG['pSendmail_result_error'] = 'Imposible enviar o email! (%s)'; # XXX text change - new: Unable to send email to %s!
$PALANG['pSendmail_result_success'] = 'Email enviado! (%s)'; # XXX text change - new: Email sent to %s.
$PALANG['pAdminMenu_list_admin'] = 'Lista de administradores';
$PALANG['pAdminMenu_list_domain'] = 'Lista de dominios';
$PALANG['pAdminMenu_list_virtual'] = 'Lista de direccións virtuais';
$PALANG['pAdminMenu_backup'] = 'Backup';
$PALANG['pAdminMenu_create_domain_admins'] = 'Administradores de dominio';
$PALANG['pAdminMenu_create_admin'] = 'Novo administrador';
$PALANG['pAdminMenu_create_domain'] = 'Novo dominio';
$PALANG['pAdminList_admin_count'] = 'Dominios';
$PALANG['description'] = 'Descripción';
$PALANG['aliases'] = 'Alias';
$PALANG['pAdminList_domain_quota'] = 'Cota de dominio (MB)'; # XXX
$PALANG['pAdminList_domain_backupmx'] = 'Backup MX'; # XXX
$PALANG['last_modified'] = 'Última Modificación';
$PALANG['pAdminCreate_domain_welcome'] = 'Engadir novo dominio';
$PALANG['pAdminCreate_domain_domain_text_error'] = 'O dominio xa existe!';
$PALANG['domain_does_not_exist'] = 'O dominio non existe!'; # XXX
$PALANG['pAdminCreate_domain_domain_text_error2'] = 'O dominio non é válido!';
$PALANG['pAdminCreate_domain_defaultaliases'] = 'Engadir alias por defecto';
$PALANG['pAdminCreate_domain_button'] = 'Engadir dominio';
$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['pAdminEdit_domain_aliases_text'] = '-1 = desabilitar | 0 = ilimitado';
$PALANG['pAdminEdit_domain_maxquota'] = 'Cota máxima';
$PALANG['pAdminEdit_domain_maxquota_text'] = 'MB | -1 = desabilitar | 0 = ilimitado';
$PALANG['pAdminEdit_domain_quota'] = 'Cota de dominio'; # XXX
$PALANG['transport'] = 'Transporte'; # XXX check text - should be 'Transport'
$PALANG['pAdminEdit_domain_transport_text'] = 'Definir transporte'; # XXX
$PALANG['pAdminEdit_domain_backupmx'] = 'O servidor de correo é backup MX'; # XXX
$PALANG['pAdminEdit_domain_result_error'] = 'Imposible modificar o dominio! (%s)'; # XXX Text changed to: Modifying the domain %s failed!
$PALANG['pAdminCreate_admin_welcome'] = 'Engadir un novo administrador de dominio';
$PALANG['email_address'] = 'Email';
$PALANG['pAdminCreate_admin_username_text_error1'] = 'Administrador/a non é un email válido!';
$PALANG['admin_already_exists'] = 'O/a administrador/a xa existe ou non é válido/a!'; # XXX Text changed to: The admin already exists!
$PALANG['admin_does_not_exist'] = 'O/a administrador/a non existe!'; # XXX
$PALANG['pAdminCreate_admin_button'] = 'Engadir administrador/a';
$PALANG['pAdminCreate_admin_result_error'] = 'Imposible engadir o/a administrador/a! (%s)'; # XXX Text changed to: Adding the admin %s failed!
$PALANG['pAdminCreate_admin_result_success'] = 'O/A administrador/a foi engadido! (%s)'; # XXX Text changed to: The admin %s has been added.
$PALANG['pAdminEdit_admin_welcome'] = 'Editar un/unha administrador/a de dominio';
$PALANG['admin'] = 'Administrador/a';
$PALANG['password_again'] = 'Contrasinal (repetir)';
$PALANG['super_admin'] = 'Super admin'; # XXX
$PALANG['super_admin_desc'] = 'Super admins teñen aceso a todos os dominios e poden manexar dominios e contas de administradores/as.'; # XXX
$PALANG['pAdminEdit_admin_result_error'] = 'Imposible modificar o/a administrador/a! (%s)'; # XXX Text changed to: Modifying the admin %s failed!
$PALANG['pAdminEdit_admin_result_success'] = 'O/A administrador/a foi modificado! (%s)'; # XXX Text changed to: The admin %s has been modified.
$PALANG['pUsersLogin_welcome'] = 'Login de usuarios para mudar o alias.';
$PALANG['pUsersLogin_username_incorrect'] = 'Su login no es correcto. ¡Asegúrese de haber introducido su dirección de e-mail como login!';
$PALANG['pUsersLogin_password_incorrect'] = '¡Su contraseña no es correcta!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Resposta automática';
$PALANG['pUsersMenu_edit_alias'] = 'Cambiar a redirección';
$PALANG['pUsersMain_vacation'] = 'Configure unha mensaxe de "fora do traballo" ou unha resposta automática para o seu correo.';
$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' está ACTIVADO, click \'' . $PALANG['pUsersMenu_vacation'] . '\' para ' . $PALANG['edit'] . '/eliminar';
$PALANG['pUsersMain_edit_alias'] = 'Cambie a súa redirección de correo.';
$PALANG['pUsersMain_password'] = 'Cambie o seu contrasinal.';
$PALANG['pUsersVacation_welcome'] = 'Resposta automática.';
$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>.
EOM;
$PALANG['pUsersVacation_activefrom'] = 'Activo desde'; # XXX
$PALANG['pUsersVacation_activeuntil'] = 'Activo ata'; # XXX
$PALANG['pEdit_dbLog_editactive'] = 'cambiar estado activo';
$PALANG['pSearch'] = 'buscar';
$PALANG['pSearch_welcome'] = 'Buscando: ';
$PALANG['pReturn_to'] = 'Volver a';
$PALANG['pBroadcast_title'] = 'Enviar mensaxe a todos'; # XXX
$PALANG['pBroadcast_name'] = 'O teu nombre';
$PALANG['pBroadcast_success'] = 'Enviouse a mensaxe.';
$PALANG['pAdminMenu_broadcast_message'] = 'Mensaxe de Broadcast'; # XXX
$PALANG['pBroadcast_error_empty'] = 'Os campos Nome, Asunto e Mensaxe non poden estar baleiros!';
$PALANG['broadcast_mailboxes_only'] = 'Só enviar a buzóns'; # XXX
$PALANG['broadcast_to_domains'] = 'Enviar a dominios:'; # XXX
$PALANG['pStatus_undeliverable'] = 'posiblemente NON SE ENTREGOU';
$PALANG['pStatus_disabled'] = 'Conta desabilitada '; # XXX
$PALANG['pStatus_expired'] = 'Contrasinal vencido '; # XXX
$PALANG['pStatus_vacation'] = 'Ausencia activada '; # XXX
$PALANG['pStatus_custom'] = 'Enviado a ';
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$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_invalid_mailbox'] = '¡Buzón inválido!';
$PALANG['pFetchmail_server_missing'] = 'Por favor introduza o nome do servidor remoto!';
$PALANG['pFetchmail_user_missing'] = 'Por favor introduza o nome do servidor remoto!';
$PALANG['pFetchmail_password_missing'] = 'Por favor introduza o contrasinal remota!';
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Buzón';
$PALANG['pFetchmail_field_src_server'] = 'Servidor';
$PALANG['pFetchmail_field_src_port'] = 'Porto'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Tipo Autenticación';
$PALANG['pFetchmail_field_src_user'] = 'Usuario';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
$PALANG['pFetchmail_field_src_folder'] = 'Cartafol';
$PALANG['pFetchmail_field_poll_time'] = 'Poll'; # XXX
$PALANG['pFetchmail_field_fetchall'] = 'Obter todo';
$PALANG['pFetchmail_field_keep'] = 'Conservar';
$PALANG['pFetchmail_field_protocol'] = 'Protocolo';
$PALANG['pFetchmail_field_usessl'] = 'SSL activado';
$PALANG['pFetchmail_field_sslcertck'] = 'Comprobarción de certificado SSL'; # XXX
$PALANG['pFetchmail_field_sslcertpath'] = 'Ruta a certificados SSL'; # XXX
$PALANG['pFetchmail_field_sslfingerprint'] = 'Pegada SSL (md5)'; # XXX
$PALANG['pFetchmail_field_extra_options'] = 'Opcións extras';
$PALANG['pFetchmail_field_mda'] = 'MDA'; # XXX
$PALANG['pFetchmail_field_date'] = 'Data';
$PALANG['pFetchmail_field_returned_text'] = 'Texto Devolto';
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Buzón local';
$PALANG['pFetchmail_desc_src_server'] = 'Servidor Remoto';
$PALANG['pFetchmail_desc_src_port'] = 'Número de porto remoto, se é necesario un non estándar. (0: usar o porto por defecto)'; # XXX
$PALANG['pFetchmail_desc_src_auth'] = 'Principalmente \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Usuario Remoto';
$PALANG['pFetchmail_desc_src_password'] = 'Contrasinal Remoto';
$PALANG['pFetchmail_desc_src_folder'] = 'Cartafol Remoto';
$PALANG['pFetchmail_desc_poll_time'] = 'Obter cada ... minutos';
$PALANG['pFetchmail_desc_fetchall'] = 'Obter as mensaxes lidas e novas';
$PALANG['pFetchmail_desc_keep'] = 'Gardar unha copia das mensaxes no servidor remoto';
$PALANG['pFetchmail_desc_protocol'] = 'Protocolo a usar';
$PALANG['pFetchmail_desc_usessl'] = 'Cifrado SSL';
$PALANG['pFetchmail_desc_extra_options'] = 'Opcións extras para fetchmail';
$PALANG['pFetchmail_desc_mda'] = 'Mail Delivery Agent'; # 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: */
?>

@ -138,10 +138,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Alias nije bilo moguče promjeniti! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Stvori novi poštanski ormarić za izbranu domenu.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Adresa e-pošte nije pravilna!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Dostigli ste vaš limit poštanskih ormarića!';
$PALANG['pCreate_mailbox_password_text'] = 'Lozinka za POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Puno ime';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Stvori poštanski ormarić'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Poštanski ormarić nije moguče stvoriti! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Poštanski ormarić je uspješno stvoren! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -169,6 +174,13 @@ $PALANG['pPassword_password_text_error'] = 'Unešene lozinke se ne podudaraju il
$PALANG['change_password'] = 'Promijeni lozinku';
$PALANG['pPassword_result_error'] = 'Lozinku nije bilo moguče promijeniti! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Lozinka je uspješno promijenjena! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -290,6 +302,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Admininstrator je uspješno promje
$PALANG['pUsersLogin_welcome'] = 'Korisnici poštanskih ormarića ukoliko želite promjeniti lozinku ili aliase.';
$PALANG['pUsersLogin_username_incorrect'] = 'Korisničko ime nije pravilno! Morate upotrijebiti adresu vaše e-pošte!';
$PALANG['pUsersLogin_password_incorrect'] = 'Lozinka nije pravilna!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Obavijest o odsutnosti';
$PALANG['pUsersMenu_edit_alias'] = 'Promijeni preusmjerenje';
@ -323,10 +336,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -346,6 +362,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -365,6 +382,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -380,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['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -141,10 +141,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Továbbítás csak az adott email címre.
$PALANG['pEdit_alias_result_error'] = 'Nemsikerült módosítani az Aliast! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Új postafiók létrehozása az adott domainhez.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Érvénytelen EMAIL !';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Elérted a maximális postafiók számot!';
$PALANG['pCreate_mailbox_password_text'] = 'Jelszó a POP3/IMAP -hoz';
$PALANG['pCreate_mailbox_name_text'] = 'Teljes név';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Postafiók létrehozása'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Nemsikerült a postafiókot felvenni a mailbox adatbázis táblába! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'A postafiókot sikeresen felvettük a mailbox adatbázis táblába! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -172,6 +177,13 @@ $PALANG['pPassword_password_text_error'] = 'A beírt jelszavak nem egyeznek! Vag
$PALANG['change_password'] = 'Jelszó megváltoztatása';
$PALANG['pPassword_result_error'] = 'Nemsikerült megváltoztatni a jelszavad! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'A jelszavad megváltozott! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Nem vagyok elérhatő üzenet módosítás / beállítás';
$PALANG['pEdit_vacation_remove'] = 'Nem vagyok elérhatő üzenet törlése';
@ -297,6 +309,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Az Admin módosítása megtörtén
$PALANG['pUsersLogin_welcome'] = 'A felhasználók ezen a felületen tudnak bejelentkezni a levelezõ rendszerbe a saját felhasználó nevükkel (azaz email címükkel) és itt tudják megváltoztatni az aliasokat, stb..'; # XXX check/beautify - was split in two lines before
$PALANG['pUsersLogin_username_incorrect'] = 'Nem megfelelõ a Login (email) cím! Kérlek pontosítsd!';
$PALANG['pUsersLogin_password_incorrect'] = 'Nem megfelelõ a jelszavad!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Automatikus Válasz';
$PALANG['pUsersMenu_edit_alias'] = 'Átirányítás beállítása';
@ -336,11 +349,14 @@ $PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'lehet hogy nem kézbesíthető ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Ide kézbesítődik ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "A Jelszó túl rövid - legalább %s karakter szükséges";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -360,6 +376,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -379,6 +396,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -394,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -1,6 +1,6 @@
<?php
//
// Postfix Admin
//
// Postfix Admin
// by Mischa Peters <mischa at high5 dot net>
// Copyright (c) 2002 - 2005 High5!
// Licensed under GPL for more info check GPL-LICENSE.TXT
@ -17,6 +17,5 @@
//
// -none-
//
header ("Location: ../login.php");
header("Location: ../login.php");
exit;
?>

@ -139,10 +139,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Get ekki breytt alias! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Create a new local mailbox for your domain.'; # XXX
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Netfangið er ekki til!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Þú hefur stofnað þau póstholf sem þú hefur heimild til!';
$PALANG['pCreate_mailbox_password_text'] = 'Lykilorð til að opna POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Fullt nafn';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Stofna pósthólf'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Get ekki bætt við pósthólfi í mailbox töfluna! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Pósthólfinu hefur verið bætt við mailbox töfluna! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -170,6 +175,13 @@ $PALANG['pPassword_password_text_error'] = 'Lykilorðin sem þú gafst upp passa
$PALANG['change_password'] = 'Breyta lykilorði';
$PALANG['pPassword_result_error'] = 'Get ekki breytt lykilorði! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Lykilorðinu hefur verið breytt! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -291,6 +303,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Kerfisstjórinn hefur verið breyt
$PALANG['pUsersLogin_welcome'] = 'Pósthólf notenda til að tengjast svo hægt er að breyta lykilorði eða alias.';
$PALANG['pUsersLogin_username_incorrect'] = 'Innskráning þín er röng, gaktu úr skugga um að þú tengist með réttu póstfangi (email address)!';
$PALANG['pUsersLogin_password_incorrect'] = 'Lykilorð þitt er rangt!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Sjálfvirk svörun';
$PALANG['pUsersMenu_edit_alias'] = 'Breyta áframsendingu';
@ -325,10 +338,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -347,6 +363,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -366,6 +383,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -381,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_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -140,10 +140,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Inoltra solo a un altro server.';
$PALANG['pEdit_alias_result_error'] = 'Impossibile modificare alias! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Crea una nuova casella di posta locale per il tuo dominio.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'L\'indirizzo EMAIL non è valido!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Hai raggiunto il limite per creare caselle di posta!';
$PALANG['pCreate_mailbox_password_text'] = 'Password per POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Nome completo';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Crea casella di posta'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Impossibile aggiungere la casella di posta alla tabella delle caselle di posta! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'La casella di posta è stata aggiunta alla tabella! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -171,6 +176,13 @@ $PALANG['pPassword_password_text_error'] = 'Le password che hai fornito non sono
$PALANG['change_password'] = 'Cambia Password'; # XXX check text - should be 'Change Password'
$PALANG['pPassword_result_error'] = 'Impossibile cambiare password! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'La tua password è stata modificata! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Cambia / inserisci messaggio';
$PALANG['pEdit_vacation_remove'] = 'Rimuovi messaggio';
$PALANG['pVacation_result_error'] = 'Impossibile registrare le modifiche! (%s)'; # XXX Text changed to: Updating the auto response settings for %s failed
@ -224,8 +236,8 @@ $PALANG['subject'] = 'Oggetto'; # XXX check text - should be 'Subject'
$PALANG['pSendmail_subject_text'] = 'Benvenuto';
$PALANG['pSendmail_body'] = 'Corpo';
$PALANG['pSendmail_button'] = 'Spedisci messaggio';
$PALANG['pSendmail_result_error'] = 'Impossibile creare la casella di posta! (%s)'; # XXX text change - new: Unable to send email to %s!
$PALANG['pSendmail_result_success'] = 'La casella di posta è stata creata! (%s)'; # XXX text change - new: Email sent to %s.
$PALANG['pSendmail_result_error'] = 'Impossibile inviare e-mail a %s';
$PALANG['pSendmail_result_success'] = 'Email inviata a %s';
$PALANG['pAdminMenu_list_admin'] = 'Lista degli amministratori';
$PALANG['pAdminMenu_list_domain'] = 'Lista dei domini';
@ -292,6 +304,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'L\'amministratore è stato modific
$PALANG['pUsersLogin_welcome'] = 'Gli utenti di caselle di posta devono entrare qui per modificare le proprie opzioni.';
$PALANG['pUsersLogin_username_incorrect'] = 'Il tuo nome utente non è corretto. Assicurati di avere inserito il tuo indirizzo email!';
$PALANG['pUsersLogin_password_incorrect'] = 'La tua password non è corretta!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Risposta automatica';
$PALANG['pUsersMenu_edit_alias'] = 'Cambia il tuo inoltro';
@ -326,10 +339,13 @@ $PALANG['pBroadcast_error_empty'] = 'Nome, oggetto e testo del messaggio non pos
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'presumibilmente NON CONSEGNABILE ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'In consegna a ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "Password troppo breve - minimo %s caratteri";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -348,6 +364,7 @@ $PALANG['pFetchmail_password_missing'] = 'Digita la password per il server remot
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Casella';
$PALANG['pFetchmail_field_src_server'] = 'Server';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Autenticazione';
$PALANG['pFetchmail_field_src_user'] = 'Utente';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -367,6 +384,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Risultato ottenuto';
$PALANG['pFetchmail_desc_id'] = 'Record ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Casella locale';
$PALANG['pFetchmail_desc_src_server'] = 'Server remoto';
$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'] = 'Sostanzialmente \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Utente remoto';
$PALANG['pFetchmail_desc_src_password'] = 'Pasword remota';
@ -382,6 +400,8 @@ $PALANG['pFetchmail_desc_date'] = 'Data dell\'ultima modifica o atti
$PALANG['pFetchmail_desc_returned_text'] = 'Risultato dell\'ultima attività';
$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'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -14,28 +14,28 @@ $PALANG['exit'] = '終了';
$PALANG['cancel'] = 'キャンセル';
$PALANG['save'] = '変更を保存';
$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'] = '本当にこのドメインのすべての情報を削除してもよろしいですか?これを元に戻すことはできません。\n (%s)';
$PALANG['confirm_delete_fetchmail'] = '本当に fetchmail ジョブ %s を削除してもよろしいですか?';
$PALANG['confirm_delete_mailbox'] = '本当にメールアドレス %s を削除してもよろしいですか?';
$PALANG['confirm_delete_vacation'] = '本当に、%s の自動応答メッセージを削除してもよろしいですか?';
$PALANG['no_delete_permissions'] = 'あなたには、%s を削除する権限がありません!';
$PALANG['check_update'] = '更新の確認';
$PALANG['invalid_parameter'] = '無効なパラメータです。';
$PALANG['show'] = '閲覧:';
$PALANG['all'] = '全て';
$PALANG['created'] = 'Created'; # XXX
$PALANG['unknown'] = 'unknown'; # XXX
$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX
$PALANG['missing_field'] = 'Field %s is missing'; # XXX
$PALANG['must_be_numeric'] = '%s must be numeric'; # XXX
$PALANG['must_be_numeric_bigger_than_null'] = '%s must be numeric and bigger than 0'; # XXX
$PALANG['must_be_boolean'] = '%s must be boolean'; # XXX
$PALANG['invalid_value_given'] = 'Invalid value given for %s'; # XXX
$PALANG['edit_not_allowed'] = 'You are not allowed to edit %s'; # XXX
$PALANG['searchparams'] = 'Search parameters:'; # XXX
$PALANG['created'] = '作成日時';
$PALANG['unknown'] = '不明';
$PALANG['download_csv'] = 'このリストを CSV ファイルとしてダウンロード';
$PALANG['missing_field'] = 'フィールド %s がありません';
$PALANG['must_be_numeric'] = '%s は数字でなくてはなりません';
$PALANG['must_be_numeric_bigger_than_null'] = '%s は、数字かつ 0 より大きくなくてはなりません';
$PALANG['must_be_boolean'] = '%s は真偽値でなくてはなりません';
$PALANG['invalid_value_given'] = '%s に与えられた値が不正です';
$PALANG['edit_not_allowed'] = 'あなたには、%s を編集する権限がありません';
$PALANG['searchparams'] = '検索パラメータ:';
$PALANG['pFooter_logged_as'] = 'ログイン名 %s';
@ -49,9 +49,9 @@ $PALANG['pLogin_login_users'] = '一般ユーザのログインはここをク
$PALANG['pMenu_main'] = 'メイン';
$PALANG['pMenu_overview'] = '概要';
$PALANG['add_alias'] = '転送先の追加'; # XXX check text - should be 'Add Alias'
$PALANG['add_alias'] = '転送先の追加';
$PALANG['add_alias_domain'] = 'エイリアスドメインの追加';
$PALANG['add_mailbox'] = 'アドレスの追加'; # XXX check text - should be 'Add Mailbox'
$PALANG['add_mailbox'] = 'メールアドレスの追加';
$PALANG['pMenu_fetchmail'] = 'メール取得';
$PALANG['pMenu_sendmail'] = 'メール送信';
$PALANG['pMenu_password'] = 'パスワード';
@ -60,7 +60,7 @@ $PALANG['pMenu_logout'] = 'ログアウト';
$PALANG['pMain_welcome'] = 'Postfix Admin へようこそ!';
$PALANG['pMain_overview'] = '転送アドレスとメールアドレスの一覧を表示します。ここから編集と削除ができます。';
$PALANG['pMain_create_alias'] = '新しい転送アドレスを作成します。'; # XXX check text - should be 'Create a new alias for your domain.'
$PALANG['pMain_create_alias'] = '新しい転送アドレスを作成します。';
$PALANG['pMain_create_mailbox'] = '新しいメールアドレスを作成します。';
$PALANG['pMain_sendmail'] = '新しいメールアドレスにメールを送信します。';
$PALANG['pMain_password'] = 'パスワードを変更します。';
@ -87,12 +87,12 @@ $PALANG['name'] = '名前';
$PALANG['pOverview_mailbox_quota'] = '容量制限 (MB)';
$PALANG['pOverview_vacation_edit'] = '自動応答 利用中';
$PALANG['pOverview_vacation_option'] = '自動応答';
$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['no_domains_for_this_admin'] = 'あなたにはドメインにアクセスする権限がありません。';
$PALANG['no_domains_exist'] = 'アドレス一覧を使えるようにする前に、少なくともひとつはドメインを作成しなくてはなりません。'; # "virtual list" should match $PALANG['pAdminMenu_list_virtual']
$PALANG['domain'] = 'ドメイン';
$PALANG['pOverview_get_alias_domains'] = 'ドメインエイリアス';
$PALANG['pOverview_get_alias_domains'] = '別名ドメイン';
$PALANG['mailboxes'] = 'アドレス数';
$PALANG['pOverview_get_quota'] = '容量制限 (MB)';
$PALANG['pDelete_delete_error'] = 'エントリを削除できません。 ';
@ -104,63 +104,68 @@ $PALANG['pCreate_alias_domain_alias'] = '別名ドメイン';
$PALANG['pCreate_alias_domain_alias_text'] = 'メールがこのドメイン宛に来ます。';
$PALANG['pCreate_alias_domain_target'] = '宛先ドメイン';
$PALANG['pCreate_alias_domain_target_text'] = 'メールをこのドメイン宛に届けます。';
$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_error1'] = 'あなたには、選択した構成を作成する権限がありません';
$PALANG['pCreate_alias_domain_error2'] = '選択した構成は不正です。別の構成を選択して下さい!';
$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'] = '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['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/beautify - was split in two lines before
$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_catchall_text'] = 'すべてのメールを受け取るには、転送元に "*" を使います。 別のドメインにすべて転送するには、転送先に "*.domain.tld" を使います。'; # 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['pEdit_alias_welcome'] = '転送先アドレスの編集'; # XXX Text change to: 'Edit forwarding settings'
$PALANG['pEdit_alias_help'] = '1行に1エントリです。'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
$PALANG['alias'] = '転送元'; # XXX check text - should be 'Alias'
$PALANG['to'] = '転送先'; # XXX check text - should be 'To'
$PALANG['pCreate_alias_result_error'] = '転送先 %s を追加できませんでした!';
$PALANG['pCreate_alias_result_success'] = '転送先 %s を追加しました。';
$PALANG['alias_updated'] = '転送先 %s を更新しました!';
$PALANG['pCreate_alias_catchall_text'] = 'すべてのメールを受け取るには、転送元に "*" を使います。 別のドメインにすべて転送するには、転送先に "*.domain.tld" を使います。';
$PALANG['mailbox_alias_cant_be_deleted'] = 'この転送先は、メールアドレスに紐付いているので、削除することはできません!';
$PALANG['protected_alias_cant_be_deleted'] = '転送先 %s は保護されており、特権管理者だけが削除できます';
$PALANG['pEdit_alias_welcome'] = '転送先設定の編集';
$PALANG['pEdit_alias_help'] = '複数の転送先を設定できます。1行に1エントリです。';
$PALANG['alias'] = '転送元';
$PALANG['to'] = '転送先';
$PALANG['pEdit_alias_goto_text_error1'] = '転送先が入力されていません。';
$PALANG['pEdit_alias_goto_text_error2'] = 'このメールアドレスは無効です: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Unable to modify the alias domain!'; # XXX
$PALANG['pEdit_alias_domain_result_error'] = '別名ドメインを修正できません!';
$PALANG['pEdit_alias_forward_and_store'] = 'ローカルのメールボックスに残す';
$PALANG['pEdit_alias_forward_only'] = '指定された転送アドレスのみ';
$PALANG['pEdit_alias_result_error'] = '修正できません! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pEdit_alias_result_error'] = '別名 %s を更新できませんでした!';
$PALANG['pCreate_mailbox_welcome'] = '新しいメールアドレスの作成';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'メールアドレスが無効です。';
$PALANG['pCreate_mailbox_username_text_error3'] = 'メールアドレスの制限数に達しました。';
$PALANG['pCreate_mailbox_password_text'] = 'POP3/IMAPのパスワード';
$PALANG['pCreate_mailbox_name_text'] = 'フルネーム';
$PALANG['pCreate_mailbox_mail'] = 'ようこそメールの送信'; # XXX Text change to 'Send Welcome mail'
$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_phone'] = '携帯電話';
$PALANG['pCreate_mailbox_phone_desc'] = "パスワードを忘れた時に SMS を送信するのに使用されます";
$PALANG['pCreate_mailbox_email'] = 'その他のメールアドレス';
$PALANG['pCreate_mailbox_email_desc'] = "パスワードを忘れた時のために使用されます";
$PALANG['pCreate_mailbox_mail'] = 'ようこそメールの送信';
$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['pEdit_mailbox_username'] = 'メールアドレス'; # XXX check / compare with pCreate_mailbox_username - should be "Username"
$PALANG['pEdit_mailbox_username'] = 'メールアドレス';
$PALANG['pEdit_mailbox_password_text_error'] = 'パスワードが一致しません。';
$PALANG['pEdit_mailbox_quota'] = '容量制限';
$PALANG['pEdit_mailbox_quota_text'] = 'MB';
$PALANG['mb_max'] = 'MB (max: %s)'; # XXX
$PALANG['mb_max'] = 'MB (最大: %s)';
$PALANG['pEdit_mailbox_quota_text_error'] = '指定された容量制限が大きすぎます。';
$PALANG['pEdit_mailbox_domain_error'] = 'このドメインは管理外です: ';
$PALANG['pEdit_mailbox_result_error'] = '修正できません';
$PALANG['pEdit_mailbox_result_error'] = '更新できませんでした';
$PALANG['pPassword_welcome'] = 'パスワードの変更';
$PALANG['pPassword_admin'] = 'ログイン';
@ -168,55 +173,62 @@ $PALANG['pPassword_password_current'] = '現在のパスワード';
$PALANG['pPassword_password_current_text_error'] = '現在のパスワードが入力されていません。';
$PALANG['pPassword_password'] = '新規パスワード';
$PALANG['pPassword_password2'] = '新規パスワード (確認)';
$PALANG['pPassword_password_text_error'] = 'パスワードが一致しません。 または空です。'; # XXX check/beautify - was split in two lines before
$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['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_removed'] = '自動応答を解除しました。 (%s)'; # XXX Text changed to "Auto response for %s has been disabled!"
$PALANG['pVacation_result_added'] = '自動応答を設定しました。 (%s)'; # XXX Text changed to "Auto response for %s has been enabled!"
$PALANG['pVacation_reply_type'] = 'Choice of reply'; # XXX
$PALANG['pVacation_reply_delay_time'] = 'Interval time'; # XXX
$PALANG['pVacation_reply_delay_time_text'] = 'Time in seconds'; # 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'] = 'Reply once'; # XXX
$PALANG['reply_every_mail'] = 'Reply on every mail'; # XXX
$PALANG['reply_once_per_day'] = 'Reply once a day'; # XXX
$PALANG['reply_once_per_week'] = 'Reply once per week'; # XXX
$PALANG['pViewlog_welcome'] = '過去%s個のアクション ';
$PALANG['pPassword_password_text_error'] = 'パスワードが一致しないか、空です。';
$PALANG['change_password'] = 'パスワードを変更';
$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['pPassword_code_text_error'] = '不正なコード';
$PALANG['pEdit_vacation_set'] = 'メッセージを変更/設定';
$PALANG['pEdit_vacation_remove'] = 'メッセージを解除';
$PALANG['pVacation_result_error'] = '%s の自動応答の設定を更新できませんでした!';
$PALANG['pVacation_result_removed'] = '%s の自動応答を解除しました。';
$PALANG['pVacation_result_added'] = '%s の自動応答を設定しました。';
$PALANG['pVacation_reply_type'] = '返信を選択';
$PALANG['pVacation_reply_delay_time'] = '返信するまでの間隔';
$PALANG['pVacation_reply_delay_time_text'] = '時間は秒で指定';
$PALANG['pVacation_until_before_today'] = '[右の日時から有効] の日付が、本日より前に指定されています';
$PALANG['pVacation_until_before_from'] = '[右の日時まで有効] の日付が、[右の日時から有効] より前に指定されています';
$PALANG['reply_once'] = '一度だけ返信';
$PALANG['reply_every_mail'] = 'メールごとに返信';
$PALANG['reply_once_per_day'] = '毎日返信';
$PALANG['reply_once_per_week'] = '週に一度返信';
$PALANG['pViewlog_welcome'] = '過去 %s 個のアクション ';
$PALANG['pViewlog_timestamp'] = 'タイムスタンプ';
$PALANG['pViewlog_action'] = 'アクション';
$PALANG['pViewlog_data'] = 'データ';
$PALANG['pViewlog_action_create_domain'] = 'create domain'; # XXX
$PALANG['pViewlog_action_delete_domain'] = 'delete domain'; # XXX
$PALANG['pViewlog_action_edit_domain'] = 'edit domain'; # XXX
$PALANG['pViewlog_action_create_mailbox'] = 'アドレス作成';
$PALANG['pViewlog_action_delete_mailbox'] = 'アドレス削除';
$PALANG['pViewlog_action_edit_mailbox'] = 'アドレス編集';
$PALANG['pViewlog_action_edit_mailbox_state'] = 'アドレス状態編集';
$PALANG['pViewlog_action_create_alias'] = '転送先作成';
$PALANG['pViewlog_action_create_alias_domain'] = 'create alias domain'; # XXX
$PALANG['pViewlog_action_edit_alias_domain'] = 'edit alias domain'; # XXX
$PALANG['pViewlog_action_delete_alias'] = '転送先削除';
$PALANG['pViewlog_action_delete_alias_domain'] = 'delete alias domain'; # XXX
$PALANG['pViewlog_action_edit_alias'] = '転送先編集';
$PALANG['pViewlog_action_edit_alias_state'] = '転送先状態編集';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'edit alias domain active'; # XXX
$PALANG['pViewlog_action_edit_password'] = 'パスワード変更';
$PALANG['pViewlog_action_create_admin'] = 'create admin'; # XXX
$PALANG['pViewlog_action_edit_admin'] = 'edit admin'; # XXX
$PALANG['pViewlog_action_delete_admin'] = 'delete admin'; # XXX
$PALANG['pViewlog_action_edit_vacation'] = 'edit vacation'; # XXX
$PALANG['pViewlog_action_create_fetchmail'] = 'create fetchmail job'; # XXX
$PALANG['pViewlog_action_edit_fetchmail'] = 'edit fetchmail job'; # XXX
$PALANG['pViewlog_action_delete_fetchmail'] = 'delete fetchmail job'; # XXX
$PALANG['pViewlog_action_create_domain'] = 'ドメインを作成';
$PALANG['pViewlog_action_delete_domain'] = 'ドメインを削除';
$PALANG['pViewlog_action_edit_domain'] = 'ドメインを編集';
$PALANG['pViewlog_action_create_mailbox'] = 'アドレス作成';
$PALANG['pViewlog_action_delete_mailbox'] = 'アドレス削除';
$PALANG['pViewlog_action_edit_mailbox'] = 'アドレス編集';
$PALANG['pViewlog_action_edit_mailbox_state'] = 'アドレスの有効/無効を編集';
$PALANG['pViewlog_action_create_alias'] = '転送先作成';
$PALANG['pViewlog_action_create_alias_domain'] = '別名ドメインを作成';
$PALANG['pViewlog_action_edit_alias_domain'] = '別名ドメインを編集';
$PALANG['pViewlog_action_delete_alias'] = '転送先削除';
$PALANG['pViewlog_action_delete_alias_domain'] = '別名ドメインを削除';
$PALANG['pViewlog_action_edit_alias'] = '転送先編集';
$PALANG['pViewlog_action_edit_alias_state'] = '転送先の有効/無効を編集';
$PALANG['pViewlog_action_edit_alias_domain_state'] = '別名ドメインの有効/無効を変更';
$PALANG['pViewlog_action_edit_password'] = 'パスワード変更';
$PALANG['pViewlog_action_create_admin'] = '管理者を作成';
$PALANG['pViewlog_action_edit_admin'] = '管理者を編集';
$PALANG['pViewlog_action_delete_admin'] = '管理者を削除';
$PALANG['pViewlog_action_edit_vacation'] = '自動応答を編集';
$PALANG['pViewlog_action_create_fetchmail'] = 'fetchmail ジョブを追加';
$PALANG['pViewlog_action_edit_fetchmail'] = 'fetchmail ジョブを編集';
$PALANG['pViewlog_action_delete_fetchmail'] = 'fetchmail ジョブを削除';
$PALANG['pViewlog_result_error'] = 'ログが見つかりません!';
@ -228,8 +240,8 @@ $PALANG['subject'] = '件名';
$PALANG['pSendmail_subject_text'] = 'ようこそ';
$PALANG['pSendmail_body'] = '本文';
$PALANG['pSendmail_button'] = 'メッセージ送信';
$PALANG['pSendmail_result_error'] = 'メールが送信できません! (%s)'; # XXX text change - new: Unable to send email to %s!
$PALANG['pSendmail_result_success'] = 'メールが送信されました。 (%s)'; # XXX text change - new: Email sent to %s.
$PALANG['pSendmail_result_error'] = '%s へメールが送信できません!';
$PALANG['pSendmail_result_success'] = '%s へメールが送信されました。';
$PALANG['pAdminMenu_list_admin'] = '管理者一覧';
$PALANG['pAdminMenu_list_domain'] = 'ドメイン一覧';
@ -242,64 +254,65 @@ $PALANG['pAdminMenu_create_domain'] = '新しいドメイン';
$PALANG['pAdminList_admin_count'] = 'ドメイン数';
$PALANG['description'] = '説明';
$PALANG['aliases'] = '転送数'; # XXX check text - should be 'Aliases'
$PALANG['pAdminList_domain_quota'] = 'Domain quota (MB)'; # XXX
$PALANG['aliases'] = '転送数';
$PALANG['pAdminList_domain_quota'] = 'ドメインクオータ (MB)';
$PALANG['pAdminList_domain_backupmx'] = 'バックアップ MX';
$PALANG['last_modified'] = '最終更新日';
$PALANG['pAdminCreate_domain_welcome'] = '新しいドメインの追加';
$PALANG['pAdminCreate_domain_domain_text_error'] = 'ドメインが既に存在します。';
$PALANG['domain_does_not_exist'] = 'This domain does not exist!'; # XXX
$PALANG['domain_does_not_exist'] = 'このドメインは存在しません!';
$PALANG['pAdminCreate_domain_domain_text_error2'] = 'ドメインが無効です。';
$PALANG['pAdminCreate_domain_defaultaliases'] = 'デフォルト転送先の追加';
$PALANG['pAdminCreate_domain_button'] = 'ドメイン追加';
$PALANG['pAdminCreate_domain_result_error'] = 'ドメインを追加できません! (%s)'; # XXX Text changed to: Adding the domain %s failed!
$PALANG['pAdminCreate_domain_result_success'] = 'ドメインを追加しました。 (%s)'; # XXX Text changed to: The domain %s has been added.
$PALANG['domain_updated'] = 'The domain %s has been updated.'; # XXX
$PALANG['pAdminDelete_admin_error'] = 'Unable to delete admin!'; # 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['pAdminDelete_alias_domain_error'] = 'Unable to remove domain alias!'; # XXX
$PALANG['domain_conflict_vacation_domain'] = 'You can\'t use the vacation domain as mail domain!'; # XXX
$PALANG['pAdminCreate_domain_button'] = 'ドメイン追加';
$PALANG['pAdminCreate_domain_result_error'] = 'ドメイン %s を追加できませんでした';
$PALANG['pAdminCreate_domain_result_success'] = 'ドメイン %s を追加しました。';
$PALANG['domain_updated'] = 'ドメイン %s を更新しました。';
$PALANG['pAdminDelete_admin_error'] = '管理者を削除できませんでした';
$PALANG['domain_postdel_failed'] = 'ドメインの削除後に、スクリプトの実行が失敗しました! 詳しくはエラーログを参照して下さい。';
$PALANG['domain_postcreate_failed'] = 'ドメインの作成後に、スクリプトの実行が失敗しました! 詳しくはエラーログを参照して下さい。';
$PALANG['mailbox_postdel_failed'] = 'メールアドレスの削除後に、スクリプトの実行が失敗しました! 詳しくはエラーログを参照して下さい。';
$PALANG['mailbox_postedit_failed'] = 'メールアドレスの編集後に、スクリプトの実行が失敗しました! 詳しくはエラーログを参照して下さい。';
$PALANG['mailbox_postcreate_failed'] = 'メールアドレスの作成後に、スクリプトの実行が失敗しました! 詳しくはエラーログを参照して下さい。';
$PALANG['pAdminDelete_alias_domain_error'] = '管理者の別名を削除できませんでした!';
$PALANG['domain_conflict_vacation_domain'] = 'メールドメインとして、自動応答ドメインを使用することはできません!';
$PALANG['pAdminEdit_domain_welcome'] = 'ドメインの修正';
$PALANG['pAdminEdit_domain_aliases_text'] = '-1 = 無効 | 0 = 無制限';
$PALANG['pAdminEdit_domain_maxquota'] = '最大容量制限';
$PALANG['pAdminEdit_domain_maxquota_text'] = 'MB | -1 = 無効 | 0 = 無制限';
$PALANG['pAdminEdit_domain_quota'] = 'Domain Quota'; # XXX
$PALANG['pAdminEdit_domain_quota'] = 'ドメインクオータ';
$PALANG['transport'] = '配送方法';
$PALANG['pAdminEdit_domain_transport_text'] = '配送方法の定義';
$PALANG['pAdminEdit_domain_backupmx'] = 'バックアップ MXサーバ';
$PALANG['pAdminEdit_domain_result_error'] = 'ドメインが修正できません! (%s)'; # XXX Text changed to: Modifying the domain %s failed!
$PALANG['pAdminEdit_domain_result_error'] = 'ドメイン %s を修正できません!';
$PALANG['pAdminCreate_admin_welcome'] = '新しいドメイン管理者の追加';
$PALANG['email_address'] = 'メールアドレス';
$PALANG['pAdminCreate_admin_username_text_error1'] = '管理者は有効なメールアドレスではありません。';
$PALANG['admin_already_exists'] = '管理者は存在するか無効です。'; # XXX Text changed to: The admin already exists!
$PALANG['admin_does_not_exist'] = 'The admin does not exist!'; # XXX
$PALANG['admin_already_exists'] = '管理者は既に存在します!';
$PALANG['admin_does_not_exist'] = '管理者が存在しません!';
$PALANG['pAdminCreate_admin_button'] = '管理者追加';
$PALANG['pAdminCreate_admin_result_error'] = '管理者を追加できません! (%s)'; # XXX Text changed to: Adding the admin %s failed!
$PALANG['pAdminCreate_admin_result_success'] = '管理者を追加しました。 (%s)'; # XXX Text changed to: The admin %s has been added.
$PALANG['pAdminCreate_admin_result_error'] = '管理者 %s を追加できませんでした!';
$PALANG['pAdminCreate_admin_result_success'] = '管理者 %s を追加しました。';
$PALANG['pAdminEdit_admin_welcome'] = 'ドメイン管理者の編集';
$PALANG['admin'] = '管理者'; # XXX check / compare with pAdminCreate_admin_username - should be "admin"
$PALANG['admin'] = '管理者';
$PALANG['password_again'] = 'パスワード (確認)';
$PALANG['super_admin'] = '特権管理者';
$PALANG['super_admin_desc'] = 'Super admins have access to all domains, can manage domains and admin accounts.'; # XXX
$PALANG['pAdminEdit_admin_result_error'] = '管理者を修正できません! (%s)'; # XXX Text changed to: Modifying the admin %s failed!
$PALANG['pAdminEdit_admin_result_success'] = '管理者を修正しました。 (%s)'; # XXX Text changed to: The admin %s has been modified.
$PALANG['super_admin_desc'] = '特権管理者はすべてのドメインにアクセスが可能で、ドメインと管理者アカウントを管理できます。';
$PALANG['pAdminEdit_admin_result_error'] = '管理者 %s を更新できませんでした!';
$PALANG['pAdminEdit_admin_result_success'] = '管理者 %s を更新しました。';
$PALANG['pUsersLogin_welcome'] = 'あなたのパスワードと転送先が変更できます。';
$PALANG['pUsersLogin_username_incorrect'] = 'ログインが違います。正しいメールアドレスを入力してください。';
$PALANG['pUsersLogin_password_incorrect'] = 'パスワードが違います。';
$PALANG['pUsersLogin_password_recover'] = 'パスワードを忘れました';
$PALANG['pUsersMenu_vacation'] = '自動応答';
$PALANG['pUsersMenu_edit_alias'] = '転送先変更';
$PALANG['pUsersMenu_edit_alias'] = '転送先変更';
$PALANG['pUsersMain_vacation'] = '不在メッセージまたは自動応答を設定します';
$PALANG['pUsersMain_vacationSet'] = '自動応答を利用中です。「自動応答」をクリックして編集/解除できます。';
@ -307,18 +320,18 @@ $PALANG['pUsersMain_edit_alias'] = '転送設定を変更します。';
$PALANG['pUsersMain_password'] = 'パスワードを変更します。';
$PALANG['pUsersVacation_welcome'] = '自動応答';
$PALANG['pUsersVacation_welcome_text'] = '既に自動応答を構成してあります。 (%s)'; # XXX Text changed to: 'Auto response for %s is active!'
$PALANG['pUsersVacation_welcome_text'] = '%s の自動応答は有効です!';
$PALANG['pUsersVacation_subject_text'] = '不在';
$PALANG['message'] = '本文'; # XXX text changed to 'Message'
$PALANG['message'] = '本文';
$PALANG['pUsersVacation_body_text'] = <<<EOM
私は <date> から <date> まで不在です。
緊急事項は <contact person> まで連絡してください。
EOM;
$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX
$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX
$PALANG['pUsersVacation_activefrom'] = '右の日時から有効';
$PALANG['pUsersVacation_activeuntil'] = '右の日時まで有効';
$PALANG['pEdit_dbLog_editactive'] = 'change active state'; # XXX
$PALANG['pEdit_dbLog_editactive'] = '有効/無効を変更';
$PALANG['pSearch'] = '検索';
$PALANG['pSearch_welcome'] = '検索文字列: ';
@ -330,34 +343,38 @@ $PALANG['pBroadcast_name'] = '名前';
$PALANG['pBroadcast_success'] = 'ブロードキャストメッセージは送信されました。';
$PALANG['pAdminMenu_broadcast_message'] = 'ブロードキャスト';
$PALANG['pBroadcast_error_empty'] = '名前、件名、メッセージは入力が必要です。';
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['broadcast_mailboxes_only'] = 'メールアドレスだけに送信';
$PALANG['broadcast_to_domains'] = '送信先のドメイン:';
$PALANG['pStatus_undeliverable'] = 'おそらく配送不可能 ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = '配送先 ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "パスワードが短すぎます。最低 %s 文字必要です。";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
$PALANG['pInvalidMailRegex'] = "Invalid email address %s, fails regexp check"; # XXX
$PALANG['password_no_characters'] = "パスワードには、少なくとも %s 個の英字がなくてはなりません。"; # XXX text changed to "Your password must contain at least %s letters (A-Z, a-z)."
$PALANG['password_no_digits'] = "パスワードには、少なくとも %s 個の数字がなくてはなりません。";
$PALANG['pInvalidDomainRegex'] = "不正なドメイン名です[%s]。正規表現チェックで失敗";
$PALANG['pInvalidDomainDNS'] = "不正なドメイン[%s]であるか、もしくは DNS に見当たりません";
$PALANG['pInvalidMailRegex'] = "不正なメールアドレスです[%s]。正規表現チェックで失敗";
$PALANG['pFetchmail_welcome'] = 'メール取得:';
$PALANG['pFetchmail_new_entry'] = '新しいエントリ';
$PALANG['fetchmail_already_exists'] = 'This fetchmail job already exists!'; # XXX
$PALANG['fetchmail_does_not_exist'] = 'This fetchmail job does not exist!'; # XXX
$PALANG['fetchmail_already_exists'] = 'この fetchmail ジョブは既に存在します!';
$PALANG['fetchmail_does_not_exist'] = 'この fetchmail ジョブは存在しません!';
$PALANG['pFetchmail_database_save_error'] = 'このエントリをデータベースに保存できませんでした。';
$PALANG['pFetchmail_database_save_success'] = 'エントリをデータベースに保存しました。';
$PALANG['pFetchmail_error_invalid_id'] = 'ID %s のエントリが見つかりません。';
$PALANG['pFetchmail_invalid_mailbox'] = 'メールボックスが無効です!';
$PALANG['pFetchmail_invalid_mailbox'] = 'メールアドレスが無効です!';
$PALANG['pFetchmail_server_missing'] = 'リモートサーバ名を入力してください。';
$PALANG['pFetchmail_user_missing'] = 'リモートユーザ名を入力してください。';
$PALANG['pFetchmail_password_missing'] = 'リモートパスワードを入力してください。';
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'メールボックス';
$PALANG['pFetchmail_field_mailbox'] = 'メールアドレス';
$PALANG['pFetchmail_field_src_server'] = 'サーバ';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = '認証タイプ';
$PALANG['pFetchmail_field_src_user'] = 'ユーザ';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -366,10 +383,10 @@ $PALANG['pFetchmail_field_poll_time'] = '間隔';
$PALANG['pFetchmail_field_fetchall'] = 'すべて取得';
$PALANG['pFetchmail_field_keep'] = '残す';
$PALANG['pFetchmail_field_protocol'] = 'プロトコル';
$PALANG['pFetchmail_field_usessl'] = 'SSL active'; # XXX
$PALANG['pFetchmail_field_sslcertck'] = 'SSL certificate check'; # XXX
$PALANG['pFetchmail_field_sslcertpath'] = 'SSL path to certificates'; # XXX
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL fingerprint (md5)'; # XXX
$PALANG['pFetchmail_field_usessl'] = 'SSL 有効';
$PALANG['pFetchmail_field_sslcertck'] = 'SSL 証明書チェック';
$PALANG['pFetchmail_field_sslcertpath'] = 'SSL 証明書へのパス';
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL フィンガープリント (md5)';
$PALANG['pFetchmail_field_extra_options'] = '追加オプション';
$PALANG['pFetchmail_field_mda'] = 'MDA';
$PALANG['pFetchmail_field_date'] = '日付';
@ -377,6 +394,7 @@ $PALANG['pFetchmail_field_returned_text'] = '戻りテキスト';
$PALANG['pFetchmail_desc_id'] = 'レコード ID';
$PALANG['pFetchmail_desc_mailbox'] = 'ローカル メールボックス';
$PALANG['pFetchmail_desc_src_server'] = 'リモート サーバ';
$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'] = '大抵は \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'リモート ユーザ';
$PALANG['pFetchmail_desc_src_password'] = 'リモート パスワード';
@ -385,13 +403,15 @@ $PALANG['pFetchmail_desc_poll_time'] = '分単位の確認間隔';
$PALANG['pFetchmail_desc_fetchall'] = '既読と新着メッセージを取得するか';
$PALANG['pFetchmail_desc_keep'] = 'リモートサーバに取得済メッセージを残すか';
$PALANG['pFetchmail_desc_protocol'] = '利用するプロトコル';
$PALANG['pFetchmail_desc_usessl'] = 'SSL encryption'; # XXX
$PALANG['pFetchmail_desc_usessl'] = 'SSL 暗号化';
$PALANG['pFetchmail_desc_extra_options'] = '追加の fetchmail オプション';
$PALANG['pFetchmail_desc_mda'] = 'メール配送エージェント (Mail Delivery Agent)';
$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'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -21,7 +21,7 @@
function update_string_list() {
for file in en.lang $filelist ; do
echo "<?php include('$file'); print join(\"\\n\", array_keys(\$PALANG)) . \"\\n\"; ?>" | php > $file.strings
echo "<?php \$CONF['admin_name'] = ''; include('$file'); print join(\"\\n\", array_keys(\$PALANG)) . \"\\n\"; ?>" | php > $file.strings
done
for file in $filelist ; do
@ -74,7 +74,7 @@ function forcepatch() {
for i in `seq 1 5` ; do
for file in $filelist ; do
test "$file" = "en.lang" && { echo "*** skipping en.lang ***"; continue ; } >&2
"$0" "$file" | sed -n '1,3 p ; 5 s/^./-/p ; 5s/^./+/p ; 6p' | recountdiff | patch "$file"
/bin/bash "$0" "$file" | sed -n '1,3 p ; 5 s/^./-/p ; 5s/^./+/p ; 6p' | recountdiff | patch "$file"
done
done
} # end forcepatch

@ -1,4 +1,6 @@
<?php if( !defined('POSTFIXADMIN') ) die( "This file cannot be used standalone." ); ?>
<?php if (!defined('POSTFIXADMIN')) {
die("This file cannot be used standalone.");
} ?>
<?php
# List of supported languages
$supported_languages = array(
@ -20,6 +22,7 @@ $supported_languages = array(
'fr' => 'Fran&ccedil;ais - French',
'hr' => 'Hrvatski - Croatian',
'hu' => 'Magyar - Hungarian',
'gl' => 'Galego - Galician',
'is' => 'Icelandic',
'it' => 'Italiano - Italian',
'ja' => '&#26085;&#26412;&#35486; - Japanese',

@ -140,10 +140,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Persiųsti nurodytiems el. pašto adresam
$PALANG['pEdit_alias_result_error'] = 'Sinonimo pakeisti nepavyko! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Nauja pašto dėžutė.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Šis el.pašto adresas neteisingas!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Išnaudota srities pašto dėžučių kvota!';
$PALANG['pCreate_mailbox_password_text'] = 'Slaptažodis jungtis prie POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Vardas Pavardė';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Siųsti pasveikinimo žinutę';
$PALANG['pCreate_mailbox_result_error'] = 'Pašto dėžutės užregistruoti nepavyko! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Pašto dėžutė užregistruota! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -171,6 +176,13 @@ $PALANG['pPassword_password_text_error'] = 'Įvesti slaptažodžiai nesutampa ar
$PALANG['change_password'] = 'Keisti slaptažodį';
$PALANG['pPassword_result_error'] = 'Slaptažodžio pakeisti nepavyko! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Slaptažodis pakeistas! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Pakeisti / nustatyti atostogų pranešimą';
$PALANG['pEdit_vacation_remove'] = 'Išjungti atostogų pranešimą';
$PALANG['pVacation_result_error'] = 'Nepavyko pakeisti atostogų nustatymų! (%s)'; # XXX Text changed to: Updating the auto response settings for %s failed
@ -292,6 +304,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Administratorius pakeistas! (%s)';
$PALANG['pUsersLogin_welcome'] = 'Pašto vartotojai prisijungia ir keičia slaptažodžius ir sinonimus.';
$PALANG['pUsersLogin_username_incorrect'] = 'Prisijungti nepavyko. Įsitikinkite, kad gerai įvedėte savo el.pašto adresą!';
$PALANG['pUsersLogin_password_incorrect'] = 'Slaptažodis neteisingas!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Automatinis (atostogų) atsakymas';
$PALANG['pUsersMenu_edit_alias'] = 'Keisti laiškų peradresaciją';
@ -331,10 +344,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -353,6 +369,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -372,6 +389,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -387,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -139,10 +139,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Не можам да го променам алијасот! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Креирање на ново поштенско сандаче.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'EMAIL не е валиден!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Достигнат е лимитот на поштенски сандачиња!';
$PALANG['pCreate_mailbox_password_text'] = 'Лозинка за POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Цело име';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Креирање на поштенско сандаче'; # XXX Text change to 'Send Welcome mail'
$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!
@ -170,6 +175,13 @@ $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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -292,6 +304,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Администраторот е
$PALANG['pUsersLogin_welcome'] = 'Логин за корисници на поштенски сандачиња.Промена на логин и лозинка';
$PALANG['pUsersLogin_username_incorrect'] = 'Погрешно корисничко име. Логирајте се со вашата email адреса!';
$PALANG['pUsersLogin_password_incorrect'] = 'Погрешна лозинка!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Автоматски одговор';
$PALANG['pUsersMenu_edit_alias'] = 'Промена на препраќање (forward)';
@ -326,10 +339,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -348,6 +364,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -367,6 +384,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -382,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -140,10 +140,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Bare videresend til de angitte e-postadre
$PALANG['pEdit_alias_result_error'] = 'Kan ikke endre aliaset! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Opprett en ny e-postkonto.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-postadressen er ikke gyldig!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Du har nådd grensen for antall e-postkontoer under dette domenet!';
$PALANG['pCreate_mailbox_password_text'] = 'Passord for POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Fullt navn';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Send velkomstmelding'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Kunne ikke legge til e-postkontoen i mailbox-tabellen! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'E-postkontoen er blitt opprettet i mailbox-tabellen! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -171,6 +176,13 @@ $PALANG['pPassword_password_text_error'] = 'Passordene du oppga stemmer ikke ove
$PALANG['change_password'] = 'Endre passord';
$PALANG['pPassword_result_error'] = 'Kunne ikke endre passordet ditt! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Ditt passord er nå endret! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Endre / angi fraværsmelding';
$PALANG['pEdit_vacation_remove'] = 'Fjern fraværsmelding';
$PALANG['pVacation_result_error'] = 'Kunne ikke oppdatere innstillinger for automatisk svar! (%s)'; # XXX Text changed to: Updating the auto response settings for %s failed
@ -292,6 +304,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Administratoren er blitt endret! (
$PALANG['pUsersLogin_welcome'] = 'Brukere kan logge inn her for å endre passord og videresending.';
$PALANG['pUsersLogin_username_incorrect'] = 'Påloggingsinformasjonen er ikke korrekt. Husk å bruke e-postadressen som brukernavn.';
$PALANG['pUsersLogin_password_incorrect'] = 'Feil passord!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Automatisk svar';
$PALANG['pUsersMenu_edit_alias'] = 'Endre videresending';
@ -325,10 +338,13 @@ $PALANG['pBroadcast_error_empty'] = 'Feltene Ditt navn, Emne og Melding kan ikke
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'kan kanskje IKKE LEVERES ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Leverer til ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "Passordet er for kort - det må inneholde minst %s tegn";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Ugyldig domenenavn %s, regexp-validering feilet";
$PALANG['pInvalidDomainDNS'] = "Ugyldig domene %s, og/eller finnes ikke i DNS";
@ -348,6 +364,7 @@ $PALANG['pFetchmail_password_missing'] = 'Vennligst skriv inn det eksterne passo
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'E-postkonto';
$PALANG['pFetchmail_field_src_server'] = 'Server';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Autentiseringstype';
$PALANG['pFetchmail_field_src_user'] = 'Bruker';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -367,6 +384,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returnert tekst';
$PALANG['pFetchmail_desc_id'] = 'Oppførings-ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Lokal e-postkonto';
$PALANG['pFetchmail_desc_src_server'] = 'Ekstern server';
$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'] = 'Vanligvis \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Eksternt brukernavn';
$PALANG['pFetchmail_desc_src_password'] = 'Eksternt passord';
@ -382,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_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -4,6 +4,7 @@
// Language file Dutch
// by Mourik
// updated by Johan Hendriks (sylhouette @sf)
// updates by Jan Kruis ( jan @crossreference.nl
//
$PALANG['YES'] = 'Ja';
@ -14,28 +15,28 @@ $PALANG['exit'] = 'Beëindigen';
$PALANG['cancel'] = 'Annuleren';
$PALANG['save'] = 'Wijzigingen opslaan';
$PALANG['confirm'] = 'Weet u het zeker dat u wilt verwijderen?\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'] = 'Weet u zeker dat u ALLE data van het domein wilt verwijderen? Dit kan niet ongedaan worden gemaakt!\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'] = 'Weet u zeker dat dat u de administrator %s wilt verwijderen?';
$PALANG['confirm_delete_alias'] = 'Weet u zeker dat dat u de alias %s wilt verwijderen?';
$PALANG['confirm_delete_aliasdomain'] = 'Weet u zeker dat dat u de alias domein %s wilt verwijderen?';
$PALANG['confirm_delete_domain'] = 'Weet u zeker dat u ALLE gegevens van het domein %s wilt verwijderen? Dit kan niet ongedaan worden gemaakt!';
$PALANG['confirm_delete_fetchmail'] = 'Weet u zeker dat dat u de fetchmail job %s wilt verwijderen?';
$PALANG['confirm_delete_mailbox'] = 'Weet u zeker dat dat u de mailbox %s wilt verwijderen?';
$PALANG['confirm_delete_vacation'] = 'Weet u zeker dat dat u de vakatie bericht voor %s wilt verwijderen?';
$PALANG['no_delete_permissions'] = 'Je hebt geen toestemming om %s te verwijderen!';
$PALANG['check_update'] = 'Zoeken naar nieuwe versie';
$PALANG['invalid_parameter'] = 'ongeldige parameter!';
$PALANG['show'] = 'Toon:';
$PALANG['all'] = 'Alle';
$PALANG['created'] = 'Aangemaakt'; #XXX
$PALANG['unknown'] = 'onbekend'; #XXX
$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX
$PALANG['missing_field'] = 'Veld %s is niet aanwezig'; #XXX
$PALANG['must_be_numeric'] = '%s moet een getal zijn'; #XXX
$PALANG['must_be_numeric_bigger_than_null'] = '%s must be numeric and bigger than 0'; # XXX
$PALANG['must_be_boolean'] = '%s moet een boolean zijn'; #XXX
$PALANG['invalid_value_given'] = 'Foutief waarde ingevooerd %s'; # XXX
$PALANG['edit_not_allowed'] = 'You are not allowed to edit %s'; # XXX
$PALANG['searchparams'] = 'Search parameters:'; # XXX
$PALANG['created'] = 'Aangemaakt';
$PALANG['unknown'] = 'onbekend';
$PALANG['download_csv'] = 'Bewaar deze lijst als CSV bestand';
$PALANG['missing_field'] = 'Veld %s is niet aanwezig';
$PALANG['must_be_numeric'] = '%s moet een getal zijn';
$PALANG['must_be_numeric_bigger_than_null'] = '%s moet een getal zijn en groter dan 0';
$PALANG['must_be_boolean'] = '%s moet een boolean zijn';
$PALANG['invalid_value_given'] = 'Foutief waarde ingevooerd %s';
$PALANG['edit_not_allowed'] = 'Je hebt geen toestemming om %s aan te passen';
$PALANG['searchparams'] = 'Zoek parameters:';
$PALANG['pFooter_logged_as'] = 'aangemeld als %s';
$PALANG['pLogin_welcome'] = 'Mail beheerders log hier in om uw domeinen te beheren.';
@ -48,8 +49,8 @@ $PALANG['pLogin_login_users'] = 'Gebruikers klik hier om in te loggen.';
$PALANG['pMenu_main'] = 'Start';
$PALANG['pMenu_overview'] = 'Overzicht';
$PALANG['add_alias'] = 'Alias toevoegen'; # XXX check text - should be 'Add Alias'
$PALANG['add_alias_domain'] = 'Domein alias toevoegen'; # XXX check text - should be 'Add Alias Domain'
$PALANG['add_alias'] = 'Alias toevoegen';
$PALANG['add_alias_domain'] = 'Domein alias toevoegen';
$PALANG['add_mailbox'] = 'Mailbox toevoegen';
$PALANG['pMenu_fetchmail'] = 'Externe email ophalen';
$PALANG['pMenu_sendmail'] = 'Verstuur E-mail';
@ -59,7 +60,7 @@ $PALANG['pMenu_logout'] = 'Uitloggen';
$PALANG['pMain_welcome'] = 'Welkom bij Postfix Admin!';
$PALANG['pMain_overview'] = 'Laat uw aliassen en mailboxen zien. U kunt ze vanaf hier bewerken / verwijderen.';
$PALANG['pMain_create_alias'] = 'Maak een nieuwe alias aan voor uw domein.'; # XXX check text - should be 'Create a new alias for your domain.'
$PALANG['pMain_create_alias'] = 'Maak een nieuwe alias aan voor uw domein.';
$PALANG['pMain_create_mailbox'] = 'Maak een nieuwe mailbox aan voor uw domein.';
$PALANG['pMain_sendmail'] = 'Verstuur een e-mail naar een van de nieuwe mailboxen.';
$PALANG['pMain_password'] = 'Wijzig uw wachtwoord.';
@ -86,18 +87,18 @@ $PALANG['name'] = 'Naam';
$PALANG['pOverview_mailbox_quota'] = 'Quota (MB)';
$PALANG['pOverview_vacation_edit'] = 'AUTOMATISCH BEANTWOORDEN IS ACTIEF';
$PALANG['pOverview_vacation_option'] = 'Activeer automatisch beantwoorden';
$PALANG['no_domains_for_this_admin'] = 'Je hebt geen elke domein toesteming.'; # XXX
$PALANG['no_domains_exist'] = 'Je moet tenminste een domein aanmaken voordat je Virtueel overzicht kunt gebruiken.'; # "virtual list" should match $PALANG['pAdminMenu_list_virtual'] # XXX
$PALANG['no_domains_for_this_admin'] = 'Je hebt voor geen elke domein toesteming.';
$PALANG['no_domains_exist'] = 'Je moet tenminste een domein aanmaken voordat je virtueel overzicht kunt gebruiken.'; # "virtual list" should match $PALANG['pAdminMenu_list_virtual']
$PALANG['domain'] = 'Domein';
$PALANG['pOverview_get_alias_domains'] = 'Domein aliasen';
$PALANG['mailboxes'] = 'Mailboxen';
$PALANG['pOverview_get_quota'] = 'Mailbox Quota (MB)';
$PALANG['pDelete_delete_error'] = 'Mislukt te verwijderen ';
$PALANG['pDelete_delete_error'] = 'Niet in staat deze regel te verwijderen ';
$PALANG['pDelete_delete_success'] = '%s verwijderd.';
$PALANG['pDelete_domain_error'] = 'Dit is niet uw domein ';
$PALANG['pDelete_alias_error'] = 'Niet in staat alias te verwijderen ';
$PALANG['pDelete_alias_error'] = 'Niet in staat deze alias te verwijderen ';
$PALANG['pCreate_alias_domain_welcome'] = 'Spiegel een van uw domeinen naar een ander domein.';
$PALANG['pCreate_alias_domain_alias'] = 'Alias domein';
$PALANG['pCreate_alias_domain_alias_text'] = 'Het domein waar mail voor binnen komt.';
@ -105,28 +106,28 @@ $PALANG['pCreate_alias_domain_target'] = 'Doel domein';
$PALANG['pCreate_alias_domain_target_text'] = 'Domein waar de mail naar toe moet.';
$PALANG['pCreate_alias_domain_error1'] = 'U heeft niet genoeg rechten om de huidige configuratie te maken.';
$PALANG['pCreate_alias_domain_error2'] = 'De huidige configuratie is ongeldig, slecteer een andere!';
$PALANG['alias_domain_already_exists'] = 'Dit domein is al een alias domein!'; # XXX
$PALANG['alias_domain_does_not_exist'] = 'Dit domein is geen alias domein!'; # XXX
$PALANG['alias_domain_create_failed'] = 'Het aanmaken van het alias domein %s is niet gelukt!'; # XXX Text changed to: Creating the alias domain %s failed!
$PALANG['alias_domain_change_failed'] = 'Het aanpassen van het alias domein %s is niet gelukt!'; # XXX
$PALANG['alias_domain_already_exists'] = 'Dit domein is al een alias domein!';
$PALANG['alias_domain_does_not_exist'] = 'Dit domein is geen alias domein!';
$PALANG['alias_domain_create_failed'] = 'Het aanmaken van het alias domein %s is niet gelukt!';
$PALANG['alias_domain_change_failed'] = 'Het aanpassen van het alias domein %s is niet gelukt!';
$PALANG['pCreate_alias_domain_error4'] = 'Alle domeinen hebben al een alias!';
$PALANG['pCreate_alias_domain_success'] = 'Het alias domein %s is aangemaakt'; # XXX Text changed to: The alias domain %s has been created.
$PALANG['alias_domain_changed'] = 'Het alias domein %s is aangepast.'; # XXX
$PALANG['alias_domain_to_itsself'] = 'Een domein kan niet een alias domein van zich zelf!'; # XXX
$PALANG['delete_domain_aliasdomain_target'] = 'Het domein %s is onderdeel van een of meerdere domeinen en kan niet worden verwijderd! (Verwijder het alias domeins eerst.)'; # XXX
$PALANG['pCreate_alias_domain_success'] = 'Het alias domein %s is aangemaakt';
$PALANG['alias_domain_changed'] = 'Het alias domein %s is aangepast.';
$PALANG['alias_domain_to_itsself'] = 'Een domein kan niet een alias domein van zich zelf!';
$PALANG['delete_domain_aliasdomain_target'] = 'Het domein %s is onderdeel van een of meerdere domeinen en kan niet worden verwijderd! (Verwijder het alias domein eerst.)';
$PALANG['pCreate_alias_address_text_error1'] = 'De Alias is niet geldig!';
$PALANG['alias_does_not_exist'] = 'Deze alias bestaat niet!'; # XXX
$PALANG['email_address_already_exists'] = 'Dit e-mail adres bestaat al, kies aub een andere.'; # XXX check text - should be 'This email address already exists, please choose a different one\!'
$PALANG['alias_does_not_exist'] = 'Deze alias bestaat niet!';
$PALANG['email_address_already_exists'] = 'Dit e-mail adres bestaat al, kies aub een andere.';
$PALANG['pCreate_alias_address_text_error3'] = 'U bezit het maximum aantal aliassen.';
$PALANG['pCreate_alias_goto_text'] = 'Waar de e-mails heen gestuurd worden.';
$PALANG['pCreate_alias_goto_text_error'] = 'De NAAR is niet geldig.';
$PALANG['pCreate_alias_result_error'] = 'Mislukt om de alias %s toe te voegen.!'; # XXX Text changed to: Creating the alias %s failed!
$PALANG['pCreate_alias_result_success'] = 'De alias %s is toegevoegd.'; # XXX text change: 'The alias %s has been created!'
$PALANG['alias_updated'] = 'De alias %s is bijgewerkt!'; # XXX
$PALANG['pCreate_alias_result_error'] = 'Het is mislukt om de alias %s aan te maken!';
$PALANG['pCreate_alias_result_success'] = 'De alias %s is aangemaakt.';
$PALANG['alias_updated'] = 'De alias %s is bijgewerkt!';
$PALANG['pCreate_alias_catchall_text'] = 'Om een catch-all te gebruiken, dient u een "*" (asteric) in te vullen als alias. Voor domein naar domein forwarding gebruik "*@domein.tld" als naar.';
$PALANG['mailbox_alias_cant_be_deleted'] = 'De alias maakt onderdeel uit van mailbox en kan niet worden verwijderd!'; # 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'] = 'De alias maakt onderdeel uit van mailbox en kan niet worden verwijderd!';
$PALANG['protected_alias_cant_be_deleted'] = 'De alias %s is beschermd en kan alleen worden verwijderd door een superadministrator';
$PALANG['pEdit_alias_welcome'] = 'Bewerk een alias voor uw domein.';
$PALANG['pEdit_alias_help'] = 'Meerdere e-mailadressen toegestaan. Slechts één alias per regel.';
@ -137,31 +138,36 @@ $PALANG['pEdit_alias_goto_text_error2'] = 'Het e-mail adres wat u opgaf is niet
$PALANG['pEdit_alias_domain_result_error'] = 'Niet in staat de domein alias te bewerken!';
$PALANG['pEdit_alias_forward_and_store'] = 'Lever af op de lokale mailbox.';
$PALANG['pEdit_alias_forward_only'] = 'Alleen op opgegeven email adres afleveren.';
$PALANG['pEdit_alias_result_error'] = 'Mislukt om de alias %s te bewerken!'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pEdit_alias_result_error'] = 'Bewerken van de alias %s is mislukt!';
$PALANG['pCreate_mailbox_welcome'] = 'Maak een nieuw lokale mailbox voor uw domein.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Het e-mail adres is niet geldig.';
$PALANG['pCreate_mailbox_username_text_error3'] = 'U bezit het maximum aantal mailboxen.';
$PALANG['pCreate_mailbox_password_text'] = 'Wachtwoord voor POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Volledige naam';
$PALANG['pCreate_mailbox_mail'] = 'Mailbox toevoegen'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Mislukt om de mailbox %s toe te voegen!'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'De mailbox %s is toegevoegd aan de mailbox tabel!'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'De mailbox is aan de mailbox tabel toegevoegd, maar geen (of sommige) van de vooraf gedefinieerde sub-folders kon aangemaakt worden (%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'] = "De mailbox %s is bijgewerkt."; # XXX
$PALANG['mailbox_update_failed'] = "Bijwerken van mailbox %s is mislukt!"; # XXX
$PALANG['pCreate_mailbox_phone'] = 'Mobiele Telefoon';
$PALANG['pCreate_mailbox_phone_desc'] = "Gebruik om een SMS te sturen als je het wachtwoord vergeten bent";
$PALANG['pCreate_mailbox_email'] = 'Ander e-mail';
$PALANG['pCreate_mailbox_email_desc'] = "Gebruik als je het wachtwoord vergeten bent";
$PALANG['pCreate_mailbox_mail'] = 'Verstuur Welkoms mail';
$PALANG['pCreate_mailbox_result_error'] = 'Het is mislukt om de mailbox %s aan te maken!';
$PALANG['pCreate_mailbox_result_success'] = 'De mailbox %s is toegevoegd aan de mailbox tabel!';
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'De mailbox %s is aan de mailbox tabel toegevoegd, maar geen (of sommige) van de vooraf gedefinieerde sub-folders kon niet worden aangemaakt.';
$PALANG['mailbox_updated'] = "De mailbox %s is bijgewerkt.";
$PALANG['mailbox_update_failed'] = "Bijwerken van mailbox %s is mislukt!";
$PALANG['pEdit_mailbox_welcome'] = 'Bewerk een mailbox voor uw domein.';
$PALANG['pEdit_mailbox_username'] = 'Gebruikersnaam';
$PALANG['pEdit_mailbox_password_text_error'] = 'De wachtwoorden die u opgaf komen niet overeen.';
$PALANG['pEdit_mailbox_quota'] = 'Quota';
$PALANG['pEdit_mailbox_quota_text'] = 'MB';
$PALANG['mb_max'] = 'MB (max: %s)'; # XXX
$PALANG['mb_max'] = 'MB (max: %s)';
$PALANG['pEdit_mailbox_quota_text_error'] = 'De quota die opgaf is te hoog.';
$PALANG['pEdit_mailbox_domain_error'] = 'Dit domein is niet van nu: ';
$PALANG['pEdit_mailbox_result_error'] = 'Mislukt om het wachtwoord te wijzigen.';
$PALANG['pPassword_welcome'] = 'Bewerk u login wachtwoord.';
$PALANG['pPassword_welcome'] = 'Bewerk uw login wachtwoord.';
$PALANG['pPassword_admin'] = 'Login';
$PALANG['pPassword_password_current'] = 'Huidig wachtwoord';
$PALANG['pPassword_password_current_text_error'] = 'U heeft uw huidige wachtwoord niet opgegeven.';
@ -169,12 +175,19 @@ $PALANG['pPassword_password'] = 'Nieuw wachtwoord';
$PALANG['pPassword_password2'] = 'Nieuw wachtwoord (nogmaals)';
$PALANG['pPassword_password_text_error'] = 'De wachtwoorden die u opgaf komen niet overeen of zijn leeg.';
$PALANG['change_password'] = 'Wijzig wachtwoord';
$PALANG['pPassword_result_error'] = 'Het veranderen van het wachtwoord voor %s is mislukt!'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Uw wachtwoord voor %s is veranderd.'; # XXX Text changed to: The password for %s has been changed.
$PALANG['pPassword_result_error'] = 'Het veranderen van het wachtwoord voor %s is mislukt!';
$PALANG['pPassword_result_success'] = 'Uw wachtwoord voor %s is veranderd.';
$PALANG['pPassword_recovery_title'] = 'Volg de aanwijzigingen om uw wachtwoord te veranderen.';
$PALANG['pPassword_recovery_button'] = 'Stuur mij de code';
$PALANG['pPassword_recovery_email_body'] = "Hallo,\n\nGebruik de volgende link om je email wachtwoord aan te passen :\n%s\n\nMet vriendelijk groet,\n\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_sms_body'] = "Hallo,\nDe code om je wachtwoord aan te passen is: %s\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_processed'] = "Wij verwerkten je aanvraag. Als je een correte gebruikersnaam hebt ingevoerd, ontvang je per email/SMS een wachtwoord code.";
$PALANG['pPassword_password_code'] = 'Stuur wachtwoord code per email/SMS';
$PALANG['pPassword_code_text_error'] = 'Incorrecte code';
$PALANG['pEdit_vacation_set'] = 'Verander / Activeer Automatisch beantwoorden';
$PALANG['pEdit_vacation_remove'] = 'Deactiveer Automatisch beantwoorden';
$PALANG['pVacation_result_error'] = 'Niet in staat automatisch beantwoorden te wijzigen! (%s)'; # XXX Text changed to: Updating the auto response settings for %s failed
$PALANG['pVacation_result_error'] = 'Aanpassen van Automatisch beantwoorden voor %s mislikt!';
$PALANG['pVacation_result_removed'] = 'Automatisch beantwoorden is voor %s gedeactiveerd!';
$PALANG['pVacation_result_added'] = 'Automatisch beantwoorden is voor %s geactiveerd!';
$PALANG['pVacation_reply_type'] = 'Keuze van beantwoording';
@ -182,10 +195,10 @@ $PALANG['pVacation_reply_delay_time'] = 'Interval tijd';
$PALANG['pVacation_reply_delay_time_text'] = 'Tijd in seconds';
$PALANG['pVacation_until_before_today'] = 'De datum van [Actief t/m] ligt voor vandaag';
$PALANG['pVacation_until_before_from'] = 'De datum van [Actief t/m] ligt voor [Actief vanaf]';
$PALANG['reply_once'] = 'eenmalige beantwoording'; # XXX
$PALANG['reply_every_mail'] = 'Beantwoord elke keer'; # XXX
$PALANG['reply_once_per_day'] = 'Beantwoord een keer per dag'; # XXX
$PALANG['reply_once_per_week'] = 'Beantwoord een keer per week'; # XXX
$PALANG['reply_once'] = 'eenmalige beantwoording';
$PALANG['reply_every_mail'] = 'Beantwoord elke keer';
$PALANG['reply_once_per_day'] = 'Beantwoord een keer per dag';
$PALANG['reply_once_per_week'] = 'Beantwoord een keer per week';
$PALANG['pViewlog_welcome'] = 'Laat de laatste %s actie\'s zien van ';
$PALANG['pViewlog_timestamp'] = 'Tijd';
@ -200,20 +213,20 @@ $PALANG['pViewlog_action_edit_mailbox'] = 'mailbox bewerkt';
$PALANG['pViewlog_action_edit_mailbox_state'] = 'status actieve mailbox bewerkt';
$PALANG['pViewlog_action_create_alias'] = 'alias toegevoegd';
$PALANG['pViewlog_action_create_alias_domain'] = 'maak domein alias';
$PALANG['pViewlog_action_edit_alias_domain'] = 'Bewerk alias domein'; # XXX
$PALANG['pViewlog_action_edit_alias_domain'] = 'Bewerk alias domein';
$PALANG['pViewlog_action_delete_alias'] = 'alias verwijderd';
$PALANG['pViewlog_action_delete_alias_domain'] = 'verwijder alias domein';
$PALANG['pViewlog_action_edit_alias'] = 'alias bewerkt';
$PALANG['pViewlog_action_edit_alias_state'] = 'status actieve alias bewerkt';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'status actieve domein alias bewerkt';
$PALANG['pViewlog_action_edit_password'] = 'wachtwoord aangepast';
$PALANG['pViewlog_action_create_admin'] = 'create admin'; # XXX
$PALANG['pViewlog_action_edit_admin'] = 'edit admin'; # XXX
$PALANG['pViewlog_action_delete_admin'] = 'delete admin'; # XXX
$PALANG['pViewlog_action_edit_vacation'] = 'edit vacation'; # XXX
$PALANG['pViewlog_action_create_fetchmail'] = 'create fetchmail job'; # XXX
$PALANG['pViewlog_action_edit_fetchmail'] = 'edit fetchmail job'; # XXX
$PALANG['pViewlog_action_delete_fetchmail'] = 'delete fetchmail job'; # XXX
$PALANG['pViewlog_action_create_admin'] = 'aanmaken administrator';
$PALANG['pViewlog_action_edit_admin'] = 'aanpassen administrator';
$PALANG['pViewlog_action_delete_admin'] = 'verwijderen administrator';
$PALANG['pViewlog_action_edit_vacation'] = 'aanpassen vakatie';
$PALANG['pViewlog_action_create_fetchmail'] = 'aanmaken fetchmail job';
$PALANG['pViewlog_action_edit_fetchmail'] = 'aanpassen fetchmail job';
$PALANG['pViewlog_action_delete_fetchmail'] = 'verwijderen fetchmail job';
$PALANG['pViewlog_result_error'] = 'Mislukt om de logs te vinden!';
@ -225,8 +238,8 @@ $PALANG['subject'] = 'Onderwerp';
$PALANG['pSendmail_subject_text'] = 'Welkom';
$PALANG['pSendmail_body'] = 'Inhoud';
$PALANG['pSendmail_button'] = 'Verstuur bericht';
$PALANG['pSendmail_result_error'] = 'Mislukt om mail te versturen! (%s)'; # XXX text change - new: Unable to send email to %s!
$PALANG['pSendmail_result_success'] = 'E-mail verstuurd! (%s)'; # XXX text change - new: Email sent to %s.
$PALANG['pSendmail_result_error'] = 'Mislukt om mail te versturen aan %s!';
$PALANG['pSendmail_result_success'] = 'E-mail verstuurd aan %s.';
$PALANG['pAdminMenu_list_admin'] = 'Beheerders overzicht';
$PALANG['pAdminMenu_list_domain'] = 'Domein overzicht';
@ -239,78 +252,79 @@ $PALANG['pAdminMenu_create_domain'] = 'Voeg Domein toe';
$PALANG['pAdminList_admin_count'] = 'Domeinen';
$PALANG['description'] = 'Omschrijving';
$PALANG['aliases'] = 'Aliassen'; # XXX check text - should be 'Aliases'
$PALANG['pAdminList_domain_quota'] = 'Domein quota (MB)'; # XXX
$PALANG['aliases'] = 'Aliassen';
$PALANG['pAdminList_domain_quota'] = 'Domein quota (MB)';
$PALANG['pAdminList_domain_backupmx'] = 'Back-up MX';
$PALANG['last_modified'] = 'Laatst bewerkt';
$PALANG['pAdminCreate_domain_welcome'] = 'Voeg een nieuw domein toe';
$PALANG['pAdminCreate_domain_domain_text_error'] = 'Het domein bestaat al.';
$PALANG['domain_does_not_exist'] = 'Dit domein bestaat niet!'; # XXX
$PALANG['domain_does_not_exist'] = 'Dit domein bestaat niet!';
$PALANG['pAdminCreate_domain_domain_text_error2'] = 'Het domein is niet geldig!';
$PALANG['pAdminCreate_domain_defaultaliases'] = 'Gebruik standaard aliassen';
$PALANG['pAdminCreate_domain_button'] = 'Voeg Domein toe';
$PALANG['pAdminCreate_domain_result_error'] = 'Mislukt om het domein toe te voegen. (%s)'; # XXX Text changed to: Adding the domain %s failed!
$PALANG['pAdminCreate_domain_result_success'] = 'Domein is toegevoegd! (%s)'; # XXX Text changed to: The domain %s has been added.
$PALANG['domain_updated'] = 'Het domein %s is bijgewerkt.'; # XXX
$PALANG['pAdminCreate_domain_result_error'] = 'Het aangemaakt van domein %s is mislukt!';
$PALANG['pAdminCreate_domain_result_success'] = 'Domein %s is aangemaakt';
$PALANG['domain_updated'] = 'Het domein %s is bijgewerkt.';
$PALANG['pAdminDelete_admin_error'] = 'Niet in staat beheerder te verwijderen!';
$PALANG['domain_postdel_failed'] = 'Niet in staat domein te verwijderen!'; # XXX Text changed to: The domain postdeletion script failed, check the error log for details!
$PALANG['domain_postcreate_failed'] = 'Het domein vooraanmaak script is mislukt, controleer de log file voor meer informatie!'; # XXX
$PALANG['mailbox_postdel_failed'] = 'Het mailbox postdeletion script is mislukt, controleer de log file voor meer informatie!'; # XXX
$PALANG['mailbox_postedit_failed'] = 'Het mailbox postedit script is mislukt, controleer de log file voor meer informatie'; # XXX
$PALANG['mailbox_postcreate_failed'] = 'Het mailbox postcreate script is mislukt, controleer de log file voor meer informatie!'; # XXX
$PALANG['domain_postdel_failed'] = 'Het script "domein postdeletion" is mislukt, controleer de log file voor meer informatie!';
$PALANG['domain_postcreate_failed'] = 'Het script "domein postcreation" is mislukt, controleer de log file voor meer informatie!';
$PALANG['mailbox_postdel_failed'] = 'Het script "mailbox postdeletion" is mislukt, controleer de log file voor meer informatie!';
$PALANG['mailbox_postedit_failed'] = 'Het script "mailbox postedit" is mislukt, controleer de log file voor meer informatie';
$PALANG['mailbox_postcreate_failed'] = 'Het script "mailbox postcreation" is mislukt, controleer de log file voor meer informatie!';
$PALANG['pAdminDelete_alias_domain_error'] = 'Niet in staat domein alias te verwijderen!';
$PALANG['domain_conflict_vacation_domain'] = 'You can\'t use the vacation domain as mail domain!'; # XXX
$PALANG['domain_conflict_vacation_domain'] = 'Je kunt het vakantie domein niet gebruiken als mail domein!';
$PALANG['pAdminEdit_domain_welcome'] = 'Bewerk een domein';
$PALANG['pAdminEdit_domain_aliases_text'] = '-1 = uit | 0 = onbeperkt';
$PALANG['pAdminEdit_domain_maxquota'] = 'Max Quota';
$PALANG['pAdminEdit_domain_maxquota_text'] = 'MB | -1 = uit | 0 = onbeperkt';
$PALANG['pAdminEdit_domain_quota'] = 'Domein Quota'; # XXX
$PALANG['pAdminEdit_domain_quota'] = 'Domein Quota';
$PALANG['transport'] = 'Transport';
$PALANG['pAdminEdit_domain_transport_text'] = 'Definieer transport';
$PALANG['pAdminEdit_domain_backupmx'] = 'Mail server is back-up MX';
$PALANG['pAdminEdit_domain_result_error'] = 'Het bewerken van domein %s is mislukt!'; # XXX Text changed to: Modifying the domain %s failed!
$PALANG['pAdminEdit_domain_result_error'] = 'Het bewerken van domein %s is mislukt!';
$PALANG['pAdminCreate_admin_welcome'] = 'Voeg een nieuw domein beheerder toe';
$PALANG['email_address'] = 'E-mail adres';
$PALANG['pAdminCreate_admin_username_text_error1'] = 'Beheerder is geen geldig e-mail adres!';
$PALANG['admin_already_exists'] = 'De beheerder bestaat al of is niet geldig'; # XXX Text changed to: The admin already exists!
$PALANG['admin_does_not_exist'] = 'De Beheerder bestaat niet!'; # XXX
$PALANG['admin_already_exists'] = 'De beheerder bestaat al!';
$PALANG['admin_does_not_exist'] = 'De Beheerder bestaat niet!';
$PALANG['pAdminCreate_admin_button'] = 'Voeg beheerder toe';
$PALANG['pAdminCreate_admin_result_error'] = 'Mislukt om beheerder toe te voegen! (%s)'; # XXX Text changed to: Adding the admin %s failed!
$PALANG['pAdminCreate_admin_result_success'] = 'Beheerder is toegevoegd. (%s)'; # XXX Text changed to: The admin %s has been added.
$PALANG['pAdminCreate_admin_result_error'] = 'Het aanmaken van de beheerder %s is mislukt!';
$PALANG['pAdminCreate_admin_result_success'] = 'De beheerder %s is toegevoegd.';
$PALANG['pAdminEdit_admin_welcome'] = 'Bewerk een domein beheerder';
$PALANG['admin'] = 'Beheerder';
$PALANG['password_again'] = 'Wachtwoord (nogmaals)';
$PALANG['super_admin'] = 'Hoofd Beheerder';
$PALANG['super_admin_desc'] = 'De hoofd Beheerder heeft toegang tot alle doameinen en kan alle domeinen en beheeraccounts aanpassen.'; # XXX
$PALANG['pAdminEdit_admin_result_error'] = 'Het bewerken van beheerder %s is mislukt!'; # XXX Text changed to: Modifying the admin %s failed!
$PALANG['pAdminEdit_admin_result_success'] = 'De beheerder %s is aangepast'; # XXX Text changed to: The admin %s has been modified.
$PALANG['super_admin_desc'] = 'De hoofd Beheerder heeft toegang tot alle doameinen en kan alle domeinen en beheeraccounts aanpassen.';
$PALANG['pAdminEdit_admin_result_error'] = 'Het bewerken van beheerder %s is mislukt!';
$PALANG['pAdminEdit_admin_result_success'] = 'De beheerder %s is aangepast';
$PALANG['pUsersLogin_welcome'] = 'Mailbox gebruikers login om uw wachtwoord en aliassen te bewerken.';
$PALANG['pUsersLogin_username_incorrect'] = 'Uw login is niet correct. U dient in te loggen met uw e-mail adres.';
$PALANG['pUsersLogin_password_incorrect'] = 'Uw wachtwoord is niet correct.';
$PALANG['pUsersLogin_password_recover'] = 'Ik ben mijn wachtwoord vergeten';
$PALANG['pUsersMenu_vacation'] = 'Automatisch beantwoorden';
$PALANG['pUsersMenu_edit_alias'] = 'Wijzig uw forward';
$PALANG['pUsersMain_vacation'] = 'Stel een "out of office" bericht of automatisch beantwoorden voor uw e-mail in.';
$PALANG['pUsersMain_vacation'] = 'Stel een "Afwezigheids bericht" bericht of automatisch beantwoorden voor uw e-mail in.';
$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' is actief, click \'' . $PALANG['pUsersMenu_vacation'] . '\' to ' . $PALANG['edit'] . '/verwijderen';
$PALANG['pUsersMain_edit_alias'] = 'Wijzig uw e-mail forwarding.';
$PALANG['pUsersMain_password'] = 'Wijzig uw huidige wachtwoord.';
$PALANG['pUsersVacation_welcome'] = 'Automatisch beantwoorden.';
$PALANG['pUsersVacation_welcome_text'] = 'Automatisch beantwoorden voor %s is active. (%s)'; # XXX Text changed to: 'Auto response for %s is active!'
$PALANG['pUsersVacation_subject_text'] = 'Out of Office';
$PALANG['pUsersVacation_welcome_text'] = 'Automatisch beantwoorden voor %s is active.';
$PALANG['pUsersVacation_subject_text'] = 'Afwezigheids bericht';
$PALANG['message'] = 'Bericht';
$PALANG['pUsersVacation_body_text'] = <<<EOM
Ik zal afwezig zijn van <date> tot <date>.
Ik zal afwezig zijn van %vandatum tot %totdatum.
Voor belangrijke punten kunt u contact opnemen met <contact person>.
EOM;
$PALANG['pUsersVacation_activefrom'] = 'Actief vanaf'; # -> NOT OBSOLETE <-
$PALANG['pUsersVacation_activeuntil'] = 'Actief t/m'; # -> NOT OBSOLETE <-
$PALANG['pUsersVacation_activefrom'] = 'Actief vanaf';
$PALANG['pUsersVacation_activeuntil'] = 'Actief t/m';
$PALANG['pEdit_dbLog_editactive'] = 'status verandert';
@ -323,21 +337,24 @@ $PALANG['pBroadcast_name'] = 'Uw naam';
$PALANG['pBroadcast_success'] = 'Uw algemene bericht is verzonden.';
$PALANG['pAdminMenu_broadcast_message'] = 'Algemeen bericht';
$PALANG['pBroadcast_error_empty'] = 'De velden Naam, Onderwerp en Bericht mogen niet leeg zijn !';
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['broadcast_mailboxes_only'] = 'Verstuur alleen aan mailboxen';
$PALANG['broadcast_to_domains'] = 'Verstuur aan de domeinen:';
$PALANG['pStatus_undeliverable'] = 'Misschien niet af te leveren ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Bezorgen op ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$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."; # XXX
$PALANG['password_no_digits'] = "Je wachtwoord moet minimaal %s getal(len) bevatten."; # XXX
$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['pInvalidDomainDNS'] = "Ongeldig domein %s";
$PALANG['pInvalidMailRegex'] = "Ongeldig email adres %s komt niet door de limietcheck"; # XXX text change to: "Invalid email address %s, fails regexp check"
$PALANG['pFetchmail_welcome'] = 'Haal mail op voor:';
$PALANG['pFetchmail_new_entry'] = 'Nieuw item';
$PALANG['fetchmail_already_exists'] = 'This fetchmail job already exists!'; # XXX
$PALANG['fetchmail_does_not_exist'] = 'This fetchmail job does not exist!'; # XXX
$PALANG['fetchmail_already_exists'] = 'Deze "fetchmail job" bestaat al!';
$PALANG['fetchmail_does_not_exist'] = 'Deze "fetchmail job" bestaat niet!';
$PALANG['pFetchmail_database_save_error'] = 'Niet in staat dit item toe te voegen aan database!';
$PALANG['pFetchmail_database_save_success'] = 'Item opgeslagen in database.';
$PALANG['pFetchmail_error_invalid_id'] = 'Geen item met ID %s gevonden!';
@ -348,6 +365,7 @@ $PALANG['pFetchmail_password_missing'] = 'Wachtwoord!';
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'mailbox';
$PALANG['pFetchmail_field_src_server'] = 'server';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'authenticatietype';
$PALANG['pFetchmail_field_src_user'] = 'gebruiker';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -367,6 +385,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'teruggegeven tekst';
$PALANG['pFetchmail_desc_id'] = 'record ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Naar welke mailbox sturen we de opgehaalde mail.';
$PALANG['pFetchmail_desc_src_server'] = 'andere server.';
$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.';
@ -382,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -138,10 +138,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Kan ikke endre Aliaset! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Opprett en ny epostkonto.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-postadressen er ugyldig!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Du er over grensen for antall e-postkontoer!';
$PALANG['pCreate_mailbox_password_text'] = 'Passord for POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Fornavn og etternavn';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Opprett epostkonto'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Klarte ikke å legge til e-postkontoen! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'E-postkontoen er opprettet! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -169,6 +174,13 @@ $PALANG['pPassword_password_text_error'] = 'Passordene er ikke like! Eller felte
$PALANG['change_password'] = 'Endre Passord';
$PALANG['pPassword_result_error'] = 'Klarte ikke å endre passord! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Passordet ditt er nå endret! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -291,6 +303,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Administratoren er endret/oppdater
$PALANG['pUsersLogin_welcome'] = 'Brukere, logg inn for å endre passord og videresending.';
$PALANG['pUsersLogin_username_incorrect'] = 'Feil brukernavn! Bruk e-postadressen din for å logge inn!';
$PALANG['pUsersLogin_password_incorrect'] = 'Feil passord!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Automatisk Svar';
$PALANG['pUsersMenu_edit_alias'] = 'Endre videresending';
@ -324,10 +337,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -347,6 +363,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -366,6 +383,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -381,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_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -141,10 +141,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Prześlij jedynie na podane adresy.';
$PALANG['pEdit_alias_result_error'] = 'Nie można zmodyfikować aliasu! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Utwórz lokalne konto pocztowe dla Twojej domeny.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Adres EMAIL jest niepoprawny!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Twój limit kont pocztowych został osiągniety!';
$PALANG['pCreate_mailbox_password_text'] = 'Hasło do POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Pełna nazwa';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Utwórz konto'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Nie można dodać konta do tabeli kont! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Konto zostało dodane do tabeli kont! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -172,6 +177,13 @@ $PALANG['pPassword_password_text_error'] = 'Podane hasło nie pasuje! Lub jest p
$PALANG['change_password'] = 'Zmień hasło';
$PALANG['pPassword_result_error'] = 'Nie można zmienić Twojego hasła! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Twoje hasło zostało zmienione! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Zmień / Ustaw wiadomość automatycznej odpowiedzi';
$PALANG['pEdit_vacation_remove'] = 'Usuń wiadomość automatycznej odpowiedzi';
@ -294,6 +306,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Administrator został zmodyfikowan
$PALANG['pUsersLogin_welcome'] = 'Zaloguj się żeby zmienić hasło albo dodać aliasy.';
$PALANG['pUsersLogin_username_incorrect'] = 'Podana nazwa użytkownika jest nieprawidłowa! ';
$PALANG['pUsersLogin_password_incorrect'] = 'Podane hasło jest nieprawidłowe!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Auto odpowiedź';
$PALANG['pUsersMenu_edit_alias'] = 'Zmień przekierowania';
@ -331,10 +344,13 @@ $PALANG['pBroadcast_error_empty'] = 'Pola Nazwa, Temat i Wiadomość nie powinny
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'może być NIEDOSTARCZALNA ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Dostarczyć do ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = 'Hasło jest za krótkie - musi mieć minimum %s znaków';
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = 'Nieprawidłowa nazwa domeny %s';
$PALANG['pInvalidDomainDNS'] = 'Nieprawidłowa domena %s, nie wykrywana w DNS';
@ -353,6 +369,7 @@ $PALANG['pFetchmail_password_missing'] = 'Podaj hasło zdalnego użytkownika!';
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Konto';
$PALANG['pFetchmail_field_src_server'] = 'Serwer';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Uwierzytelnianie';
$PALANG['pFetchmail_field_src_user'] = 'Użytkownik';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -372,6 +389,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Zwrócony tekst';
$PALANG['pFetchmail_desc_id'] = 'ID rekordu';
$PALANG['pFetchmail_desc_mailbox'] = 'Konto lokalne';
$PALANG['pFetchmail_desc_src_server'] = 'Zdalny serwer';
$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'] = 'Najczęściej \'password\''; # Translators, do not translate 'password' here!
$PALANG['pFetchmail_desc_src_user'] = 'Zdalny użytkownik';
$PALANG['pFetchmail_desc_src_password'] = 'Hasło zdalnego użytkownika';
@ -387,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -143,10 +143,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Apenas redirecionar as mensagens para os
$PALANG['pEdit_alias_result_error'] = 'Não foi possível editar o alias! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Criação de uma nova conta de email para o domínio.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Email inválido!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Você alcançou o limite de contas de email!';
$PALANG['pCreate_mailbox_password_text'] = 'Senha para POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Nome completo';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Enviar mensagem de boas-vindas'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Não foi possível criar a conta de email! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Conta de email criada! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -174,6 +179,13 @@ $PALANG['pPassword_password_text_error'] = 'As senhas fornecidas são diferentes
$PALANG['change_password'] = 'Alterar Senha';
$PALANG['pPassword_result_error'] = 'Não foi possível alterar sua senha! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Senha alterada! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Editar / Definir Mensagem';
$PALANG['pEdit_vacation_remove'] = 'Remover Mensagem';
@ -299,6 +311,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Administrador editado! (%s)'; # XX
$PALANG['pUsersLogin_welcome'] = 'Usuários devem se autenticar aqui para troca de senha e configuração de redirecionamento de mensagens.';
$PALANG['pUsersLogin_username_incorrect'] = 'Usuário inválido. Certifique-se de ter digitado o email corretamente!';
$PALANG['pUsersLogin_password_incorrect'] = 'Senha inválida!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Resposta Automática';
$PALANG['pUsersMenu_edit_alias'] = 'Configurar Redirecionamento';
@ -336,11 +349,14 @@ $PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'talvez NÃO-ENTREGÁVEL ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Envia para ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "Senha muito curta - requer %s caracteres";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Nome de domínio inválido %s, falhou checagem por expressão regular";
$PALANG['pInvalidDomainDNS'] = "Domínio inválido %s, e/ou não pôde ser resolvido por DNS";
@ -360,6 +376,7 @@ $PALANG['pFetchmail_password_missing'] = 'Favor fornecer a senha da conta remota
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Conta';
$PALANG['pFetchmail_field_src_server'] = 'Servidor';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Autenticação';
$PALANG['pFetchmail_field_src_user'] = 'Usuário';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -379,6 +396,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Texto retornado';
$PALANG['pFetchmail_desc_id'] = 'ID do registro';
$PALANG['pFetchmail_desc_mailbox'] = 'Conta de email local';
$PALANG['pFetchmail_desc_src_server'] = 'Servidor remoto';
$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'] = 'Quase sempre \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Usuário remoto';
$PALANG['pFetchmail_desc_src_password'] = 'Senha remota';
@ -394,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_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -141,10 +141,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Redirectioneaza numai catre adresa de mai
$PALANG['pEdit_alias_result_error'] = 'Modificarea aliasului %s a esuat!';
$PALANG['pCreate_mailbox_welcome'] = 'Creaza o noua casuta de mail.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'EMAIL nu este valid!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Ati atins limita pentru creare de noi casute de mail!';
$PALANG['pCreate_mailbox_password_text'] = 'Parola de la POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Numele complet';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Trimite mesaj de intampinare';
$PALANG['pCreate_mailbox_result_error'] = 'Crearea casutei de mail %s a esuat!';
$PALANG['pCreate_mailbox_result_success'] = 'Casuta de mail %s a fost adaugata cu succes.';
@ -172,6 +177,13 @@ $PALANG['pPassword_password_text_error'] = 'Parolele nu sunt identice sau nu le-
$PALANG['change_password'] = 'Schimbare parola';
$PALANG['pPassword_result_error'] = 'Schimbarea parolei pentru %s a esuat!';
$PALANG['pPassword_result_success'] = 'Parola pentru %s a fost schimbata.';
$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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Schimbare / Setare mesaj vacanta';
$PALANG['pEdit_vacation_remove'] = 'Stergere mesaj vacanta';
@ -297,6 +309,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Contul de administrator %s a fost
$PALANG['pUsersLogin_welcome'] = 'Schimbare parola si alias-uri utilizatori';
$PALANG['pUsersLogin_username_incorrect'] = 'Nume cont incorect. Verificati introducerea corecta a adresei de email!';
$PALANG['pUsersLogin_password_incorrect'] = 'Parola incorecta!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Raspuns automat';
$PALANG['pUsersMenu_edit_alias'] = 'Redirectionare';
@ -334,11 +347,14 @@ $PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'probabil UNDELIVERABLE ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Livreaza la ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$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['pInvalidDomainRegex'] = "Nume domeniu incorect %s, verificare regexp esuata";
$PALANG['pInvalidDomainDNS'] = "Nume domeniu incorect %s, si/sau nu se poate rezolva in DNS";
@ -358,6 +374,7 @@ $PALANG['pFetchmail_password_missing'] = 'Introduceti parola la distanta!';
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Casuta de mail';
$PALANG['pFetchmail_field_src_server'] = 'Server';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Tip de autentificare';
$PALANG['pFetchmail_field_src_user'] = 'User';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -377,6 +394,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Text returnat';
$PALANG['pFetchmail_desc_id'] = 'Inregistrare ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Casuta email locala';
$PALANG['pFetchmail_desc_src_server'] = 'Server la distanta';
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Utilizator la distanta';
$PALANG['pFetchmail_desc_src_password'] = 'Parola la distanta';
@ -393,6 +411,8 @@ $PALANG['pFetchmail_desc_returned_text'] = 'Mesaj text';
$PALANG['dateformat_pgsql'] = 'YYYY-mm-dd'; # translators: rearrange to your local date format, but make sure it's a valid PostgreSQL date format
$PALANG['dateformat_mysql'] = '%Y-%m-%d'; # translators: rearrange to your local date format, but make sure it's a valid MySQL date format
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -4,6 +4,7 @@
// Language file Russian
// by Paul
// updated by Pavel Usischev (pusischev @sf)
// updated by Dmitry Samoshin (gotty)
//
@ -15,58 +16,58 @@ $PALANG['exit'] = 'Выйти';
$PALANG['cancel'] = 'Отменить';
$PALANG['save'] = 'Сохранить изменения';
$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['check_update'] = 'Проверить обновление';
$PALANG['invalid_parameter'] = 'Некорректный параметр!';
$PALANG['show'] = 'Показать:';
$PALANG['all'] = 'Все';
$PALANG['created'] = 'Created'; # XXX
$PALANG['unknown'] = 'unknown'; # XXX
$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX
$PALANG['missing_field'] = 'Field %s is missing'; # XXX
$PALANG['must_be_numeric'] = '%s must be numeric'; # XXX
$PALANG['must_be_numeric_bigger_than_null'] = '%s must be numeric and bigger than 0'; # XXX
$PALANG['must_be_boolean'] = '%s must be boolean'; # XXX
$PALANG['invalid_value_given'] = 'Invalid value given for %s'; # XXX
$PALANG['edit_not_allowed'] = 'You are not allowed to edit %s'; # XXX
$PALANG['searchparams'] = 'Search parameters:'; # XXX
$PALANG['pFooter_logged_as'] = 'Вошли как %s';
$PALANG['created'] = 'Создано';
$PALANG['unknown'] = 'неизвестно';
$PALANG['download_csv'] = 'Скачать этот список в виде CSV файла';
$PALANG['missing_field'] = 'Поле %s отсутствует';
$PALANG['must_be_numeric'] = '%s должно быть числом';
$PALANG['must_be_numeric_bigger_than_null'] = '%s должно быть числом и больше 0';
$PALANG['must_be_boolean'] = '%s должно иметь тип boolean';
$PALANG['invalid_value_given'] = 'Указано некорректное значение для %s';
$PALANG['edit_not_allowed'] = 'Вы не можете редактировать %s';
$PALANG['searchparams'] = 'Параметры поиска:';
$PALANG['pFooter_logged_as'] = 'Логин: %s';
$PALANG['pLogin_welcome'] = 'Вход для администраторов почтовых доменов.';
$PALANG['pLogin_username'] = 'Имя (адрес e-mail)';
$PALANG['pLogin_username'] = 'Имя (email)';
$PALANG['password'] = 'Пароль';
$PALANG['pLogin_language'] = 'Язык';
$PALANG['pLogin_button'] = 'Войти';
$PALANG['pLogin_failed'] = 'Ваш адрес e-mail или пароль неверен.';
$PALANG['pLogin_failed'] = 'Ваш адрес email или пароль неверен.';
$PALANG['pLogin_login_users'] = 'Вход для обычных пользователей.';
$PALANG['pMenu_main'] = 'Главная';
$PALANG['pMenu_overview'] = 'Обзор';
$PALANG['add_alias'] = 'Создать алиас';
$PALANG['add_alias_domain'] = 'Создать домен-алиас';
$PALANG['add_alias_domain'] = 'Создать алиас домена';
$PALANG['add_mailbox'] = 'Создать ящик';
$PALANG['pMenu_fetchmail'] = 'Сбор почты';
$PALANG['pMenu_sendmail'] = 'Послать письмо';
$PALANG['pMenu_sendmail'] = 'Отправить письмо';
$PALANG['pMenu_password'] = 'Пароль';
$PALANG['pMenu_viewlog'] = 'Просмотреть журнал';
$PALANG['pMenu_logout'] = 'Выход';
$PALANG['pMain_welcome'] = 'Добро пожаловать в Postfix Admin!';
$PALANG['pMain_overview'] = 'Список ваших почтовых ящиков и алиасов. Вы можете удалять и редактировать их отсюда.';
$PALANG['pMain_overview'] = 'Список ваших почтовых ящиков и алиасов. Вы можете редактировать и удалять их отсюда.';
$PALANG['pMain_create_alias'] = 'Создание нового алиаса в вашем домене.';
$PALANG['pMain_create_mailbox'] = 'Создание нового почтового ящика в вашем домене.';
$PALANG['pMain_sendmail'] = 'Отправить письмо на созданный почтовый ящик.';
$PALANG['pMain_password'] = 'Смена пароля для учетной записи администратора.';
$PALANG['pMain_sendmail'] = 'Отправка письма на один из созданных вами почтовых ящиков.';
$PALANG['pMain_password'] = 'Смена пароля для вашей учетной записи администратора.';
$PALANG['pMain_viewlog'] = 'Просмотр журнала работы с системой.';
$PALANG['pMain_logout'] = 'Выход из системы';
$PALANG['pMain_logout'] = 'Выход из системы.';
$PALANG['pOverview_disabled'] = 'Отключено';
$PALANG['pOverview_unlimited'] = 'Неограничено';
@ -74,12 +75,12 @@ $PALANG['pOverview_title'] = ':: Заданные домены';
$PALANG['pOverview_up_arrow'] = 'Наверх';
$PALANG['pOverview_right_arrow'] = 'Следующая страница';
$PALANG['pOverview_left_arrow'] = 'Предыдущая страница';
$PALANG['pOverview_alias_domain_title'] = ':: Домены-алиасы';
$PALANG['pOverview_alias_domain_title'] = ':: Алиасы доменов';
$PALANG['pOverview_alias_title'] = ':: Алиасы';
$PALANG['pOverview_mailbox_title'] = ':: Ящики';
$PALANG['go'] = 'Выбрать';
$PALANG['pOverview_welcome'] = 'Обзор для ';
$PALANG['pOverview_alias_domain_aliases'] = 'Домены-алиасы';
$PALANG['pOverview_alias_domain_aliases'] = 'Алиасы доменов';
$PALANG['pOverview_alias_address'] = 'От';
$PALANG['active'] = 'Активен';
$PALANG['and_x_more'] = '[и еще %s...]';
@ -89,10 +90,10 @@ $PALANG['pOverview_mailbox_quota'] = 'Квота (МБ)';
$PALANG['pOverview_vacation_edit'] = 'ВКЛЮЧЕН АВТООТВЕТЧИК';
$PALANG['pOverview_vacation_option'] = 'Установить автоответчик';
$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['domain'] = 'Домен';
$PALANG['pOverview_get_alias_domains'] = 'Домены-алиасы';
$PALANG['pOverview_get_alias_domains'] = 'Алиасы доменов';
$PALANG['mailboxes'] = 'Ящики';
$PALANG['pOverview_get_quota'] = 'Квота ящика (МБ)';
@ -101,97 +102,109 @@ $PALANG['pDelete_delete_success'] = '%s удален.';
$PALANG['pDelete_domain_error'] = 'Этот домен не принадлежит вам ';
$PALANG['pDelete_alias_error'] = 'Невозможно удалить алиас ';
$PALANG['pCreate_alias_domain_welcome'] = 'Отображать адреса одного вашего домена на другой.';
$PALANG['pCreate_alias_domain_alias'] = 'Домен-алиас';
$PALANG['pCreate_alias_domain_alias_text'] = 'Домен, в который приходит почта.';
$PALANG['pCreate_alias_domain_welcome'] = 'Отображение адреса одного вашего домена на другой';
$PALANG['pCreate_alias_domain_alias'] = 'Алиас домена';
$PALANG['pCreate_alias_domain_alias_text'] = 'Домен, на который приходит почта.';
$PALANG['pCreate_alias_domain_target'] = 'Целевой домен';
$PALANG['pCreate_alias_domain_target_text'] = 'Домен, куда должна направляться почта.';
$PALANG['pCreate_alias_domain_error1'] = 'Вам не разрешено создавать выбранную конфигурацию.';
$PALANG['pCreate_alias_domain_error2'] = 'Выбранная конфигурация некорректна, пожалуйста, выберите другую!';
$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['pEdit_alias_welcome'] = 'Редактирование настроек пересылки';
$PALANG['pEdit_alias_help'] = 'Можно указать несколько целей, одна запись на строку.';
$PALANG['pEdit_alias_help'] = 'Можно указать несколько целей, по одной записи на строку.';
$PALANG['alias'] = 'Алиас';
$PALANG['to'] = 'Кому';
$PALANG['pEdit_alias_goto_text_error1'] = 'Вы ничего не ввели в поле Кому';
$PALANG['pEdit_alias_goto_text_error2'] = 'Вы ввели неверный адрес: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Невозможно изменить домен-алиас!';
$PALANG['pEdit_alias_goto_text_error2'] = 'Вы ввели некорректный почтовый адрес: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Невозможно изменить алиас домена!';
$PALANG['pEdit_alias_forward_and_store'] = 'Доставлять в локальный почтовый ящик.';
$PALANG['pEdit_alias_forward_only'] = 'Только пересылать на указанные адреса.';
$PALANG['pEdit_alias_result_error'] = 'Невозможно изменить алиас! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pEdit_alias_result_error'] = 'Не удалось изменить алиас %s!';
$PALANG['pCreate_mailbox_welcome'] = 'Создание нового почтового ящика для вашего домена.';
$PALANG['pCreate_mailbox_welcome'] = 'Создание нового почтового ящика для вашего домена';
$PALANG['pCreate_mailbox_local_part_error'] = 'Не задано значение до знака @.';
$PALANG['pCreate_mailbox_username_text_error1'] = 'Неверное имя!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Вы достигли лимита по созданию почтовых ящиков!';
$PALANG['pCreate_mailbox_password_text'] = 'Пароль для POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Полное имя';
$PALANG['pCreate_mailbox_phone'] = 'Мобильный телефон';
$PALANG['pCreate_mailbox_phone_desc'] = 'Используется для отправки SMS, если вы забыли пароль';
$PALANG['pCreate_mailbox_email'] = 'Другой email';
$PALANG['pCreate_mailbox_email_desc'] = 'Используется, если вы забыли пароль';
$PALANG['pCreate_mailbox_mail'] = 'Отправить приветственное письмо';
$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['pEdit_mailbox_welcome'] = 'Редактирование почтового ящика вашего домена.';
$PALANG['pEdit_mailbox_username'] = 'Название';
$PALANG['pEdit_mailbox_password_text_error'] = 'Введенные вами пароли не совпадают!';
$PALANG['pEdit_mailbox_quota'] = 'Квота';
$PALANG['pEdit_mailbox_quota_text'] = 'МБ';
$PALANG['mb_max'] = 'MB (max: %s)'; # XXX
$PALANG['mb_max'] = 'МБ (максимум: %s)';
$PALANG['pEdit_mailbox_quota_text_error'] = 'Квота, выставленная вами, слишком велика!';
$PALANG['pEdit_mailbox_domain_error'] = 'Этот домен не принадлежит вам: ';
$PALANG['pEdit_mailbox_domain_error'] = 'Указанный домен не принадлежит вам: ';
$PALANG['pEdit_mailbox_result_error'] = 'Невозможно изменить пароль!';
$PALANG['pPassword_welcome'] = 'Изменение вашего пароля.';
$PALANG['pPassword_admin'] = 'Имя для входа';
$PALANG['pPassword_welcome'] = 'Изменение вашего пароля';
$PALANG['pPassword_admin'] = 'Логин';
$PALANG['pPassword_password_current'] = 'Текущий пароль';
$PALANG['pPassword_password_current_text_error'] = 'Вы не указали ваш текущий пароль!';
$PALANG['pPassword_password'] = 'Новый пароль';
$PALANG['pPassword_password2'] = 'Новый пароль (еще раз)';
$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_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['pPassword_code_text_error'] = 'Неверный код';
$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['pVacation_reply_delay_time'] = 'Interval time'; # XXX
$PALANG['pVacation_reply_delay_time_text'] = 'Time in seconds'; # 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'] = 'Reply once'; # XXX
$PALANG['reply_every_mail'] = 'Reply on every mail'; # XXX
$PALANG['reply_once_per_day'] = 'Reply once a day'; # XXX
$PALANG['reply_once_per_week'] = 'Reply once per week'; # XXX
$PALANG['pViewlog_welcome'] = 'Просмотреть %s последних действий для ';
$PALANG['pVacation_reply_type'] = 'Выбор ответа';
$PALANG['pVacation_reply_delay_time'] = 'Интервал времени';
$PALANG['pVacation_reply_delay_time_text'] = 'Время в секундах';
$PALANG['pVacation_until_before_today'] = 'Дата [Активен по] установлена до Сегодня';
$PALANG['pVacation_until_before_from'] = 'Дата [Активен по] установлена до [Активен с]';
$PALANG['reply_once'] = 'Отвечать один раз';
$PALANG['reply_every_mail'] = 'Отвечать на каждое письмо';
$PALANG['reply_once_per_day'] = 'Отвечать один раз в день';
$PALANG['reply_once_per_week'] = 'Отвечать один раз в неделю';
$PALANG['pViewlog_welcome'] = 'Просмотр %s последних действий для ';
$PALANG['pViewlog_timestamp'] = 'Время создания/модификации';
$PALANG['pViewlog_action'] = 'Действие';
$PALANG['pViewlog_data'] = 'Данные';
@ -204,34 +217,34 @@ $PALANG['pViewlog_action_delete_mailbox'] = 'удаление ящика';
$PALANG['pViewlog_action_edit_mailbox'] = 'редактирование ящика';
$PALANG['pViewlog_action_edit_mailbox_state'] = 'изменение активности ящика';
$PALANG['pViewlog_action_create_alias'] = 'создание алиаса';
$PALANG['pViewlog_action_create_alias_domain'] = 'создание домена-алиаса';
$PALANG['pViewlog_action_edit_alias_domain'] = 'edit alias domain'; # XXX
$PALANG['pViewlog_action_create_alias_domain'] = 'создание алиаса домена';
$PALANG['pViewlog_action_edit_alias_domain'] = 'редактирование алиаса домена';
$PALANG['pViewlog_action_delete_alias'] = 'удаление алиаса';
$PALANG['pViewlog_action_delete_alias_domain'] = 'удаление домена-алиаса';
$PALANG['pViewlog_action_delete_alias_domain'] = 'удаление алиаса домена';
$PALANG['pViewlog_action_edit_alias'] = 'редактирование алиаса';
$PALANG['pViewlog_action_edit_alias_state'] = 'изменение активности алиаса';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'изменение активности домена-алиаса';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'изменение активности алиаса домена';
$PALANG['pViewlog_action_edit_password'] = 'изменение пароля';
$PALANG['pViewlog_action_create_admin'] = 'create admin'; # XXX
$PALANG['pViewlog_action_edit_admin'] = 'edit admin'; # XXX
$PALANG['pViewlog_action_delete_admin'] = 'delete admin'; # XXX
$PALANG['pViewlog_action_edit_vacation'] = 'edit vacation'; # XXX
$PALANG['pViewlog_action_create_fetchmail'] = 'create fetchmail job'; # XXX
$PALANG['pViewlog_action_edit_fetchmail'] = 'edit fetchmail job'; # XXX
$PALANG['pViewlog_action_delete_fetchmail'] = 'delete fetchmail job'; # XXX
$PALANG['pViewlog_action_create_admin'] = 'создание админа';
$PALANG['pViewlog_action_edit_admin'] = 'редактирование админа';
$PALANG['pViewlog_action_delete_admin'] = 'удаление админа';
$PALANG['pViewlog_action_edit_vacation'] = 'редактирование автоответчика';
$PALANG['pViewlog_action_create_fetchmail'] = 'создание задания fetchmail';
$PALANG['pViewlog_action_edit_fetchmail'] = 'редактирование задания fetchmail';
$PALANG['pViewlog_action_delete_fetchmail'] = 'удаление задания fetchmail';
$PALANG['pViewlog_result_error'] = 'Невозможно найти журнал!';
$PALANG['pSendmail_welcome'] = 'Послать письмо.';
$PALANG['pSendmail_welcome'] = 'Отправка письма';
$PALANG['from'] = 'От';
$PALANG['pSendmail_to'] = 'Кому';
$PALANG['pSendmail_to_text_error'] = 'Поле Кому пустое либо содержит некорректный адрес!';
$PALANG['subject'] = 'Тема';
$PALANG['pSendmail_subject_text'] = 'Добро пожаловать!';
$PALANG['pSendmail_body'] = 'Текст';
$PALANG['pSendmail_button'] = 'Послать сообщение';
$PALANG['pSendmail_result_error'] = 'Невозможно отправить сообщение! (%s)'; # XXX text change - new: Unable to send email to %s!
$PALANG['pSendmail_result_success'] = 'Сообщение отправлено! (%s)'; # XXX text change - new: Email sent to %s.
$PALANG['pSendmail_button'] = 'Отправить сообщение';
$PALANG['pSendmail_result_error'] = 'Не удалось отправить сообщение для %s!';
$PALANG['pSendmail_result_success'] = 'Сообщение для %s отправлено.';
$PALANG['pAdminMenu_list_admin'] = 'Список админов';
$PALANG['pAdminMenu_list_domain'] = 'Список доменов';
@ -252,22 +265,22 @@ $PALANG['last_modified'] = 'Последнее изменение';
$PALANG['pAdminCreate_domain_welcome'] = 'Добавление нового домена';
$PALANG['pAdminCreate_domain_domain_text_error'] = 'Домен уже существует!';
$PALANG['domain_does_not_exist'] = 'Этот домен не существует!';
$PALANG['domain_does_not_exist'] = 'Указанный домен не существует!';
$PALANG['pAdminCreate_domain_domain_text_error2'] = 'Некорректный домен!';
$PALANG['pAdminCreate_domain_defaultaliases'] = 'Добавить стандартные алиасы для домена';
$PALANG['pAdminCreate_domain_button'] = 'Добавить домен';
$PALANG['pAdminCreate_domain_result_error'] = 'Невозможно добавить домен! (%s)'; # XXX Text changed to: Adding the domain %s failed!
$PALANG['pAdminCreate_domain_result_success'] = 'Домен был добавлен! (%s)'; # XXX Text changed to: The domain %s has been added.
$PALANG['domain_updated'] = 'The domain %s has been updated.'; # XXX
$PALANG['pAdminCreate_domain_result_error'] = 'Не удалось добавить домен %s!';
$PALANG['pAdminCreate_domain_result_success'] = 'Домен %s успешно добавлен.';
$PALANG['domain_updated'] = 'Домен %s успешно обновлен.';
$PALANG['pAdminDelete_admin_error'] = 'Невозможно удалить администратора!';
$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['pAdminDelete_alias_domain_error'] = 'Невозможно удалить домен-алиас!';
$PALANG['domain_conflict_vacation_domain'] = 'You can\'t use the vacation domain as mail domain!'; # XXX
$PALANG['domain_postdel_failed'] = 'Не удалось корректно выполнить скрипт после удаления домена, подробности смотрите в журнале ошибок!';
$PALANG['domain_postcreate_failed'] = 'Не удалось корректно выполнить скрипт после создания домена, подробности смотрите в журнале ошибок!';
$PALANG['mailbox_postdel_failed'] = 'Не удалось корректно выполнить скрипт после удаления почтового ящика, подробности смотрите в журнале ошибок!';
$PALANG['mailbox_postedit_failed'] = 'Не удалось корректно выполнить скрипт после изменения почтового ящика, подробности смотрите в журнале ошибок!';
$PALANG['mailbox_postcreate_failed'] = 'Не удалось корректно выполнить скрипт после создания почтового ящика, подробности смотрите в журнале ошибок!';
$PALANG['pAdminDelete_alias_domain_error'] = 'Невозможно удалить алиас домена!';
$PALANG['domain_conflict_vacation_domain'] = 'Вы не можете использовать домен автоответчика в качестве почтового домена!';
$PALANG['pAdminEdit_domain_welcome'] = 'Редактирование домена';
$PALANG['pAdminEdit_domain_aliases_text'] = '-1 = отключить | 0 = неограниченное';
@ -277,39 +290,40 @@ $PALANG['pAdminEdit_domain_quota'] = 'Квота домена';
$PALANG['transport'] = 'Транспорт';
$PALANG['pAdminEdit_domain_transport_text'] = 'Укажите транспорт';
$PALANG['pAdminEdit_domain_backupmx'] = 'Почтовый сервер является резервным MX';
$PALANG['pAdminEdit_domain_result_error'] = 'Невозможно изменить домен! (%s)'; # XXX Text changed to: Modifying the domain %s failed!
$PALANG['pAdminEdit_domain_result_error'] = 'Не удалось изменить домен %s!';
$PALANG['pAdminCreate_admin_welcome'] = 'Добавление нового администратора домена';
$PALANG['email_address'] = 'Почтовый адрес';
$PALANG['pAdminCreate_admin_username_text_error1'] = 'Некорректный адрес администратора!';
$PALANG['admin_already_exists'] = 'Администратор уже существует либо некорректное имя'; # XXX Text changed to: The admin already exists!
$PALANG['admin_does_not_exist'] = 'The admin does not exist!'; # XXX
$PALANG['admin_already_exists'] = 'Администратор уже существует!';
$PALANG['admin_does_not_exist'] = 'Администратор не существует!';
$PALANG['pAdminCreate_admin_button'] = 'Добавить администратора';
$PALANG['pAdminCreate_admin_result_error'] = 'Невозможно добавить администратора! (%s)'; # XXX Text changed to: Adding the admin %s failed!
$PALANG['pAdminCreate_admin_result_success'] = 'Администратор был добавлен! (%s)'; # XXX Text changed to: The admin %s has been added.
$PALANG['pAdminCreate_admin_result_error'] = 'Не удалось добавить администратора %s!';
$PALANG['pAdminCreate_admin_result_success'] = 'Администратор %s успешно добавлен!';
$PALANG['pAdminEdit_admin_welcome'] = 'Редактирование администратора домена';
$PALANG['admin'] = 'Администратор'; # XXX check text - should be 'Admin'
$PALANG['pAdminEdit_admin_welcome'] = 'Редактирование настроек администратора домена';
$PALANG['admin'] = 'Админ';
$PALANG['password_again'] = 'Пароль (еще раз)';
$PALANG['super_admin'] = 'Супер админ';
$PALANG['super_admin_desc'] = 'Super admins have access to all domains, can manage domains and admin accounts.'; # XXX
$PALANG['pAdminEdit_admin_result_error'] = 'Невозможно изменить администратора! (%s)'; # XXX Text changed to: Modifying the admin %s failed!
$PALANG['pAdminEdit_admin_result_success'] = 'Администратор был изменен! (%s)'; # XXX Text changed to: The admin %s has been modified.
$PALANG['super_admin'] = 'Суперадмин';
$PALANG['super_admin_desc'] = 'Суперадмины имеют доступ ко всем доменам, могут управлять доменами и учетными записями администраторов.';
$PALANG['pAdminEdit_admin_result_error'] = 'Не удалось изменить настройки администратора %s!';
$PALANG['pAdminEdit_admin_result_success'] = 'Настройки администратора %s успешно изменены!';
$PALANG['pUsersLogin_welcome'] = 'Вход пользователей для изменения пароля и алиасов.';
$PALANG['pUsersLogin_username_incorrect'] = 'Введено неправильное имя. Проверьте, что вы ввели свой адрес электронной почты!';
$PALANG['pUsersLogin_password_incorrect'] = 'Введен неверный пароль!';
$PALANG['pUsersLogin_password_recover'] = 'Я забыл свой пароль';
$PALANG['pUsersMenu_vacation'] = 'Автоответчик';
$PALANG['pUsersMenu_edit_alias'] = 'Изменить пересылку почты';
$PALANG['pUsersMain_vacation'] = 'Настроить сообщение "вне офиса" либо автоответчик для вашей почты.';
$PALANG['pUsersMain_vacationSet'] = 'Автоответчик ВКЛЮЧЕН, щелкните \'Автоответчик\', чтобы его редактировать/убрать';
$PALANG['pUsersMain_vacationSet'] = 'Автоответчик ВКЛЮЧЕН, нажмите \'Автоответчик\' для редактирования/удаления';
$PALANG['pUsersMain_edit_alias'] = 'Изменить перенаправление почты.';
$PALANG['pUsersMain_password'] = 'Изменить текущий пароль.';
$PALANG['pUsersVacation_welcome'] = 'Автоответчик.';
$PALANG['pUsersVacation_welcome_text'] = 'У вас уже есть настроенный автоответчик! (%s)'; # XXX Text changed to: 'Auto response for %s is active!'
$PALANG['pUsersVacation_welcome_text'] = 'Автоответчик для %s включен!';
$PALANG['pUsersVacation_subject_text'] = 'Вне офиса';
$PALANG['message'] = 'Сообщение';
$PALANG['pUsersVacation_body_text'] = <<<EOM
@ -329,49 +343,53 @@ $PALANG['pReturn_to'] = 'Вернуться к';
$PALANG['pBroadcast_title'] = 'Отправка широковещательного сообщения';
$PALANG['pBroadcast_name'] = 'Ваше имя';
$PALANG['pBroadcast_success'] = 'Ваше широковещательное сообщение было отправлено.';
$PALANG['pBroadcast_success'] = 'Ваше широковещательное сообщение успешно отправлено.';
$PALANG['pAdminMenu_broadcast_message'] = 'Широковещательное сообщение';
$PALANG['pBroadcast_error_empty'] = 'Поля Имя, Тема и Сообщение не должны быть пустыми!';
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['broadcast_mailboxes_only'] = 'Отправить только на почтовые ящики';
$PALANG['broadcast_to_domains'] = 'Отправить на домены:';
$PALANG['pStatus_undeliverable'] = 'возможно НЕ ДОСТАВЛЕНО ';
$PALANG['pStatus_disabled'] = 'Учетная запись отключена ';
$PALANG['pStatus_expired'] = 'Срок действия пароля истек ';
$PALANG['pStatus_vacation'] = 'Автоответчик включен ';
$PALANG['pStatus_custom'] = 'Доставляется для ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$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_welcome'] = 'Собирать почту для:';
$PALANG['pFetchmail_new_entry'] = 'Новая запись';
$PALANG['fetchmail_already_exists'] = 'This fetchmail job already exists!'; # XXX
$PALANG['fetchmail_does_not_exist'] = 'This fetchmail job does not exist!'; # XXX
$PALANG['pFetchmail_database_save_error'] = 'Не удалось сохранить эту запись в базе данных!';
$PALANG['fetchmail_already_exists'] = 'Указанное задание fetchmail уже существует!';
$PALANG['fetchmail_does_not_exist'] = 'Указанное задание fetchmail не существует!';
$PALANG['pFetchmail_database_save_error'] = 'Не удалось сохранить запись в базе данных!';
$PALANG['pFetchmail_database_save_success'] = 'Запись сохранена в базе данных.';
$PALANG['pFetchmail_error_invalid_id'] = 'Не найдена запись с номером %s!';
$PALANG['pFetchmail_invalid_mailbox'] = 'Некорректный почтовый ящик!';
$PALANG['pFetchmail_server_missing'] = 'Пожалуйста введите имя удаленного сервера!';
$PALANG['pFetchmail_user_missing'] = 'Пожалуйста введите имя удаленного пользователя!';
$PALANG['pFetchmail_password_missing'] = 'Пожалуйста введите пароль удаленного пользователя!';
$PALANG['pFetchmail_server_missing'] = 'Пожалуйста, введите имя удаленного сервера!';
$PALANG['pFetchmail_user_missing'] = 'Пожалуйста, введите имя удаленного пользователя!';
$PALANG['pFetchmail_password_missing'] = 'Пожалуйста, введите пароль удаленного пользователя!';
$PALANG['pFetchmail_field_id'] = 'Номер';
$PALANG['pFetchmail_field_mailbox'] = 'Ящик';
$PALANG['pFetchmail_field_src_server'] = 'Сервер';
$PALANG['pFetchmail_field_src_port'] = 'Порт';
$PALANG['pFetchmail_field_src_auth'] = 'Тип аутентификации';
$PALANG['pFetchmail_field_src_user'] = 'Пользователь';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
$PALANG['pFetchmail_field_src_folder'] = 'Папка';
$PALANG['pFetchmail_field_poll_time'] = 'Опрашивать';
$PALANG['pFetchmail_field_fetchall'] = 'Скачивать все';
$PALANG['pFetchmail_field_fetchall'] = 'Забирать все';
$PALANG['pFetchmail_field_keep'] = 'Не удалять';
$PALANG['pFetchmail_field_protocol'] = 'Протокол';
$PALANG['pFetchmail_field_usessl'] = 'Включить SSL';
$PALANG['pFetchmail_field_sslcertck'] = 'SSL certificate check'; # XXX
$PALANG['pFetchmail_field_sslcertpath'] = 'SSL path to certificates'; # XXX
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL fingerprint (md5)'; # XXX
$PALANG['pFetchmail_field_sslcertck'] = 'Проверка SSL сертификата';
$PALANG['pFetchmail_field_sslcertpath'] = 'Путь к SSL сертификатам';
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL отпечаток (md5)';
$PALANG['pFetchmail_field_extra_options'] = 'Дополнительные параметры';
$PALANG['pFetchmail_field_mda'] = 'MDA';
$PALANG['pFetchmail_field_date'] = 'Дата';
@ -379,21 +397,24 @@ $PALANG['pFetchmail_field_returned_text'] = 'Текст отчета';
$PALANG['pFetchmail_desc_id'] = 'Номер записи';
$PALANG['pFetchmail_desc_mailbox'] = 'Локальный ящик';
$PALANG['pFetchmail_desc_src_server'] = 'Удаленный сервер';
$PALANG['pFetchmail_desc_src_port'] = 'Номер удаленного порта, если требуется нестандартный удаленный порт. (0: использовать порт по умолчанию)';
$PALANG['pFetchmail_desc_src_auth'] = 'Обычно \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Удаленный пользователь';
$PALANG['pFetchmail_desc_src_password'] = 'Удаленный пароль';
$PALANG['pFetchmail_desc_src_folder'] = 'Удаленная папка';
$PALANG['pFetchmail_desc_poll_time'] = 'Опрашивать каждые ... минут';
$PALANG['pFetchmail_desc_fetchall'] = 'Скачивать и старые (виденные), и новые сообщения';
$PALANG['pFetchmail_desc_keep'] = 'Не удалять скачанные сообщения с удаленного сервера';
$PALANG['pFetchmail_desc_protocol'] = 'Какой протокол использовать';
$PALANG['pFetchmail_desc_fetchall'] = 'Забирать как старые (просмотренные), так и новые сообщения';
$PALANG['pFetchmail_desc_keep'] = 'Не удалять полученные сообщения с удаленного сервера';
$PALANG['pFetchmail_desc_protocol'] = 'Используемый протокол';
$PALANG['pFetchmail_desc_usessl'] = 'Шифрование SSL';
$PALANG['pFetchmail_desc_extra_options'] = 'Дополнительные параметры fetchmail';
$PALANG['pFetchmail_desc_mda'] = 'Агент доставки почты (Mail Delivery Agent)';
$PALANG['pFetchmail_desc_mda'] = 'Агент доставки почты (MDA)';
$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_expiration'] = 'Пароль истекает';
$PALANG['password_expiration_desc'] = 'Дата истечения срока действия пароля';
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -12,45 +12,45 @@ $PALANG['edit'] = 'upraviť';
$PALANG['del'] = 'zmazať';
$PALANG['exit'] = 'Naspäť';
$PALANG['cancel'] = 'Zrušiť';
$PALANG['save'] = 'Uložiť'; # XXX Text change: "Save" -> "Save changes"
$PALANG['save'] = 'Uložiť zmeny';
$PALANG['confirm'] = 'Ste si istí?\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'] = 'Naozaj chcete zmazať všetky záznamy v tejto doméne? Toto nie je možné vrátiť!\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'] = 'Naozaj chcete zmazať administrátora %s?';
$PALANG['confirm_delete_alias'] = 'Naozaj chcete zmazať alias %s?';
$PALANG['confirm_delete_aliasdomain'] = 'Naozaj chcete zmazať alias domény %s?';
$PALANG['confirm_delete_domain'] = 'Naozaj chcete zmazať všetky záznamy v doméne %s? Toto nie je možné vrátiť!';
$PALANG['confirm_delete_fetchmail'] = 'Naozaj chcete zmazať sťahovanie emailu %s?';
$PALANG['confirm_delete_mailbox'] = 'Naozaj chcete zmazať schránku %s?';
$PALANG['confirm_delete_vacation'] = 'Naozaj chcete zmazať automatickú odpoveď pre %s?';
$PALANG['no_delete_permissions'] = 'Nemáte oprávnenie zmazať %s!';
$PALANG['check_update'] = 'Skontrolovať aktualizácie';
$PALANG['invalid_parameter'] = 'Neplatný parameter!';
$PALANG['show'] = 'Show:'; # XXX
$PALANG['all'] = 'All'; # XXX
$PALANG['created'] = 'Created'; # XXX
$PALANG['unknown'] = 'unknown'; # XXX
$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX
$PALANG['missing_field'] = 'Field %s is missing'; # XXX
$PALANG['must_be_numeric'] = '%s must be numeric'; # XXX
$PALANG['must_be_numeric_bigger_than_null'] = '%s must be numeric and bigger than 0'; # XXX
$PALANG['must_be_boolean'] = '%s must be boolean'; # XXX
$PALANG['invalid_value_given'] = 'Invalid value given for %s'; # XXX
$PALANG['edit_not_allowed'] = 'You are not allowed to edit %s'; # XXX
$PALANG['searchparams'] = 'Search parameters:'; # XXX
$PALANG['pFooter_logged_as'] = 'Prihlásený ako %s'; # XXX Text change: 'logged in as %s' (the 'in' was missing)
$PALANG['show'] = 'Zobraz:';
$PALANG['all'] = 'Všetko';
$PALANG['created'] = 'Vytvorené';
$PALANG['unknown'] = 'neznáme';
$PALANG['download_csv'] = 'Stiahnuť ako CSV súbor';
$PALANG['missing_field'] = 'Pole %s chýba';
$PALANG['must_be_numeric'] = '%s musí byť číslo';
$PALANG['must_be_numeric_bigger_than_null'] = '%s musí byť číslo väčšie ako 0';
$PALANG['must_be_boolean'] = '%s musí byť typu boolean';
$PALANG['invalid_value_given'] = 'Neplatná hodnota zadaná pre %s';
$PALANG['edit_not_allowed'] = 'Nemáte oprávnenie upravovať %s';
$PALANG['searchparams'] = 'Parametre hľadania:';
$PALANG['pFooter_logged_as'] = 'Prihlásený ako %s';
$PALANG['pLogin_welcome'] = 'Prihlásenie administrátorov pre správu domén';
$PALANG['pLogin_username'] = 'Užívateľské meno (email)';
$PALANG['password'] = 'Heslo';
$PALANG['pLogin_language'] = 'Language'; # XXX
$PALANG['pLogin_language'] = 'Jazyk';
$PALANG['pLogin_button'] = 'Prihlásiť';
$PALANG['pLogin_failed'] = 'Váš email alebo heslo nie je správne.';
$PALANG['pLogin_login_users'] = 'Vstup do užívateľskej sekcie';
$PALANG['pMenu_main'] = 'Hlavné';
$PALANG['pMenu_overview'] = 'Prehľad';
$PALANG['add_alias'] = 'Nový alias'; # XXX check text - should be 'Add Alias'
$PALANG['add_alias_domain'] = 'Nový alias domény'; # XXX check text - should be 'Add Alias Domain'
$PALANG['add_mailbox'] = 'Nová schránka'; # XXX check text - should be 'Add Mailbox'
$PALANG['add_alias'] = 'Pridať alias';
$PALANG['add_alias_domain'] = 'Pridať alias domény';
$PALANG['add_mailbox'] = 'Pridať schránku';
$PALANG['pMenu_fetchmail'] = 'Sťahovanie emailu';
$PALANG['pMenu_sendmail'] = 'Poslať email';
$PALANG['pMenu_password'] = 'Zmeniť heslo';
@ -59,7 +59,7 @@ $PALANG['pMenu_logout'] = 'Odhlásiť';
$PALANG['pMain_welcome'] = 'Vitajte v Postfix Admine!';
$PALANG['pMain_overview'] = 'Výpis aliasov a schránok. Môžete ich tu upravovať a mazať.';
$PALANG['pMain_create_alias'] = 'Vytvoriť alias v tejto doméne.'; # XXX check text - should be 'Create a new alias for your domain.'
$PALANG['pMain_create_alias'] = 'Vytvoriť alias v tejto doméne.';
$PALANG['pMain_create_mailbox'] = 'Vytvoriť schránku v tejto doméne.';
$PALANG['pMain_sendmail'] = 'Poslať email do jednej zo schránok.';
$PALANG['pMain_password'] = 'Zmeniť heslo administrátorského účtu.';
@ -79,15 +79,15 @@ $PALANG['go'] = 'Prejsť';
$PALANG['pOverview_welcome'] = 'Prehľad pre doménu ';
$PALANG['pOverview_alias_domain_aliases'] = 'Aliasy domén';
$PALANG['pOverview_alias_address'] = 'Od';
$PALANG['active'] = 'Aktívny'; # XXX check text - should be 'Active'
$PALANG['active'] = 'Aktívny';
$PALANG['and_x_more'] = '[a %s ďalších...]';
$PALANG['pOverview_mailbox_username'] = 'Email';
$PALANG['name'] = 'Meno';
$PALANG['pOverview_mailbox_quota'] = 'Kvóta (MB)';
$PALANG['pOverview_vacation_edit'] = 'AUT. ODPOVEĎ';
$PALANG['pOverview_vacation_option'] = 'aut. odpoveď';
$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['no_domains_for_this_admin'] = 'Nemáte oprávnenie pre žiadne domény.';
$PALANG['no_domains_exist'] = 'Musíte vytvoriť aspoň jednu doménu.';
$PALANG['domain'] = 'Doména';
$PALANG['pOverview_get_alias_domains'] = 'Aliasy domén';
@ -105,58 +105,63 @@ $PALANG['pCreate_alias_domain_target'] = 'Cieľová doména';
$PALANG['pCreate_alias_domain_target_text'] = 'Kam sa email presmeruje';
$PALANG['pCreate_alias_domain_error1'] = 'Nie ste oprávnení vytvoriť zvolenú konfiguráciu.';
$PALANG['pCreate_alias_domain_error2'] = 'Zvolená konfigurácia nie je platná, zvoľte inú!';
$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'] = 'Chyba pri vkladaní do databázy. (%s)'; # XXX Text changed to: Creating the alias domain %s failed!
$PALANG['alias_domain_change_failed'] = 'Changing the alias domain %s failed!'; # XXX
$PALANG['alias_domain_already_exists'] = 'Tento alias domény už existuje!';
$PALANG['alias_domain_does_not_exist'] = 'Tento alias domény neexistuje!';
$PALANG['alias_domain_create_failed'] = 'Nepodarilo sa vytvoriť alias domény %s!';
$PALANG['alias_domain_change_failed'] = 'Nepodarilo sa upraviť alias domény %s!';
$PALANG['pCreate_alias_domain_error4'] = 'Všetky domény už majú aliasy.';
$PALANG['pCreate_alias_domain_success'] = 'Alias domény bol pridaný do tabuľky! (%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['pCreate_alias_domain_success'] = 'Alias domény %s bol vytvorený.';
$PALANG['alias_domain_changed'] = 'Alias domény %s bol zmenený.';
$PALANG['alias_domain_to_itsself'] = 'Doména nemôže byť alias na seba!';
$PALANG['delete_domain_aliasdomain_target'] = 'Doména %s je cieľom najmenej jedného aliasu domény a nemôže byť zmazaná! (Najprv zmažte aliasy domén.)';
$PALANG['pCreate_alias_address_text_error1'] = 'Adresa nie je platná!';
$PALANG['alias_does_not_exist'] = 'This alias does not exist!'; # XXX
$PALANG['email_address_already_exists'] = 'Takáto emailová adresa už existuje!'; # XXX check text - should be 'This email address already exists, please choose a different one\!'
$PALANG['alias_does_not_exist'] = 'Tento alias neexistuje!';
$PALANG['email_address_already_exists'] = 'Takáto emailová adresa už existuje!';
$PALANG['pCreate_alias_address_text_error3'] = 'Dosiahli ste limit, nemôžete vytvárať ďalšie aliasy!';
$PALANG['pCreate_alias_goto_text'] = 'Kam má pošta chodiť';
$PALANG['pCreate_alias_goto_text_error'] = 'Cieľ nie je platný!';
$PALANG['pCreate_alias_result_error'] = 'Nepodarilo sa pridať alias do tabuľky! (%s)'; # XXX Text changed to: Creating the alias %s failed!
$PALANG['pCreate_alias_result_success'] = 'Alias bol pridaný do tabuľky!'; # XXX text change: 'The alias %s has been created!'
$PALANG['alias_updated'] = 'The alias %s has been updated!'; # XXX
$PALANG['pCreate_alias_catchall_text'] = 'Pre vytvorenie doménového koša použite * ako alias. Pre alias doména-doména použite *@domain.tld ako cieľ.'; # 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_result_error'] = 'Nepodarilo sa vytvoriť alias %s!';
$PALANG['pCreate_alias_result_success'] = 'Alias %s bol vytvorený.';
$PALANG['alias_updated'] = 'Alias %s bol aktualizovaný.';
$PALANG['pCreate_alias_catchall_text'] = 'Pre vytvorenie doménového koša použite * ako alias. Pre alias doména-doména použite *@domain.tld ako cieľ.';
$PALANG['mailbox_alias_cant_be_deleted'] = 'Tento alias patrí k schránke a nemôže byť zmazaný!';
$PALANG['protected_alias_cant_be_deleted'] = 'Alias %s je chránený a môže ho zmazať len superadmin';
$PALANG['pEdit_alias_welcome'] = 'Upraviť aliasy'; # XXX Text change to: 'Edit forwarding settings'
$PALANG['pEdit_alias_help'] = 'Jeden záznam na riadku'; # XXX # XXX Text change to: 'Accepts multiple targets, one entry per line.'
$PALANG['alias'] = 'Alias'; # XXX
$PALANG['to'] = 'Cieľ'; # XXX check text - should be 'To'
$PALANG['pEdit_alias_welcome'] = 'Upraviť alias';
$PALANG['pEdit_alias_help'] = 'Jeden záznam na riadok.';
$PALANG['alias'] = 'Alias';
$PALANG['to'] = 'Cieľ';
$PALANG['pEdit_alias_goto_text_error1'] = 'Nezadali ste cieľ';
$PALANG['pEdit_alias_goto_text_error2'] = 'Zadaná emailová adresa nie je platná: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Nepodarilo sa zmeniť alias domény!';
$PALANG['pEdit_alias_forward_and_store'] = 'Doručiť aj do lokálnej schránky';
$PALANG['pEdit_alias_forward_only'] = 'Len presmerovať na zadané emailové adresy';
$PALANG['pEdit_alias_result_error'] = 'Nepodarilo se upraviť alias! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pEdit_alias_result_error'] = 'Nepodarilo se upraviť alias %s!';
$PALANG['pCreate_mailbox_welcome'] = 'Vytvoriť novú schránku v doméne';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'Adresa nie je platná!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Dosiahli ste limit, nemôžete vytvárať ďalšie schránky!';
$PALANG['pCreate_mailbox_password_text'] = 'Heslo pre POP3/IMAP/SMTP';
$PALANG['pCreate_mailbox_name_text'] = 'Celé meno';
$PALANG['pCreate_mailbox_mail'] = 'Poslať uvítací email'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Nepodarilo sa pridať schránku do tabuľky! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Schránka bola pridaná do tabuľky! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'Schránka bola pridaná do tabuľky, ale nepodarilo sa vytvoriť (niektoré) definované adresáre (%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_phone'] = 'Mobilný telefón';
$PALANG['pCreate_mailbox_phone_desc'] = "Na odoslanie SMS v prípade zabudnutého hesla";
$PALANG['pCreate_mailbox_email'] = 'Iný e-mail';
$PALANG['pCreate_mailbox_email_desc'] = "Pre prípad zabudnutého hesla";
$PALANG['pCreate_mailbox_mail'] = 'Poslať uvítací email';
$PALANG['pCreate_mailbox_result_error'] = 'Nepodarilo sa vytvoriť schránku %s!';
$PALANG['pCreate_mailbox_result_success'] = 'Schránka %s bola vytvorená.';
$PALANG['pCreate_mailbox_result_succes_nosubfolders'] = 'Schránka %s bola vytvorená, ale nepodarilo sa vytvoriť (niektoré) definované adresáre!';
$PALANG['mailbox_updated'] = "Schránka %s bola upravená.";
$PALANG['mailbox_update_failed'] = "Nepodarilo sa upraviť schránku %s!";
$PALANG['pEdit_mailbox_welcome'] = 'Upraviť schránku v doméne';
$PALANG['pEdit_mailbox_username'] = 'Užívateľské meno';
$PALANG['pEdit_mailbox_password_text_error'] = 'Zadaná heslá se nezhodujú!';
$PALANG['pEdit_mailbox_quota'] = 'Kvóta';
$PALANG['pEdit_mailbox_quota_text'] = 'MB';
$PALANG['mb_max'] = 'MB (max: %s)'; # XXX
$PALANG['mb_max'] = 'MB (max: %s)';
$PALANG['pEdit_mailbox_quota_text_error'] = 'Zadané miesto je príliš veľké!';
$PALANG['pEdit_mailbox_domain_error'] = 'Táto doména nie je vaša: ';
$PALANG['pEdit_mailbox_result_error'] = 'Nepodarilo sa upraviť schránku!';
@ -167,52 +172,59 @@ $PALANG['pPassword_password_current'] = 'Súčasné heslo';
$PALANG['pPassword_password_current_text_error'] = 'Nezadali ste súčasné heslo!';
$PALANG['pPassword_password'] = 'Nové heslo';
$PALANG['pPassword_password2'] = 'Nové heslo (znovu)';
$PALANG['pPassword_password_text_error'] = 'Zadané heslá sú rozdielne alebo prázdne!'; # XXX check/beautify - was split in two lines before
$PALANG['change_password'] = 'Zmeniť heslo'; # XXX check text - should be 'Change Password'
$PALANG['pPassword_result_error'] = 'Nepodarilo sa zmeniť heslo! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Heslo bolo zmenené! (%s)'; # XXX Text changed to: The password for %s has been changed.
$PALANG['pPassword_password_text_error'] = 'Zadané heslá sú rozdielne alebo prázdne!';
$PALANG['change_password'] = 'Zmeniť heslo';
$PALANG['pPassword_result_error'] = 'Nepodarilo sa zmeniť heslo pre %s';
$PALANG['pPassword_result_success'] = 'Heslo bolo zmenené pre %s';
$PALANG['pPassword_recovery_title'] = 'Postup pre zmenu hesla.';
$PALANG['pPassword_recovery_button'] = 'Odoslať kód';
$PALANG['pPassword_recovery_email_body'] = "Použite tento link na zmenu hesla pre email:\n%s\n\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_sms_body'] = "Kód na zmenu vašeho hesla je: %s\n" . $CONF['admin_name'];
$PALANG['pPassword_recovery_processed'] = "We processed your request. Ak ste zadali správne meno, dostanete email/SMS s kódom na zmenu hesla.";
$PALANG['pPassword_password_code'] = 'Kód odoslaný cez email/SMS';
$PALANG['pPassword_code_text_error'] = 'Neplatný kód';
$PALANG['pEdit_vacation_set'] = 'Zmeniť/nastaviť aut. odpoveď';
$PALANG['pEdit_vacation_remove'] = 'Odstrániť aut. odpoveď';
$PALANG['pVacation_result_error'] = 'Neopdarilo sa zmeniť automatickú odpoveď! (%s)'; # XXX Text changed to: Updating the auto response settings for %s failed
$PALANG['pVacation_result_removed'] = 'Automatická odpoveď bola odstránená! (%s)'; # XXX Text changed to "Auto response for %s has been disabled!"
$PALANG['pVacation_result_added'] = 'Automatická odpoveď bola nastavená! (%s)'; # XXX Text changed to "Auto response for %s has been enabled!"
$PALANG['pVacation_reply_type'] = 'Choice of reply'; # XXX
$PALANG['pVacation_reply_delay_time'] = 'Interval time'; # XXX
$PALANG['pVacation_reply_delay_time_text'] = 'Time in seconds'; # 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'] = 'Reply once'; # XXX
$PALANG['reply_every_mail'] = 'Reply on every mail'; # XXX
$PALANG['reply_once_per_day'] = 'Reply once a day'; # XXX
$PALANG['reply_once_per_week'] = 'Reply once per week'; # XXX
$PALANG['pVacation_result_error'] = 'Neopdarilo sa zmeniť automatickú odpoveď pre %s!';
$PALANG['pVacation_result_removed'] = 'Automatická odpoveď pre %s bola odstránená!';
$PALANG['pVacation_result_added'] = 'Automatická odpoveď pre %s bola nastavená!';
$PALANG['pVacation_reply_type'] = 'Ako odpovedať';
$PALANG['pVacation_reply_delay_time'] = 'Časový interval';
$PALANG['pVacation_reply_delay_time_text'] = 'Čas v sekundách';
$PALANG['pVacation_until_before_today'] = 'Dátum [Aktívna do] je v minulosti!';
$PALANG['pVacation_until_before_from'] = 'Dátum [Aktívna do] je starší ako [Aktívna od]!';
$PALANG['reply_once'] = 'Odpovedať raz';
$PALANG['reply_every_mail'] = 'Odpovedať na každú správu';
$PALANG['reply_once_per_day'] = 'Odpovedať raz za deň';
$PALANG['reply_once_per_week'] = 'Odpovedať raz za týždeň';
$PALANG['pViewlog_welcome'] = 'Prehľad %s posledných akcií pre ';
$PALANG['pViewlog_timestamp'] = 'Časová značka';
$PALANG['pViewlog_action'] = 'Akcia';
$PALANG['pViewlog_data'] = 'Podrobnosti';
$PALANG['pViewlog_action_create_domain'] = 'create domain'; # XXX
$PALANG['pViewlog_action_delete_domain'] = 'delete domain'; # XXX
$PALANG['pViewlog_action_edit_domain'] = 'edit domain'; # XXX
$PALANG['pViewlog_action_create_domain'] = 'vytvorenie domény';
$PALANG['pViewlog_action_delete_domain'] = 'zrušenie domény';
$PALANG['pViewlog_action_edit_domain'] = 'zmena domény';
$PALANG['pViewlog_action_create_mailbox'] = 'vytvorenie schránky';
$PALANG['pViewlog_action_delete_mailbox'] = 'zrušenie schránky';
$PALANG['pViewlog_action_edit_mailbox'] = 'zmena schránky';
$PALANG['pViewlog_action_edit_mailbox_state'] = 'zmena aktivity schránky';
$PALANG['pViewlog_action_create_alias'] = 'vytvorenie aliasu';
$PALANG['pViewlog_action_create_alias_domain'] = 'vytvorenie aliasu domény';
$PALANG['pViewlog_action_edit_alias_domain'] = 'edit alias domain'; # XXX
$PALANG['pViewlog_action_edit_alias_domain'] = 'zmena aliasu domény';
$PALANG['pViewlog_action_delete_alias'] = 'zrušenie aliasu';
$PALANG['pViewlog_action_delete_alias_domain'] = 'zrušenie aliasu domény';
$PALANG['pViewlog_action_edit_alias'] = 'zmena aliasu';
$PALANG['pViewlog_action_edit_alias_state'] = 'zmena aktivity aliasu';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'zmena aktivity aliasu domény';
$PALANG['pViewlog_action_edit_password'] = 'zmena hesla';
$PALANG['pViewlog_action_create_admin'] = 'create admin'; # XXX
$PALANG['pViewlog_action_edit_admin'] = 'edit admin'; # XXX
$PALANG['pViewlog_action_delete_admin'] = 'delete admin'; # XXX
$PALANG['pViewlog_action_edit_vacation'] = 'edit vacation'; # XXX
$PALANG['pViewlog_action_create_fetchmail'] = 'create fetchmail job'; # XXX
$PALANG['pViewlog_action_edit_fetchmail'] = 'edit fetchmail job'; # XXX
$PALANG['pViewlog_action_delete_fetchmail'] = 'delete fetchmail job'; # XXX
$PALANG['pViewlog_action_create_admin'] = 'vytvorenie administrátora';
$PALANG['pViewlog_action_edit_admin'] = 'zmena administrátora';
$PALANG['pViewlog_action_delete_admin'] = 'zrušenie administrátora';
$PALANG['pViewlog_action_edit_vacation'] = 'zmena aut. odpovede';
$PALANG['pViewlog_action_create_fetchmail'] = 'vytvorenie sťahovania';
$PALANG['pViewlog_action_edit_fetchmail'] = 'zmena sťahovania';
$PALANG['pViewlog_action_delete_fetchmail'] = 'zrušenie sťahovania';
$PALANG['pViewlog_result_error'] = 'Nepodarilo sa nájsť záznamy!';
@ -224,74 +236,75 @@ $PALANG['subject'] = 'Predmet';
$PALANG['pSendmail_subject_text'] = 'Vitajte';
$PALANG['pSendmail_body'] = 'Obsah';
$PALANG['pSendmail_button'] = 'Poslať email';
$PALANG['pSendmail_result_error'] = 'Nepodarilo sa poslať email! (%s)'; # XXX text change - new: Unable to send email to %s!
$PALANG['pSendmail_result_success'] = 'Email odoslaný! (%s)'; # XXX text change - new: Email sent to %s.
$PALANG['pSendmail_result_error'] = 'Nepodarilo sa poslať email na adresu %s!';
$PALANG['pSendmail_result_success'] = 'Email odoslaný na adresu %s.';
$PALANG['pAdminMenu_list_admin'] = 'Administrátori';
$PALANG['pAdminMenu_list_domain'] = 'Domény';
$PALANG['pAdminMenu_list_virtual'] = 'Aliasy';
$PALANG['pAdminMenu_backup'] = 'Zálohovať';
$PALANG['pAdminMenu_create_domain_admins'] = 'Doménoví administrátori';
$PALANG['pAdminMenu_create_admin'] = 'Nový admin';
$PALANG['pAdminMenu_create_admin'] = 'Nový administrátor';
$PALANG['pAdminMenu_create_domain'] = 'Nová doména';
$PALANG['pAdminList_admin_count'] = 'Domény';
$PALANG['description'] = 'Popis';
$PALANG['aliases'] = 'Aliasov'; # XXX check text - should be 'Aliases'
$PALANG['pAdminList_domain_quota'] = 'Domain quota (MB)'; # XXX
$PALANG['aliases'] = 'Aliasov';
$PALANG['pAdminList_domain_quota'] = 'Doménová kvóta (MB)';
$PALANG['pAdminList_domain_backupmx'] = 'Záložný MX';
$PALANG['last_modified'] = 'Posledná zmena';
$PALANG['pAdminCreate_domain_welcome'] = 'Pridať novú doménu';
$PALANG['pAdminCreate_domain_domain_text_error'] = 'Takáto doména už existuje!';
$PALANG['domain_does_not_exist'] = 'This domain does not exist!'; # XXX
$PALANG['domain_does_not_exist'] = 'Táto doména neexistuje!';
$PALANG['pAdminCreate_domain_domain_text_error2'] = 'Doména nie je platná!';
$PALANG['pAdminCreate_domain_defaultaliases'] = 'Vytvoriť implicitné aliasy';
$PALANG['pAdminCreate_domain_button'] = 'Vytvoriť doménu';
$PALANG['pAdminCreate_domain_result_error'] = 'Nepodarilo sa pridať doménu! (%s)'; # XXX Text changed to: Adding the domain %s failed!
$PALANG['pAdminCreate_domain_result_success'] = 'Doména bola pridaná! (%s)'; # XXX Text changed to: The domain %s has been added.
$PALANG['domain_updated'] = 'The domain %s has been updated.'; # XXX
$PALANG['pAdminDelete_admin_error'] = 'Unable to delete admin!'; # XXX
$PALANG['domain_postdel_failed'] = 'Nepodarilo sa odstrániť doménu!'; # 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['pAdminCreate_domain_result_error'] = 'Nepodarilo sa pridať doménu %s!';
$PALANG['pAdminCreate_domain_result_success'] = 'Doména %s bola pridaná.';
$PALANG['domain_updated'] = 'Doména %s bola zmenená.';
$PALANG['pAdminDelete_admin_error'] = 'Nepodarilo sa zmazať administrátora!';
$PALANG['domain_postdel_failed'] = 'Skript postdeletion pre doménu zlyhal, preverte log!';
$PALANG['domain_postcreate_failed'] = 'Skript postcreate pre doménu zlyhal, preverte log!';
$PALANG['mailbox_postdel_failed'] = 'Skript postdeletion pre schránku zlyhal, preverte log!';
$PALANG['mailbox_postedit_failed'] = 'Skript postedit pre schránku zlyhal, preverte log!';
$PALANG['mailbox_postcreate_failed'] = 'Skript postcreate pre schránku zlyhal, preverte log!';
$PALANG['pAdminDelete_alias_domain_error'] = 'Nepodario sa odstrániť alias domény!';
$PALANG['domain_conflict_vacation_domain'] = 'You can\'t use the vacation domain as mail domain!'; # XXX
$PALANG['domain_conflict_vacation_domain'] = 'Nemôžete použiť doménu automatickej odpovede pre poštu!';
$PALANG['pAdminEdit_domain_welcome'] = 'Upraviť doménu';
$PALANG['pAdminEdit_domain_aliases_text'] = '-1 = zakázať | 0 = neobmedzene';
$PALANG['pAdminEdit_domain_maxquota'] = 'Maximálna kvóta';
$PALANG['pAdminEdit_domain_maxquota_text'] = 'MB | -1 = vypnúť | 0 = neobmedzene'; # XXX check - should be "MB | -1 = disable | 0 = unlimited"
$PALANG['pAdminEdit_domain_quota'] = 'Domain Quota'; # XXX
$PALANG['pAdminEdit_domain_maxquota_text'] = 'MB | -1 = vypnúť | 0 = neobmedzene';
$PALANG['pAdminEdit_domain_quota'] = 'Doménová kvóta';
$PALANG['transport'] = 'Transport';
$PALANG['pAdminEdit_domain_transport_text'] = 'Použiť transport';
$PALANG['pAdminEdit_domain_backupmx'] = 'Mail server je záložný MX';
$PALANG['pAdminEdit_domain_result_error'] = 'Nepodarilo sa upraviť doménu! (%s)'; # XXX Text changed to: Modifying the domain %s failed!
$PALANG['pAdminEdit_domain_result_error'] = 'Nepodarilo sa upraviť doménu %s!';
$PALANG['pAdminCreate_admin_welcome'] = 'Pridať nového administrátora';
$PALANG['email_address'] = 'Emailová adresa';
$PALANG['pAdminCreate_admin_username_text_error1'] = 'Táto adresa nie je platná!';
$PALANG['admin_already_exists'] = 'Takáto adresa už existuje!'; # XXX Text changed to: The admin already exists!
$PALANG['admin_does_not_exist'] = 'The admin does not exist!'; # XXX
$PALANG['admin_already_exists'] = 'Administrátor už existuje!';
$PALANG['admin_does_not_exist'] = 'Administrátor neexistuje!';
$PALANG['pAdminCreate_admin_button'] = 'Vytvoriť administrátora';
$PALANG['pAdminCreate_admin_result_error'] = 'Nepodarilo sa pridať administrátora! (%s)'; # XXX Text changed to: Adding the admin %s failed!
$PALANG['pAdminCreate_admin_result_success'] = 'Administrátor bol pridaný! (%s)'; # XXX Text changed to: The admin %s has been added.
$PALANG['pAdminCreate_admin_result_error'] = 'Nepodarilo sa pridať administrátora %s!';
$PALANG['pAdminCreate_admin_result_success'] = 'Administrátor %s bol pridaný.';
$PALANG['pAdminEdit_admin_welcome'] = 'Upraviť doménového administrátora';
$PALANG['admin'] = 'Užívateľské meno'; # XXX check text - should be 'Admin'
$PALANG['admin'] = 'Užívateľské meno';
$PALANG['password_again'] = 'Heslo (znovu)';
$PALANG['super_admin'] = 'Super admin';
$PALANG['super_admin_desc'] = 'Super admins have access to all domains, can manage domains and admin accounts.'; # XXX
$PALANG['pAdminEdit_admin_result_error'] = 'Nepodarilo sa upraviť administrátora! (%s)'; # XXX Text changed to: Modifying the admin %s failed!
$PALANG['pAdminEdit_admin_result_success'] = 'Administrátor bol upravený! (%s)'; # XXX Text changed to: The admin %s has been modified.
$PALANG['super_admin_desc'] = 'Super admin má prístup k všetkým doménam a spravuje administrátorské účty.';
$PALANG['pAdminEdit_admin_result_error'] = 'Nepodarilo sa upraviť administrátora %s!';
$PALANG['pAdminEdit_admin_result_success'] = 'Administrátor %s bol upravený.';
$PALANG['pUsersLogin_welcome'] = 'Prihlásenie užívateľov pre zmenu hesla alebo presmerovanie';
$PALANG['pUsersLogin_username_incorrect'] = 'Nesprávné užívateľské meno. Prihlasujte sa svojou emailovou adresou!';
$PALANG['pUsersLogin_password_incorrect'] = 'Nesprávne heslo!';
$PALANG['pUsersLogin_password_recover'] = 'Zabudol som heslo';
$PALANG['pUsersMenu_vacation'] = 'Automatická odpoveď';
$PALANG['pUsersMenu_edit_alias'] = 'Presmerovanie';
@ -302,9 +315,9 @@ $PALANG['pUsersMain_edit_alias'] = 'Nastaviť/zmeniť presmerovanie';
$PALANG['pUsersMain_password'] = 'Zmeniť heslo';
$PALANG['pUsersVacation_welcome'] = 'Automatická odpoveď';
$PALANG['pUsersVacation_welcome_text'] = 'Automatická odpoveď je zapnutá! (%s)'; # XXX Text changed to: 'Auto response for %s is active!'
$PALANG['pUsersVacation_welcome_text'] = 'Automatická odpoveď pre %s je zapnutá!';
$PALANG['pUsersVacation_subject_text'] = 'Dovolenka';
$PALANG['message'] = 'Správa'; # XXX check text - should be 'Message'
$PALANG['message'] = 'Správa';
$PALANG['pUsersVacation_body_text'] = <<<EOM
Som na dovolenke od <date> od <date>.
S neodkladnými vecami kontaktujte <contact person>.
@ -322,22 +335,25 @@ $PALANG['pBroadcast_title'] = 'Poslať hromadnú správu všetkým používateľ
$PALANG['pBroadcast_name'] = 'Vaše meno';
$PALANG['pBroadcast_success'] = 'Hromadná správa bola odoslaná.';
$PALANG['pAdminMenu_broadcast_message'] = 'Hromadná správa';
$PALANG['pBroadcast_error_empty'] = 'Polie Vaše meno, Predmet a Obsah nemôžu byť prázdne!';
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pBroadcast_error_empty'] = 'Polia Vaše meno, Predmet a Obsah nemôžu byť prázdne!';
$PALANG['broadcast_mailboxes_only'] = 'Posielať len do schránok';
$PALANG['broadcast_to_domains'] = 'Posielať na domény:';
$PALANG['pStatus_undeliverable'] = 'možno NEDORUČITEĽNÉ ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Doručuje sa na ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$PALANG['password_too_short'] = "Heslo je príliš krátke - musí mať aspoň %s znakov";
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$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";
$PALANG['pInvalidMailRegex'] = "Neplatná emailová adresa %s"; # text change to "Invalid email address %s, fails regexp check"
$PALANG['pFetchmail_welcome'] = 'Sťahovanie emailu pre:';
$PALANG['pFetchmail_new_entry'] = 'Nová položka';
$PALANG['fetchmail_already_exists'] = 'This fetchmail job already exists!'; # XXX
$PALANG['fetchmail_does_not_exist'] = 'This fetchmail job does not exist!'; # XXX
$PALANG['fetchmail_already_exists'] = 'Sťahovanie už existuje!';
$PALANG['fetchmail_does_not_exist'] = 'Sťahovanie neexistuje!';
$PALANG['pFetchmail_database_save_error'] = 'Nepodarilo sa uložiť položku do databázy!';
$PALANG['pFetchmail_database_save_success'] = 'Položka uložená do databázy.';
$PALANG['pFetchmail_error_invalid_id'] = 'Položka s ID %s neexistuje!';
@ -348,6 +364,7 @@ $PALANG['pFetchmail_password_missing'] = 'Zadajte heslo vzdialeného používate
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'Schránka';
$PALANG['pFetchmail_field_src_server'] = 'Server';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Autentifikácia';
$PALANG['pFetchmail_field_src_user'] = 'Meno';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -357,9 +374,9 @@ $PALANG['pFetchmail_field_fetchall'] = 'Staré';
$PALANG['pFetchmail_field_keep'] = 'Ponechať';
$PALANG['pFetchmail_field_protocol'] = 'Protokol';
$PALANG['pFetchmail_field_usessl'] = 'SSL';
$PALANG['pFetchmail_field_sslcertck'] = 'SSL certificate check'; # XXX
$PALANG['pFetchmail_field_sslcertpath'] = 'SSL path to certificates'; # XXX
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL fingerprint (md5)'; # XXX
$PALANG['pFetchmail_field_sslcertck'] = 'SSL kontrola certifikátov';
$PALANG['pFetchmail_field_sslcertpath'] = 'SSL cesta k certifikátom';
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL odtlačok (md5)';
$PALANG['pFetchmail_field_extra_options'] = 'Parametre';
$PALANG['pFetchmail_field_mda'] = 'MDA';
$PALANG['pFetchmail_field_date'] = 'Dátum';
@ -367,6 +384,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Výsledok';
$PALANG['pFetchmail_desc_id'] = 'ID záznamu';
$PALANG['pFetchmail_desc_mailbox'] = 'Lokálna schránka';
$PALANG['pFetchmail_desc_src_server'] = 'Vzdialený server';
$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'] = 'Väčšinou \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Vzdialené meno používateľa';
$PALANG['pFetchmail_desc_src_password'] = 'Vzdialené heslo';
@ -380,8 +398,10 @@ $PALANG['pFetchmail_desc_extra_options'] = 'Ďalšie parametre pre fetchmail'
$PALANG['pFetchmail_desc_mda'] = 'Doručovací program (Mail Delivery Agent)';
$PALANG['pFetchmail_desc_date'] = 'Dátum poslednej zmeny konfigurácie';
$PALANG['pFetchmail_desc_returned_text'] = 'Správa z posledného sťahovania';
$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_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -139,10 +139,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.';
$PALANG['pEdit_alias_result_error'] = 'Aliasa ni bilo mogoče spremeniti! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Ustvari nov predal za izbrano domeno.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-poštni naslov ni pravilen!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Maksimalno število predalov je preseženo!';
$PALANG['pCreate_mailbox_password_text'] = 'Geslo za POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Polno ime';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Ustvari predal'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Predala ni bilo mogoče ustvariti! (%s)'; # XXX Text changed to: Creating the mailbox %s failed!
$PALANG['pCreate_mailbox_result_success'] = 'Predal je bil uspešno ustvarjen! (%s)'; # XXX Text changed to: The mailbox %s has been added to the mailbox table!
@ -170,6 +175,13 @@ $PALANG['pPassword_password_text_error'] = 'Vnešeni gesli se ne ujemata ali pa
$PALANG['change_password'] = 'Spremeni geslo';
$PALANG['pPassword_result_error'] = 'Gesla ni bilo mogoče spremeniti! (%s)'; # XXX Text changed to: Changing the password for %s failed!
$PALANG['pPassword_result_success'] = 'Geslo je bilo uspešno spremenjeno! (%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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -291,6 +303,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Admininstrator je bil uspešno spr
$PALANG['pUsersLogin_welcome'] = 'Če želite spremeniti gesli ali nastaviti sporočilo o odsotnosti, se prijavite.';
$PALANG['pUsersLogin_username_incorrect'] = 'Uporabniško ime ni pravilno! Uporabiti morate svoj e-poštni naslov!';
$PALANG['pUsersLogin_password_incorrect'] = 'Geslo ni pravilno!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Obvestilo o odsotnosti';
$PALANG['pUsersMenu_edit_alias'] = 'Nastavi preusmeritev';
@ -325,10 +338,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s letters (A-Z, a-z)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
@ -347,6 +363,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -366,6 +383,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -381,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_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -142,10 +142,15 @@ $PALANG['pEdit_alias_forward_only'] = 'Vidarebefordra endast till angivna e-post
$PALANG['pEdit_alias_result_error'] = 'Misslyckades att ändra på alias %s!';
$PALANG['pCreate_mailbox_welcome'] = 'Skapa en ny lokal brevlåda i din domän.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-postadressen är inte korrekt!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Du har redan skapat max tillåtet antal brevlådor!';
$PALANG['pCreate_mailbox_password_text'] = 'Lösenord för POP3/IMAP';
$PALANG['pCreate_mailbox_name_text'] = 'Fullständigt namn';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = 'Skicka välkomstmeddelande'; # XXX Text change to 'Send Welcome mail'
$PALANG['pCreate_mailbox_result_error'] = 'Misslyckades att skapa brevlådan %s!';
$PALANG['pCreate_mailbox_result_success'] = 'Brevlådan %s har skapats!';
@ -173,6 +178,13 @@ $PALANG['pPassword_password_text_error'] = 'Lösenorden du angav är olika, elle
$PALANG['change_password'] = 'Ändra lösenord';
$PALANG['pPassword_result_error'] = 'Misslyckades att ändra lösenordet för %s!';
$PALANG['pPassword_result_success'] = 'Lösenord för %s har ändrats!';
$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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = 'Ändra / Aktivera meddelande för ledighet';
$PALANG['pEdit_vacation_remove'] = 'Ta bort meddelande för ledighet';
@ -298,6 +310,7 @@ $PALANG['pAdminEdit_admin_result_success'] = 'Admin har ändrats! (%s)'; # XXX T
$PALANG['pUsersLogin_welcome'] = 'Användare måste logga in här för att ändra lösenord och alias.';
$PALANG['pUsersLogin_username_incorrect'] = 'Inloggningsnamnet är felaktigt. Logga in med din e-postadress!';
$PALANG['pUsersLogin_password_incorrect'] = 'Lösenord är felaktigt!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = 'Autosvar';
$PALANG['pUsersMenu_edit_alias'] = 'Ändra din vidarebefordringsadress';
@ -335,11 +348,14 @@ $PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'kan eventuellt ej levereras ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = 'Levereras till ';
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
$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";
@ -359,6 +375,7 @@ $PALANG['pFetchmail_password_missing'] = 'Var snäll och fyll i lösenordet till
$PALANG['pFetchmail_field_id'] = 'ID';
$PALANG['pFetchmail_field_mailbox'] = 'E-postkonto';
$PALANG['pFetchmail_field_src_server'] = 'Värddator';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Autentiseringstyp';
$PALANG['pFetchmail_field_src_user'] = 'Användarnamn';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -378,6 +395,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returtext';
$PALANG['pFetchmail_desc_id'] = 'Händelse-ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Lokal brevlåda';
$PALANG['pFetchmail_desc_src_server'] = 'Värddator';
$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'] = 'Oftast \'password\'';
$PALANG['pFetchmail_desc_src_user'] = 'Användarnamn';
$PALANG['pFetchmail_desc_src_password'] = 'Lösenord';
@ -394,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['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -3,228 +3,240 @@
//
// Language file Türkçe
// by Onuryalazi
//
// by Özgür Kazancci (Özgür Kazanççı): Turkish characters fixed&Lots of typo(s) corrected and non-Turkish new lines translated
$PALANG['YES'] = 'EVET';
$PALANG['NO'] = 'HAYIR';
$PALANG['edit'] = 'düzenle';
$PALANG['del'] = 'sil';
$PALANG['exit'] = 'Exit'; # XXX
$PALANG['cancel'] = 'Cancel'; # XXX
$PALANG['save'] = 'Save changes'; # XXX
$PALANG['confirm'] = 'Bunu silmek istediðinizden emin misiniz?\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'] = '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['invalid_parameter'] = 'Invalid parameter!'; # XXX
$PALANG['show'] = 'Show:'; # XXX
$PALANG['all'] = 'All'; # XXX
$PALANG['created'] = 'Created'; # XXX
$PALANG['unknown'] = 'unknown'; # XXX
$PALANG['download_csv'] = 'Download this list as CSV file'; # XXX
$PALANG['missing_field'] = 'Field %s is missing'; # XXX
$PALANG['must_be_numeric'] = '%s must be numeric'; # XXX
$PALANG['must_be_numeric_bigger_than_null'] = '%s must be numeric and bigger than 0'; # XXX
$PALANG['must_be_boolean'] = '%s must be boolean'; # XXX
$PALANG['invalid_value_given'] = 'Invalid value given for %s'; # XXX
$PALANG['edit_not_allowed'] = 'You are not allowed to edit %s'; # XXX
$PALANG['searchparams'] = 'Search parameters:'; # XXX
$PALANG['pFooter_logged_as'] = 'Logged in as %s'; # XXX
$PALANG['exit'] = 'Çıkış';
$PALANG['cancel'] = 'İptal';
$PALANG['save'] = 'Değişiklikleri kaydet';
$PALANG['confirm'] = 'Bunu silmek istediğinizden emin misiniz?\n';
$PALANG['confirm_delete_admin'] = 'Şu yöneticiyi silmek istediğinizden emin misiniz: %s?';
$PALANG['confirm_delete_alias'] = 'Şu yönlendirmeyi silmek istediğinizden emin misiniz: %s?';
$PALANG['confirm_delete_aliasdomain'] = 'Şu yönlendirme domainini silmek istediğinizden emin misiniz: %s?';
$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'] = 'Bu e-posta yakalama işlerini silmek istediğinizden emin misiniz: %s?';
$PALANG['confirm_delete_mailbox'] = 'Bu e-posta kutusunu silmek istediğinizden emin misiniz: %s?';
$PALANG['confirm_delete_vacation'] = 'Bu hesap için otomatik tatil mesajlarını silmek istediğinizden emin misiniz: %s?';
$PALANG['no_delete_permissions'] = 'Silmeye yetkiniz yok: %s!';
$PALANG['check_update'] = 'Güncelleştirmeleri denetleyin';
$PALANG['invalid_parameter'] = 'Geçersiz parametre!';
$PALANG['show'] = 'Göster:';
$PALANG['all'] = 'Tümü';
$PALANG['created'] = 'Oluşturuldu';
$PALANG['unknown'] = 'bilinmeyen';
$PALANG['download_csv'] = 'Bu listeyi CSV dosyası olarak indirin';
$PALANG['missing_field'] = 'Girilmesi gereken alan %s boş';
$PALANG['must_be_numeric'] = '%s rakamlardan oluşmalı';
$PALANG['must_be_numeric_bigger_than_null'] = '%s rakamlardan oluşmalı ve sıfırdan büyük olmalı';
$PALANG['must_be_boolean'] = '%s girilen değer boolean olmalı';
$PALANG['invalid_value_given'] = '%s için girilen değer yanlış';
$PALANG['edit_not_allowed'] = 'Düzenlemeye yetkiniz yok: %s';
$PALANG['searchparams'] = 'Arama parametreleri:';
$PALANG['pFooter_logged_as'] = 'Giriş yapılan kullanıcı: %s';
$PALANG['pLogin_welcome'] = 'Posta Yöneticileri buradan domainlerinizi yönetmek için giriþ yapabilirsiniz.';
$PALANG['pLogin_username'] = 'Kullanýcý adý (eposta)'; # # XXX check translation - should be "Login (email)"
$PALANG['password'] = 'Þifre'; # XXX compare with pUsersLogin_password - should be "Password"
$PALANG['pLogin_language'] = 'Language'; # XXX
$PALANG['pLogin_button'] = 'Giriþ'; # XXX compare with pUsersLogin_button - should be "Login"
$PALANG['pLogin_failed'] = 'Your email address or password are not correct.'; # XXX
$PALANG['pLogin_login_users'] = 'Kullanýcý iþlemlerine girmek için burayý kullanýnýz.';
$PALANG['pLogin_welcome'] = 'E-Posta Yöneticileri, buradan domainlerinizi yönetmek için giriş yapabilirsiniz.';
$PALANG['pLogin_username'] = 'Kullanıcı adı (e-posta)'; # # XXX check translation - should be "Login (email)"
$PALANG['password'] = 'Şifre'; # XXX compare with pUsersLogin_password - should be "Password"
$PALANG['pLogin_language'] = 'Dil';
$PALANG['pLogin_button'] = 'Giriş'; # XXX compare with pUsersLogin_button - should be "Login"
$PALANG['pLogin_failed'] = 'E-posta adresiniz veya şifreniz yanlış.';
$PALANG['pLogin_login_users'] = 'Kullanıcı işlemlerine girmek için burayı kullanınız.';
$PALANG['pMenu_main'] = 'Main'; # XXX
$PALANG['pMenu_main'] = 'Ana';
$PALANG['pMenu_overview'] = 'Genel Bilgiler';
$PALANG['add_alias'] = 'Alias Ekle';
$PALANG['add_alias_domain'] = 'Add Alias Domain'; # XXX
$PALANG['add_mailbox'] = 'Posta kutusu ekle';
$PALANG['pMenu_fetchmail'] = 'Fetch Email'; # XXX
$PALANG['add_alias_domain'] = 'Alias Domain Kaydı Ekle';
$PALANG['add_mailbox'] = 'E-posta kutusu ekle';
$PALANG['pMenu_fetchmail'] = 'E-posta Yakala';
$PALANG['pMenu_sendmail'] = 'E-posta Gönder';
$PALANG['pMenu_password'] = 'Þifre';
$PALANG['pMenu_viewlog'] = 'Log Ýncele';
$PALANG['pMenu_logout'] = 'Çýkýþ';
$PALANG['pMenu_password'] = 'Şifre';
$PALANG['pMenu_viewlog'] = 'Logları İncele';
$PALANG['pMenu_logout'] = 'Çıkış';
$PALANG['pMain_welcome'] = 'Postfix Admin\'e hoþ geldiniz!';
$PALANG['pMain_overview'] = 'posta kutularýnýzýn ve aliaslarýnýzýn listesi. buradan silip düzenleyebilirsiniz.';
$PALANG['pMain_create_alias'] = 'Domaininiz icin yeni bir alias yaratýn.'; # XXX check text - should be 'Create a new alias for your domain.'
$PALANG['pMain_create_mailbox'] = 'Domaininiz için yeni bir posta kutusu yaratýn.';
$PALANG['pMain_sendmail'] = 'Yeni yaratmýþ olduðunuz posta kutularýndan birine posta gönderin.';
$PALANG['pMain_password'] = 'Yönetici hesabýnýzýn þifresini deðiþtirin.';
$PALANG['pMain_viewlog'] = 'log dosyalarýný inceleyin.';
$PALANG['pMain_logout'] = 'Sistemden çýkýn.';
$PALANG['pMain_welcome'] = 'Postfix Admin\'e Hoş Geldiniz!';
$PALANG['pMain_overview'] = 'E-posta kutularınızın ve aliaslarınızın listesi. Buradan silip düzenleyebilirsiniz.';
$PALANG['pMain_create_alias'] = 'Domaininiz için yeni bir alias yaratın.'; # XXX check text - should be 'Create a new alias for your domain.'
$PALANG['pMain_create_mailbox'] = 'Domaininiz için yeni bir e-posta kutusu yaratın.';
$PALANG['pMain_sendmail'] = 'Yeni yaratmış olduğunuz e-posta kutularından birine e-posta gönderin.';
$PALANG['pMain_password'] = 'Yönetici hesabınızın şifresini değiştirin.';
$PALANG['pMain_viewlog'] = 'log dosyalarını inceleyin.';
$PALANG['pMain_logout'] = 'Sistemden çıkın.';
$PALANG['pOverview_disabled'] = 'Disabled'; # XXX
$PALANG['pOverview_unlimited'] = 'Unlimited'; # XXX
$PALANG['pOverview_title'] = ':: Defined Domains'; # XXX
$PALANG['pOverview_up_arrow'] = 'Go Top'; # XXX
$PALANG['pOverview_right_arrow'] = 'Next Page'; # XXX
$PALANG['pOverview_left_arrow'] = 'Previous Page'; # XXX
$PALANG['pOverview_alias_domain_title'] = ':: Domain Aliases'; # XXX
$PALANG['pOverview_disabled'] = 'Kapalı';
$PALANG['pOverview_unlimited'] = 'Sınırsız';
$PALANG['pOverview_title'] = ':: Tanımlı Domainler';
$PALANG['pOverview_up_arrow'] = 'En Üste Git';
$PALANG['pOverview_right_arrow'] = 'Sonraki Sayfa';
$PALANG['pOverview_left_arrow'] = 'Önceki Sayfa';
$PALANG['pOverview_alias_domain_title'] = ':: Domain Aliasları';
$PALANG['pOverview_alias_title'] = ':: Alias'; # XXX
$PALANG['pOverview_mailbox_title'] = ':: Mailboxes'; # XXX
$PALANG['pOverview_mailbox_title'] = ':: E-posta Kutuları';
$PALANG['go'] = 'Git';
$PALANG['pOverview_welcome'] = 'Genel Bilgiler: ';
$PALANG['pOverview_alias_domain_aliases'] = 'Alias Domains'; # XXX
$PALANG['pOverview_alias_domain_aliases'] = 'Alias Domainleri';
$PALANG['pOverview_alias_address'] = 'Kimden';
$PALANG['active'] = 'Aktif';
$PALANG['and_x_more'] = '[and %s more...]'; # XXX
$PALANG['pOverview_mailbox_username'] = 'Eposta';
$PALANG['name'] = 'Ýsim';
$PALANG['pOverview_mailbox_quota'] = 'kota (MB)';
$PALANG['pOverview_vacation_edit'] = 'VACATION IS ON'; # XXX
$PALANG['pOverview_vacation_option'] = 'Set Vacation'; # XXX
$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['and_x_more'] = '[ve %s daha fazla...]';
$PALANG['pOverview_mailbox_username'] = 'E-posta';
$PALANG['name'] = 'İsim';
$PALANG['pOverview_mailbox_quota'] = 'Kota (MB)';
$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['domain'] = 'Domain';
$PALANG['pOverview_get_alias_domains'] = 'Domain Aliases'; # XXX
$PALANG['mailboxes'] = 'Postakutularý'; # XXX check / compare with pAdminCreate_domain_mailboxes - should be "Mailboxes"
$PALANG['pOverview_get_quota'] = 'Posta kutusu Kotasý (MB)';
$PALANG['pOverview_get_alias_domains'] = 'Domain Aliasları';
$PALANG['mailboxes'] = 'E-Posta Kutuları'; # XXX check / compare with pAdminCreate_domain_mailboxes - should be "Mailboxes"
$PALANG['pOverview_get_quota'] = 'E-Posta Kutusu Kotası (MB)';
$PALANG['pDelete_delete_error'] = 'Kayýt silinemiyor ';
$PALANG['pDelete_delete_success'] = '%s deleted.'; # XXX
$PALANG['pDelete_domain_error'] = 'Bu domain size ait deðil ';
$PALANG['pDelete_alias_error'] = 'Unable to delete alias '; # XXX
$PALANG['pCreate_alias_domain_welcome'] = 'Mirror addresses of one of your domains to another.'; # XXX
$PALANG['pCreate_alias_domain_alias'] = 'Alias Domain'; # XXX
$PALANG['pCreate_alias_domain_alias_text'] = 'The domain that mails come in for.'; # XXX
$PALANG['pCreate_alias_domain_target'] = 'Target Domain'; # XXX
$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['pDelete_delete_error'] = 'Kayıt silinemiyor ';
$PALANG['pDelete_delete_success'] = '%s silindi.';
$PALANG['pDelete_domain_error'] = 'Bu domain size ait değil ';
$PALANG['pDelete_alias_error'] = 'Alias kaydı silinemedi ';
$PALANG['pCreate_alias_domain_welcome'] = 'Bir domaininizin, bir diğerine yansıyan adresleri.';
$PALANG['pCreate_alias_domain_alias'] = 'Domain Aliasları';
$PALANG['pCreate_alias_domain_alias_text'] = 'Gelen e-postaların domain adresi.';
$PALANG['pCreate_alias_domain_target'] = 'Hedef Domain';
$PALANG['pCreate_alias_domain_target_text'] = 'E-postaların gideceği domain adresi.';
$PALANG['pCreate_alias_domain_error1'] = 'Seçtiğiniz konfigürasyonu oluşturma yetkiniz yok.';
$PALANG['pCreate_alias_domain_error2'] = 'Seçtiğiniz konfigürasyon geçersiz, lütfen bir başka seçim yapınız!';
$PALANG['alias_domain_already_exists'] = 'Bu domain, zaten bir alias domain!';
$PALANG['alias_domain_does_not_exist'] = 'Bu domain bir alias domain değil!';
$PALANG['alias_domain_create_failed'] = 'Belirtilen alias domain %s oluşturulamadı!';
$PALANG['alias_domain_change_failed'] = 'Alias domain %s değişiklikleri yapılamadı!';
$PALANG['pCreate_alias_domain_error4'] = 'Tüm domainler zaten aliaslı şekilde.';
$PALANG['pCreate_alias_domain_success'] = 'Alias domain %s oluşturuldu.';
$PALANG['alias_domain_changed'] = 'Alias domain %s değiştirildi.';
$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_address_text_error3'] = 'Alias limitine ulaþtýnýz!';
$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_address_text_error3'] = 'Alias limitine ulaştınız!';
$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'] = 'Belirtilen alias oluşturulamadı! (%s)'; # XXX Text changed to: Creating the alias %s failed!
$PALANG['pCreate_alias_result_success'] = '%s aliasınız oluşturuldu!'; # XXX text change: 'The alias %s has been created!'
$PALANG['alias_updated'] = '%s aliasınız güncellendi!';
$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['pEdit_alias_goto_text_error1'] = 'Kime kýsmýna hiçbirþey girmediniz.';
$PALANG['pEdit_alias_goto_text_error2'] = 'Girdiðiniz e-posta uygun deðil: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Unable to modify the alias domain!'; # XXX
$PALANG['pEdit_alias_forward_and_store'] = 'Deliver to the local mailbox.'; # XXX
$PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.'; # XXX
$PALANG['pEdit_alias_goto_text_error1'] = 'Kime kısmına hiçbir şey girmediniz.';
$PALANG['pEdit_alias_goto_text_error2'] = 'Girdiğiniz e-posta uygun değil: ';
$PALANG['pEdit_alias_domain_result_error'] = 'Alias domain düzenlenemedi!';
$PALANG['pEdit_alias_forward_and_store'] = 'Yerel bir e-posta hesabına ulaştır.';
$PALANG['pEdit_alias_forward_only'] = 'Sadece belirtilen e-posta adreslerine yönlendirin.';
$PALANG['pEdit_alias_result_error'] = 'Alias düzenlenemiyor! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = 'Domaininiz için yeni bir lokal e-posta yaratýn.';
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-POSTA uygun deðil!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'Posta kutusu yaratma limitinize eriþtiniz!';
$PALANG['pCreate_mailbox_password_text'] = 'POP3/IMAP için þifre';
$PALANG['pCreate_mailbox_welcome'] = 'Domaininiz için yeni bir lokal e-posta yaratın.';
$PALANG['pCreate_mailbox_local_part_error'] = '@ işaretinden önce değer belirtilmeli.';
$PALANG['pCreate_mailbox_username_text_error1'] = 'E-posta uygun değil!';
$PALANG['pCreate_mailbox_username_text_error3'] = 'E-posta kutusu yaratma limitinize eriştiniz!';
$PALANG['pCreate_mailbox_password_text'] = 'POP3/IMAP için şifre';
$PALANG['pCreate_mailbox_name_text'] = 'Tam isim';
$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_phone'] = 'Cep telefonu';
$PALANG['pCreate_mailbox_phone_desc'] = "Şifrenizi unuttuğunuz durumlarda SMS gönderilmesi için";
$PALANG['pCreate_mailbox_email'] = 'Diğer e-posta';
$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['mailbox_updated'] = "E-posta hesabı %s güncelleştirildi.";
$PALANG['mailbox_update_failed'] = "E-posta hesabının güncelleştirilmesi başarısız: %s";
$PALANG['pEdit_mailbox_welcome'] = 'Domaninizdeki bir posta kutusunu düzenleyin.';
$PALANG['pEdit_mailbox_username'] = 'kullanýcý adý'; # XXX check / compare with pCreate_mailbox_username - should be "Username"
$PALANG['pEdit_mailbox_password_text_error'] = 'Verdiðiniz þifreler birbirini tutmuyor!';
$PALANG['pEdit_mailbox_quota'] = 'kota';
$PALANG['pEdit_mailbox_welcome'] = 'Domaininize ait bir e-posta kutusunu düzenleyin.';
$PALANG['pEdit_mailbox_username'] = 'Kullanıcı adı'; # XXX check / compare with pCreate_mailbox_username - should be "Username"
$PALANG['pEdit_mailbox_password_text_error'] = 'Verdiğiniz şifreler birbirini tutmuyor!';
$PALANG['pEdit_mailbox_quota'] = 'Kota';
$PALANG['pEdit_mailbox_quota_text'] = 'MB';
$PALANG['mb_max'] = 'MB (max: %s)'; # XXX
$PALANG['pEdit_mailbox_quota_text_error'] = 'Verdiðiniz kota çok yüksek!';
$PALANG['pEdit_mailbox_domain_error'] = 'Bu domain dizin deðil: ';
$PALANG['pEdit_mailbox_result_error'] = 'Þifre deðiþtirilemedi!';
$PALANG['mb_max'] = 'MB (maks: %s)';
$PALANG['pEdit_mailbox_quota_text_error'] = 'Verdiğiniz kota çok yüksek!';
$PALANG['pEdit_mailbox_domain_error'] = 'Bu domain dizin değil: ';
$PALANG['pEdit_mailbox_result_error'] = 'Şifre değiştirilemedi!';
$PALANG['pPassword_welcome'] = 'Giriþ þifrenizi deðiþtirin.';
$PALANG['pPassword_admin'] = 'Giriþ';
$PALANG['pPassword_password_current'] = 'þuanki þifre';
$PALANG['pPassword_password_current_text_error'] = 'Þuanki þifrenizi vermediniz!';
$PALANG['pPassword_password'] = 'Yeni Þifre';
$PALANG['pPassword_password2'] = 'Yeni þifre (tekrar)';
$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['pEdit_vacation_set'] = 'Change / Set away message'; # XXX
$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
$PALANG['pVacation_result_removed'] = 'Auto response for %s has been disabled!'; # XXX
$PALANG['pVacation_result_added'] = 'Auto response for %s has been enabled!'; # XXX
$PALANG['pVacation_reply_type'] = 'Choice of reply'; # XXX
$PALANG['pVacation_reply_delay_time'] = 'Interval time'; # XXX
$PALANG['pVacation_reply_delay_time_text'] = 'Time in seconds'; # 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'] = 'Reply once'; # XXX
$PALANG['reply_every_mail'] = 'Reply on every mail'; # XXX
$PALANG['reply_once_per_day'] = 'Reply once a day'; # XXX
$PALANG['reply_once_per_week'] = 'Reply once per week'; # XXX
$PALANG['pPassword_welcome'] = 'Giriş şifrenizi değiştirin.';
$PALANG['pPassword_admin'] = 'Giriş';
$PALANG['pPassword_password_current'] = 'Mevcut şifre';
$PALANG['pPassword_password_current_text_error'] = 'Şu anki şifrenizi girmediniz!';
$PALANG['pPassword_password'] = 'Yeni şifre';
$PALANG['pPassword_password2'] = 'Yeni şifre (tekrar)';
$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['pPassword_code_text_error'] = 'Geçersiz kod';
$PALANG['pEdit_vacation_set'] = 'Meşgul mesajı oluştur / değiştir';
$PALANG['pEdit_vacation_remove'] = 'Meşgul mesajını kaldır';
$PALANG['pVacation_result_error'] = 'Otomatik yanıt ayarları düzenlenemedi: %s';
$PALANG['pVacation_result_removed'] = 'Otomatik yanıt sistemi kapatılmış: %s';
$PALANG['pVacation_result_added'] = 'Otomatik yanıt sistemi aktifleştirildi: %s';
$PALANG['pVacation_reply_type'] = 'Yanıt biçimi';
$PALANG['pVacation_reply_delay_time'] = 'Zaman aralığı';
$PALANG['pVacation_reply_delay_time_text'] = 'Saniye bazında zaman';
$PALANG['pVacation_until_before_today'] = '[Aktiflik Süresi] tarihi, bugünden daha erken bir güne kayıtlı';
$PALANG['pVacation_until_before_from'] = '[Aktif Olma Süresi] tarihi, [İtibariyle Aktif] tarihinden öncesi bir tarihe kayıtlı';
$PALANG['reply_once'] = 'Bir kez yanıtla';
$PALANG['reply_every_mail'] = 'Her e-posta iletisinde yanıtla';
$PALANG['reply_once_per_day'] = 'Günde bir kez yanıtla';
$PALANG['reply_once_per_week'] = 'Haftada bir kez yanıtla';
$PALANG['pViewlog_welcome'] = 'Son %s hareket:';
$PALANG['pViewlog_timestamp'] = 'Timestamp';
$PALANG['pViewlog_action'] = 'Aksiyon';
$PALANG['pViewlog_welcome'] = 'Son %s hareketi:';
$PALANG['pViewlog_timestamp'] = 'Timestamp'; # XXX
$PALANG['pViewlog_action'] = 'Hareket';
$PALANG['pViewlog_data'] = 'Veri';
$PALANG['pViewlog_action_create_domain'] = 'create domain'; # XXX
$PALANG['pViewlog_action_delete_domain'] = 'delete domain'; # XXX
$PALANG['pViewlog_action_edit_domain'] = 'edit domain'; # XXX
$PALANG['pViewlog_action_create_mailbox'] = 'create mailbox'; # XXX
$PALANG['pViewlog_action_delete_mailbox'] = 'delete mailbox'; # XXX
$PALANG['pViewlog_action_edit_mailbox'] = 'edit mailbox'; # XXX
$PALANG['pViewlog_action_edit_mailbox_state'] = 'edit mailbox active'; # XXX
$PALANG['pViewlog_action_create_alias'] = 'create alias'; # XXX
$PALANG['pViewlog_action_create_alias_domain'] = 'create alias domain'; # XXX
$PALANG['pViewlog_action_edit_alias_domain'] = 'edit alias domain'; # XXX
$PALANG['pViewlog_action_delete_alias'] = 'delete alias'; # XXX
$PALANG['pViewlog_action_delete_alias_domain'] = 'delete alias domain'; # XXX
$PALANG['pViewlog_action_edit_alias'] = 'edit alias'; # XXX
$PALANG['pViewlog_action_edit_alias_state'] = 'edit alias active'; # XXX
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'edit alias domain active'; # XXX
$PALANG['pViewlog_action_edit_password'] = 'change password'; # XXX
$PALANG['pViewlog_action_create_admin'] = 'create admin'; # XXX
$PALANG['pViewlog_action_edit_admin'] = 'edit admin'; # XXX
$PALANG['pViewlog_action_delete_admin'] = 'delete admin'; # XXX
$PALANG['pViewlog_action_edit_vacation'] = 'edit vacation'; # XXX
$PALANG['pViewlog_action_create_fetchmail'] = 'create fetchmail job'; # XXX
$PALANG['pViewlog_action_edit_fetchmail'] = 'edit fetchmail job'; # XXX
$PALANG['pViewlog_action_delete_fetchmail'] = 'delete fetchmail job'; # XXX
$PALANG['pViewlog_action_create_domain'] = 'domain oluştur';
$PALANG['pViewlog_action_delete_domain'] = 'domain sil';
$PALANG['pViewlog_action_edit_domain'] = 'domain düzenle';
$PALANG['pViewlog_action_create_mailbox'] = 'e-posta kutusu oluştur';
$PALANG['pViewlog_action_delete_mailbox'] = 'e-posta kutusu sil';
$PALANG['pViewlog_action_edit_mailbox'] = 'e-posta kutusu düzenle';
$PALANG['pViewlog_action_edit_mailbox_state'] = 'e-posta kutusunu aktifleştir';
$PALANG['pViewlog_action_create_alias'] = 'alias oluştur';
$PALANG['pViewlog_action_create_alias_domain'] = 'domain aliası oluştur';
$PALANG['pViewlog_action_edit_alias_domain'] = 'domain aliası düzenle';
$PALANG['pViewlog_action_delete_alias'] = 'alias sil';
$PALANG['pViewlog_action_delete_alias_domain'] = 'domain aliası sil';
$PALANG['pViewlog_action_edit_alias'] = 'alias düzenle';
$PALANG['pViewlog_action_edit_alias_state'] = 'aliası aktifleştir';
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'domain aliası aktifleştir';
$PALANG['pViewlog_action_edit_password'] = 'şifreyi değiştir';
$PALANG['pViewlog_action_create_admin'] = 'yönetici oluştur';
$PALANG['pViewlog_action_edit_admin'] = 'yönetici düzenle';
$PALANG['pViewlog_action_delete_admin'] = 'yönetici sil';
$PALANG['pViewlog_action_edit_vacation'] = 'tatil düzenle';
$PALANG['pViewlog_action_create_fetchmail'] = 'tümünü-yakala oluştur';
$PALANG['pViewlog_action_edit_fetchmail'] = 'tümünü-yakala iş düzenle';
$PALANG['pViewlog_action_delete_fetchmail'] = 'tümünü-yakala sil';
$PALANG['pViewlog_result_error'] = 'Loglar bulunamýyor!';
$PALANG['pViewlog_result_error'] = 'Loglar bulunamıyor!';
$PALANG['pSendmail_welcome'] = 'Eposta gönder.';
$PALANG['pSendmail_welcome'] = 'E-posta gönder.';
$PALANG['from'] = 'kimden';
$PALANG['pSendmail_to'] = 'Kime';
$PALANG['pSendmail_to_text_error'] = 'Kime doðru bir e-posta deðil!';
$PALANG['pSendmail_to_text_error'] = 'Kime doğru bir e-posta değil!';
$PALANG['subject'] = 'konu';
$PALANG['pSendmail_subject_text'] = 'Hoþ geldiniz';
$PALANG['pSendmail_subject_text'] = 'Hoş geldiniz';
$PALANG['pSendmail_body'] = 'Metin';
$PALANG['pSendmail_button'] = 'Mesaj Gönder';
$PALANG['pSendmail_result_error'] = 'Posta kutusu yaratýlamadý! (%s)'; # XXX text change - new: Unable to send email to %s!
$PALANG['pSendmail_result_success'] = 'Posta kutusu yaratýldý! (%s)'; # XXX text change - new: Email sent to %s.
$PALANG['pSendmail_result_error'] = 'E-posta gönderilemedi: (%s)'; # XXX text change - new: Unable to send email to %s!
$PALANG['pSendmail_result_success'] = 'E-posta gönderildi: (%s)'; # XXX text change - new: Email sent to %s.
$PALANG['pAdminMenu_list_admin'] = 'Yönetici Listesi';
$PALANG['pAdminMenu_list_domain'] = 'Domain Listesi';
@ -236,151 +248,159 @@ $PALANG['pAdminMenu_create_domain'] = 'Yeni Domain';
$PALANG['pAdminList_admin_count'] = 'Domainler';
$PALANG['description'] = 'Açýklama';
$PALANG['description'] = 'Açıklama';
$PALANG['aliases'] = 'Aliaslar'; # XXX check text - should be 'Aliases'
$PALANG['pAdminList_domain_quota'] = 'Domain quota (MB)'; # XXX
$PALANG['pAdminList_domain_backupmx'] = 'Backup MX';
$PALANG['pAdminList_domain_quota'] = 'Domain kotası (MB)';
$PALANG['pAdminList_domain_backupmx'] = 'Yedek Backup MX';
$PALANG['last_modified'] = 'Son Düzenleme';
$PALANG['pAdminCreate_domain_welcome'] = 'Yeni domain ekle';
$PALANG['pAdminCreate_domain_domain_text_error'] = 'Bu Domain halen bulunmakta!';
$PALANG['domain_does_not_exist'] = 'This domain does not exist!'; # XXX
$PALANG['pAdminCreate_domain_domain_text_error2'] = 'The domain is invalid!'; # XXX
$PALANG['pAdminCreate_domain_defaultaliases'] = 'Öntanýmlý posta aliasý ekle';
$PALANG['pAdminCreate_domain_domain_text_error'] = 'Bu domain halen mevcut!';
$PALANG['domain_does_not_exist'] = 'Bu domain mevcut değil!';
$PALANG['pAdminCreate_domain_domain_text_error2'] = 'Domain geçersiz!';
$PALANG['pAdminCreate_domain_defaultaliases'] = 'Öntanımlı e-posta aliası ekle';
$PALANG['pAdminCreate_domain_button'] = 'Domain ekle';
$PALANG['pAdminCreate_domain_result_error'] = 'Domain eklenemedi! (%s)'; # XXX Text changed to: Adding the domain %s failed!
$PALANG['pAdminCreate_domain_result_success'] = 'Domain eklendi! (%s)'; # XXX Text changed to: The domain %s has been added.
$PALANG['domain_updated'] = 'The domain %s has been updated.'; # XXX
$PALANG['pAdminDelete_admin_error'] = 'Unable to delete admin!'; # XXX
$PALANG['domain_postdel_failed'] = 'The domain postdeletion script failed, check the error log for details!'; # XXX
$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['pAdminDelete_alias_domain_error'] = 'Unable to remove domain alias!'; # XXX
$PALANG['domain_conflict_vacation_domain'] = 'You can\'t use the vacation domain as mail domain!'; # XXX
$PALANG['domain_updated'] = 'Domain güncelleştirildi: %s';
$PALANG['pAdminDelete_admin_error'] = 'Yönetici silinemedi!';
$PALANG['domain_postdel_failed'] = 'Bu domaine ait silme-sonrası skript çalıştırılamadı, lütfen detaylar için kayıtları, logları inceleyin!';
$PALANG['domain_postcreate_failed'] = 'Bu domaine ait oluşturma-sonrası skript çalıştırılamadı, lütfen detaylar için kayıtları, logları inceleyin!';
$PALANG['mailbox_postdel_failed'] = 'E-posta hesabı silme-sonrası skript çalıştırılamadı, lütfen detaylar için kayıtları, logları inceleyin!';
$PALANG['mailbox_postedit_failed'] = 'E-posta düzenleme-sonrası skript çalıştırılamadı, lütfen detaylar için kayıtları, logları inceleyin!';
$PALANG['mailbox_postcreate_failed'] = 'E-posta oluşturma-sonrası skript çalıştırılamadı, lütfen detaylar için kayıtları, logları inceleyin!';
$PALANG['pAdminDelete_alias_domain_error'] = 'Domain aliasları silinemedi!';
$PALANG['domain_conflict_vacation_domain'] = 'Tatil domain adresini e-posta domaini olarak kullanamazsınız!';
$PALANG['pAdminEdit_domain_welcome'] = 'Domain düzenle';
$PALANG['pAdminEdit_domain_aliases_text'] = '-1 = iptal | 0 = limitsiz'; # XXX check - "limisiz" or "limi_t_siz"?
$PALANG['pAdminEdit_domain_maxquota'] = 'Max Kota';
$PALANG['pAdminEdit_domain_maxquota'] = 'Maks Kota';
$PALANG['pAdminEdit_domain_maxquota_text'] = 'MB | -1 = iptal | 0 = limitsiz';
$PALANG['pAdminEdit_domain_quota'] = 'Domain Quota'; # XXX
$PALANG['pAdminEdit_domain_quota'] = 'Domain Kota';
$PALANG['transport'] = 'Transport'; # XXX
$PALANG['pAdminEdit_domain_transport_text'] = 'Define transport'; # XXX
$PALANG['pAdminEdit_domain_backupmx'] = 'Mail server is backup MX'; # XXX
$PALANG['pAdminEdit_domain_transport_text'] = 'Transport tanımlama';
$PALANG['pAdminEdit_domain_backupmx'] = 'Mail sunucusu bir yedek backup MX kaydıdır';
$PALANG['pAdminEdit_domain_result_error'] = 'Domain düzenlenemedi! (%s)'; # XXX Text changed to: Modifying the domain %s failed!
$PALANG['pAdminCreate_admin_welcome'] = 'Yöneticiye yeni bir domain ekle';
$PALANG['email_address'] = 'Eposta adresi';
$PALANG['pAdminCreate_admin_username_text_error1'] = 'Yönetici uygun bir eposta adresi deðil!';
$PALANG['admin_already_exists'] = 'Yönetici halen bulunmakta ya da uygun deðil'; # XXX Text changed to: The admin already exists!
$PALANG['admin_does_not_exist'] = 'The admin does not exist!'; # XXX
$PALANG['email_address'] = 'E-posta adresi';
$PALANG['pAdminCreate_admin_username_text_error1'] = 'Yönetici uygun bir e-posta adresi değil!';
$PALANG['admin_already_exists'] = 'Yönetici zaten mevcut veya uygun değil'; # XXX Text changed to: The admin already exists!
$PALANG['admin_does_not_exist'] = 'Yönetici mevcut değil!';
$PALANG['pAdminCreate_admin_button'] = 'Yönetici ekle';
$PALANG['pAdminCreate_admin_result_error'] = 'Yönetici eklenemiyor! (%s)'; # XXX Text changed to: Adding the admin %s failed!
$PALANG['pAdminCreate_admin_result_success'] = 'Yönetici eklendi! (%s)'; # XXX Text changed to: The admin %s has been added.
$PALANG['pAdminEdit_admin_welcome'] = 'Domain yöneticisi düzenle';
$PALANG['admin'] = 'Yönetici';
$PALANG['password_again'] = 'Þifre (tekrar)';
$PALANG['super_admin'] = 'Super admin'; # XXX
$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['pUsersLogin_username_incorrect'] = 'Kullanýcý adýnýz doðru deðil. E-posta adresiniz ile giriþ yaptýðýnýzdan emin olunuz!';
$PALANG['pUsersLogin_password_incorrect'] = 'Þifreniz doðru deðil!';
$PALANG['pUsersLogin_welcome'] = 'E-posta kutusu sahipleri, şifre değiştirmek için giriş yapın.';
$PALANG['pUsersLogin_username_incorrect'] = 'Kullanıcı adınız doğru değil. E-posta adresiniz ile giriş yaptığınızdan emin olunuz!';
$PALANG['pUsersLogin_password_incorrect'] = 'Şifreniz doğru değil!';
$PALANG['pUsersLogin_password_recover'] = 'Şifremi unuttum';
$PALANG['pUsersMenu_vacation'] = 'Otomatik cevaplama';
$PALANG['pUsersMenu_edit_alias'] = 'Yönlendirmen deðiþtir';
$PALANG['pUsersMenu_edit_alias'] = 'Yönlendirme değiştir';
$PALANG['pUsersMain_vacation'] = 'Posta kutunuz için "ofis dýþý" mesajý veya otomatik cevaplama ekleyin.';
$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' is ON, click \'' . $PALANG['pUsersMenu_vacation'] . '\' to ' . $PALANG['edit'] . '/remove'; # XXX
$PALANG['pUsersMain_edit_alias'] = 'Eposta yönlendirmenizi deðiþtirin.';
$PALANG['pUsersMain_password'] = 'þifrenizi deðiþtirin.';
$PALANG['pUsersMain_vacation'] = 'Posta kutunuz için "ofis dışı" mesajı veya otomatik cevaplama ekleyin.';
$PALANG['pUsersMain_vacationSet'] = 'Otomatik cevaplama AKTİF durumda. \'Otomatik Cevaplama\' linkine tıklayarak düzenleyin veya kaldırın.';
$PALANG['pUsersMain_edit_alias'] = 'E-posta yönlendirmenizi değiştirin.';
$PALANG['pUsersMain_password'] = 'Şifrenizi değiştirin.';
$PALANG['pUsersVacation_welcome'] = 'Otomatik Cevaplama.';
$PALANG['pUsersVacation_welcome_text'] = 'Zaten bir otomatik cevaplamanýz bulunmakta! (%s)'; # XXX Text changed to: 'Auto response for %s is active!'
$PALANG['pUsersVacation_subject_text'] = 'Ofis dýþýnda';
$PALANG['pUsersVacation_welcome_text'] = 'Zaten bir otomatik cevaplamanız bulunmakta! (%s)'; # XXX Text changed to: 'Auto response for %s is active!'
$PALANG['pUsersVacation_subject_text'] = 'Ofis dışında';
$PALANG['message'] = 'Metin'; # XXX text changed to 'Message'
$PALANG['pUsersVacation_body_text'] = <<<EOM
<date> tarihinden den <date> ine burada bulunmayacaðým.
Acil durumlarda lütfen <contact person> a baþvurunuz.
<date> ile <date> tarihleri arası burada bulunmayacağım.
Acil durumlarda lütfen <contact person> adresli yetkiliye başvurunuz.
EOM;
$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX
$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX
$PALANG['pUsersVacation_activefrom'] = 'Aktif olma tarih başlangıç';
$PALANG['pUsersVacation_activeuntil'] = 'Aktif olma tarih bitiş';
$PALANG['pEdit_dbLog_editactive'] = 'change active state'; # XXX
$PALANG['pEdit_dbLog_editactive'] = 'Aktiflik durumunu değiştir';
$PALANG['pSearch'] = 'search'; # XXX
$PALANG['pSearch_welcome'] = 'Searching for: '; # XXX
$PALANG['pReturn_to'] = 'Return to'; # XXX
$PALANG['pBroadcast_title'] = 'Send broadcast message'; # XXX
$PALANG['pBroadcast_name'] = 'Your name'; # XXX
$PALANG['pBroadcast_success'] = 'Your broadcast message was sent.'; # XXX
$PALANG['pAdminMenu_broadcast_message'] = 'Broadcast message'; # XXX
$PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message shouldn\'t be empty!'; # XXX
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX
$PALANG['pStatus_custom'] = 'Delivers to '; # XXX
$PALANG['pSearch'] = 'ara';
$PALANG['pSearch_welcome'] = 'Aranan: ';
$PALANG['pReturn_to'] = 'Geri dön';
$PALANG['pBroadcast_title'] = 'Toplu sistem mesajı gönder';
$PALANG['pBroadcast_name'] = 'İsminiz';
$PALANG['pBroadcast_success'] = 'Toplu sistem mesajınız gönderildi.';
$PALANG['pAdminMenu_broadcast_message'] = 'Sistem mesajı';
$PALANG['pBroadcast_error_empty'] = 'İsim, Konu ve Mesaj gibi alanlar boş bırakılmamalı!';
$PALANG['broadcast_mailboxes_only'] = 'Sadece belirtilen e-posta hesaplarına gönder';
$PALANG['broadcast_to_domains'] = 'Domainlere gönder:';
$PALANG['pStatus_undeliverable'] = 'GÖNDERİLEMEMİŞ veya gönderilemeyen olabilir ';
$PALANG['pStatus_disabled'] = 'Hesap pasif ';
$PALANG['pStatus_expired'] = 'Şifrenin süresi doldu ';
$PALANG['pStatus_vacation'] = 'Tatil modu aktif ';
$PALANG['pStatus_custom'] = 'İletilen ';
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "Password is too short - requires %s characters"; # XXX
$PALANG['password_no_characters'] = "Your password must contain at least %s character(s)."; # XXX
$PALANG['password_no_digits'] = "Your password must contain at least %s digit(s)."; # XXX
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
$PALANG['pInvalidMailRegex'] = "Invalid email address %s, fails regexp check"; # XXX
$PALANG['pFetchmail_welcome'] = 'Fetch mail for:'; # XXX
$PALANG['pFetchmail_new_entry'] = 'New entry'; # XXX
$PALANG['fetchmail_already_exists'] = 'This fetchmail job already exists!'; # XXX
$PALANG['fetchmail_does_not_exist'] = 'This fetchmail job does not exist!'; # XXX
$PALANG['pFetchmail_database_save_error'] = 'Could not save this entry in the database!'; # XXX
$PALANG['pFetchmail_database_save_success'] = 'Entry saved in database.'; # XXX
$PALANG['pFetchmail_error_invalid_id'] = 'No entry with ID %s found!'; # XXX
$PALANG['pFetchmail_invalid_mailbox'] = 'Invalid mailbox!'; # XXX
$PALANG['pFetchmail_server_missing'] = 'Please enter the remote server name!'; # XXX
$PALANG['pFetchmail_user_missing'] = 'Please enter the remote username!'; # XXX
$PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; # XXX
$PALANG['password_too_short'] = "Şifre çok kısa - en az %s karakter gerekli";
$PALANG['password_no_characters'] = "Şifreniz en az %s karakter içermeli (A-Z, a-z).";
$PALANG['password_no_digits'] = "Şifreniz en az %s rakam içermeli.";
$PALANG['pInvalidDomainRegex'] = "Geçersiz domain ismi: %s, kontrol edilemedi";
$PALANG['pInvalidDomainDNS'] = "Geçersiz domain: %s, ve/veya DNS tarafından çözümlenemedi";
$PALANG['pInvalidMailRegex'] = "Geçersiz e-posta adresi: %s, kontrol edilemedi";
$PALANG['pFetchmail_welcome'] = 'Adrese gelen mailleri yakala:';
$PALANG['pFetchmail_new_entry'] = 'Yeni girdi';
$PALANG['fetchmail_already_exists'] = 'Bu e-posta yakalama işi zaten mevcut!';
$PALANG['fetchmail_does_not_exist'] = 'Bu e-posta yakalama işi mevcut değil!';
$PALANG['pFetchmail_database_save_error'] = 'Bu girdi, veritabanına kaydedilemedi!';
$PALANG['pFetchmail_database_save_success'] = 'Girdiler veritabanına kaydedildi.';
$PALANG['pFetchmail_error_invalid_id'] = '%s isimli herhangi bir girdi bulunamadı!';
$PALANG['pFetchmail_invalid_mailbox'] = 'Geçersiz e-posta!';
$PALANG['pFetchmail_server_missing'] = 'Lütfen uzaktaki sunucunun adını giriniz!';
$PALANG['pFetchmail_user_missing'] = 'Lütfen uzaktaki sunucunun kullanıcı adını giriniz!';
$PALANG['pFetchmail_password_missing'] = 'Lütfen uzaktaki sunucunun şifresini giriniz!';
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'E-posta Kutusu';
$PALANG['pFetchmail_field_src_server'] = 'Sunucu';
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Giriş Biçimi';
$PALANG['pFetchmail_field_src_user'] = 'Kullanıcı';
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
$PALANG['pFetchmail_field_src_folder'] = 'Folder'; # XXX
$PALANG['pFetchmail_field_src_folder'] = 'Klasör';
$PALANG['pFetchmail_field_poll_time'] = 'Poll'; # XXX
$PALANG['pFetchmail_field_fetchall'] = 'Fetch All'; # XXX
$PALANG['pFetchmail_field_keep'] = 'Keep'; # XXX
$PALANG['pFetchmail_field_protocol'] = 'Protocol'; # XXX
$PALANG['pFetchmail_field_usessl'] = 'SSL active'; # XXX
$PALANG['pFetchmail_field_sslcertck'] = 'SSL certificate check'; # XXX
$PALANG['pFetchmail_field_sslcertpath'] = 'SSL path to certificates'; # XXX
$PALANG['pFetchmail_field_fetchall'] = 'Yakala ';
$PALANG['pFetchmail_field_keep'] = 'Tut';
$PALANG['pFetchmail_field_protocol'] = 'Protokol';
$PALANG['pFetchmail_field_usessl'] = 'SSL etkin';
$PALANG['pFetchmail_field_sslcertck'] = 'SSL sertifika kontrol';
$PALANG['pFetchmail_field_sslcertpath'] = 'SSL sertifikası yolu';
$PALANG['pFetchmail_field_sslfingerprint'] = 'SSL fingerprint (md5)'; # XXX
$PALANG['pFetchmail_field_extra_options'] = 'Extra Options'; # XXX
$PALANG['pFetchmail_field_mda'] = 'MDA'; # XXX
$PALANG['pFetchmail_field_date'] = 'Date'; # XXX
$PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$PALANG['pFetchmail_desc_src_auth'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
$PALANG['pFetchmail_desc_src_folder'] = 'Remote Folder'; # XXX
$PALANG['pFetchmail_desc_poll_time'] = 'Poll every ... minutes'; # XXX
$PALANG['pFetchmail_desc_fetchall'] = 'Retrieve both old (seen) and new messages'; # XXX
$PALANG['pFetchmail_desc_keep'] = 'Keep retrieved messages on the remote mailserver'; # XXX
$PALANG['pFetchmail_desc_protocol'] = 'Protocol to use'; # XXX
$PALANG['pFetchmail_desc_usessl'] = 'SSL encryption'; # XXX
$PALANG['pFetchmail_desc_extra_options'] = 'Extra fetchmail Options'; # XXX
$PALANG['pFetchmail_desc_mda'] = 'Mail Delivery Agent'; # XXX
$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
$PALANG['pFetchmail_field_extra_options'] = 'Ekstra Seçenekler';
$PALANG['pFetchmail_field_mda'] = 'PDA';
$PALANG['pFetchmail_field_date'] = 'Tarih';
$PALANG['pFetchmail_field_returned_text'] = 'Geri Dönen Metin';
$PALANG['pFetchmail_desc_id'] = 'Kayıt ID';
$PALANG['pFetchmail_desc_mailbox'] = 'Yerel e-posta kutusu';
$PALANG['pFetchmail_desc_src_server'] = 'Uzak Sunucu';
$PALANG['pFetchmail_desc_src_port'] = 'Uzak port numarası - şayet standart olmayan bir port kullanılıyorsa. (0: varsayılan standardı kullan)';
$PALANG['pFetchmail_desc_src_auth'] = 'Çoğunlukla \'password\''; # Translators: Please do NOT translate 'password' here
$PALANG['pFetchmail_desc_src_user'] = 'Uzak Kullanıcı';
$PALANG['pFetchmail_desc_src_password'] = 'Uzak Şifre';
$PALANG['pFetchmail_desc_src_folder'] = 'Uzak Klasör';
$PALANG['pFetchmail_desc_poll_time'] = 'Her .... dakikada bi poll';
$PALANG['pFetchmail_desc_fetchall'] = 'Hem eski (okunan) hem de yeni iletileri çek';
$PALANG['pFetchmail_desc_keep'] = 'Eski iletileri uzaktaki mail sunucusunda saklı tut';
$PALANG['pFetchmail_desc_protocol'] = 'Kullanılacak protokol';
$PALANG['pFetchmail_desc_usessl'] = 'SSL şifreleme';
$PALANG['pFetchmail_desc_extra_options'] = 'Ekstra ileti-yakalama Seçenekleri';
$PALANG['pFetchmail_desc_mda'] = 'Posta Dağıtım Aracısı';
$PALANG['pFetchmail_desc_date'] = 'Son poll/konfigürasyon değişikliği tarihi';
$PALANG['pFetchmail_desc_returned_text'] = 'Son poll işleminden gelen metin iletisi';
$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_expiration'] = 'Şifrenin geçerlilik süresi dolma';
$PALANG['password_expiration_desc'] = 'Şifrenin geçerlilik süresinin doluş tarihi';
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -140,10 +140,15 @@ $PALANG['pEdit_alias_forward_only'] = '只轉寄到以上電郵地址';
$PALANG['pEdit_alias_result_error'] = '不能修改該別名! (%s)'; # XXX Text changed to: Modifying the alias %s failed!
$PALANG['pCreate_mailbox_welcome'] = '在你的網域中新建一個本地郵箱.';
$PALANG['pCreate_mailbox_local_part_error'] = 'Should be the bit before the @ sign.'; # XXX
$PALANG['pCreate_mailbox_username_text_error1'] = '郵件非法!';
$PALANG['pCreate_mailbox_username_text_error3'] = '郵箱地址已經達到上限!';
$PALANG['pCreate_mailbox_password_text'] = 'POP3/IMAP 密碼';
$PALANG['pCreate_mailbox_name_text'] = '全名';
$PALANG['pCreate_mailbox_phone'] = 'Mobile phone'; # XXX
$PALANG['pCreate_mailbox_phone_desc'] = "Used to send a SMS if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_email'] = 'Other e-mail'; # XXX
$PALANG['pCreate_mailbox_email_desc'] = "Used if the password is forgotten"; # XXX
$PALANG['pCreate_mailbox_mail'] = '新建郵箱'; # XXX Text change to 'Send Welcome mail'
$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!
@ -171,6 +176,13 @@ $PALANG['pPassword_password_text_error'] = '你兩次輸入的新密碼不相同
$PALANG['change_password'] = '更改密碼'; # XXX check text - should be '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_code_text_error'] = 'Invalid code'; # XXX
$PALANG['pEdit_vacation_set'] = '啟動自動回覆';
$PALANG['pEdit_vacation_remove'] = '取消自動回覆';
$PALANG['pVacation_result_error'] = 'Updating the auto response settings for %s failed'; # XXX
@ -293,6 +305,7 @@ $PALANG['pAdminEdit_admin_result_success'] = '網域管理員:%s 編輯完成。
$PALANG['pUsersLogin_welcome'] = '郵件用戶從這裡登錄管理你的密碼和別名.';
$PALANG['pUsersLogin_username_incorrect'] = '登錄失敗. 請確認你是使用你的郵箱地址登錄!';
$PALANG['pUsersLogin_password_incorrect'] = '登錄密碼不正確!';
$PALANG['pUsersLogin_password_recover'] = 'I forgot my password'; # XXX
$PALANG['pUsersMenu_vacation'] = '自動回覆';
$PALANG['pUsersMenu_edit_alias'] = '修改轉發';
@ -327,10 +340,13 @@ $PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should
$PALANG['broadcast_mailboxes_only'] = 'Only send to mailboxes'; # XXX
$PALANG['broadcast_to_domains'] = 'Send to domains:'; # XXX
$PALANG['pStatus_undeliverable'] = '可能無法送遞 ';
$PALANG['pStatus_disabled'] = 'Account disabled '; # XXX
$PALANG['pStatus_expired'] = 'Password expired '; # XXX
$PALANG['pStatus_vacation'] = 'Vacation enabled '; # XXX
$PALANG['pStatus_custom'] = '送遞至 ';
$PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX
$PALANG['password_too_short'] = "密碼太短 - 需要 %s 個字附";
$PALANG['password_no_characters'] = "你的密碼最少要有 %s 字母。";
$PALANG['password_no_characters'] = "你的密碼最少要有 %s 字母。"; # XXX text changed to "Your password must contain at least %s letters (A-Z, a-z)."
$PALANG['password_no_digits'] = "你的密碼最少要有 %s 數字。";
$PALANG['pInvalidDomainRegex'] = "網域名 %s 不正確,未能通過 regexp 檢查";
$PALANG['pInvalidDomainDNS'] = "網域名 %s 不正確或在DNS找不到";
@ -349,6 +365,7 @@ $PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; #
$PALANG['pFetchmail_field_id'] = 'ID'; # XXX
$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX
$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX
$PALANG['pFetchmail_field_src_port'] = 'Port'; # XXX
$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX
$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX
$PALANG['pFetchmail_field_src_password'] = $PALANG['password']; # needed until fetchmail is migrated into FetchmailHandler
@ -368,6 +385,7 @@ $PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX
$PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX
$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX
$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX
$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'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX
$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX
$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX
@ -383,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
$PALANG['password_expiration'] = 'Pass expires'; # XXX
$PALANG['password_expiration_desc'] = 'Date when password will expire'; # XXX
$PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh
/* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */

@ -0,0 +1,89 @@
<?php
/**
* Turn on sanitisation of all data by default so it's not possible for XSS flaws to occur in PFA
*/
class PFASmarty {
/**
* @var Smarty
*/
protected $template;
/**
* @param string $template_theme
*/
public function __construct($template_theme = 'default') {
$this->template = new Smarty();
//$this->template->debugging = true;
if($template_theme == 'default') {
$this->template->setTemplateDir(dirname(__FILE__) . '/../templates');
}
else {
$this->template->setTemplateDir(dirname(__FILE__) . '/../templates/'. $template_theme);
}
// if it's not present or writeable, smarty should just not cache.
$templates_c = dirname(__FILE__) . '/../templates_c';
if (is_dir($templates_c) && is_writeable($templates_c)) {
$this->template->setCompileDir($templates_c);
} else {
# unfortunately there's no sane way to just disable compiling of templates
clearstatcache(); // just incase someone just fixed it; on their next refresh it should work.
error_log("ERROR: directory $templates_c doesn't exist or isn't writeable for the webserver");
die("ERROR: the templates_c directory doesn't exist or isn't writeable for the webserver");
}
$this->template->setConfigDir(dirname(__FILE__) . '/../configs');
}
/**
* @param string $key
* @param mixed $value
* @param bool $sanitise
*/
public function assign($key, $value, $sanitise = true) {
$this->template->assign("RAW_$key", $value);
if ($sanitise == false) {
return $this->template->assign($key, $value);
}
$clean = $this->sanitise($value);
/* we won't run the key through sanitise() here... some might argue we should */
return $this->template->assign($key, $clean);
}
/**
* @return void
* @param string $template
*/
public function display($template) {
header("Expires: Sun, 16 Mar 2003 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-Type: text/html; charset=UTF-8");
$this->template->display($template);
unset($_SESSION['flash']); # cleanup flash messages
}
/**
* Recursive cleaning of data, using htmlentities - this assumes we only ever output to HTML and we're outputting in UTF-8 charset
*
* @param mixed $data - array or primitive type; objects not supported.
* @return mixed $data
* */
public function sanitise($data) {
if (!is_array($data)) {
return htmlentities($data, ENT_QUOTES, 'UTF-8', false);
}
$clean = array();
foreach ($data as $key => $value) {
/* as this is a nested data structure it's more likely we'll output the key too (at least in my opinion, so we'll sanitise it too */
$clean[$this->sanitise($key)] = $this->sanitise($value);
}
return $clean;
}
}

@ -0,0 +1,17 @@
<?php
/**
* This file should only be loaded if you're :
* a. running PHP < 7.0, and
* b. have the php_crypt password hash configured, and
* c. have not loaded paragonie's random_compat library.
*
*/
if(function_exists('random_int')) {
return;
}
function random_int($a, $b) { // someone might not be using php_crypt or ask for password generation, in which case random_int() won't be called
die(__FILE__ . " Postfixadmin security: Please install https://github.com/paragonie/random_compat OR enable the 'Phar' extension.");
}

Binary file not shown.

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEd+wCqJDrx5B4OldM0dQE0ZMX+lx1ZWm
pui0SUqD4G29L3NGsz9UhJ/0HjBdbnkhIK5xviT0X5vtjacF6ajgcCArbTB+ds+p
+h7Q084NuSuIpNb6YPfoUFgC/CL9kAoc
-----END PUBLIC KEY-----

@ -0,0 +1,4 @@
Downloaded on 2018/04/29.
https://github.com/paragonie/random_compat/releases/download/v2.0.12/random_compat.phar.pubkey
https://github.com/paragonie/random_compat/releases/download/v2.0.12/random_compat.phar

@ -0,0 +1,43 @@
<?php
if (!isset($CONF) || !isset($PALANG)) {
die("environment not setup correctly");
}
require_once(dirname(__FILE__) . '/smarty/libs/Autoloader.php');
require_once(dirname(__FILE__) . '/PFASmarty.php');
Smarty_Autoloader::register();
if (isset($CONF['theme']) && is_dir(dirname(__FILE__) . "/../templates/" . $CONF['theme'])) {
$smarty = new PFASmarty($CONF['theme']);
} else {
$smarty = new PFASmarty();
}
if (!isset($rel_path)) {
$rel_path = '';
} # users/* sets this to '../'
$CONF['theme_css'] = $rel_path . htmlentities($CONF['theme_css']);
if (!empty($CONF['theme_custom_css'])) {
$CONF['theme_custom_css'] = $rel_path . htmlentities($CONF['theme_custom_css']);
}
$CONF['theme_favicon'] = $rel_path . htmlentities($CONF['theme_favicon']);
$CONF['theme_logo'] = $rel_path . htmlentities($CONF['theme_logo']);
$smarty->assign('CONF', $CONF);
$smarty->assign('PALANG', $PALANG);
$smarty->assign('url_domain', '');
//*** footer.tpl
if (!isset($version)) {
$version = 'dev/unknown';
}
$smarty->assign('version', $version);
//*** menu.tpl
$smarty->assign('boolconf_alias_domain', Config::bool('alias_domain'));
$smarty->assign('authentication_has_role', array('global_admin' => authentication_has_role('global-admin'), 'admin' => authentication_has_role('admin'), 'user' => authentication_has_role('user')));
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */

@ -2,20 +2,21 @@
/**
* Smarty Autoloader
*
* @package Smarty
* @package Smarty
*/
/**
* Smarty Autoloader
*
* @package Smarty
* @author Uwe Tews
* @package Smarty
* @author Uwe Tews
* Usage:
* require_once '...path/Autoloader.php';
* Smarty_Autoloader::register();
* $smarty = new Smarty();
* Note: This autoloader is not needed if you use Composer.
* Composer will automatically add the classes of the Smarty package to it common autoloader.
* require_once '...path/Autoloader.php';
* Smarty_Autoloader::register();
* or
* include '...path/bootstrap.php';
*
* $smarty = new Smarty();
*/
class Smarty_Autoloader
{
@ -24,14 +25,14 @@ class Smarty_Autoloader
*
* @var string
*/
public static $SMARTY_DIR = '';
public static $SMARTY_DIR = null;
/**
* Filepath to Smarty internal plugins
*
* @var string
*/
public static $SMARTY_SYSPLUGINS_DIR = '';
public static $SMARTY_SYSPLUGINS_DIR = null;
/**
* Array with Smarty core classes and their filename
@ -53,11 +54,11 @@ class Smarty_Autoloader
if (!defined('SMARTY_SPL_AUTOLOAD')) {
define('SMARTY_SPL_AUTOLOAD', 0);
}
if (SMARTY_SPL_AUTOLOAD &&
set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false
if (SMARTY_SPL_AUTOLOAD
&& set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false
) {
$registeredAutoLoadFunctions = spl_autoload_functions();
if (!isset($registeredAutoLoadFunctions['spl_autoload'])) {
if (!isset($registeredAutoLoadFunctions[ 'spl_autoload' ])) {
spl_autoload_register();
}
} else {
@ -75,7 +76,7 @@ class Smarty_Autoloader
self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR;
self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR :
self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR;
if (version_compare(phpversion(), '5.3.0', '>=')) {
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend);
} else {
spl_autoload_register(array(__CLASS__, 'autoload'));
@ -89,35 +90,20 @@ class Smarty_Autoloader
*/
public static function autoload($class)
{
$_class = strtolower($class);
$file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php';
if (strpos($_class, 'smarty_internal_') === 0) {
if (strpos($_class, 'smarty_internal_compile_') === 0) {
if (is_file($file)) {
require $file;
}
return;
}
@include $file;
if ($class[ 0 ] !== 'S' && strpos($class, 'Smarty') !== 0) {
return;
}
if (preg_match('/^(smarty_(((template_(source|config|cache|compiled|resource_base))|((cached|compiled)?resource)|(variable|security)))|(smarty(bc)?)$)/',
$_class, $match)) {
if (!empty($match[3])) {
@include $file;
return;
} elseif (!empty($match[9]) && isset(self::$rootClasses[$_class])) {
$file = self::$rootClasses[$_class];
require $file;
return;
$_class = strtolower($class);
if (isset(self::$rootClasses[ $_class ])) {
$file = self::$SMARTY_DIR . self::$rootClasses[ $_class ];
if (is_file($file)) {
include $file;
}
} else {
$file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php';
if (is_file($file)) {
include $file;
}
}
if (0 !== strpos($_class, 'smarty')) {
return;
}
if (is_file($file)) {
require $file;
return;
}
return;
}

@ -2,7 +2,7 @@
/**
* Project: Smarty: the PHP compiling template engine
* File: SmartyBC.class.php
* SVN: $Id$
* SVN: $Id: $
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
@ -28,10 +28,10 @@
/**
* @ignore
*/
require_once(dirname(__FILE__) . '/Smarty.class.php');
require_once dirname(__FILE__) . '/Smarty.class.php';
/**
* Smarty Backward Compatability Wrapper Class
* Smarty Backward Compatibility Wrapper Class
*
* @package Smarty
*/
@ -53,12 +53,10 @@ class SmartyBC extends Smarty
/**
* Initialize new SmartyBC object
*
* @param array $options options to set during initialization, e.g. array( 'forceCompile' => false )
*/
public function __construct(array $options = array())
public function __construct()
{
parent::__construct($options);
parent::__construct();
}
/**
@ -101,6 +99,8 @@ class SmartyBC extends Smarty
* @param string $function_impl the name of the PHP function to register
* @param bool $cacheable
* @param mixed $cache_attrs
*
* @throws \SmartyException
*/
public function register_function($function, $function_impl, $cacheable = true, $cache_attrs = null)
{
@ -108,7 +108,7 @@ class SmartyBC extends Smarty
}
/**
* Unregisters custom function
* Unregister custom function
*
* @param string $function name of template function
*/
@ -126,18 +126,23 @@ class SmartyBC extends Smarty
* @param boolean $smarty_args smarty argument format, else traditional
* @param array $block_methods list of methods that are block format
*
* @throws SmartyException
* @throws SmartyException
* @internal param array $block_functs list of methods that are block format
*/
public function register_object($object, $object_impl, $allowed = array(), $smarty_args = true, $block_methods = array())
{
public function register_object(
$object,
$object_impl,
$allowed = array(),
$smarty_args = true,
$block_methods = array()
) {
settype($allowed, 'array');
settype($smarty_args, 'boolean');
$this->registerObject($object, $object_impl, $allowed, $smarty_args, $block_methods);
}
/**
* Unregisters object
* Unregister object
*
* @param string $object name of template object
*/
@ -153,6 +158,8 @@ class SmartyBC extends Smarty
* @param string $block_impl PHP function to register
* @param bool $cacheable
* @param mixed $cache_attrs
*
* @throws \SmartyException
*/
public function register_block($block, $block_impl, $cacheable = true, $cache_attrs = null)
{
@ -160,7 +167,7 @@ class SmartyBC extends Smarty
}
/**
* Unregisters block function
* Unregister block function
*
* @param string $block name of template function
*/
@ -175,6 +182,8 @@ class SmartyBC extends Smarty
* @param string $function name of template function
* @param string $function_impl name of PHP function to register
* @param bool $cacheable
*
* @throws \SmartyException
*/
public function register_compiler_function($function, $function_impl, $cacheable = true)
{
@ -182,7 +191,7 @@ class SmartyBC extends Smarty
}
/**
* Unregisters compiler function
* Unregister compiler function
*
* @param string $function name of template function
*/
@ -196,6 +205,8 @@ class SmartyBC extends Smarty
*
* @param string $modifier name of template modifier
* @param string $modifier_impl name of PHP function to register
*
* @throws \SmartyException
*/
public function register_modifier($modifier, $modifier_impl)
{
@ -203,7 +214,7 @@ class SmartyBC extends Smarty
}
/**
* Unregisters modifier
* Unregister modifier
*
* @param string $modifier name of template modifier
*/
@ -224,7 +235,7 @@ class SmartyBC extends Smarty
}
/**
* Unregisters a resource
* Unregister a resource
*
* @param string $type name of resource
*/
@ -238,6 +249,8 @@ class SmartyBC extends Smarty
* to a template before compiling
*
* @param callable $function
*
* @throws \SmartyException
*/
public function register_prefilter($function)
{
@ -245,7 +258,7 @@ class SmartyBC extends Smarty
}
/**
* Unregisters a prefilter function
* Unregister a prefilter function
*
* @param callable $function
*/
@ -259,6 +272,8 @@ class SmartyBC extends Smarty
* to a compiled template after compilation
*
* @param callable $function
*
* @throws \SmartyException
*/
public function register_postfilter($function)
{
@ -266,7 +281,7 @@ class SmartyBC extends Smarty
}
/**
* Unregisters a postfilter function
* Unregister a postfilter function
*
* @param callable $function
*/
@ -280,6 +295,8 @@ class SmartyBC extends Smarty
* to a template output
*
* @param callable $function
*
* @throws \SmartyException
*/
public function register_outputfilter($function)
{
@ -287,7 +304,7 @@ class SmartyBC extends Smarty
}
/**
* Unregisters an outputfilter function
* Unregister an outputfilter function
*
* @param callable $function
*/
@ -301,6 +318,8 @@ class SmartyBC extends Smarty
*
* @param string $type filter type
* @param string $name filter name
*
* @throws \SmartyException
*/
public function load_filter($type, $name)
{
@ -310,10 +329,10 @@ class SmartyBC extends Smarty
/**
* clear cached content for the given template and cache id
*
* @param string $tpl_file name of template file
* @param string $cache_id name of cache_id
* @param string $compile_id name of compile_id
* @param string $exp_time expiration time
* @param string $tpl_file name of template file
* @param string $cache_id name of cache_id
* @param string $compile_id name of compile_id
* @param string $exp_time expiration time
*
* @return boolean
*/
@ -325,7 +344,7 @@ class SmartyBC extends Smarty
/**
* clear the entire contents of cache (all templates)
*
* @param string $exp_time expire time
* @param string $exp_time expire time
*
* @return boolean
*/
@ -337,11 +356,13 @@ class SmartyBC extends Smarty
/**
* test to see if valid cache exists for this template
*
* @param string $tpl_file name of template file
* @param string $cache_id
* @param string $compile_id
* @param string $tpl_file name of template file
* @param string $cache_id
* @param string $compile_id
*
* @return boolean
* @return bool
* @throws \Exception
* @throws \SmartyException
*/
public function is_cached($tpl_file, $cache_id = null, $compile_id = null)
{
@ -361,9 +382,9 @@ class SmartyBC extends Smarty
* or all compiled template files if one is not specified.
* This function is for advanced use only, not normally needed.
*
* @param string $tpl_file
* @param string $compile_id
* @param string $exp_time
* @param string $tpl_file
* @param string $compile_id
* @param string $exp_time
*
* @return boolean results of {@link smarty_core_rm_auto()}
*/
@ -375,9 +396,10 @@ class SmartyBC extends Smarty
/**
* Checks whether requested template exists.
*
* @param string $tpl_file
* @param string $tpl_file
*
* @return boolean
* @return bool
* @throws \SmartyException
*/
public function template_exists($tpl_file)
{
@ -387,7 +409,7 @@ class SmartyBC extends Smarty
/**
* Returns an array containing template variables
*
* @param string $name
* @param string $name
*
* @return array
*/
@ -399,7 +421,7 @@ class SmartyBC extends Smarty
/**
* Returns an array containing config variables
*
* @param string $name
* @param string $name
*
* @return array
*/
@ -423,7 +445,7 @@ class SmartyBC extends Smarty
/**
* return a reference to a registered object
*
* @param string $name
* @param string $name
*
* @return object
*/

@ -0,0 +1,16 @@
<?php
/**
* This file is part of the Smarty package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Load and register Smarty Autoloader
*/
if (!class_exists('Smarty_Autoloader')) {
include dirname(__FILE__) . '/Autoloader.php';
}
Smarty_Autoloader::register(true);

@ -113,10 +113,10 @@
<div>
{foreach $template_data as $template}
<font color=brown>{$template.name}</font>
<br>&nbsp;&nbsp;<span class="exectime">
<br />&nbsp;&nbsp;<span class="exectime">
(compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"})
</span>
<br>
<br />
{/foreach}
</div>
{/if}
@ -127,7 +127,7 @@
{foreach $assigned_vars as $vars}
<tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
<td><h3><font color=blue>${$vars@key}</font></h3>
{if isset($vars['nocache'])}<b>Nocache</b></br>{/if}
{if isset($vars['nocache'])}<b>Nocache</b><br />{/if}
{if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var nofilter}{/if}
</td>
<td><h3>Value</h3>{$vars['value']|debug_print_var:10:80 nofilter}</td>

@ -5,22 +5,20 @@
* @package Smarty
* @subpackage PluginsBlock
*/
/**
* Smarty {textformat}{/textformat} block plugin
* Type: block function<br>
* Name: textformat<br>
* Type: block function
* Name: textformat
* Purpose: format text a certain way with preset styles
* or custom wrap/indent settings<br>
* or custom wrap/indent settings
* Params:
* <pre>
*
* - style - string (email)
* - indent - integer (0)
* - wrap - integer (80)
* - wrap_char - string ("\n")
* - indent_char - string (" ")
* - wrap_boundary - boolean (true)
* </pre>
*
* @link http://www.smarty.net/manual/en/language.function.textformat.php {textformat}
* (Smarty online manual)
@ -32,13 +30,23 @@
*
* @return string content re-formatted
* @author Monte Ohrt <monte at ohrt dot com>
* @throws \SmartyException
*/
function smarty_block_textformat($params, $content, $template, &$repeat)
function smarty_block_textformat($params, $content, Smarty_Internal_Template $template, &$repeat)
{
if (is_null($content)) {
return;
}
if (Smarty::$_MBSTRING) {
$template->_checkPlugins(
array(
array(
'function' => 'smarty_modifier_mb_wordwrap',
'file' => SMARTY_PLUGINS_DIR . 'modifier.mb_wordwrap.php'
)
)
);
}
$style = null;
$indent = 0;
$indent_first = 0;
@ -47,51 +55,55 @@ function smarty_block_textformat($params, $content, $template, &$repeat)
$wrap_char = "\n";
$wrap_cut = false;
$assign = null;
foreach ($params as $_key => $_val) {
switch ($_key) {
case 'style':
case 'indent_char':
case 'wrap_char':
case 'assign':
$$_key = (string) $_val;
$$_key = (string)$_val;
break;
case 'indent':
case 'indent_first':
case 'wrap':
$$_key = (int) $_val;
$$_key = (int)$_val;
break;
case 'wrap_cut':
$$_key = (bool) $_val;
$$_key = (bool)$_val;
break;
default:
trigger_error("textformat: unknown attribute '$_key'");
trigger_error("textformat: unknown attribute '{$_key}'");
}
}
if ($style == 'email') {
if ($style === 'email') {
$wrap = 72;
}
// split into paragraphs
$_paragraphs = preg_split('![\r\n]{2}!', $content);
foreach ($_paragraphs as &$_paragraph) {
if (!$_paragraph) {
continue;
}
// convert mult. spaces & special chars to single space
$_paragraph = preg_replace(array('!\s+!' . Smarty::$_UTF8_MODIFIER, '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER), array(' ', ''), $_paragraph);
$_paragraph =
preg_replace(
array(
'!\s+!' . Smarty::$_UTF8_MODIFIER,
'!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER
),
array(
' ',
''
),
$_paragraph
);
// indent first line
if ($indent_first > 0) {
$_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph;
}
// wordwrap sentences
if (Smarty::$_MBSTRING) {
require_once(SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php');
$_paragraph = smarty_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
$_paragraph = smarty_modifier_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
} else {
$_paragraph = wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
}
@ -101,7 +113,6 @@ function smarty_block_textformat($params, $content, $template, &$repeat)
}
}
$_output = implode($wrap_char . $wrap_char, $_paragraphs);
if ($assign) {
$template->assign($assign, $_output);
} else {

@ -0,0 +1,62 @@
<?php
/**
* Smarty plugin
*
* @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {counter} function plugin
* Type: function
* Name: counter
* Purpose: print out a counter value
*
* @author Monte Ohrt <monte at ohrt dot com>
* @link http://www.smarty.net/manual/en/language.function.counter.php {counter}
* (Smarty online manual)
*
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
*
* @return string|null
*/
function smarty_function_counter($params, $template)
{
static $counters = array();
$name = (isset($params[ 'name' ])) ? $params[ 'name' ] : 'default';
if (!isset($counters[ $name ])) {
$counters[ $name ] = array('start' => 1, 'skip' => 1, 'direction' => 'up', 'count' => 1);
}
$counter =& $counters[ $name ];
if (isset($params[ 'start' ])) {
$counter[ 'start' ] = $counter[ 'count' ] = (int)$params[ 'start' ];
}
if (!empty($params[ 'assign' ])) {
$counter[ 'assign' ] = $params[ 'assign' ];
}
if (isset($counter[ 'assign' ])) {
$template->assign($counter[ 'assign' ], $counter[ 'count' ]);
}
if (isset($params[ 'print' ])) {
$print = (bool)$params[ 'print' ];
} else {
$print = empty($counter[ 'assign' ]);
}
if ($print) {
$retval = $counter[ 'count' ];
} else {
$retval = null;
}
if (isset($params[ 'skip' ])) {
$counter[ 'skip' ] = $params[ 'skip' ];
}
if (isset($params[ 'direction' ])) {
$counter[ 'direction' ] = $params[ 'direction' ];
}
if ($counter[ 'direction' ] === 'down') {
$counter[ 'count' ] -= $counter[ 'skip' ];
} else {
$counter[ 'count' ] += $counter[ 'skip' ];
}
return $retval;
}

@ -0,0 +1,92 @@
<?php
/**
* Smarty plugin
*
* @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {cycle} function plugin
* Type: function
* Name: cycle
* Date: May 3, 2002
* Purpose: cycle through given values
* Params:
*
* - name - name of cycle (optional)
* - values - comma separated list of values to cycle, or an array of values to cycle
* (this can be left out for subsequent calls)
* - reset - boolean - resets given var to true
* - print - boolean - print var or not. default is true
* - advance - boolean - whether or not to advance the cycle
* - delimiter - the value delimiter, default is ","
* - assign - boolean, assigns to template var instead of printed.
*
* Examples:
*
* {cycle values="#eeeeee,#d0d0d0d"}
* {cycle name=row values="one,two,three" reset=true}
* {cycle name=row}
*
* @link http://www.smarty.net/manual/en/language.function.cycle.php {cycle}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @author credit to Mark Priatel <mpriatel@rogers.com>
* @author credit to Gerard <gerard@interfold.com>
* @author credit to Jason Sweat <jsweat_php@yahoo.com>
* @version 1.3
*
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
*
* @return string|null
*/
function smarty_function_cycle($params, $template)
{
static $cycle_vars;
$name = (empty($params[ 'name' ])) ? 'default' : $params[ 'name' ];
$print = (isset($params[ 'print' ])) ? (bool)$params[ 'print' ] : true;
$advance = (isset($params[ 'advance' ])) ? (bool)$params[ 'advance' ] : true;
$reset = (isset($params[ 'reset' ])) ? (bool)$params[ 'reset' ] : false;
if (!isset($params[ 'values' ])) {
if (!isset($cycle_vars[ $name ][ 'values' ])) {
trigger_error('cycle: missing \'values\' parameter');
return;
}
} else {
if (isset($cycle_vars[ $name ][ 'values' ]) && $cycle_vars[ $name ][ 'values' ] !== $params[ 'values' ]) {
$cycle_vars[ $name ][ 'index' ] = 0;
}
$cycle_vars[ $name ][ 'values' ] = $params[ 'values' ];
}
if (isset($params[ 'delimiter' ])) {
$cycle_vars[ $name ][ 'delimiter' ] = $params[ 'delimiter' ];
} elseif (!isset($cycle_vars[ $name ][ 'delimiter' ])) {
$cycle_vars[ $name ][ 'delimiter' ] = ',';
}
if (is_array($cycle_vars[ $name ][ 'values' ])) {
$cycle_array = $cycle_vars[ $name ][ 'values' ];
} else {
$cycle_array = explode($cycle_vars[ $name ][ 'delimiter' ], $cycle_vars[ $name ][ 'values' ]);
}
if (!isset($cycle_vars[ $name ][ 'index' ]) || $reset) {
$cycle_vars[ $name ][ 'index' ] = 0;
}
if (isset($params[ 'assign' ])) {
$print = false;
$template->assign($params[ 'assign' ], $cycle_array[ $cycle_vars[ $name ][ 'index' ] ]);
}
if ($print) {
$retval = $cycle_array[ $cycle_vars[ $name ][ 'index' ] ];
} else {
$retval = null;
}
if ($advance) {
if ($cycle_vars[ $name ][ 'index' ] >= count($cycle_array) - 1) {
$cycle_vars[ $name ][ 'index' ] = 0;
} else {
$cycle_vars[ $name ][ 'index' ]++;
}
}
return $retval;
}

@ -5,11 +5,10 @@
* @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {fetch} plugin
* Type: function<br>
* Name: fetch<br>
* Type: function
* Name: fetch
* Purpose: fetch file, web or ftp data and display results
*
* @link http://www.smarty.net/manual/en/language.function.fetch.php {fetch}
@ -24,129 +23,120 @@
*/
function smarty_function_fetch($params, $template)
{
if (empty($params['file'])) {
trigger_error("[plugin] fetch parameter 'file' cannot be empty", E_USER_NOTICE);
if (empty($params[ 'file' ])) {
trigger_error('[plugin] fetch parameter \'file\' cannot be empty', E_USER_NOTICE);
return;
}
// strip file protocol
if (stripos($params['file'], 'file://') === 0) {
$params['file'] = substr($params['file'], 7);
if (stripos($params[ 'file' ], 'file://') === 0) {
$params[ 'file' ] = substr($params[ 'file' ], 7);
}
$protocol = strpos($params['file'], '://');
$protocol = strpos($params[ 'file' ], '://');
if ($protocol !== false) {
$protocol = strtolower(substr($params['file'], 0, $protocol));
$protocol = strtolower(substr($params[ 'file' ], 0, $protocol));
}
if (isset($template->smarty->security_policy)) {
if ($protocol) {
// remote resource (or php stream, …)
if (!$template->smarty->security_policy->isTrustedUri($params['file'])) {
if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) {
return;
}
} else {
// local file
if (!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) {
if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) {
return;
}
}
}
$content = '';
if ($protocol == 'http') {
if ($protocol === 'http') {
// http fetch
if ($uri_parts = parse_url($params['file'])) {
if ($uri_parts = parse_url($params[ 'file' ])) {
// set defaults
$host = $server_name = $uri_parts['host'];
$host = $server_name = $uri_parts[ 'host' ];
$timeout = 30;
$accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*";
$agent = "Smarty Template Engine " . Smarty::SMARTY_VERSION;
$referer = "";
$uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/';
$uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : '';
$accept = 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*';
$agent = 'Smarty Template Engine ' . Smarty::SMARTY_VERSION;
$referer = '';
$uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/';
$uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : '';
$_is_proxy = false;
if (empty($uri_parts['port'])) {
if (empty($uri_parts[ 'port' ])) {
$port = 80;
} else {
$port = $uri_parts['port'];
$port = $uri_parts[ 'port' ];
}
if (!empty($uri_parts['user'])) {
$user = $uri_parts['user'];
if (!empty($uri_parts[ 'user' ])) {
$user = $uri_parts[ 'user' ];
}
if (!empty($uri_parts['pass'])) {
$pass = $uri_parts['pass'];
if (!empty($uri_parts[ 'pass' ])) {
$pass = $uri_parts[ 'pass' ];
}
// loop through parameters, setup headers
foreach ($params as $param_key => $param_value) {
switch ($param_key) {
case "file":
case "assign":
case "assign_headers":
case 'file':
case 'assign':
case 'assign_headers':
break;
case "user":
case 'user':
if (!empty($param_value)) {
$user = $param_value;
}
break;
case "pass":
case 'pass':
if (!empty($param_value)) {
$pass = $param_value;
}
break;
case "accept":
case 'accept':
if (!empty($param_value)) {
$accept = $param_value;
}
break;
case "header":
case 'header':
if (!empty($param_value)) {
if (!preg_match('![\w\d-]+: .+!', $param_value)) {
trigger_error("[plugin] invalid header format '" . $param_value . "'", E_USER_NOTICE);
trigger_error("[plugin] invalid header format '{$param_value}'", E_USER_NOTICE);
return;
} else {
$extra_headers[] = $param_value;
}
}
break;
case "proxy_host":
case 'proxy_host':
if (!empty($param_value)) {
$proxy_host = $param_value;
}
break;
case "proxy_port":
case 'proxy_port':
if (!preg_match('!\D!', $param_value)) {
$proxy_port = (int) $param_value;
$proxy_port = (int)$param_value;
} else {
trigger_error("[plugin] invalid value for attribute '" . $param_key . "'", E_USER_NOTICE);
trigger_error("[plugin] invalid value for attribute '{$param_key }'", E_USER_NOTICE);
return;
}
break;
case "agent":
case 'agent':
if (!empty($param_value)) {
$agent = $param_value;
}
break;
case "referer":
case 'referer':
if (!empty($param_value)) {
$referer = $param_value;
}
break;
case "timeout":
case 'timeout':
if (!preg_match('!\D!', $param_value)) {
$timeout = (int) $param_value;
$timeout = (int)$param_value;
} else {
trigger_error("[plugin] invalid value for attribute '" . $param_key . "'", E_USER_NOTICE);
trigger_error("[plugin] invalid value for attribute '{$param_key}'", E_USER_NOTICE);
return;
}
break;
default:
trigger_error("[plugin] unrecognized attribute '" . $param_key . "'", E_USER_NOTICE);
trigger_error("[plugin] unrecognized attribute '{$param_key}'", E_USER_NOTICE);
return;
}
}
@ -156,14 +146,12 @@ function smarty_function_fetch($params, $template)
} else {
$fp = fsockopen($server_name, $port, $errno, $errstr, $timeout);
}
if (!$fp) {
trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE);
return;
} else {
if ($_is_proxy) {
fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n");
fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n");
} else {
fputs($fp, "GET $uri HTTP/1.0\r\n");
}
@ -185,36 +173,31 @@ function smarty_function_fetch($params, $template)
}
}
if (!empty($user) && !empty($pass)) {
fputs($fp, "Authorization: BASIC " . base64_encode("$user:$pass") . "\r\n");
fputs($fp, 'Authorization: BASIC ' . base64_encode("$user:$pass") . "\r\n");
}
fputs($fp, "\r\n");
while (!feof($fp)) {
$content .= fgets($fp, 4096);
}
fclose($fp);
$csplit = preg_split("!\r\n\r\n!", $content, 2);
$content = $csplit[1];
if (!empty($params['assign_headers'])) {
$template->assign($params['assign_headers'], preg_split("!\r\n!", $csplit[0]));
$content = $csplit[ 1 ];
if (!empty($params[ 'assign_headers' ])) {
$template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ]));
}
}
} else {
trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE);
return;
}
} else {
$content = @file_get_contents($params['file']);
$content = @file_get_contents($params[ 'file' ]);
if ($content === false) {
throw new SmartyException("{fetch} cannot read resource '" . $params['file'] . "'");
throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'");
}
}
if (!empty($params['assign'])) {
$template->assign($params['assign'], $content);
if (!empty($params[ 'assign' ])) {
$template->assign($params[ 'assign' ], $content);
} else {
return $content;
}

@ -0,0 +1,286 @@
<?php
/**
* Smarty plugin
*
* @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {html_checkboxes} function plugin
* File: function.html_checkboxes.php
* Type: function
* Name: html_checkboxes
* Date: 24.Feb.2003
* Purpose: Prints out a list of checkbox input types
* Examples:
*
* {html_checkboxes values=$ids output=$names}
* {html_checkboxes values=$ids name='box' separator='<br>' output=$names}
* {html_checkboxes values=$ids checked=$checked separator='<br>' output=$names}
*
* Params:
*
* - name (optional) - string default "checkbox"
* - values (required) - array
* - options (optional) - associative array
* - checked (optional) - array default not set
* - separator (optional) - ie <br> or &nbsp;
* - output (optional) - the output next to each checkbox
* - assign (optional) - assign the output as an array to this variable
* - escape (optional) - escape the content (not value), defaults to true
*
* @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
* (Smarty online manual)
* @author Christopher Kvarme <christopher.kvarme@flashjab.com>
* @author credits to Monte Ohrt <monte at ohrt dot com>
* @version 1.0
*
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
*
* @return string
* @uses smarty_function_escape_special_chars()
* @throws \SmartyException
*/
function smarty_function_html_checkboxes($params, Smarty_Internal_Template $template)
{
$template->_checkPlugins(
array(
array(
'function' => 'smarty_function_escape_special_chars',
'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'
)
)
);
$name = 'checkbox';
$values = null;
$options = null;
$selected = array();
$separator = '';
$escape = true;
$labels = true;
$label_ids = false;
$output = null;
$extra = '';
foreach ($params as $_key => $_val) {
switch ($_key) {
case 'name':
case 'separator':
$$_key = (string)$_val;
break;
case 'escape':
case 'labels':
case 'label_ids':
$$_key = (bool)$_val;
break;
case 'options':
$$_key = (array)$_val;
break;
case 'values':
case 'output':
$$_key = array_values((array)$_val);
break;
case 'checked':
case 'selected':
if (is_array($_val)) {
$selected = array();
foreach ($_val as $_sel) {
if (is_object($_sel)) {
if (method_exists($_sel, '__toString')) {
$_sel = smarty_function_escape_special_chars((string)$_sel->__toString());
} else {
trigger_error(
'html_checkboxes: selected attribute contains an object of class \'' .
get_class($_sel) . '\' without __toString() method',
E_USER_NOTICE
);
continue;
}
} else {
$_sel = smarty_function_escape_special_chars((string)$_sel);
}
$selected[ $_sel ] = true;
}
} elseif (is_object($_val)) {
if (method_exists($_val, '__toString')) {
$selected = smarty_function_escape_special_chars((string)$_val->__toString());
} else {
trigger_error(
'html_checkboxes: selected attribute is an object of class \'' . get_class($_val) .
'\' without __toString() method',
E_USER_NOTICE
);
}
} else {
$selected = smarty_function_escape_special_chars((string)$_val);
}
break;
case 'checkboxes':
trigger_error(
'html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead',
E_USER_WARNING
);
$options = (array)$_val;
break;
case 'assign':
break;
case 'strict':
break;
case 'disabled':
case 'readonly':
if (!empty($params[ 'strict' ])) {
if (!is_scalar($_val)) {
trigger_error(
"html_options: {$_key} attribute must be a scalar, only boolean true or string '{$_key}' will actually add the attribute",
E_USER_NOTICE
);
}
if ($_val === true || $_val === $_key) {
$extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"';
}
break;
}
// omit break; to fall through!
// no break
default:
if (!is_array($_val)) {
$extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
} else {
trigger_error("html_checkboxes: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE);
}
break;
}
}
if (!isset($options) && !isset($values)) {
return '';
} /* raise error here? */
$_html_result = array();
if (isset($options)) {
foreach ($options as $_key => $_val) {
$_html_result[] =
smarty_function_html_checkboxes_output(
$name,
$_key,
$_val,
$selected,
$extra,
$separator,
$labels,
$label_ids,
$escape
);
}
} else {
foreach ($values as $_i => $_key) {
$_val = isset($output[ $_i ]) ? $output[ $_i ] : '';
$_html_result[] =
smarty_function_html_checkboxes_output(
$name,
$_key,
$_val,
$selected,
$extra,
$separator,
$labels,
$label_ids,
$escape
);
}
}
if (!empty($params[ 'assign' ])) {
$template->assign($params[ 'assign' ], $_html_result);
} else {
return implode("\n", $_html_result);
}
}
/**
* @param $name
* @param $value
* @param $output
* @param $selected
* @param $extra
* @param $separator
* @param $labels
* @param $label_ids
* @param bool $escape
*
* @return string
*/
function smarty_function_html_checkboxes_output(
$name,
$value,
$output,
$selected,
$extra,
$separator,
$labels,
$label_ids,
$escape = true
) {
$_output = '';
if (is_object($value)) {
if (method_exists($value, '__toString')) {
$value = (string)$value->__toString();
} else {
trigger_error(
'html_options: value is an object of class \'' . get_class($value) .
'\' without __toString() method',
E_USER_NOTICE
);
return '';
}
} else {
$value = (string)$value;
}
if (is_object($output)) {
if (method_exists($output, '__toString')) {
$output = (string)$output->__toString();
} else {
trigger_error(
'html_options: output is an object of class \'' . get_class($output) .
'\' without __toString() method',
E_USER_NOTICE
);
return '';
}
} else {
$output = (string)$output;
}
if ($labels) {
if ($label_ids) {
$_id = smarty_function_escape_special_chars(
preg_replace(
'![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER,
'_',
$name . '_' . $value
)
);
$_output .= '<label for="' . $_id . '">';
} else {
$_output .= '<label>';
}
}
$name = smarty_function_escape_special_chars($name);
$value = smarty_function_escape_special_chars($value);
if ($escape) {
$output = smarty_function_escape_special_chars($output);
}
$_output .= '<input type="checkbox" name="' . $name . '[]" value="' . $value . '"';
if ($labels && $label_ids) {
$_output .= ' id="' . $_id . '"';
}
if (is_array($selected)) {
if (isset($selected[ $value ])) {
$_output .= ' checked="checked"';
}
} elseif ($value === $selected) {
$_output .= ' checked="checked"';
}
$_output .= $extra . ' />' . $output;
if ($labels) {
$_output .= '</label>';
}
$_output .= $separator;
return $_output;
}

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

Loading…
Cancel
Save