Browse Source

Merge branch 'master' into master

Serge Kraev 8 years ago
parent
commit
95a26fb323
95 changed files with 3157 additions and 247 deletions
  1. 1 0
      .gitignore
  2. 17 5
      bin/v-add-backup-host
  3. 54 13
      bin/v-backup-user
  4. 10 4
      bin/v-restore-user
  5. 9 2
      bin/v-update-letsencrypt-ssl
  6. 1 1
      func/ip.sh
  7. 3 2
      func/main.sh
  8. 3 3
      install/debian/7/templates/dns/gmail.tpl
  9. 12 12
      install/debian/8/pma/config.inc.php
  10. 3 3
      install/debian/8/templates/dns/gmail.tpl
  11. 10 3
      install/debian/8/templates/web/nginx/caching.sh
  12. 3 3
      install/rhel/5/templates/dns/gmail.tpl
  13. 10 3
      install/rhel/5/templates/web/nginx/caching.sh
  14. 3 3
      install/rhel/6/templates/dns/gmail.tpl
  15. 10 3
      install/rhel/6/templates/web/nginx/caching.sh
  16. 3 3
      install/rhel/7/templates/dns/gmail.tpl
  17. 10 3
      install/rhel/7/templates/web/nginx/caching.sh
  18. 3 3
      install/ubuntu/12.04/templates/dns/gmail.tpl
  19. 10 3
      install/ubuntu/12.04/templates/web/nginx/caching.sh
  20. 3 3
      install/ubuntu/12.10/templates/dns/gmail.tpl
  21. 10 3
      install/ubuntu/12.10/templates/web/nginx/caching.sh
  22. 3 3
      install/ubuntu/13.04/templates/dns/gmail.tpl
  23. 10 3
      install/ubuntu/13.04/templates/web/nginx/caching.sh
  24. 3 3
      install/ubuntu/13.10/templates/dns/gmail.tpl
  25. 10 3
      install/ubuntu/13.10/templates/web/nginx/caching.sh
  26. 3 3
      install/ubuntu/14.04/templates/dns/gmail.tpl
  27. 10 3
      install/ubuntu/14.04/templates/web/nginx/caching.sh
  28. 3 3
      install/ubuntu/14.10/templates/dns/gmail.tpl
  29. 10 3
      install/ubuntu/14.10/templates/web/nginx/caching.sh
  30. 3 3
      install/ubuntu/15.04/templates/dns/gmail.tpl
  31. 10 3
      install/ubuntu/15.04/templates/web/nginx/caching.sh
  32. 3 3
      install/ubuntu/15.10/templates/dns/gmail.tpl
  33. 10 3
      install/ubuntu/15.10/templates/web/nginx/caching.sh
  34. 3 3
      install/ubuntu/16.04/templates/dns/gmail.tpl
  35. 10 4
      install/ubuntu/16.04/templates/web/nginx/caching.sh
  36. 3 3
      install/ubuntu/16.10/templates/dns/gmail.tpl
  37. 10 3
      install/ubuntu/16.10/templates/web/nginx/caching.sh
  38. 5 3
      install/vst-install-rhel.sh
  39. 6 0
      src/deb/ioncube/changelog
  40. 0 0
      src/deb/ioncube/conffiles
  41. 10 0
      src/deb/ioncube/control
  42. 243 0
      src/deb/ioncube/copyright
  43. 8 0
      src/deb/ioncube/postinst
  44. 1 1
      src/deb/nginx/control
  45. 1 1
      src/deb/php/control
  46. 1 1
      src/deb/vesta/control
  47. 13 0
      src/rpm/conf/ioncube.sh
  48. 1 1
      src/rpm/conf/php.ini
  49. 43 0
      src/rpm/specs/vesta-ioncube.spec
  50. 1 1
      src/rpm/specs/vesta-nginx.spec
  51. 2 2
      src/rpm/specs/vesta-php.spec
  52. 1 1
      src/rpm/specs/vesta.spec
  53. 0 3
      web/add/db/index.php
  54. 19 0
      web/add/mail/index.php
  55. 1 1
      web/add/web/index.php
  56. 19 0
      web/edit/mail/index.php
  57. 2 1
      web/edit/web/index.php
  58. 2 1
      web/inc/i18n/ar.php
  59. 2 1
      web/inc/i18n/bg.php
  60. 2 1
      web/inc/i18n/bs.php
  61. 28 27
      web/inc/i18n/cn.php
  62. 2 1
      web/inc/i18n/cz.php
  63. 2 1
      web/inc/i18n/da.php
  64. 2 1
      web/inc/i18n/de.php
  65. 2 1
      web/inc/i18n/el.php
  66. 3 1
      web/inc/i18n/en.php
  67. 2 1
      web/inc/i18n/es.php
  68. 10 9
      web/inc/i18n/fa.php
  69. 2 1
      web/inc/i18n/fi.php
  70. 3 1
      web/inc/i18n/fr.php
  71. 2 1
      web/inc/i18n/hu.php
  72. 2 1
      web/inc/i18n/id.php
  73. 2 1
      web/inc/i18n/it.php
  74. 2 1
      web/inc/i18n/ja.php
  75. 2 1
      web/inc/i18n/ka.php
  76. 758 0
      web/inc/i18n/ko.php
  77. 3 1
      web/inc/i18n/nl.php
  78. 2 1
      web/inc/i18n/no.php
  79. 2 1
      web/inc/i18n/pl.php
  80. 2 1
      web/inc/i18n/pt-BR.php
  81. 2 1
      web/inc/i18n/pt.php
  82. 2 1
      web/inc/i18n/ro.php
  83. 2 1
      web/inc/i18n/ru.php
  84. 2 1
      web/inc/i18n/se.php
  85. 757 0
      web/inc/i18n/sr.php
  86. 759 0
      web/inc/i18n/th.php
  87. 2 1
      web/inc/i18n/tr.php
  88. 2 1
      web/inc/i18n/tw.php
  89. 2 1
      web/inc/i18n/ua.php
  90. 32 28
      web/inc/i18n/vi.php
  91. 1 1
      web/inc/main.php
  92. 28 2
      web/js/pages/add_mail_acc.js
  93. 28 2
      web/js/pages/edit_mail_acc.js
  94. 18 7
      web/templates/admin/add_mail_acc.html
  95. 12 1
      web/templates/admin/edit_mail_acc.html

+ 1 - 0
.gitignore

@@ -2,3 +2,4 @@
 *.zip
 *.gzip
 *.gz
+.vscode

+ 17 - 5
bin/v-add-backup-host

@@ -122,8 +122,12 @@ if [ "$type" = 'ftp' ]; then
     fi
 
     # Checking write permissions
-    ftpc "mkdir $path" > /dev/null 2>&1
-    ftmpdir="$path/vst.bK76A9SUkt"
+    if [ -z $path ]; then
+        ftmpdir="vst.bK76A9SUkt"
+    else
+        ftpc "mkdir $path" > /dev/null 2>&1
+        ftmpdir="$path/vst.bK76A9SUkt"
+    fi
     ftp_result=$(ftpc "mkdir $ftmpdir" "rm $ftmpdir"|grep -v Trying)
     if [ ! -z "$ftp_result" ] ; then
         echo "$ftp_result"
@@ -137,9 +141,17 @@ if [ "$type" = 'sftp' ]; then
     if [ -z $port ]; then
         port=22
     fi
-    if sftpc "mkdir $path" > /dev/null 2>&1 ; then
-        sftmpdir="$path/vst.bK76A9SUkt"
-        sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
+    if [ -z $path ]; then
+            sftmpdir="vst.bK76A9SUkt"
+            sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
+    else
+        if sftpc "mkdir $path" > /dev/null 2>&1 ; then
+            sftmpdir="$path/vst.bK76A9SUkt"
+            sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
+        else
+            sftmpdir="$path/vst.bK76A9SUkt"
+            sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
+        fi
     fi
     rc=$?
     if [[ "$rc" != 0 ]]; then

+ 54 - 13
bin/v-backup-user

@@ -70,6 +70,7 @@ done
 
 # Creating temporary directory
 tmpdir=$(mktemp -p /tmp -d)
+
 if [ "$?" -ne 0 ]; then
     echo "Can't create tmp dir $tmpdir" |$SENDMAIL -s "$subj" $email $notify
     check_result $E_NOTEXIST "can't create tmp dir"
@@ -478,7 +479,7 @@ local_backup(){
     rm -f $BACKUP/$user.$date.tar
 
     # Checking retention
-    backup_list=$(ls -lrt $BACKUP/ |awk '{print $9}' |grep "^$user\.")
+    backup_list=$(ls -lrt $BACKUP/ |awk '{print $9}' |grep "^$user\." | grep ".tar")
     backups_count=$(echo "$backup_list" |wc -l)
     if [ "$BACKUPS" -le "$backups_count" ]; then
         backups_rm_number=$((backups_count - BACKUPS))
@@ -557,7 +558,6 @@ ftp_backup() {
         check_result "$E_PARSING" "$error"
     fi
 
-
     # Debug info
     echo -e "$(date "+%F %T") Remote: ftp://$HOST$BPATH/$user.$date.tar"
 
@@ -574,8 +574,12 @@ ftp_backup() {
     fi
 
     # Check ftp permissions
-    ftpc "mkdir $BPATH" > /dev/null 2>&1
-    ftmpdir="$BPATH/vst.bK76A9SUkt"
+    if [ -z $BPATH ]; then
+            ftmpdir="vst.bK76A9SUkt"
+        else
+            ftpc "mkdir $BPATH" > /dev/null 2>&1
+            ftmpdir="$BPATH/vst.bK76A9SUkt"
+    fi
     ftpc "mkdir $ftmpdir" "rm $ftmpdir"
     ftp_result=$(ftpc "mkdir $ftmpdir" "rm $ftmpdir" |grep -v Trying)
     if [ ! -z "$ftp_result" ] ; then
@@ -588,7 +592,11 @@ ftp_backup() {
     fi
 
     # Checking retention
-    backup_list=$(ftpc "cd $BPATH" "ls" |awk '{print $9}' |grep "^$user\.")
+    if [ -z $BPATH ]; then
+        backup_list=$(ftpc "ls" |awk '{print $9}' |grep "^$user\.")
+    else
+        backup_list=$(ftpc "cd $BPATH" "ls" |awk '{print $9}' |grep "^$user\.")
+    fi
     backups_count=$(echo "$backup_list" |wc -l)
     if [ "$backups_count" -ge "$BACKUPS" ]; then
         backups_rm_number=$((backups_count - BACKUPS + 1))
@@ -596,19 +604,31 @@ ftp_backup() {
             backup_date=$(echo $backup |sed -e "s/$user.//" -e "s/.tar$//")
             echo -e "$(date "+%F %T") Rotated ftp backup: $backup_date" |\
                 tee -a $BACKUP/$user.log
-            ftpc "cd $BPATH" "delete $backup"
+            if [ -z $BPATH ]; then
+                ftpc "delete $backup"
+            else
+                ftpc "cd $BPATH" "delete $backup"
+            fi
         done
     fi
 
     # Uploading backup archive
     if [ "$localbackup" = 'yes' ]; then
         cd $BACKUP
-        ftpc "cd $BPATH" "put $user.$date.tar"
+        if [ -z $BPATH ]; then
+            ftpc "put $user.$date.tar"
+         else
+            ftpc "cd $BPATH" "put $user.$date.tar"
+        fi
     else
         cd $tmpdir
         tar -cf $BACKUP/$user.$date.tar .
         cd $BACKUP/
-        ftpc "cd $BPATH" "put $user.$date.tar"
+        if [ -z $BPATH ]; then
+            ftpc "put $user.$date.tar"
+        else
+            ftpc "cd $BPATH" "put $user.$date.tar"
+        fi
         rm -f $user.$date.tar
     fi
 }
@@ -706,7 +726,11 @@ sftp_backup() {
         tee -a $BACKUP/$user.log
 
     # Checking network connection and write permissions
-    sftmpdir="$BPATH/vst.bK76A9SUkt"
+    if [ -z $BPATH ]; then
+        sftmpdir="vst.bK76A9SUkt"
+    else
+        sftmpdir="$BPATH/vst.bK76A9SUkt"
+    fi
     sftpc "mkdir $BPATH" > /dev/null 2>&1
     sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
     rc=$?
@@ -723,7 +747,11 @@ sftp_backup() {
     fi
 
     # Checking retention
-    backup_list=$(sftpc "cd $BPATH" "ls -l" |awk '{print $9}'|grep "^$user\.")
+    if [ -z $BPATH ]; then
+        backup_list=$(sftpc "ls -l" |awk '{print $9}'|grep "^$user\.")
+    else
+        backup_list=$(sftpc "cd $BPATH" "ls -l" |awk '{print $9}'|grep "^$user\.")
+    fi
     backups_count=$(echo "$backup_list" |wc -l)
     if [ "$backups_count" -ge "$BACKUPS" ]; then
         backups_rm_number=$((backups_count - BACKUPS + 1))
@@ -731,7 +759,11 @@ sftp_backup() {
             backup_date=$(echo $backup |sed -e "s/$user.//" -e "s/.tar.*$//")
             echo -e "$(date "+%F %T") Rotated sftp backup: $backup_date" |\
                 tee -a $BACKUP/$user.log
-            sftpc "cd $BPATH" "rm $backup" > /dev/null 2>&1
+            if [ -z $BPATH ]; then
+                sftpc "rm $backup" > /dev/null 2>&1
+            else
+                sftpc "cd $BPATH" "rm $backup" > /dev/null 2>&1
+            fi
         done
     fi
 
@@ -739,12 +771,20 @@ sftp_backup() {
     echo "$(date "+%F %T") Uploading $user.$date.tar"|tee -a $BACKUP/$user.log
     if [ "$localbackup" = 'yes' ]; then
         cd $BACKUP
-        sftpc "cd $BPATH" "put $user.$date.tar" > /dev/null 2>&1
+        if [ -z $BPATH ]; then
+            sftpc "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
+        else
+            sftpc "cd $BPATH" "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
+        fi
     else
         cd $tmpdir
         tar -cf $BACKUP/$user.$date.tar .
         cd $BACKUP/
-        sftpc "cd $BPATH" "put $user.$date.tar" > /dev/null 2>&1
+        if [ -z $BPATH ]; then
+            sftpc "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
+        else
+            sftpc "cd $BPATH" "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
+        fi
         rm -f $user.$date.tar
     fi
 }
@@ -853,6 +893,7 @@ update_user_value "$user" '$U_BACKUPS' "$U_BACKUPS"
 
 # Send notification
 if [ -e "$BACKUP/$user.log" ]; then
+    cd $BACKUP
     subj="$user → backup has been completed"
     email=$(get_user_value '$CONTACT')
     cat $BACKUP/$user.log |$SENDMAIL -s "$subj" $email $notify

+ 10 - 4
bin/v-restore-user

@@ -62,7 +62,11 @@ ftp_download() {
     if [ -z "$PORT" ]; then
         PORT='21'
     fi
-    ftpc "cd $BPATH" "get $1"
+    if [ -z $BPATH ]; then
+        ftpc "get $1"
+    else
+        ftpc "cd $BPATH" "get $1"
+    fi
 }
 
 # sftp command function
@@ -99,8 +103,6 @@ sftpc() {
                     set arg [lindex \$argv \$count]
                     send "\$arg\r"
                     incr count
-                } else {
-                    incr count
                 } else {
                     send "exit\r"
                     set output "Disconnected."
@@ -131,7 +133,11 @@ sftp_download() {
         PORT='22'
     fi
     cd $BACKUP
-    sftpc "cd $BPATH" "get $1" > /dev/null 2>&1
+    if [ -z $BPATH ]; then
+        sftpc "get $1" > /dev/null 2>&1
+    else
+        sftpc "cd $BPATH" "get $1" > /dev/null 2>&1
+    fi
 
 }
 

+ 9 - 2
bin/v-update-letsencrypt-ssl

@@ -47,11 +47,18 @@ for user in $users; do
             aliases=$(echo "$aliases" |grep -v "^$domain$")
             if [ ! -z "$aliases" ]; then
                 aliases=$(echo "$aliases" |sed -e ':a;N;$!ba;s/\n/,/g')
-                $BIN/v-add-letsencrypt-domain $user $domain $aliases
+                msg=$($BIN/v-add-letsencrypt-domain $user $domain $aliases)
+                if [ $? -ne 0 ]; then
+                    echo "$domain $msg"
+                fi
             else
-                $BIN/v-add-letsencrypt-domain $user $domain
+                msg==$($BIN/v-add-letsencrypt-domain $user $domain)
+                if [ $? -ne 0 ]; then
+                    echo "$domain $msg"
+                fi
             fi
         fi
+        sleep 10
     done
 done
 

+ 1 - 1
func/ip.sh

@@ -103,7 +103,7 @@ decrease_ip_value() {
     current_usr=$(grep "$usr_key=" $VESTA/data/ips/$sip |cut -f 2 -d \')
 
     if [ -z "$current_web" ]; then
-        check_result $E_PARSING "Parsing errpr"
+        check_result $E_PARSING "Parsing error"
     fi
 
     new_web=$((current_web - 1))

+ 3 - 2
func/main.sh

@@ -727,17 +727,18 @@ is_cron_format_valid() {
             check_format='ok'
         fi
     fi
-    if [[ "$1" =~ ^[0-9][-|,|0-9]{0,28}[0-9]$ ]]; then
+    if [[ "$1" =~ ^[0-9][-|,|0-9]{0,70}[\/][0-9]$ ]]; then
         check_format='ok'
         crn_values=${1//,/ }
         crn_values=${crn_values//-/ }
+        crn_values=${crn_values//\// }
         for crn_vl in $crn_values; do
             if [ "$crn_vl" -gt $limit ]; then
                 check_format='invalid'
             fi
         done
     fi
-    if [[ "$1" =~ ^[0-9]+$ ]] && [ "$1" -lt $limit ]; then
+    if [[ "$1" =~ ^[0-9]+$ ]] && [ "$1" -le $limit ]; then
         check_format='ok'
     fi
     if [ "$check_format" != 'ok' ]; then

+ 3 - 3
install/debian/7/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 12 - 12
install/debian/8/pma/config.inc.php

@@ -76,18 +76,18 @@ if (!empty($dbname)) {
     $cfg['Servers'][$i]['controlpass'] = $dbpass;
     /* Optional: Advanced phpMyAdmin features */
     $cfg['Servers'][$i]['pmadb'] = $dbname;
-    $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
-    $cfg['Servers'][$i]['relation'] = 'pma_relation';
-    $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
-    $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
-    $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
-    $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
-    $cfg['Servers'][$i]['history'] = 'pma_history';
-    $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
-    $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
-    $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
-    $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
-    $cfg['Servers'][$i]['recent'] = 'pma_recent';
+    $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
+    $cfg['Servers'][$i]['relation'] = 'pma__relation';
+    $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
+    $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
+    $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
+    $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
+    $cfg['Servers'][$i]['history'] = 'pma__history';
+    $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
+    $cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
+    $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
+    $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
+    $cfg['Servers'][$i]['recent'] = 'pma__recent';
 
     /* Uncomment the following to enable logging in to passwordless accounts,
      * after taking note of the associated security risks. */

+ 3 - 3
install/debian/8/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/debian/8/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/rhel/5/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/rhel/5/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/rhel/6/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/rhel/6/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/rhel/7/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/rhel/7/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/12.04/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/12.04/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/12.10/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/12.10/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/13.04/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/13.04/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/13.10/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/13.10/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/14.04/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/14.04/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/14.10/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/14.10/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/15.04/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/15.04/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/15.10/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/15.10/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 3 - 3
install/ubuntu/16.04/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 4
install/ubuntu/16.04/templates/web/nginx/caching.sh

@@ -6,7 +6,13 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
-
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi

+ 3 - 3
install/ubuntu/16.10/templates/dns/gmail.tpl

@@ -9,6 +9,6 @@ ID='8' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time
 ID='9' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='10' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
 ID='11' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX2.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ASPMX3.GOOGLEMAIL.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
-ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%'
+ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

+ 10 - 3
install/ubuntu/16.10/templates/web/nginx/caching.sh

@@ -6,7 +6,14 @@ ip=$3
 home=$4
 docroot=$5
 
-str="proxy_cache_path /var/cache/nginx/$domain levels=2"
-str="$str keys_zone=$domain:10m inactive=60m max_size=512m;"
-echo "$str" >> /etc/nginx/conf.d/01_caching_pool.conf
+str="proxy_cache_path /var/cache/nginx/$domain levels=2" 
+str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" 
+conf='/etc/nginx/conf.d/01_caching_pool.conf'
+if [ -e "$conf" ]; then
+    if [ -z "$(grep "=${domain}:" $conf)" ]; then
+        echo "$str" >> $conf
+    fi
+else
+    echo "$str" >> $conf
+fi
 

+ 5 - 3
install/vst-install-rhel.sh

@@ -486,6 +486,7 @@ cp /etc/php-fpm.conf $vst_backups/php-fpm > /dev/null 2>&1
 mv -f /etc/php-fpm.d/* $vst_backups/php-fpm/ > /dev/null 2>&1
 
 # Backing up Bind configuration
+yum remove bind-chroot > /dev/null 2>&1
 service named stop > /dev/null 2>&1
 cp /etc/named.conf $vst_backups/named >/dev/null 2>&1
 
@@ -607,11 +608,12 @@ fi
 #----------------------------------------------------------#
 
 # Installing rpm packages
-if [ -z "$disable_remi" ]; then 
-    yum -y --disablerepo=* --enablerepo="base,updates,nginx,epel,vesta,remi*"\
+if [ "$remi" = 'yes' ]; then
+    yum -y --disablerepo=* \
+        --enablerepo="*base,*updates,nginx,epel,vesta,remi*" \
         install $software
 else
-    yum -y --disablerepo=* --enablerepo="base,updates,nginx,epel,vesta" \
+    yum -y --disablerepo=* --enablerepo="*base,*updates,nginx,epel,vesta" \
         install $software
 fi
 check_result $? "yum install failed"

+ 6 - 0
src/deb/ioncube/changelog

@@ -0,0 +1,6 @@
+vesta (0.9.8-18) unstable; urgency=low
+
+  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>
+
+ -- Serghey Rodin <[email protected]>  Fri, 16 Jun 2017 12:12:49 +0000
+

+ 0 - 0
src/deb/ioncube/conffiles


+ 10 - 0
src/deb/ioncube/control

@@ -0,0 +1,10 @@
+Source: vesta-ioncube
+Package: vesta-ioncube
+Priority: optional
+Version: 0.9.8-18
+Section: admin
+Maintainer: Serghey Rodin <[email protected]>
+Homepage: https://www.ioncube.com
+Architecture: amd64
+Depends: bash, awk, sed
+Description: ionCube Loader for Vesta

+ 243 - 0
src/deb/ioncube/copyright

@@ -0,0 +1,243 @@
+LICENCE AGREEMENT FOR THE IONCUBE PHP LOADER, PROVIDED TO ENABLE THE USE
+OF IONCUBE ENCODED FILES AND AS PART OF THE IONCUBE24 SERVICE (ioncube24.com)
+
+YOU SHOULD CAREFULLY READ THE FOLLOWING TERMS AND CONDITIONS BEFORE USING THE
+LOADER SOFTWARE. THE INSTALLATION AND/OR USE OR COPYING OF THE IONCUBE PHP
+LOADER SOFTWARE INDICATES YOUR ACCEPTANCE OF THIS LICENCE AGREEMENT.  IF YOU
+DO NOT ACCEPT THE TERMS OF THIS LICENCE AGREEMENT, DO NOT INSTALL, COPY
+AND/OR USE THE LOADER SOFTWARE.
+
+DEFINITIONS
+
+The following definitions shall apply in this document:
+
+LOADER shall mean the ionCube PHP Loader software package or collection 
+of Loaders, including any modifications or upgrades to the software, used for
+executing PHP scripts previously encoded with the ionCube PHP Encoder
+software to render them non-humanly readable, and any associated
+documentation or electronic or online materials relating to the software.
+
+ENCODER shall mean any ionCube PHP Encoder software or service used for the
+purpose of producing non-humanly readable encoded files from PHP scripts.
+
+ENCODED FILE shall mean a non-humanly readable file produced by the 
+Encoder and being derived from humanly readable PHP script source.
+
+PROVIDER shall mean ionCube Ltd.
+
+USER/YOU shall mean any entity who has downloaded or obtained through any
+other means a version of the Loader software.
+
+
+1 LICENSE ENTITLEMENT 
+
+1.1 The Loader is provided without charge.  Title to the Loader does not pass
+to the user in any circumstances.  The Loader is supplied as object code.
+
+1.2 The provider grants a personal, non-transferable, non-exclusive licence to
+use the Loader in accordance with the terms and conditions of this Licence
+Agreement.
+
+1.3 The installation or downloading and use of the Loader entitles the user
+to install and use the Loader for its own internal lawful purposes.
+
+
+2 DISTRIBUTION 
+
+2.1 The Loader may be freely distributed to third parties alone or as 
+part of a distribution containing other items provided that this license
+is also included. 
+
+2.2 The Loader may under no circumstances be branded as another product, 
+whether distributed or not. 
+
+2.3 Distribution as part of a commercial product is permitted provided such
+distribution is in accordance with clauses 2.1 and 2.2 with respect to the 
+Loader.
+
+
+3 ANALYSIS / REVERSE ENGINEERING / MODIFICATION 
+
+Except insofar as the user is permitted to do so in accordance with applicable
+law:
+
+3.1 Any analysis of the Loader and embedded data by any means and by
+any entity whether human or otherwise and including but without limitation to
+discover details of internal operation, to reverse engineer, to de-compile
+object code, or to modify for the purposes of modifying behaviour is
+forbidden.
+
+3.2 Any analysis of encoded files by any means and by any entity whether human
+or otherwise and including but without limitation to discover details of file
+format or for the purposes of modifying behaviour or scope of their usage is
+forbidden.
+
+
+4 WARRANTY
+
+THE LOADER SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 
+WARRANTIES INCLUDING BUT WITHOUT LIMITATION THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR ANY PARTICULAR PURPOSE ARE
+DISCLAIMED. THE PROVIDER DOES NOT WARRANT THAT THE LOADER IS UNINTERRUPTED
+OR ERROR FREE, NOR THAT THE OPERATION OF THE LOADER WILL FUNCTION IN
+CONJUNCTION WITH ANY OTHER PRODUCT.  
+
+
+5 LIMITATION OF LIABILITY 
+
+5.1 IN NO EVENT WILL THE PROVIDER OF THE LOADER BE LIABLE TO THE USER OR ANY
+PARTY FOR ANY DIRECT, INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR OTHER
+CONSEQUENTIAL DAMAGES ARISING DIRECTLY OR INDIRECTLY FROM THIS LICENCE
+AGREEMENT OR ANY USE OF THE LOADER OR ENCODED FILES, EVEN IF THE PROVIDER IS
+EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+5.2 THE LOADER IS PROVIDED ON AN "AS IS" BASIS.  THE PROVIDER EXCLUDES ALL
+WARRANTIES, CONDITIONS, TERMS, UNDERTAKINGS AND REPRESENTATIONS (EXCLUDING
+FRAUDULENT MISREPRESENTATION) OF ANY KIND, EXPRESS OR IMPLIED, STATUTORY OR
+OTHERWISE IN CONNECTION WITH THE LOADER TO THE FULLEST EXTENT PERMITTED BY
+LAW.
+
+5.3 DOWNLOADING THE LOADER IS AT YOUR OWN RISK AND THE PROVIDER DOES NOT
+ACCEPT LIABILITY FOR ANY DIRECT OR INDIRECT LOSS OR DAMAGE HOWSOEVER CAUSED AS
+A RESULT OF ANY COMPUTER VIRUSES, BUGS, TROJAN HORSES, WORMS, SOFTWARE BOMBS
+OR OTHER SIMILAR PROGRAMS ARISING FROM YOUR USE OF THE LOADER.  WHILST THE
+PROVIDER WILL DO ITS BEST TO ENSURE THAT THE LOADER IS FREE FROM SUCH
+DESTRUCTIVE PROGRAMS, IT IS YOUR RESPONSIBILITY TO TAKE REASONABLE PRECAUTIONS
+TO SCAN FOR SUCH DESTRUCTIVE PROGRAMS DOWNLOADED FROM THE INTERNET.
+
+5.4 THE PROVIDER'S MAXIMUM LIABILITY FOR ANY LOSS OR DAMAGE ARISING FROM THIS
+LICENCE AGREEMENT SHALL IN ANY EVENT BE LIMITED IN THE SOLE DISCRETION OF THE
+PROVIDER TO THE REPLACEMENT OF THE LOADER PRODUCT.
+
+5.5 DUE TO THE NATURE OF THE INTERNET, THE PROVIDER CANNOT GUARANTEE THAT ANY
+E-MAILS OR OTHER ELECTRONIC TRANSMISSIONS WILL BE SENT TO YOU OR RECEIVED BY
+THE PROVIDER OR THAT THE CONTENT OF SUCH TRANSMISSIONS WILL BE SECURE DURING
+TRANSMISSION.
+
+
+6 BUG FIXING AND PRODUCT SUPPORT 
+
+6.1 The provider will use reasonable endeavours to provide support to users.
+The provider will at their discretion only provide support for the latest
+release.
+
+6.2 Support comprises of fault reporting via tickets and fault diagnosis,
+recommendations on workarounds, and where reasonably possible a timely
+resolution.
+
+6.3 The user accepts that on occasion the ability of the provider to meet
+anticipated or published support schedules may be impaired due to, but without
+limitation, Internet service provider failures or software failures that
+affect the ability to communicate for an indeterminate period.
+
+6.4 The provider reserves the right to refuse to provide support at any time.
+
+6.5 The provider wishes to maintain and offer a product of the highest
+possible quality, and accordingly may from time to time and at its discretion
+make product changes for the purpose of correcting behaviour in variance to
+the published specification or the user's reasonable expectations. 
+
+6.6 The provider reserves the right to charge for support where the user does
+not have a valid support plan in place, or where the support offered exceeds
+the scope of the active support plan.
+
+
+7 PRODUCT UPGRADES
+
+7.1 The provider may from time to time release product upgrades. These will
+be provided free of charge and attempts made to provide a timely notification
+to customers of the existence of any new release.
+
+
+8 ERRORS AND OMISSIONS
+
+Whilst reasonable endeavours are made to ensure the accuracy of documentation
+concerning the details of the Loader, the user accepts the possibility of
+inaccuracies in information presented in any format, including email
+communications and online services. The provider shall under no circumstances
+be liable for any events that arise as a result of unintentional inaccuracies
+or omissions.
+
+
+9 USER INDEMNITY
+
+You agree to fully indemnify, defend and hold the provider harmless
+immediately upon demand from and against all actions, liability, claims,
+losses, damages, costs and expenses (including legal/attorney fees) incurred
+by the provider arising directly or indirectly as a result of your breach of
+this Licence Agreement.
+
+
+10 INTELLECTUAL PROPERTY RIGHTS
+
+10.1 The user acknowledges that the Loader and associated documentation and
+materials contain proprietary information of the provider and are and shall
+remain the exclusive property of the provider and/or its licensors and all
+title, copyright, trade marks, trade names, patents and other intellectual
+property rights therein of whatever nature shall remain the sole property of
+the provider and/or its licensors.
+
+10.2 No title to or rights of ownership, copyright or other intellectual
+property in the Loader is transferred to the user (other than the licence
+rights expressly granted in this Licence Agreement).
+
+
+11 TERMINATION
+
+11.1 The provider reserves the right to terminate this Licence Agreement
+immediately by notice in writing against the user if the user is in breach of
+any terms and conditions of this Licence Agreement.
+
+11.2 Termination of this Licence Agreement for any reason shall be without
+prejudice to any other rights or remedies of the provider which may have
+arisen on or before the date of termination under this Licence Agreement or in
+law.
+
+11.3 The provisions of the following clauses shall survive any termination of
+this agreement; clause 3, 5, 10 and 13.
+
+
+12 GENERAL
+
+12.1 The provider reserves the right to transfer or assign all or any of its
+rights and duties and responsibilities set out in this Licence Agreement to
+another party.
+
+12.2 Headings have been included for convenience only and will not be used in
+construing any provision of this Licence Agreement.
+
+12.3 No delay or failure by the provider to exercise any powers, rights or
+remedies under this Licence Agreement will operate as a waiver of them nor
+will any single or partial exercise of any such powers, rights or remedies
+include any other or further exercise of them.
+
+12.4 If any part of this Licence Agreement is found by a court of competent
+jurisdiction or other competent authority to be invalid, unlawful or
+unenforceable then such part shall be severed from the remainder of this
+Licence Agreement which will continue to be valid and enforceable to the
+fullest extent permitted by applicable law.
+
+12.5 This Licence Agreement including the documents or other sources referred
+to herein supersede all prior representations, understandings and agreements
+between the user and the provider relating to the Loader and sets forth the
+entire agreement and understanding between the user and the provider relating
+to the Loader.
+
+12.6 Nothing in this Licence Agreement shall be deemed to constitute a
+partnership between you and the provider nor constitute either party being an
+agent of the other party.
+
+12.7 This Agreement does not create any rights or benefits enforceable by any
+person not a party to it (within the meaning of the U.K.Contracts (Rights of
+Third Parties) Act 1999) except that a person who under clause 12.1 is a
+permitted successor or assignee of the rights or benefits of the provider may
+enforce such rights or benefits.
+
+
+13 GOVERNING LAW AND JURISDICTION
+
+This License Agreement and any issues relating thereto shall be construed and
+interpreted in accordance with the laws of England and subject to the
+exclusive jurisdiction of the English courts.
+
+Copyright (c) 2002-2017 ionCube Ltd.          Last revised 23-April-2015

+ 8 - 0
src/deb/ioncube/postinst

@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# Run triggers only on updates
+if [ -e /usr/local/vesta/ioncube/add_ioncube.sh ]; then
+    /usr/local/vesta/ioncube/add_ioncube.sh
+fi
+
+exit 0

+ 1 - 1
src/deb/nginx/control

@@ -1,7 +1,7 @@
 Source: vesta-nginx
 Package: vesta-nginx
 Priority: optional
-Version: 0.9.8-17
+Version: 0.9.8-18
 Section: admin
 Maintainer: Serghey Rodin <[email protected]>
 Homepage: http://vestacp.com

+ 1 - 1
src/deb/php/control

@@ -1,7 +1,7 @@
 Source: vesta-php
 Package: vesta-php
 Priority: optional
-Version: 0.9.8-17
+Version: 0.9.8-18
 Section: admin
 Maintainer: Serghey Rodin <[email protected]>
 Homepage: http://vestacp.com

+ 1 - 1
src/deb/vesta/control

@@ -1,7 +1,7 @@
 Source: vesta
 Package: vesta
 Priority: optional
-Version: 0.9.8-17
+Version: 0.9.8-18
 Section: admin
 Maintainer: Serghey Rodin <[email protected]>
 Homepage: http://vestacp.com

+ 13 - 0
src/rpm/conf/ioncube.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+VESTA='/usr/local/vesta'
+ioncube="ioncube_loader_lin_5.6.so"
+php='/usr/local/vesta/php/lib/php.ini'
+
+# Check if extention is enabled
+if [ -z "$(grep $ioncube $php |grep -v ';')" ]; then
+    echo "zend_extension = '$VESTA/ioncube/$ioncube'" >> $php
+    /etc/init.d/vesta restart
+fi
+
+exit

+ 1 - 1
src/rpm/conf/php.ini

@@ -300,7 +300,7 @@ expose_php = On
 max_execution_time = 300     ; Maximum execution time of each script, in seconds
 max_input_time = 120    ; Maximum amount of time each script may spend parsing request data
 ;max_input_nesting_level = 64 ; Maximum input variable nesting level
-memory_limit = 32M      ; Maximum amount of memory a script may consume (16MB)
+memory_limit = 64M      ; Maximum amount of memory a script may consume (16MB)
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

+ 43 - 0
src/rpm/specs/vesta-ioncube.spec

@@ -0,0 +1,43 @@
+Name:           vesta-ioncube
+Version:        0.9.8
+Release:        18
+Summary:        ionCube Loader
+Group:          System Environment/Base
+License:        "Freely redistributable without restriction"
+URL:            https://www.ioncube.com
+Vendor:         ioncube.com
+Source0:        %{name}-%{version}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires:       redhat-release >= 5
+Provides:       vesta-ioncube
+
+%define         _vestadir  /usr/local/vesta/ioncube
+
+%description
+This package contains ionCube loader for Vesta
+
+%prep
+%setup -q -n %{name}-%{version}
+
+%build
+
+%install
+install -d  %{buildroot}%{_vestadir}
+%{__cp} -ad ./* %{buildroot}%{_vestadir}
+
+%clean
+rm -rf %{buildroot}
+
+%post
+if [ $1 -eq 1 ]; then
+    if [ -e /usr/local/vesta/ioncube/add_ioncube.sh ]; then
+        /usr/local/vesta/ioncube/add_ioncube.sh
+    fi
+fi
+%files
+%{_vestadir}
+
+%changelog
+* Fri Jun 16 2017 Serghey Rodin <[email protected]> - 0.9.8-18
+- Initial package for ionCube 6.1.0
+

+ 1 - 1
src/rpm/specs/vesta-nginx.spec

@@ -1,6 +1,6 @@
 Name:           vesta-nginx
 Version:        0.9.8
-Release:        17
+Release:        18
 Summary:        Vesta Control Panel
 Group:          System Environment/Base
 License:        BSD-like

+ 2 - 2
src/rpm/specs/vesta-php.spec

@@ -1,6 +1,6 @@
 Name:           vesta-php
 Version:        0.9.8
-Release:        17
+Release:        18
 Summary:        Vesta Control Panel
 Group:          System Environment/Base
 License:        GPL
@@ -20,7 +20,7 @@ This package contains php-cgi for Vesta Control Panel web interface.
 %setup -q -n %{name}-%{version}
 
 %build
-./configure --prefix=/usr/local/vesta/php --enable-fpm --with-fpm-user=admin --with-fpm-group=admin
+./configure --prefix=/usr/local/vesta/php --with-zlib --enable-fpm --with-fpm-user=admin --with-fpm-group=admin --with-mysql --with-mysqli --with-curl --enable-mbstring
 
 make
 

+ 1 - 1
src/rpm/specs/vesta.spec

@@ -1,6 +1,6 @@
 Name:           vesta
 Version:        0.9.8
-Release:        17
+Release:        18
 Summary:        Vesta Control Panel
 Group:          System Environment/Base
 License:        GPL

+ 0 - 3
web/add/db/index.php

@@ -127,6 +127,3 @@ render_page($user, $TAB, 'add_db');
 // Flush session messages
 unset($_SESSION['error_msg']);
 unset($_SESSION['ok_msg']);
-
-// Footer
-include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');

+ 19 - 0
web/add/mail/index.php

@@ -94,11 +94,20 @@ if (!empty($_POST['ok_acc'])) {
         $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg);
     }
 
+    // Validate email
+    if ((!empty($_POST['v_send_email'])) && (empty($_SESSION['error_msg']))) {
+        if (!filter_var($_POST['v_send_email'], FILTER_VALIDATE_EMAIL)) {
+            $_SESSION['error_msg'] = __('Please enter valid email address.');
+        }
+    }
+
     // Protect input
     $v_domain = escapeshellarg($_POST['v_domain']);
     $v_domain = strtolower($v_domain);
     $v_account = escapeshellarg($_POST['v_account']);
     $v_quota = escapeshellarg($_POST['v_quota']);
+    $v_send_email = $_POST['v_send_email'];
+    $v_credentials = $_POST['v_credentials'];
     $v_aliases = $_POST['v_aliases'];
     $v_fwd = $_POST['v_fwd'];
     if (empty($_POST['v_quota'])) $v_quota = 0;
@@ -165,6 +174,16 @@ if (!empty($_POST['ok_acc'])) {
         if (!empty($_SESSION['MAIL_URL'])) $webmail = $_SESSION['MAIL_URL'];
     }
 
+    // Email login credentials
+    if ((!empty($v_send_email)) && (empty($_SESSION['error_msg']))) {
+        $to = $v_send_email;
+        $subject = __("Email Credentials");
+        $hostname = exec('hostname');
+        $from = __('MAIL_FROM', $hostname);
+        $mailtext = $v_credentials;
+        send_email($to, $subject, $mailtext, $from);
+    }
+
     // Flush field values on success
     if (empty($_SESSION['error_msg'])) {
         $_SESSION['ok_msg'] = __('MAIL_ACCOUNT_CREATED_OK',htmlentities(strtolower($_POST['v_account'])),htmlentities($_POST[v_domain]),htmlentities(strtolower($_POST['v_account'])),htmlentities($_POST[v_domain]));

+ 1 - 1
web/add/web/index.php

@@ -333,7 +333,7 @@ if (!empty($_POST['ok'])) {
 
     // Flush field values on success
     if (empty($_SESSION['error_msg'])) {
-        $_SESSION['ok_msg'] = __('WEB_DOMAIN_CREATED_OK',htmlentities($_POST[v_domain]),htmlentities($_POST[v_domain]));
+        $_SESSION['ok_msg'] = __('WEB_DOMAIN_CREATED_OK',htmlentities($_POST['v_domain']),htmlentities($_POST['v_domain']));
         unset($v_domain);
         unset($v_aliases);
         unset($v_ssl);

+ 19 - 0
web/edit/mail/index.php

@@ -179,8 +179,17 @@ if ((!empty($_POST['save'])) && (!empty($_GET['domain'])) && (!empty($_GET['acco
         exit();
     }
 
+    // Validate email
+    if ((!empty($_POST['v_send_email'])) && (empty($_SESSION['error_msg']))) {
+        if (!filter_var($_POST['v_send_email'], FILTER_VALIDATE_EMAIL)) {
+            $_SESSION['error_msg'] = __('Please enter valid email address.');
+        }
+    }
+
     $v_domain = escapeshellarg($_POST['v_domain']);
     $v_account = escapeshellarg($_POST['v_account']);
+    $v_send_email = $_POST['v_send_email'];
+    $v_credentials = $_POST['v_credentials'];
 
     // Change password
     if ((!empty($_POST['v_password'])) && (empty($_SESSION['error_msg']))) {
@@ -297,6 +306,16 @@ if ((!empty($_POST['save'])) && (!empty($_GET['domain'])) && (!empty($_GET['acco
         }
     }
 
+    // Email login credentials
+    if ((!empty($v_send_email)) && (empty($_SESSION['error_msg']))) {
+        $to = $v_send_email;
+        $subject = __("Email Credentials");
+        $hostname = exec('hostname');
+        $from = __('MAIL_FROM', $hostname);
+        $mailtext = $v_credentials;
+        send_email($to, $subject, $mailtext, $from);
+    }
+
     // Set success message
     if (empty($_SESSION['error_msg'])) {
         $_SESSION['ok_msg'] = __('Changes has been saved.');

+ 2 - 1
web/edit/web/index.php

@@ -625,6 +625,7 @@ if (!empty($_POST['save'])) {
                 }
 
                 // Change FTP account path
+                $v_ftp_username_for_emailing = $v_ftp_user_data['v_ftp_user'];
                 $v_ftp_username = $user . '_' . $v_ftp_user_data['v_ftp_user']; //preg_replace("/^".$user."_/", "", $v_ftp_user_data['v_ftp_user']);
                 $v_ftp_username = escapeshellarg($v_ftp_username);
                     $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path']));
@@ -645,7 +646,7 @@ if (!empty($_POST['save'])) {
                     $subject = __("FTP login credentials");
                     $hostname = exec('hostname');
                     $from = __('MAIL_FROM',$hostname);
-                    $mailtext = __('FTP_ACCOUNT_READY',$_GET['domain'],$user,$v_ftp_username,$v_ftp_user_data['v_ftp_password']);
+                    $mailtext = __('FTP_ACCOUNT_READY',$_GET['domain'],$user,$v_ftp_username_for_emailing,$v_ftp_user_data['v_ftp_password']);
                     send_email($to, $subject, $mailtext, $from);
                     unset($v_ftp_email);
                 }

+ 2 - 1
web/inc/i18n/ar.php

@@ -748,12 +748,13 @@ $LANG['ar'] = array(
     'Use server hostname' => 'استخدم اسم السيرفر',
     'Use domain hostname' => 'استخدم اسم الدومين',
     'Use STARTTLS' => 'استخدم STARTTLS',
-    'Use SSL' => 'استخدم SSL',
+    'Use SSL / TLS' => 'استخدم SSL / TLS',
     'No encryption' => 'بلا تشفير',
     'Do not use encryption' => 'لا تستخدم التشفير',
 
     'maximum characters length, including prefix' => 'الحد الأقصى لعدد الحروف هو %s يشمل البادئة',
 
+    'Email Credentials' => 'Email Credentials',
 
 // Texts below doesn't exist in en.php
     '%s rule' => 'قواعد %s',

+ 2 - 1
web/inc/i18n/bg.php

@@ -742,11 +742,12 @@ $LANG['bg'] = array(
     'Use server hostname' => 'Използвай сървърното хост име',
     'Use domain hostname' => 'Използвай хост името на домейн',
     'Use STARTTLS' => 'Използвай STARTTLS',
-    'Use SSL' => 'Използвай SSL',
+    'Use SSL / TLS' => 'Използвай SSL / TLS',
     'No encryption' => 'Без криптиране',
     'Do not use encryption' => 'Не използвай криптиране',
 
     'maximum characters length, including prefix' => 'максималната дължина е %s символа, включително префикса',
 
+    'Email Credentials' => 'Email Credentials',
 );
 

+ 2 - 1
web/inc/i18n/bs.php

@@ -747,10 +747,11 @@ $LANG['bs'] = array(
     'Use server hostname' => 'Koristi server hostname',
     'Use domain hostname' => 'Koristi hostname domena',
     'Use STARTTLS' => 'Koristi STARTTLS',
-    'Use SSL' => 'Koristi SSL',
+    'Use SSL / TLS' => 'Koristi SSL / TLS',
     'No encryption' => 'Bez enkripcije',
     'Do not use encryption' => 'Nemoj koristiti enkripciju',
 
     'maximum characters length, including prefix' => 'maksimalna dužina sme biti %s karaktera, uključujući i prefix',
 
+    'Email Credentials' => 'Email lozinka i podešavanja',
 );

+ 28 - 27
web/inc/i18n/cn.php

@@ -1,7 +1,7 @@
 <?php
 /**
  * Vesta language file
- * 浩浩 ([email protected])
+ * 浩浩 ([email protected]) Feedback: https://myrevery.com/tag/vestacp
  * Kevin ([email protected])
  */
 
@@ -192,13 +192,13 @@ $LANG['cn'] = array(
     'Backup System' => '备份系统',
     'backup exclusions' => '备份排除项目',
     'template' => '模板',
-    'SSL Support' => 'SSL支持',
-    'SSL Home Directory' => 'SSL目录',
-    'Lets Encrypt Support'  => 'Let&#39s Encrypt 支持',
+    'SSL Support' => '使用SSL',
+    'SSL Home Directory' => 'SSL站点根目录',
+    'Lets Encrypt Support'  => '使用Let&#39s Encrypt',
     'Lets Encrypt'  => 'Let&#39s Encrypt',
-    'Your certificate will be automatically issued in 5 minutes' => '你的证书将在5分钟后自动签发完成',
-    'Proxy Support' => '代理支持',
-    'Proxy Extensions' => '代理扩展名',
+    'Your certificate will be automatically issued in 5 minutes' => '证书将在5分钟内自动签发完成',
+    'Proxy Support' => '使用反向代理',
+    'Proxy Extensions' => '反代的文件类型',
     'Web Statistics' => '网站统计',
     'Additional FTP Account' => '额外的FTP账户',
     'Path'  => '路径',
@@ -254,7 +254,7 @@ $LANG['cn'] = array(
     'PostgreSQL Usage on localhost'  => 'PostgreSQL用量 (localhost)',
     'Bandwidth Usage eth0'  => '网络流量 (eth0)',
     'Bandwidth Usage eth1'  => '网络流量 (eth1)',
-    'Bandwidth Usage venet0'  => '网络流量 (venet0)', //For CentOS
+    'Bandwidth Usage venet0'  => '网络流量 (venet0)',
     'Bandwidth Usage venet1'  => '网络流量 (venet1)',
     'Exim Usage'  => 'Exim 用量',
     'FTP Usage'  => 'FTP 用量',
@@ -298,8 +298,8 @@ $LANG['cn'] = array(
     'Basic options'  => '基本选项',
     'Aliases'  => '别名',
     'SSL Certificate'  => 'SSL证书',
-    'SSL Key'  => 'SSL密',
-    'SSL Certificate Authority / Intermediate'  => 'SSL签发机构 / 中级',
+    'SSL Key'  => 'SSL密',
+    'SSL Certificate Authority / Intermediate'  => 'CA证书或中级证书',
     'SSL CSR' => 'SSL CSR',
     'optional'  => '可选',
     'internal' => '内部',
@@ -319,7 +319,7 @@ $LANG['cn'] = array(
     'Message'  => '信息',
     'use local-part'  => '采用 local-part',
     'one or more email addresses'  => '一个或更多邮箱地址',
-    'Prefix will be automaticaly added to database name and database user'  => '数据库名及用户名将会自动添加 %s 前缀',
+    'Prefix will be automaticaly added to database name and database user'  => '数据库名及用户名将会自动添加 %s 前缀',
     'Database'  => '数据库名称',
     'Type'  => '类型',
     'Minute'  => '分',
@@ -368,7 +368,7 @@ $LANG['cn'] = array(
     'last name'  => '姓氏',
     'account'  => '账户',
     'ssl certificate'  => 'SSL证书',
-    'ssl key'  => 'SSL密',
+    'ssl key'  => 'SSL密',
     'stats user password'  => '统计用户账户密码',
     'stats username'  => '统计用户名称',
     'stats password'  => '统计密码',
@@ -453,7 +453,7 @@ $LANG['cn'] = array(
     'CRON_CREATED_OK'  => '定时任务已添加成功',
     'IP_CREATED_OK'  => 'IP地址 <a href="/edit/ip/?ip=%s"><b>%s</b></a> 已添加成功',
     'PACKAGE_CREATED_OK'  => '方案 <a href="/edit/package/?package=%s"><b>%s</b></a> 已添加成功',
-    'SSL_GENERATED_OK' => 'SSL证书已生成',
+    'SSL_GENERATED_OK' => 'SSL证书已生成成功',
     'RULE_CREATED_OK' => '规则已创建成功',
     'BANLIST_CREATED_OK' => 'IP地址已封锁成功',
     'Autoupdate has been successfully enabled' => '自动更新已成功启用',
@@ -490,7 +490,7 @@ $LANG['cn'] = array(
     'LEAVE_PAGE_CONFIRMATION' => '确定要离开当前页吗?',
     'RESTART_CONFIRMATION' => '确定要重新启动 %s 吗?',
     'Welcome'  => '欢迎',
-    'LOGGED_IN_AS'  => '以用户身份 %s 登录',
+    'LOGGED_IN_AS'  => '以 %s 的身份登录',
     'Error'  => '错误',
     'Invalid username or password'  => '无效的用户名称或密码',
     'Invalid username or code'  => '无效的用户名称或验证码.',
@@ -617,7 +617,7 @@ $LANG['cn'] = array(
     'No file selected' => '没有文件被选中',
     'No file or folder selected' => '没有文件或目录被选中',
     'File type not supported' => '不支持的文件类型',
-    'Directory download not available in current version' => '目录下载在当前版本中不可用',
+    'Directory download not available in current version' => '当前版本不支持目录下载',
     'Directory not available' => '目录不可用',
     'Done' => '完成',
     'Close' => '关闭',
@@ -706,9 +706,9 @@ $LANG['cn'] = array(
     'Disable and Cancel Licence' => '停用并取消许可',
     'Licence Activated' => '许可已激活',
     'Licence Deactivated' => '许可已停用',
-    'Restrict users so that they cannot use SSH and access only their home directory.' => '限制用户,使他们不能使用 SSH 只能访问自己的主目录。',
+    'Restrict users so that they cannot use SSH and access only their home directory.' => '限制用户 只能通过 SSH 访问自己的主目录。',
     'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => '功能全面的文件管理器,浏览,复制,编辑,查看和检索你的 Web 文件。',
-    'This is a commercial module, you would need to purchace license key to enable it.' => '这是商业模块,你需要购买许可密匙来启用它。',
+    'This is a commercial module, you would need to purchace license key to enable it.' => '这是商业模块,请购买许可密匙再启用。',
 
     'Minutes' => '分钟',
     'Hourly' => '小时',
@@ -739,21 +739,22 @@ $LANG['cn'] = array(
     'awstats' => 'AWStats',
 
     'Vesta SSL' => 'Vesta SSL',
-    'SUBJECT' => 'SUBJECT',
-    'ALIASES' => 'ALIASES',
-    'NOT_BEFORE' => 'NOT_BEFORE',
-    'NOT_AFTER' => 'NOT_AFTER',
-    'SIGNATURE' => 'SIGNATURE',
-    'PUB_KEY' => 'PUB_KEY',
-    'ISSUER' => 'ISSUER',
+    'SUBJECT' => '颁发给',
+    'ALIASES' => '可选名称',
+    'NOT_BEFORE' => '有效期从',
+    'NOT_AFTER' => '有效期到',
+    'SIGNATURE' => '签名算法',
+    'PUB_KEY' => '密钥位数',
+    'ISSUER' => '颁发者',
 
     'Use server hostname' => '采用服务器主机名',
     'Use domain hostname' => '采用域名',
     'Use STARTTLS' => '采用 STARTTLS 加密',
-    'Use SSL' => '采用 SSL 加密',
+    'Use SSL / TLS' => '采用 SSL / TLS 加密',
     'No encryption' => '不加密',
-    'Do not use encryption' => '不使用加密',
+    'Do not use encryption' => '不使用加密',
 
-    'maximum characters length, including prefix' => '最多 %s 个字符,包含前缀',
+    'maximum characters length, including prefix' => '包括前缀最多 %s 个字符',
 
+    'Email Credentials' => '电子邮件证书',
 );

+ 2 - 1
web/inc/i18n/cz.php

@@ -748,10 +748,11 @@ $LANG['cz'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/da.php

@@ -749,10 +749,11 @@ $LANG['da'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/de.php

@@ -747,10 +747,11 @@ $LANG['de'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/el.php

@@ -749,10 +749,11 @@ $LANG['el'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 3 - 1
web/inc/i18n/en.php

@@ -747,10 +747,12 @@ $LANG['en'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
+
 );

+ 2 - 1
web/inc/i18n/es.php

@@ -754,10 +754,11 @@ $LANG['es'] = array(
     'Use server hostname' => 'Usar hostname del servidor',
     'Use domain hostname' => 'Usar hostname del dominio',
     'Use STARTTLS' => 'Usar STARTTLS',
-    'Use SSL' => 'Usar SSL',
+    'Use SSL / TLS' => 'Usar SSL / TLS',
     'No encryption' => 'Sin encriptación',
     'Do not use encryption' => 'No usar encriptación',
 
     'maximum characters length, including prefix' => 'usar un máximo de %s caracteres, incluyendo prefijo',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 10 - 9
web/inc/i18n/fa.php

@@ -159,7 +159,7 @@ $LANG['fa'] = array(
     'Bandwidth' => 'پهنای باند',
     'Disk' => 'دیسك',
     'Web' => 'وب',
-    'Mail' => 'میل',
+    'Mail' => 'پست',
     'Databases' => 'پایگاه داده',
     'User Directories' => 'پوشه های كاربر',
     'Template' => 'قالب',
@@ -261,7 +261,7 @@ $LANG['fa'] = array(
     'ftp server' => 'سرور FTP',
     'job scheduler' => 'زمانبند كار',
     'firewall' => 'دیوار آتشین',
-    'brute-force monitor' => 'نظاره گر بروت فورس',
+    'brute-force monitor' => 'نظاره گر ورود به زور',
     'CPU' => 'پردازنده',
     'Memory' => 'حافظه',
     'Uptime' => 'زمان كاركرد',
@@ -316,7 +316,7 @@ $LANG['fa'] = array(
     'Minute' => 'دقیقه',
     'Command' => 'دستور',
     'Package Name' => 'نام بسته',
-    'Netmask' => 'نت ماسك',
+    'Netmask' => 'صورتک شبکه',
     'Interface' => 'رابط',
     'Shared' => 'اشتراكی',
     'Assigned user' => 'کاربر اختصاص داده شده',
@@ -348,7 +348,7 @@ $LANG['fa'] = array(
     'ip' => 'آی پی',
     'ip address' => 'آدرس های آی پی',
     'IP address' => 'آدرس آی پی',
-    'netmask' => 'نت ماسك',
+    'netmask' => 'صورتک شبکه',
     'interface' => 'رابط',
     'assigned user' => 'کاربراختصاص یافته',
     'ns1' => 'نام سرور 1',
@@ -536,8 +536,8 @@ $LANG['fa'] = array(
     'Proxy Server' => 'سرور پراکسی',
     'Web Server' => 'وب سرور',
     'Backend Server' => 'سرور باطنی',
-    'Backend Pool Mode' => 'Backend Pool Mode',
-	'DNS Server' => 'سرور نام دامنه',
+    'Backend Pool Mode' => 'حالت استخر باطنی',
+    'DNS Server' => 'سرور نام دامنه',
     'DNS Cluster' => 'خوشه نام دامنه',
     'MAIL Server' => 'سرور پستی',
     'Antivirus' => 'ضد ویروس',
@@ -638,7 +638,7 @@ $LANG['fa'] = array(
     'Cancel saving form' => 'انصراف از ذخیره فرم',
     'Go to USER list' => 'رفتن به فهرست کاربران',
     'Go to WEB list' => 'رفتن به فهرست وب',
-	'Go to DNS list' => 'رفتن به فهرست نام دامنه',
+    'Go to DNS list' => 'رفتن به فهرست نام دامنه',
     'Go to MAIL list' => 'رفتن به فهرست امییل',
     'Go to DB list' => 'رفتن به فهرست پایگاه داده',
     'Go to CRON list' => 'رفتن به فهرست کارهای خودکار',
@@ -665,7 +665,7 @@ $LANG['fa'] = array(
     'Go to the Top of the File List' => 'رفتن به ابتدای فهرست پرونده ها',
     'Go to the Last File' => 'رفتن به آخرین پرونده',
     'Open File / Enter Directory' => 'بازکردن پرونده/ورود به پوشه',
-    'Edit File' => 'Edit File',
+    'Edit File' => 'ویرایش پرونده',
     'Go to Parent Directory' => 'رفتن به پوشه بالایی',
     'Select Current File' => 'انتخاب فایل جاری',
     'Select Bunch of Files' => 'انتخاب دسته ای پرونده ها',
@@ -720,8 +720,9 @@ $LANG['fa'] = array(
     'Use server hostname' => 'استفاده از نام سرور میزبان',
     'Use domain hostname' => 'استفاده از نام دامنه میزبان',
     'Use STARTTLS' => 'استفاده از STARTTLS',
-    'Use SSL' => 'استفاده از SSL',
+    'Use SSL / TLS' => 'استفاده از SSL / TLS',
     'No encryption' => 'بدون رمزگذاری',
     'Do not use encryption' => 'از رمزگذاری استفاده نشود',
     'maximum characters length, including prefix' => 'بیشینه %s کاراکتر طول, شامل پیشوند',
+    'Email Credentials' => 'اعتبار پست الکترونیکی',
 );

+ 2 - 1
web/inc/i18n/fi.php

@@ -749,12 +749,13 @@ $LANG['fi'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 
 // Texts below doesn't exist in en.php
     'traffic' => 'tiedonsiirto',

+ 3 - 1
web/inc/i18n/fr.php

@@ -747,12 +747,14 @@ $LANG['fr'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
+
 
 // Texts below doesn't exist in en.php
     'disk' => 'disque',

+ 2 - 1
web/inc/i18n/hu.php

@@ -751,10 +751,11 @@ $LANG['hu'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/id.php

@@ -750,10 +750,11 @@ $LANG['id'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/it.php

@@ -748,10 +748,11 @@ $LANG['it'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/ja.php

@@ -747,10 +747,11 @@ $LANG['ja'] = array(
     'Use server hostname' => 'サーバーのホスト名を使用する',
     'Use domain hostname' => 'ドメインのホスト名を使用する',
     'Use STARTTLS' => 'STARTTLSを使用する',
-    'Use SSL' => 'SSLを使用する',
+    'Use SSL / TLS' => 'SSL/TLSを使用する',
     'No encryption' => '暗号化しない',
     'Do not use encryption' => '暗号化を使用しない',
 
     'maximum characters length, including prefix' => '接頭辞込みで最大 %s 文字',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/ka.php

@@ -747,10 +747,11 @@ $LANG['ka'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 758 - 0
web/inc/i18n/ko.php

@@ -0,0 +1,758 @@
+<?php
+/**
+ * Vesta language file
+ * Hoto Cocoa ([email protected])
+ */
+
+$LANG['ko'] = array(
+    'Packages'  => '패키지',
+    'IP'  => 'IP',
+    'Graphs'  => '그래프',
+    'Statistics'  => '통계',
+    'Log'  => '기록',
+    'Server'  => '서버',
+    'Services'  => '서비스',
+    'Firewall' => '방화벽',
+    'Updates'  => '업데이트',
+    'Log in'  => '로그인',
+    'Log out'  => '로그아웃',
+
+    'USER'  => '사용자',
+    'WEB'  => '웹',
+    'DNS'  => 'DNS',
+    'MAIL'  => '메일',
+    'DB'  => '데이터베이스',
+    'CRON'  => 'CRON',
+    'BACKUP'  => '백업',
+
+    'LOGIN'  => '로그인',
+    'RESET PASSWORD'  => '비밀번호 초기화',
+    'SEARCH'  => '검색',
+    'PACKAGE'  => '패키지',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => '기록',
+    'UPDATES'  => '업데이트',
+    'FIREWALL'  => '방화벽',
+    'SERVER'  => '서버',
+    'MEMORY'  => '메모리',
+    'DISK'  => '디스크',
+    'NETWORK'  => '네트워크',
+    'Web Log Manager'  => '웹 로그 관리자',
+
+    'no notifications'  => '알림 없음',
+
+    'Add User'  => '사용자 추가',
+    'Add Domain'  => '도메인 추가',
+    'Add Web Domain'  => '웹 도메인 추가',
+    'Add DNS Domain'  => 'DNS 도메인 추가',
+    'Add DNS Record'  => 'DNS 레코드 추가',
+    'Add Mail Domain'  => '메일 도메인 추가',
+    'Add Mail Account'  => '메일 계정 추가',
+    'Add Database'  => '데이터베이스 추가',
+    'Add Cron Job'  => 'Cron 작업 추가',
+    'Create Backup'  => '백업 생성',
+    'Configure'  => '구성',
+    'Restore All'  => '모두 복구',
+    'Add Package'  => '패키지 추가',
+    'Add IP'  => 'IP 주소 추가',
+    'Add Rule' => '규칙 추가',
+    'Ban IP Address' => 'IP 주소 차단',
+    'Search'  => '검색',
+    'Add one more FTP Account' => 'FTP 계정을 하나 추가하기',
+    'Overall Statistics'  => '전체 통계',
+    'Daily'  => '매일',
+    'Weekly'  => '매주',
+    'Monthly'  => '매달',
+    'Yearly'  => '매년',
+    'Add'  => '추가',
+    'Back'  => '뒤로',
+    'Save'  => '저장',
+    'Submit'  => '등록',
+
+    'toggle all'  => '모두 활성화',
+    'apply to selected'  => '선택된 것에 적용',
+    'rebuild'  => '리빌드',
+    'rebuild web'  => '웹 리빌드',
+    'rebuild dns'  => 'DNS 리빌드',
+    'rebuild mail'  => '메일 리빌드',
+    'rebuild db'  => '데이터베이스 리빌드',
+    'rebuild cron'  => 'Cron 리빌드',
+    'update counters'  => '카운터 업데이트',
+    'suspend'  => '정지',
+    'unsuspend'  => '정지 해제',
+    'delete'  => '삭제',
+    'show per user'  => '사용자마다 보여주기',
+    'login as'  => '다음으로 로그인',
+    'logout'  => '로그아웃',
+    'edit'  => '편집',
+    'open webstats'  => '웹스탯 열기',
+    'view logs'  => '기록 보기',
+    'list records'  => '%s개의 레코드 목록',
+    'add record'  => '레코드 추가',
+    'list accounts'  => '%s개의 계정 목록',
+    'add account'  => '계정 추가',
+    'open webmail'  => '웹메일 열기',
+    'list fail2ban' => 'Fail2Ban 목록',
+    'open %s'  => '%s 열기',
+    'download'  => '다운로드',
+    'restore'  => '복구',
+    'configure restore settings'  => '복구 설정 구성',
+    'stop'  => '중지',
+    'start'  => '시작',
+    'restart'  => '재시작',
+    'update'  => '업데이트',
+    'generate'  => '생성',
+    'Generate CSR' => 'CSR 생성',
+    'reread IP' => 'IP 다시읽기',
+    'enable autoupdate' => '자동 업데이트 활성화',
+    'disable autoupdate' => '자동 업데이트 비활성화',
+    'turn on notifications' => '알림 키기',
+    'turn off notifications' => '알림 끄기',
+    'configure' => '구성',
+
+    'Adding User'  => '사용자 추가',
+    'Editing User'  => '사용자 편집',
+    'Adding Domain'  => '도메인 추가',
+    'Editing Domain'  => '도메인 편집',
+    'Adding DNS Domain'  => 'DNS 도메인 추가',
+    'Editing DNS Domain'  => 'DNS 도메인 편집',
+    'Adding DNS Record'  => 'DNS 레코드 추가',
+    'Editing DNS Record'  => 'DNS 레코드 편집',
+    'Adding Mail Domain'  => '메일 도메인 추가',
+    'Editing Mail Domain'  => '메일 도메인 편집',
+    'Adding Mail Account'  => '메일 계정 추가',
+    'Editing Mail Account'  => '메일 계정 편집',
+    'Adding database'  => '데이터베이스 추가',
+    'Editing Cron Job'  => 'Cron 작업 편집',
+    'Adding Cron Job'  => 'Cron 작업 추가',
+    'Editing Database'  => '데이터베이스 편집',
+    'Adding Package'  => '패키지 추가',
+    'Editing Package'  => '패키지 편집',
+    'Adding IP address'  => 'IP 주소 추가',
+    'Editing IP Address'  => 'IP 주소 편집',
+    'Editing Backup Exclusions' => '백업 예외 편집',
+    'Generating CSR' => 'CSR 생성',
+    'Listing'  => '정렬',
+    'Search Results'  => '검색 결과',
+    'Adding Firewall Rule' => '방화벽 규칙 추가',
+    'Editing Firewall Rule' => '방화벽 규칙 편집',
+    'Adding IP Address to Banlist' => 'IP 주소를 차단 목록에 추가',
+
+    'active'  => '활성',
+    'spnd'  => '정지됨',
+    'suspended'  => '정지됨',
+    'running'  => '작동중',
+    'stopped'  => '중지됨',
+    'outdated'  => '오래됨',
+    'updated'  => '업데이트됨',
+
+    'yes'  => '예',
+    'no'  => '아니오',
+    'none'  => '지정되지 않음',
+    'pb'  => 'PB',
+    'tb'  => 'TB',
+    'gb'  => 'GB',
+    'mb'  => 'MB',
+    'minute'  => '분',
+    'hour'  => '시간',
+    'day'  => '일',
+    'days'  => '일',
+    'hours'  => '시간',
+    'minutes'  => '분',
+    'month'  => '개월',
+    'package'  => '패키지',
+    'Bandwidth'  => '대역폭',
+    'Disk'  => '디스크',
+    'Web'  => '웹',
+    'Mail'  => '메일',
+    'Databases'  => '데이터베이스',
+    'User Directories'  => '사용자 디렉토리',
+    'Template'  => '템플릿',
+    'Web Template'  => '웹 템플릿',
+    'Backend Template'  => '백엔드 템플릿',
+    'Proxy Template' =>'프록시 템플릿',
+    'DNS Template'  => 'DNS 템플릿',
+    'Web Domains'  => '웹 템플릿',
+    'SSL Domains'  => 'SSL 도메인',
+    'Web Aliases'  => '웹 별칭',
+    'per domain'  => '도메인 마다',
+    'DNS Domains'  => 'DNS 도메인',
+    'DNS domains'  => 'DNS 도메인',
+    'DNS records'   => 'DNS 기록',
+    'Name Servers'  => '네임 서버',
+    'Mail Domains'  => '메일 도메인',
+    'Mail Accounts'  => '메일 계정',
+    'Cron Jobs'  => 'Cron 작업',
+    'SSH Access'  => 'SSH 접근',
+    'IP Address'  => 'IP 주소',
+    'IP Addresses'  => 'IP 주소',
+    'Backups'  => '백업',
+    'Backup System'  => '백업 시스템',
+    'backup exclusions' => '백업 예외',
+    'template'  => '템플릿',
+    'SSL Support'  => 'SSL 지원',
+    'SSL Home Directory'  => 'SSL 홈',
+    'Lets Encrypt Support'  => 'Lets Encrypt 지원',
+    'Lets Encrypt'  => 'Lets Encrypt',
+    'Your certificate will be automatically issued in 5 minutes' => '인증서는 5분 안에 자동으로 발급됩니다',
+    'Proxy Support'  => '프록시 지원',
+    'Proxy Extensions'  => '프록시 확장',
+    'Web Statistics'  => '웹 통계',
+    'Additional FTP Account'  => '추가 FTP',
+    'Path'  => '경로',
+    'SOA'  => 'SOA',
+    'TTL'  => 'TTL',
+    'Expire'  => '만료',
+    'Records'  => '기록',
+    'Serial'  => '시리얼',
+    'Catchall email'  => 'Catchall 메일',
+    'AntiVirus Support'  => '안티바이러스 지원',
+    'AntiSpam Support'  => '안티스팸 지원',
+    'DKIM Support'  => 'DKIM 지원',
+    'Accounts'  => '계정',
+    'Quota'  => '한도',
+    'Autoreply'  => '자동 응답',
+    'Forward to'  => '다음으로 전달',
+    'Do not store forwarded mail'  => '전달한 메일을 저장하지 않기',
+    'IMAP hostname'  => 'IMAP 호스트명',
+    'IMAP port'  => 'IMAP 포트',
+    'IMAP security'  => 'IMAP 보안',
+    'IMAP auth method'  => 'IMAP 인증 방식',
+    'SMTP hostname'  => 'SMTP 호스트명',
+    'SMTP port'  => 'SMTP 포트',
+    'SMTP security'  => 'SMTP 보안',
+    'SMTP auth method'  => 'SMTP 인증 방식',
+    'STARTTLS'  => 'STARTTLS',
+    'Normal password'  => '일반 비밀번호',
+    'database'  => '데이터베이스',
+    'User'  => '사용자',
+    'Host'  => '호스트',
+    'Charset'  => '캐릭터셋',
+    'Min'  => '분',
+    'Hour'  => '시간',
+    'Day'  => '일',
+    'Month'  => '개월',
+    'Day of week'  => '요일',
+    'local'  => '내부',
+    'Run Time'  => '실행 시간',
+    'Backup Size'  => '백업 크기',
+    'SYS'  => 'SYS',
+    'Domains'  => '도메인',
+    'Status'  => '상태',
+    'shared'  => '공유된',
+    'dedicated'  => '단독된',
+    'Owner' => '소유자',
+    'Users'  => '사용자',
+    'Load Average'  => '평균 로드',
+    'Memory Usage'  => '메모리 사용',
+    'APACHE2 Usage'  => 'APACHE2 사용',
+    'HTTPD Usage'  => 'HTTPD 사용',
+    'NGINX Usage'  => 'NGINX 사용',
+    'MySQL Usage on localhost'  => 'localhost에서의 MySQL 사용',
+    'PostgreSQL Usage on localhost'  => 'localhost에서의 PostgreSQL 사용',
+    'Bandwidth Usage eth0'  => 'eth0 대역폭 사용',
+    'Bandwidth Usage eth1'  => 'eth1 대역폭 사용',
+    'Exim Usage'  => 'Exim 사용',
+    'FTP Usage'  => 'FTP 사용',
+    'SSH Usage'  => 'SSH 사용',
+    'reverse proxy'  => '리버스 프록시',
+    'web server'  => '웹 서버',
+    'dns server'  => 'DNS 서버',
+    'mail server'  => '메일 서버',
+    'pop/imap server'  => 'POP/IMAP 서버',
+    'email antivirus'  => '이메일 안티바이러스',
+    'email antispam'  => '이메일 안티스팸',
+    'database server'  => '데이터베이스 서버',
+    'ftp server'  => 'FTP 서버',
+    'job scheduler'  => '스케줄러 ',
+    'firewall'  => '방화벽',
+    'brute-force monitor'  => '무차별 공격 모니터',
+    'CPU'  => 'CPU',
+    'Memory'  => '메모리',
+    'Uptime'  => '가동 시간',
+    'core package'  => '코어 패키지',
+    'php interpreter'  => 'PHP 인터프리터',
+    'internal web server'  => '내부 웹 서버',
+    'Version'  => '버전',
+    'Release'  => '릴리즈',
+    'Architecture'  => '아키텍처',
+    'Object'  => '객체',
+    'Username'  => '사용자 이름',
+    'Password'  => '비밀번호',
+    'Email'  => '이메일',
+    'Package'  => '패키지',
+    'Language'  => '언어',
+    'First Name'  => '이름',
+    'Last Name'  => '성',
+    'Send login credentials to email address'  => '이메일 주소로 로그인 정보를 보내기',
+    'Default Template'  => '기본 템플릿',
+    'Default Name Servers'  => '기본 네임 서버',
+    'Domain'  => '도메인',
+    'DNS Support'  => 'DNS 지원',
+    'Mail Support'  => 'Mail 지원',
+    'Advanced options'  => '고급 옵션',
+    'Basic options'  => '기본 옵션',
+    'Aliases'  => '별칭',
+    'SSL Certificate'  => 'SSL 인증서',
+    'SSL Key'  => 'SSL 키',
+    'SSL Certificate Authority / Intermediate'  => 'SSL 인증서 발급자',
+    'SSL CSR' => 'SSL CSR',
+    'optional'  => '선택',
+    'internal' => '내부',
+    'Statistics Authorization'  => '통계 인증',
+    'Statistics Auth'  => '통계 인증',
+    'Account'  => '계정',
+    'Prefix will be automaticaly added to username'  => '접두사 %s가 자동으로 사용자 이름에 추가됩니다',
+    'Send FTP credentials to email'  => '이메일로 FTP 정보를 보내기',
+    'Expiration Date'  => '만료일',
+    'YYYY-MM-DD'  => 'YYYY-MM-DD',
+    'Name servers'  => '네임 서버',
+    'Record'  => '기록',
+    'IP or Value'  => 'IP 또는 값',
+    'Priority'  => '중요도',
+    'Record Number' => '기록 번호',
+    'in megabytes'  => '메가바이트 단위',
+    'Message'  => '메시지',
+    'use local-part'  => '내부 파트 사용',
+    'one or more email addresses'  => '하나의 또는 그 이상의 이메일 주소',
+    'Prefix will be automaticaly added to database name and database user'  => '접두사 %s가 자동으로 데이터베이스 이름과 데이터베이스 사용자에 추가됩니다',
+    'Database'  => '데이터베이스',
+    'Type'  => '유형',
+    'Minute'  => '분',
+    'Command'  => '명령어',
+    'Package Name'  => '패키지 이름',
+    'Netmask'  => '넷마슴크',
+    'Interface'  => '인터페이스',
+    'Shared'  => '공유된',
+    'Assigned user'  => '부여 된 사용자',
+    'Assigned domain'  => '부여 된 도메인',
+    'NAT IP association' => 'NAT IP 모음',
+    'shell'  => '쉘',
+    'web domains'  => '웹 도메인',
+    'web aliases'  => '웹 별칭',
+    'dns records'  => 'DNS 기록',
+    'mail domains'  => '메일 도메인',
+    'mail accounts'  => '메일 계정',
+    'accounts'  => '계정',
+    'databases'  => '데이터베이스',
+    'cron jobs'  => 'Cron 작업',
+    'backups'  => '백업',
+    'quota'  => '한도',
+    'day of week'  => '요일',
+    'cmd'  => 'CMD',
+    'users'  => '사용자',
+    'domains'  => '도메인',
+    'aliases'  => '별칭',
+    'records'  => '기록',
+    'jobs'  => '작업',
+    'username'  => '사용자 이름',
+    'password'  => '비밀번호',
+    'type'  => '유형',
+    'charset'  => '캐릭터셋',
+    'domain'  => '도메인',
+    'ip'  => 'IP',
+    'ip address'  => 'IP 주소',
+    'IP address'  => 'IP 주소',
+    'netmask'  => '넷마스크',
+    'interface'  => '인터페이스',
+    'assigned user'  => '부여 된 사용자',
+    'ns1'  => 'NS1',
+    'ns2'  => 'NS2',
+    'user'  => '사용자',
+    'email'  => '이메일',
+    'first name'  => '이름',
+    'last name'  => '성',
+    'account'  => '계정',
+    'ssl certificate'  => 'SSL 인증서',
+    'ssl key'  => 'SSL 키',
+    'stats user password'  => '통계 사용자 비밀번호',
+    'stats username'  => '통계 사용자 이름',
+    'stats password'  => '통계 비밀번호',
+    'ftp user password'  => 'FTP 사용자 비밀번호',
+    'ftp user'  => 'FTP 사용자',
+    'Last 70 lines of %s.%s.log' => '%s.%s.log의 마지막 70개 줄',
+    'AccessLog' => '접근 기록',
+    'ErrorLog' => '오류 기록',
+    'Download AccessLog' => '접근 기록 다운로드',
+    'Download ErrorLog' => '오류 기록 다운로드',
+    'Country' => '국가',
+    '2 letter code' => '2자 코드',
+    'State / Province' => '주 / 도',
+    'City / Locality' => '시 / 지역',
+    'Organization' => '기관',
+    'Action' => '동작',
+    'Protocol' => '프로토콜',
+    'Port' => '포트',
+    'Comment' => '댓글',
+    'Banlist' => '차단 목록',
+    'ranges are acceptable' => '허용 가능한 범위',
+    'CIDR format is supported' => 'CIDR 형식이 지원됩니다',
+    'ACCEPT' => '허용',
+    'DROP' => '드롭',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
+    'Add one more Name Server' => '하나의 네임 서버를 추가하기',
+
+    'web domain' => '웹 도메인',
+    'dns domain' => 'DNS 도메인',
+    'dns record' => 'DNS 레코드',
+    'mail domain' => '메일 도메인',
+    'mail account' => '메일 계정',
+    'cron job' => 'Cron 작업',
+
+    'cron' => 'Cron',
+    'user dir' => '사용자 폴더',
+
+    'unlimited'  => '제한 없음',
+    '1 account'  => '계정 1개',
+    '%s accounts'  => '계정 %s개',
+    '1 domain'  => '도메인 1개',
+    '%s domains'  => '도메인 %s개',
+    '1 record'  => '레코드 1개',
+    '%s records'  => '레코드 %s개',
+    '1 mail account'  => '이메일 계정 1개',
+    '%s mail accounts'  => '이메일 계정 %s개',
+    '1 database'  => '데이터베이스 1개',
+    '%s databases'  => '데이터베이스 %s개',
+    '1 cron job'  => 'Cron 작업 1개',
+    '%s cron jobs'  => 'Cron 작업 %s개',
+    '1 archive'  => '자료 1개',
+    '%s archives'  => '자료 %s개',
+    '1 item'  => '항목 1개',
+    '%s items'  => '항목 %s개',
+    '1 package'  => '패키지 1개',
+    '%s packages'  => '패키지 %s개',
+    '1 IP address'  => 'IP 주소 1개',
+    '%s IP addresses'  => 'IP 주소 %s개',
+    '1 month'  => '1개월',
+    '%s months'  => '%s개월',
+    '1 log record'  => '로그 기록 1개',
+    '%s log records'  => '로그 기록 %s개',
+    '1 object'  => '객체 1개',
+    '%s objects'  => '객체 %s개',
+    'no exclusions' => '예외 없음',
+    '1 rule' => '규칙 1개',
+    '%s rules' => '규칙 %s개',
+    'There are no currently banned IP' => '현재 차단 된 IP가 없습니다',
+
+    'USER_CREATED_OK'  => '사용자 <a href="/edit/user/?user=%s"><b>%s</b></a>가 성공적으로 생성되었습니다.',
+    'WEB_DOMAIN_CREATED_OK'  => '도메인 <a href="/edit/web/?domain=%s"><b>%s</b></a>가 성공적으로 생성되었습니다.',
+    'DNS_DOMAIN_CREATED_OK'  => 'DNS 도메인 <a href="/list/dns/?domain=%s"><b>%s</b></a>가 성공적으로 생성되었습니다.',
+    'DNS_RECORD_CREATED_OK'  => '기록 <b>%s.%s</b>가 성공적으로 생성되었습니다.',
+    'MAIL_DOMAIN_CREATED_OK'  => '메일 도메인 <a href="/list/mail/?domain=%s"><b>%s</b></a>가 성공적으로 생성되었습니다.',
+    'MAIL_ACCOUNT_CREATED_OK'  => '메일 계정 <a href="/edit/mail/?account=%s&domain=%s"><b>%s@%s</b></a>가 성공적으로 생성되었습니다.',
+    'DATABASE_CREATED_OK'  => '데이터베이스 <a href="/edit/db/?database=%s"><b>%s</b></a>가 성공적으로 생성되었습니다.',
+    'CRON_CREATED_OK'  => 'Cron 작업이 성공적으로 생성되었습니다.',
+    'IP_CREATED_OK'  => 'IP 주소 <a href="/edit/ip/?ip=%s"><b>%s</b></a>가 성공적으로 생성되었습니다.',
+    'PACKAGE_CREATED_OK'  => '패키지 <a href="/edit/package/?package=%s"><b>%s</b></a>가 성공적으로 생성되었습니다.',
+    'SSL_GENERATED_OK' => '인증서가 성공적으로 생성되었습니다.',
+    'RULE_CREATED_OK' => '규칙이 성공적으로 생성되었습니다.',
+    'BANLIST_CREATED_OK' => 'IP 주소가 성공적으로 차단되었습니다',
+    'Autoupdate has been successfully enabled' => '자동 업데이트가 성공적으로 활성화 되었습니다.',
+    'Autoupdate has been successfully disabled' => '자동 업데이트가 성공적으로 비활성화 되었습니다.',
+    'Cronjob email reporting has been successfully enabled' => 'Cron 작업 보고 이메일이 성공적으로 활성화 되었습니다',
+    'Cronjob email reporting has been successfully disabled' => 'Cron 작업 보고 이메일이 성공적으로 비활성화 되었습니다',
+    'Changes has been saved.'  => '변경 사항이 저장되었습니다.',
+    'Confirmation'  => '확인',
+    'DELETE_USER_CONFIRMATION' => '정말로 %s 사용자를 삭제 하시겠습니까?',
+    'SUSPEND_USER_CONFIRMATION' => '정말로 %s 사용자를 정지 시키시겠습니까?',
+    'UNSUSPEND_USER_CONFIRMATION' => '정말로 %s 사용자의 정지를 해제 하시겠습니까?',
+    'DELETE_DOMAIN_CONFIRMATION' => '정말로 %s 도메인을 삭제 하시겠습니까?',
+    'SUSPEND_DOMAIN_CONFIRMATION' => '정말로 %s 도메인을 정지 시키시겠습니까?',
+    'UNSUSPEND_DOMAIN_CONFIRMATION' => '정말로 %s 도메인의 정지를 해제 하시겠습니까?',
+    'DELETE_RECORD_CONFIRMATION' => '정말로 %s 레코드를 삭제 하시겠습니까?',
+    'SUSPEND_RECORD_CONFIRMATION' => '정말로 %s 레코드를 정지 시키시겠습니까?',
+    'UNSUSPEND_RECORD_CONFIRMATION' => '정말로 %s 레코드의 정지를 해제 하시겠습니까?',
+    'DELETE_MAIL_ACCOUNT_CONFIRMATION' => '%s을/를 삭제 하시려는게 맞습니까?',
+    'SUSPEND_MAIL_ACCOUNT_CONFIRMATION' => '%s을/를 정지 시키시려는게 맞습니까?',
+    'UNSUSPEND_MAIL_ACCOUNT_CONFIRMATION' => '%s의 정지를 해제 하시려는게 맞습니까?',
+    'DELETE_DATABASE_CONFIRMATION' => '정말로 %s 데이터베이스를 삭제 하시겠습니까?',
+    'SUSPEND_DATABASE_CONFIRMATION' => '정말로 %s 데이터베이스를 정지 시키시겠습니까?',
+    'UNSUSPEND_DATABASE_CONFIRMATION' => '정말로 %s 데이터베이스의 정지를 해제 하시겠습니까?',
+    'DELETE_CRON_CONFIRMATION' => '정말로 Cron 작업을 삭제 하시려는게 맞습니까?',
+    'SUSPEND_CRON_CONFIRMATION' => '정말로 Cron 작업을 정지 시키시려는게 맞습니까?',
+    'UNSUSPEND_CRON_CONFIRMATION' => '정말로 Cron 작업의 정지를 해제 하시려는게 맞습니까?',
+    'DELETE_BACKUP_CONFIRMATION'  => '%s 백업을 삭제 하시려는게 맞습니까?',
+    'DELETE_EXCLUSION_CONFIRMATION' => '%s 예외를 삭제 하시려는게 맞습니까?',
+    'DELETE_PACKAGE_CONFIRMATION'  => '정말로 %s 패키지를 삭제 하시겠습니까?',
+    'DELETE_IP_CONFIRMATION'  => '정말로 %s IP 주소를 삭제 하시겠습니까?',
+    'DELETE_RULE_CONFIRMATION' => '정말로 #%s 규칙을 삭제하시려는게 맞습니까?',
+    'SUSPEND_RULE_CONFIRMATION' => '정말로 #%s 규칙을 정지 시키시려는게 맞습니까?',
+    'UNSUSPEND_RULE_CONFIRMATION' => '정말로 #%s 규칙의 정지를 해제 시키시려는게 맞습니까?',
+    'LEAVE_PAGE_CONFIRMATION' => '페이지를 나가시겠습니까?',
+    'RESTART_CONFIRMATION' => '%s을/를 재시작 하시려는게 맞습니까?',
+    'Welcome'  => '환영합니다',
+    'LOGGED_IN_AS'  => '%s 사용자로 로그인 됨',
+    'Error'  => 'Error',
+    'Invalid username or password'  => '사용자 이름 또는 비밀번호가 올바르지 않습니다.',
+    'Invalid username or code'  => '사용자 이름 또는 코드가 올바르지 않습니다.',
+    'Passwords not match'  => '비밀번호가 일치하지 않습니다.',
+    'Please enter valid email address.'  => '올바른 이메일 주소를 입력해주세요.',
+    'Field "%s" can not be blank.'  => '"%s" 필드는 비워 둘 수 없습니다.',
+    'Password is too short.'  => '비밀번호가 너무 짧습니다 (최소 6자)',
+    'Error code:'  => '에러 코드: %s',
+    'SERVICE_ACTION_FAILED'  => '"%s" "%s" 실패',
+    'IP address is in use' => 'IP 주소가 이미 사용중입니다',
+    'BACKUP_SCHEDULED'  => '태스크가 대기열에 추가되었습니다. 백업 다운로드가 준비되면 이메일 알림을 받으 실 수 있습니다.',
+    'BACKUP_EXISTS'  => '이미 백업이 진행중입니다. 백업이 완료 될 때까지 기다려주세요.',
+    'RESTORE_SCHEDULED'  => '작업이 대기열에 추가되었습니다. 복원이 완료되면 이메일 알림을 받으 실 수 있습니다.',
+    'RESTORE_EXISTS'  => '이미 복원 작업이 진행중입니다. 새로운 복원 작업을 시작하시기 전에 진행중인 복원 작업이 완료 될 때까지 기다려주세요.',
+
+    'WEB_EXCLUSIONS' => '도메인 이름을 한줄에 하나씩 입력해주세요. 모든 도메인을 예외처리 하기 위해서는 *를 사용하세요. 특정한 폴더를 예외처리 하시기 위해서는 다음 형식에 맞게 작성하세요: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => '도메인 이름을 한줄에 하나씩 입력해주세요. 모든 도메인을 예외처리 하기 위해서는 *를 사용하세요.',
+    'MAIL_EXCLUSIONS' => '도메인 이름을 한줄에 하나씩 입력해주세요. 모든 도메인을 예외처리 하기 위해서는 *를 사용하세요. 특정한 계정을 예외처리 하시기 위해서는 다음 형식에 맞게 작성하세요: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => '전체 데이터베이스 이름을 한줄에 하나씩 입력해주세요. 모든 데이터베이스를 예외처리 하기 위해서는 *를 사용하세요',
+    'CRON_EXCLUSIONS' => '모든 작업을 예외처리 하기 위해서는 *를 사용하세요',
+    'USER_EXCLUSIONS' => '전체 폴더 이름을 한줄에 하나씩 입력해주세요. 모든 폴더를 예외처리 하기 위해서는 *를 사용하세요',
+
+    'Welcome to Vesta Control Panel'  => 'Vesta 제어판에 오신 것을 환영합니다',
+    'MAIL_FROM'  => 'Vesta 제어판 <noreply@%s>',
+    'GREETINGS_GORDON_FREEMAN' => "%s %s님 안녕하세요,\n",
+    'GREETINGS' => "안녕하세요,\n",
+    'ACCOUNT_READY' => "계정이 생성되었으며 사용 준비가 되었습니다.\n\nhttps://%s/login/\n사용자명: %s\n비밀번호: %s\n\n--\nVesta 제어판\n",
+
+    'FTP login credentials'  => 'FTP 로그인 정보',
+    'FTP_ACCOUNT_READY' => "FTP 계정이 생성되었으며 사용 준비가 되었습니다.\n\nhttps://%s/login/\n사용자명: %s\n비밀번호: %s\n\n--\nVesta 제어판\n",
+
+    'Database Credentials'  => '데이터베이스 정보',
+    'DATABASE_READY' => "데이터베이스가 성공적으로 생성되었습니다.\n\데이터베이스: %s\n사용자: %s\n비밀번호: %s\n\n--\nVesta 제어판\n",
+
+    'forgot password'  => '비밀번호 잊기',
+    'Confirm'  => '확인',
+    'New Password'  => '새 비밀번호',
+    'Confirm Password'  => '비밀번호 확인',
+    'Reset'  => '초기화',
+    'Reset Code'  => '초기화 코드',
+    'RESET_NOTICE'  => '',
+    'RESET_CODE_SENT'  => '비밀번호 초기화 코드가 이메일 주소로 전송되었습니다<br>',
+    'MAIL_RESET_SUBJECT'  => '%s에서의 비밀번호 초기화',
+    'PASSWORD_RESET_REQUEST' => "제어판 비밀번호를 초기화 하기 위해서, 다음의 링크로 접속해주세요:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\n또는, 다음의 주소로 가주시고 https://%s/reset/?action=code&user=%s 다음의 초기화 코드를 입력해주세요:\n%s\n\n만약 비밀번호 초기화를 요청하지 않으셨다면, 이 메시지를 무시해주세요.\n\n--\nVesta 제어판\n",
+
+    'Jan' => '1월',
+    'Feb' => '2월',
+    'Mar' => '3월',
+    'Apr' => '4월',
+    'May' => '5월',
+    'Jun' => '6월',
+    'Jul' => '7월',
+    'Aug' => '8월',
+    'Sep' => '9월',
+    'Oct' => '10월',
+    'Nov' => '11월',
+    'Dec' => '12월',
+
+    'Configuring Server' => '서버 구성',
+    'Hostname' => '호스트명',
+    'Time Zone' => '시간대',
+    'Default Language' => '기본 언어',
+    'Proxy Server' => '프록시 서버',
+    'Web Server' => '웹 서버',
+    'Backend Server' => '백엔드 서버',
+    'Backend Pool Mode' => '백엔드 풀 모드',
+    'DNS Server' => 'DNS 서버',
+    'DNS Cluster' => 'DNS 클러스터',
+    'MAIL Server' => 'MAIL 서버',
+    'Antivirus' => '안티바이러스',
+    'AntiSpam' => '안티스팸',
+    'Webmail URL' => '웹메일 주소',
+    'MySQL Support' => 'MySQL 지원',
+    'phpMyAdmin URL' => 'phpMyAdmin 주소',
+    'PostgreSQL Support' => 'PostgreSQL 지원',
+    'phpPgAdmin URL' => 'phpPgAdmin 주소',
+    'Maximum Number Of Databases' => '최대 데이터베이스 숫자',
+    'Current Number Of Databases' => '현재 데이터베이스 숫자',
+    'Local backup' => '로컬 백업',
+    'Compression level' => '압축 수준',
+    'Directory' => '폴더',
+    'Remote backup' => '원격 백업',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
+    'FileSystem Disk Quota' => '파일 시스템 디스크 할당량',
+    'Vesta Control Panel Plugins' => 'Vesta 제어판 플러그인',
+    'preview' => '미리보기',
+    'Reseller Role' => '리셀러 역할',
+    'Web Config Editor' => '웹 구성 편집기',
+    'Template Manager' => '템플릿 관리자',
+    'Backup Migration Manager' => '백업 마이그레이션 관리자',
+    'FileManager' => '파일 관리자',
+    'show: CPU / MEM / NET / DISK' => '표시: CPU / MEM / NET / DISK',
+
+    'sort by' => '다음으로 정렬',
+    'Date' => '날짜',
+    'Starred' => '별표 표시한 항목',
+    'Name' => '이름',
+
+    'save to favorites' => '즐겨찾기에 저장',
+
+    'File Manager' => '파일 관리자',
+    'size' => '크기',
+    'date' => '날짜',
+    'name' => '이름',
+    'Initializing' => '초기화중',
+    'UPLOAD' => '업로드',
+    'NEW FILE' => '새 파일',
+    'NEW DIR' => '새 폴더',
+    'DELETE' => '삭제',
+    'RENAME' => '이름 변경',
+    'MOVE' => '이동',
+    'RIGHTS' => '권한',
+    'COPY' => '복사',
+    'ARCHIVE' => '자료',
+    'EXTRACT' => '추출',
+    'DOWNLOAD' => '다운로드',
+    'Are you sure?' => '동의하십니까?',
+    'Hit' => '히트',
+    'to reload the page' => '이 페이지를 새로고침 하려면',
+    'Directory name cannot be empty' => '폴더 이름은 비워둘 수 없습니다',
+    'File name cannot be empty' => '파일 이름은 비워둘 수 없습니다',
+    'No file selected' => '파일이 선택되지 않았습니다',
+    'No file or folder selected' => '파일 또는 폴더가 선택되지 않았습니다',
+    'File type not supported' => '파일 형식이 지원되지 않습니다',
+    'Directory download not available in current version' => '폴더 다운로드는 이 버전에서 지원되지 않습니다',
+    'Directory not available' => '폴더가 유효하지 않습니다',
+    'Done' => '완료',
+    'Close' => '닫기',
+    'Copy' => '복사',
+    'Cancel' => '취소',
+    'Rename' => '이름 변경',
+    'Move' => '이동',
+    'Change Rights' => '권한 변경',
+    'Delete' => '삭제',
+    'Extract' => '추출',
+    'Create' => '생성',
+    'Compress' => '압축',
+    'OK' => '예',
+    'YOU ARE COPYING' => '복사중입니다',
+    'YOU ARE REMOVING' => '삭제중입니다',
+    'Delete items' => '항목 삭제',
+    'Copy files' => '항목 복사',
+    'Move files' => '항목 이동',
+    'Are you sure you want to copy' => '정말 복사하시겠습니까?',
+    'Are you sure you want to move' => '정말 이동하시겠습니까?',
+    'Are you sure you want to delete' => '정말 삭제하시겠습니까',
+    'into' => '안에',
+    'existing files will be replaced' => '존재하는 파일들은 대체 될 것입니다',
+    'Original name' => '원 이름',
+    'File' => '파일',
+    'already exists' => '이미 존재함',
+    'Create file' => '파일 생성',
+    'Create directory' => '폴더 생성',
+    'read by owner' => '소유자가 읽기',
+    'write by owner' => '소유자가 쓰기',
+    'execute/search by owner' => '소유자가 실행/검색',
+    'read by group' => '그룹이 읽기',
+    'write by group' => '그룹이 쓰기',
+    'execute/search by group' => '그룹이 실행/검색',
+    'read by others' => '다른 사람들이 읽기',
+    'write by others' => '다른 사람들이 쓰기',
+    'execute/search by others' => '다른 사람들이 실행/검색',
+
+    'Shortcuts' => '바로가기',
+    'Add New object' => '새 객체 추가',
+    'Save Form' => '다음에서 저장',
+    'Cancel saving form' => '저장 폼 취소',
+    'Go to USER list' => '사용자 목록으로 가기',
+    'Go to WEB list' => '웹 목록으로 가기',
+    'Go to DNS list' => 'DNS 목록으로 가기',
+    'Go to MAIL list' => 'MAIL 목록으로 가기',
+    'Go to DB list' => 'DB 목록으로 가기',
+    'Go to CRON list' => 'CRON 목록으로 가기',
+    'Go to BACKUP list' => '백업 목록으로 가기',
+    'Focus on search' => '검색에 포커스',
+    'Display/Close shortcuts' => '단축키 표시/닫기',
+    'Move backward through top menu' => '상단 메뉴 뒤로 이동',
+    'Move forward through top menu' => '상단 메뉴 앞으로 이동',
+    'Enter focused element' => '포커스 된 요소에 진입',
+    'Move up through elements list' => '요소 목록 위로 이동',
+    'Move down through elements list' => '요소 목록 아래로 이동',
+
+    'Upload' => '업로드',
+    'New File' => '새 파일',
+    'New Folder' => '새 폴더',
+    'Download' => '다운로드',
+    'Archive' => '자료',
+    'Save File (in text editor)' => '파일 저장 (텍스트 편집기 안에서)',
+    'Close Popup / Cancel' => '팝업 닫기 / 취소',
+    'Move Cursor Up' => '커서를 위로 이동',
+    'Move Cursor Down' => '커서를 아래로 이동',
+    'Switch to Left Tab' => '왼쪽 탭으로 스위치',
+    'Switch to Right Tab' => '오른쪽 탭으로 스위치',
+    'Switch Tab' => '탭 스위치',
+    'Go to the Top of the File List' => '파일 목록의 최상단으로 이동',
+    'Go to the Last File' => '마지막 파일로 이동',
+    'Open File / Enter Directory' => '파일 열기 / 폴더 진입',
+    'Edit File' => '파일 수정',
+    'Go to Parent Directory' => '이전 폴더로 이동',
+    'Select Current File' => '현재 파일을 선택',
+    'Select Bunch of Files' => '파일 묶음 서낵',
+    'Add File to the Current Selection' => '현재 선택에 파일 추가',
+    'Select All Files' => '모든 파일 선택',
+    'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' =>
+    '단축키는 웅장한 GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> 파일 관리자에서 영감을 받았습니다',
+
+    'Licence Key' => '라이센스',
+    'Enter License Key' => '라이센스 키 입력',
+    'Buy Licence' => '라이센스 구매',
+    'Buy Lifetime License' => '평생 라이센스 구매',
+    'Disable and Cancel Licence' => '비활성화 및 라이센스 취소',
+    'Licence Activated' => '라이센스 활성화됨',
+    'Licence Deactivated' => '라이센스 비활성화됨',
+    'Restrict users so that they cannot use SSH and access only their home directory.' => 'SSH를 사용할 수 없고 자신의 홈 디렉토리에만 액세스 할 수 있도록 사용자를 제한하십시오.',
+    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => '모든 기능을 갖춘 파일 관리자를 사용하여 웹 도메인 파일을 탐색, 복사, 편집, 보기 및 검색하십시오.',
+    'This is a commercial module, you would need to purchace license key to enable it.' => '이것은 상용 모듈이므로 라이센스 키를 구입하여 사용 가능하게 해야합니다.',
+
+    'Minutes' => '분',
+    'Hourly' => '매시',
+    'Run Command' => '명령 실행',
+    'every month' => '매달',
+    'every odd month' => '매 홀수 월',
+    'every even month' => '매 짝수 월',
+    'every day' => '매일',
+    'every odd day' => '매 홀수 일',
+    'every even day' => '매 짝수 일',
+    'weekdays (5 days)' => '평일',
+    'weekend (2 days)' => '휴일',
+    'Monday' => '월요일',
+    'Tuesday' => '화요일',
+    'Wednesday' => '수요일',
+    'Thursday' => '목요일',
+    'Friday' => '금요일',
+    'Saturday' => '토요일',
+    'Sunday' => '일요일',
+    'every hour' => '1시간마다',
+    'every two hours' => '2시간마다',
+    'every minute' => '1분마다',
+    'every two minutes' => '2분마다',
+    'every' => '마다',
+    'Generate' => '생성',
+
+    'webalizer' => 'Webalizer',
+    'awstats' => 'Awstats',
+
+    'Vesta SSL' => 'Vesta SSL',
+    'SUBJECT' => '주체',
+    'ALIASES' => '별칭',
+    'NOT_BEFORE' => '유효 기간(시작)',
+    'NOT_AFTER' => '유효 기간(끝)',
+    'SIGNATURE' => '서명',
+    'PUB_KEY' => '공개 키',
+    'ISSUER' => '발급자',
+
+    'Use server hostname' => '서버 호스트네임 사용',
+    'Use domain hostname' => '도메인 호스트네임 사용',
+    'Use STARTTLS' => 'STARTTLS 사용',
+    'Use SSL / TLS' => 'SSL / TLS 사용',
+    'No encryption' => '암호화 없음',
+    'Do not use encryption' => '암호화 사용하지 않기',
+
+    'maximum characters length, including prefix' => '최대 길이는 접두사를 포함하여 %s자입니다.',
+
+    'Email Credentials' => '이메일 자격증명',
+    
+);

+ 3 - 1
web/inc/i18n/nl.php

@@ -750,9 +750,11 @@ $LANG['nl'] = array(
     'Use server hostname' => 'Gebruik server hostnaam',
     'Use domain hostname' => 'Gebruik domein hostname',
     'Use STARTTLS' => 'Gebruik STARTTLS',
-    'Use SSL' => 'Gebruik SSL',
+    'Use SSL / TLS' => 'Gebruik SSL / TLS',
     'No encryption' => 'Geen encryptie',
     'Do not use encryption' => 'Gebruik geen encryptie',
 
     'maximum characters length, including prefix' => 'maximaal %s karakters lang, inclusief prefix',
+
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/no.php

@@ -748,10 +748,11 @@ $LANG['no'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/pl.php

@@ -748,10 +748,11 @@ $LANG['pl'] = array(
     'Use server hostname' => 'Użyj hostname serwera',
     'Use domain hostname' => 'Użyj domeny serwera',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'Brak szyfrowania',
     'Do not use encryption' => 'Nie korzystaj z szyfrowania',
 
     'maximum characters length, including prefix' => 'maksymalna %s ilość znaków, łącznie z prefiksem',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/pt-BR.php

@@ -747,10 +747,11 @@ $LANG['pt-BR'] = array(
     'Use server hostname' => 'Usar hostname do servidor',
     'Use domain hostname' => 'Usar hostname do domínio',
     'Use STARTTLS' => 'Usar STARTTLS',
-    'Use SSL' => 'Usar SSL',
+    'Use SSL / TLS' => 'Usar SSL / TLS',
     'No encryption' => 'Nenhuma criptografia',
     'Do not use encryption' => 'Não usar criptografia',
 
     'maximum characters length, including prefix' => 'comprimento máximo de % caracteres, incluindo o prefixo',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/pt.php

@@ -747,10 +747,11 @@ $LANG['pt'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/ro.php

@@ -749,10 +749,11 @@ $LANG['ro'] = array(
     'Use server hostname' => 'Utilizează nume de host server',
     'Use domain hostname' => 'Utilizează nume de host domeniu',
     'Use STARTTLS' => 'Utilizează STARTTLS',
-    'Use SSL' => 'Utilizează SSL',
+    'Use SSL / TLS' => 'Utilizează SSL / TLS',
     'No encryption' => 'Fără encriptare',
     'Do not use encryption' => 'Nu folosi encriptare',
 
     'maximum characters length, including prefix' => 'maximum %s caractere, incluzând prefixul',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/ru.php

@@ -750,10 +750,11 @@ $LANG['ru'] = array(
     'Use server hostname' => 'Использовать серверное имя хоста',
     'Use domain hostname' => 'Использовать доменное имя хоста',
     'Use STARTTLS' => 'Использовать STARTTLS',
-    'Use SSL' => 'Использовать SSL',
+    'Use SSL / TLS' => 'Использовать SSL / TLS',
     'No encryption' => 'Без шифрования',
     'Do not use encryption' => 'Не использовать шифрование',
 
     'maximum characters length, including prefix' => 'максимальное %s количество символов, включая префикс',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/se.php

@@ -747,10 +747,11 @@ $LANG['se'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 757 - 0
web/inc/i18n/sr.php

@@ -0,0 +1,757 @@
+<?php
+/**
+ * Vesta Serbian sr_SR language file
+ * Translation base taken from Bosnian translation file and adapted to Serbian (with a lot of modifications)
+ *
+ */
+$LANG['sr'] = array(
+    'Packages'  => 'Paketi',
+    'IP'  => 'IP',
+    'Graphs'  => 'Grafikoni',
+    'Statistics'  => 'Statistika',
+    'Log'  => 'Log',
+    'Server'  => 'Server',
+    'Services'  => 'Servisi',
+    'Firewall' => 'Firewall',
+    'Updates'  => 'Ažuriranje',
+    'Log in'  => 'Ulaz',
+    'Log out'  => 'Izlaz',
+
+    'USER'  => 'KORISNIK',
+    'WEB'  => 'WEB',
+    'DNS'  => 'DNS',
+    'MAIL'  => 'MAIL',
+    'DB'  => 'DB',
+    'CRON'  => 'CRON',
+    'BACKUP'  => 'BACKUP',
+
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'PROMENA ŠIFRE',
+    'SEARCH'  => 'PRETRAGA',
+    'PACKAGE'  => 'PAKET',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATISTIKA',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'AŽURIRANJA',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORIJA',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'MREŽA',
+    'Web Log Manager'  => 'Web Log Menadžer',
+
+    'no notifications'  => 'nema notifikacija',
+
+    'Add User'  => 'Dodaj korisnika',
+    'Add Domain'  => 'Dodaj domen',
+    'Add Web Domain'  => 'Dodaj domen na hosting',
+    'Add DNS Domain'  => 'Kreiraj DNS za domen',
+    'Add DNS Record'  => 'Dodaj DNS zapis (DNS record)',
+    'Add Mail Domain'  => 'Kreiraj mail servis za domen',
+    'Add Mail Account'  => 'Dodaj mail nalog',
+    'Add Database'  => 'Dodaj bazu podataka',
+    'Add Cron Job'  => 'Dodaj cron job',
+    'Create Backup'  => 'Napravi Backup',
+    'Configure'  => 'Konfigurisanje',
+    'Restore All'  => 'Vrati sve',
+    'Add Package'  => 'Dodaj paket',
+    'Add IP'  => 'Dodaj IP',
+    'Add Rule' => 'Dodati pravilo',
+    'Ban IP Address' => 'Blokiraj IP adresu',
+    'Search'  => 'Traži',
+    'Add one more FTP Account' => 'Dodaj još jedan FTP nalog',
+    'Overall Statistics'  => 'Globalna statistika',
+    'Daily'  => 'Dnevno',
+    'Weekly'  => 'Sedmično',
+    'Monthly'  => 'Mesečno',
+    'Yearly'  => 'Godišnje',
+    'Add'  => 'Dodaj',
+    'Back'  => 'Nazad',
+    'Save'  => 'Sačuvaj',
+    'Submit'  => 'Pošalji',
+
+    'toggle all'  => 'selektuj sve',
+    'apply to selected'  => 'grupna akcija',
+    'rebuild'  => 'popraviti',
+    'rebuild web'  => 'popravi web',
+    'rebuild dns'  => 'popravi dns',
+    'rebuild mail'  => 'popravi mail',
+    'rebuild db'  => 'popravi bazu',
+    'rebuild cron'  => 'popravi cron',
+    'update counters'  => 'ažuriraj brojače',
+    'suspend'  => 'suspenduj',
+    'unsuspend'  => 'odsuspenduj',
+    'delete'  => 'obriši',
+    'show per user'  => 'prikaz po korisniku',
+    'login as'  => 'loguj se kao',
+    'logout'  => 'izlaz',
+    'edit'  => 'izmena',
+    'open webstats'  => 'vidi web statistiku',
+    'view logs'  => 'vidi logove',
+    'list records'  => 'izlistano %s zapisa',
+    'add record'  => 'dodaj zapis (record)',
+    'list accounts'  => 'izlistaj svih %s naloga',
+    'add account'  => 'dodaj nalog',
+    'open webmail'  => 'otvori webmail',
+    'list fail2ban' => 'fail2ban listing',
+    'open %s'  => 'otvori %s',
+    'download'  => 'preuzmi',
+    'restore'  => 'vrati',
+    'configure restore settings'  => 'vrati backup (moguće i selektivno vraćanje)',
+    'stop'  => 'zaustavi',
+    'start'  => 'pokreni',
+    'restart'  => 'restart',
+    'update'  => 'ažuriraj',
+    'generate'  => 'generiši',
+    'Generate CSR' => 'Generiši CSR',
+    'reread IP' => 'ponovo refrešuj IP',
+    'enable autoupdate' => 'uključi autoumatsko ažuriranje',
+    'disable autoupdate' => 'isključi autoumatsko ažuriranje',
+    'turn on notifications' => 'uključi notifikacije',
+    'turn off notifications' => 'isključi notifikacije',
+    'configure' => 'konfiguriši',
+
+    'Adding User'  => 'Dodavanje korisnika',
+    'Editing User'  => 'Izmena korisnika',
+    'Adding Domain'  => 'Dodavanje domena',
+    'Editing Domain'  => 'Izmena domena',
+    'Adding DNS Domain'  => 'Dodavanje DNS-a za domen',
+    'Editing DNS Domain'  => 'Izmena DNS-a za domen',
+    'Adding DNS Record'  => 'Dodavanje DNS zapisa (DNS record)',
+    'Editing DNS Record'  => 'Izmena DNS zapisa (DNS record)',
+    'Adding Mail Domain'  => 'Dodavanje Mail-a za domee',
+    'Editing Mail Domain'  => 'Izmena Mail-a za domen',
+    'Adding Mail Account'  => 'Dodavanje Mail naloga',
+    'Editing Mail Account'  => 'Izmena Mail naloga',
+    'Adding database'  => 'Dodavanje baze podataka',
+    'Editing Cron Job'  => 'Izmena cron job-a',
+    'Adding Cron Job'  => 'Dodavanje cron job-a',
+    'Editing Database'  => 'Izmena baze podataka',
+    'Adding Package'  => 'Dodavanje paketa',
+    'Editing Package'  => 'Izmena paketa',
+    'Adding IP address'  => 'Dodavanje IP adrese',
+    'Editing IP Address'  => 'Izmena IP adrese',
+    'Editing Backup Exclusions' => 'Izmena backup izuzeća',
+    'Generating CSR' => 'Generisanje CSR-a',
+    'Listing'  => 'Izlistan',
+    'Search Results'  => 'Rezultati pretrage',
+    'Adding Firewall Rule' => 'Dodavanje Firewall pravila',
+    'Editing Firewall Rule' => 'Izmena Firewall pravila',
+    'Adding IP Address to Banlist' => 'Dodavanje IP adrese',
+
+    'active'  => 'aktivan',
+    'spnd'  => 'suspendovan',
+    'suspended'  => 'suspendovan',
+    'running'  => 'pokrenut',
+    'stopped'  => 'stopiran',
+    'outdated'  => 'zastarelo',
+    'updated'  => 'ažurirano',
+
+    'yes'  => 'da',
+    'no'  => 'ne',
+    'none'  => 'nema',
+    'pb'  => 'pb',
+    'tb'  => 'tb',
+    'gb'  => 'gb',
+    'mb'  => 'mb',
+    'minute'  => 'minut',
+    'hour'  => 'sat',
+    'day'  => 'dan',
+    'days'  => 'dana',
+    'hours'  => 'sati',
+    'minutes'  => 'minuta',
+    'month'  => 'mesec',
+    'package'  => 'paket',
+    'Bandwidth'  => 'Protok',
+    'Disk'  => 'Disk',
+    'Web'  => 'Web',
+    'Mail'  => 'Mail',
+    'Databases'  => 'Baze podataka',
+    'User Directories'  => 'Korisnički direktorijumi',
+    'Template'  => 'Template',
+    'Web Template'  => 'Web template',
+    'Backend Template'  => 'Backend template',
+    'Proxy Template' =>'Proxy template',
+    'DNS Template'  => 'DNS template',
+    'Web Domains'  => 'Web domena',
+    'SSL Domains'  => 'SSL domena',
+    'Web Aliases'  => 'Web aliasa',
+    'per domain'  => 'po domenu',
+    'DNS Domains'  => 'DNS Domena',
+    'DNS domains'  => 'DNS domena',
+    'DNS records'   => 'DNS zapisa (DNS records)',
+    'Name Servers'  => 'Name Serveri',
+    'Mail Domains'  => 'Mail domena',
+    'Mail Accounts'  => 'Mail naloga',
+    'Cron Jobs'  => 'Cron Job-ova',
+    'SSH Access'  => 'SSH pristup',
+    'IP Address'  => 'IP adresa',
+    'IP Addresses'  => 'IP adrese',
+    'Backups'  => 'Backup-ova',
+    'Backup System'  => 'Backup sistem',
+    'backup exclusions' => 'backup izuzeci',
+    'template'  => 'template',
+    'SSL Support'  => 'SSL podrška',
+    'SSL Home Directory'  => 'SSL direktorijum',
+    'Lets Encrypt Support'  => 'Lets Encrypt podrška',
+    'Lets Encrypt'  => 'Lets Encrypt',
+    'Your certificate will be automatically issued in 5 minutes' => 'Vaš sertifikat će biti automatski generisan za 5 minuta',
+    'Proxy Support'  => 'Proxy podrška',
+    'Proxy Extensions'  => 'Proxy ekstenzije',
+    'Web Statistics'  => 'Web statistika',
+    'Additional FTP Account'  => 'Dodatni FTP nalog',
+    'Path'  => 'Putanja',
+    'SOA'  => 'SOA',
+    'TTL'  => 'TTL',
+    'Expire'  => 'Ističe',
+    'Records'  => 'Records (zapisi)',
+    'Serial'  => 'Serijski br.',
+    'Catchall email'  => 'CatchAll email',
+    'AntiVirus Support'  => 'AntiVirus podrška',
+    'AntiSpam Support'  => 'AntiSpam podrška',
+    'DKIM Support'  => 'DKIM podrška',
+    'Accounts'  => 'Nalozi',
+    'Quota'  => 'Dozvoljeni prostor',
+    'Autoreply'  => 'Automatski odgovor',
+    'Forward to'  => 'Prosleđuj mailove na',
+    'Do not store forwarded mail' => 'Nemoj čuvati prosleđene emailove',
+    'IMAP hostname'  => 'IMAP hostname',
+    'IMAP port'  => 'IMAP port',
+    'IMAP security'  => 'IMAP security',
+    'IMAP auth method'  => 'IMAP auth method',
+    'SMTP hostname'  => 'SMTP hostname',
+    'SMTP port'  => 'SMTP port',
+    'SMTP security'  => 'SMTP security',
+    'SMTP auth method'  => 'SMTP auth method',
+    'STARTTLS'  => 'STARTTLS',
+    'Normal password'  => 'Normal password',
+    'database'  => 'baza podataka',
+    'User'  => 'Korisnik',
+    'Host'  => 'Host',
+    'Charset'  => 'Charset',
+    'Min'  => 'Min',
+    'Hour'  => 'Sat',
+    'Day'  => 'Dan',
+    'Month'  => 'Mesec',
+    'Day of week'  => 'Dan u nedelji',
+    'local'  => 'lokalno',
+    'Run Time'  => 'Trajanje generisanja backup-a',
+    'Backup Size'  => 'Veličina backup-a',
+    'SYS'  => 'SYS',
+    'Domains'  => 'Domeni',
+    'Status'  => 'Status',
+    'shared'  => 'šerovano',
+    'dedicated'  => 'dedicated',
+    'Owner' => 'Vlasnik',
+    'Users'  => 'Korisnici',
+    'Load Average'  => 'Prosečno opterećenje',
+    'Memory Usage'  => 'Iskorišćenje memorije',
+    'APACHE2 Usage'  => 'APACHE2 upotreba',
+    'HTTPD Usage'  => 'HTTPD upotreba',
+    'NGINX Usage'  => 'NGINX upotreba',
+    'MySQL Usage on localhost'  => 'MySQL na localhost-u',
+    'PostgreSQL Usage on localhost'  => 'PostgreSQL na localhost-u',
+    'Bandwidth Usage eth0'  => 'Protok na eth0 mrežnom interfejsu',
+    'Bandwidth Usage eth1'  => 'Protok na eth1 mrežnom interfejsu',
+    'Exim Usage'  => 'Exim upotreba',
+    'FTP Usage'  => 'FTP upotreba',
+    'SSH Usage'  => 'SSH upotreba',
+    'reverse proxy'  => 'reverzni proxy',
+    'web server'  => 'web server',
+    'dns server'  => 'dns server',
+    'mail server'  => 'mail server',
+    'pop/imap server'  => 'pop/imap server',
+    'email antivirus'  => 'email antivirus',
+    'email antispam'  => 'email antispam',
+    'database server'  => 'server baze podataka',
+    'ftp server'  => 'ftp server',
+    'job scheduler'  => 'planer poslova',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
+    'CPU'  => 'CPU',
+    'Memory'  => 'Memorija',
+    'Uptime'  => 'Radi',
+    'core package'  => 'glavni paket',
+    'php interpreter'  => 'php interpreter',
+    'internal web server'  => 'interni web server',
+    'Version'  => 'Verzija',
+    'Release'  => 'Distribucija',
+    'Architecture'  => 'Arhitektura',
+    'Object'  => 'Predmet',
+    'Username'  => 'Korisničko ime',
+    'Password'  => 'Šifra',
+    'Email'  => 'Email',
+    'Package'  => 'Paket',
+    'Language'  => 'Jezik',
+    'First Name'  => 'Ime',
+    'Last Name'  => 'Prezime',
+    'Send login credentials to email address'  => 'Pošalji login podatke na mail adresu',
+    'Default Template'  => 'Osnovni template',
+    'Default Name Servers'  => 'Podrazumevani Name serveri',
+    'Domain'  => 'Domen',
+    'DNS Support'  => 'DNS podrška',
+    'Mail Support'  => 'Mail podrška',
+    'Advanced options'  => 'Dodatne opcije',
+    'Basic options'  => 'Osnovne opcije',
+    'Aliases'  => 'Aliasi',
+    'SSL Certificate'  => 'SSL sertifikat',
+    'SSL Key'  => 'SSL Ključ',
+    'SSL Certificate Authority / Intermediate'  => 'SSL Certificate Authority / Intermediate',
+    'SSL CSR' => 'SSL CSR',
+    'optional'  => 'opciono',
+    'internal' => 'interno',
+    'Statistics Authorization'  => 'Autorizacija za statistiku',
+    'Statistics Auth'  => 'Autorizacija statistiku',
+    'Account'  => 'Nalog',
+    'Prefix will be automaticaly added to username'  => 'Prefiks %s će automatski biti pridodat korisničkom imenu',
+    'Send FTP credentials to email'  => 'Pošalji FTP login podatke na mail adresu',
+    'Expiration Date'  => 'Datum isteka',
+    'YYYY-MM-DD'  => 'YYYY-MM-DD',
+    'Name servers'  => 'Name serveri',
+    'Record'  => 'Record (zapis)',
+    'IP or Value'  => 'IP ili vrednost',
+    'Priority'  => 'Prioritet',
+    'Record Number' => 'Redni broj zapisa',
+    'in megabytes'  => 'u megabajtima',
+    'Message'  => 'Poruka',
+    'use local-part'  => 'unesi samo početni deo (bez @domen.com dela)',
+    'one or more email addresses'  => 'jedna ili više email adresa',
+    'Prefix will be automaticaly added to database name and database user'  => 'Prefiks %s se automatski dodaje na ime baze i na korisničko ime baze',
+    'Database'  => 'Baza podataka',
+    'Type'  => 'Tip',
+    'Minute'  => 'Minut',
+    'Command'  => 'Komanda',
+    'Package Name'  => 'Ime paketa',
+    'Netmask'  => 'Netmask',
+    'Interface'  => 'Interface',
+    'Shared'  => 'Šerovano',
+    'Assigned user'  => 'Dodejeljen korisnik',
+    'Assigned domain'  => 'Dodejeljen domen',
+    'NAT IP association' => 'NAT IP asocijacija',
+    'shell'  => 'shell',
+    'web domains'  => 'web domeni',
+    'web aliases'  => 'web aliasi',
+    'dns records'  => 'dns zapisi (dns records)',
+    'mail domains'  => 'mail domeni',
+    'mail accounts'  => 'mail nalozi',
+    'accounts'  => 'naloga',
+    'databases'  => 'baze podataka',
+    'cron jobs'  => 'cron jobs',
+    'backups'  => 'backup-ovi',
+    'quota'  => 'dodeljen prostor',
+    'day of week'  => 'dan u nedelji',
+    'cmd'  => 'cmd',
+    'users'  => 'korisnika',
+    'domains'  => 'domena',
+    'aliases'  => 'aliasa',
+    'records'  => 'zapisa',
+    'jobs'  => 'jobs',
+    'username'  => 'korisničko ime',
+    'password'  => 'šifra',
+    'type'  => 'tip',
+    'charset'  => 'charset',
+    'domain'  => 'domen',
+    'ip'  => 'ip',
+    'ip address'  => 'ip adresa',
+    'IP address'  => 'IP adresa',
+    'netmask'  => 'netmask',
+    'interface'  => 'interfejs',
+    'assigned user'  => 'dodeljen korisnik',
+    'ns1'  => 'ns1',
+    'ns2'  => 'ns2',
+    'user'  => 'korisnik',
+    'email'  => 'email',
+    'first name'  => 'ime',
+    'last name'  => 'prezime',
+    'account'  => 'nalog',
+    'ssl certificate'  => 'ssl certifikat',
+    'ssl key'  => 'ssl ključ',
+    'stats user password'  => 'šifra za korisničku statistiku',
+    'stats username'  => 'stats korisničko ime',
+    'stats password'  => 'stats šifra',
+    'ftp user password'  => 'ftp šifra',
+    'ftp user'  => 'ftp username',
+    'Last 70 lines of %s.%s.log' => 'Zadnjih 70. redova od %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
+    'Download AccessLog' => 'Skini AccessLog',
+    'Download ErrorLog' => 'Skini ErrorLog',
+    'Country' => 'Zemlja',
+    '2 letter code' => 'samo 2 slova',
+    'State / Province' => 'Država / Predeo',
+    'City / Locality' => 'Grad / Mesto',
+    'Organization' => 'Organizacija',
+    'Action' => 'Akcija',
+    'Protocol' => 'Protokol',
+    'Port' => 'Port',
+    'Comment' => 'Komentar',
+    'Banlist' => 'Lista banovanih',
+    'ranges are acceptable' => 'možete da koristite i format OD-DO',
+    'CIDR format is supported' => 'CIDR format je podržan',
+    'ACCEPT' => 'PRIHVATITI',
+    'DROP' => 'IGNORISATI',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
+    'Add one more Name Server' => 'Dodaj još jedan Name server',
+
+    'web domain' => 'web domen',
+    'dns domain' => 'dns za domen',
+    'dns record' => 'dns zapis (DNS record)',
+    'mail domain' => 'mail za domen',
+    'mail account' => 'mail nalog',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'korisnički direktorijum',
+
+    'unlimited'  => 'neograničeno',
+    '1 account'  => '1 nalog',
+    '%s accounts'  => '%s naloga',
+    '1 domain'  => '1 domen',
+    '%s domains'  => '%s domena',
+    '1 record'  => '1 zapis',
+    '%s records'  => '%s zapisa',
+    '1 mail account'  => '1 mail nalog',
+    '%s mail accounts'  => '%s mail naloga',
+    '1 database'  => '1 baza podataka',
+    '%s databases'  => '%s baza podataka',
+    '1 cron job'  => '1 cron job',
+    '%s cron jobs'  => '%s cron job-ova',
+    '1 archive'  => '1 arhiva',
+    '%s archives'  => '%s arhiva',
+    '1 item'  => '1 stavka',
+    '%s items'  => '%s stavki',
+    '1 package'  => '1 paket',
+    '%s packages'  => '%s paketa',
+    '1 IP address'  => '1 IP adresa',
+    '%s IP addresses'  => '%s IP adresa',
+    '1 month'  => '1 mesec',
+    '%s months'  => '%s meseci',
+    '1 log record'  => '1 log zapis',
+    '%s log records'  => '%s log zapisa',
+    '1 object'  => '1 objekat',
+    '%s objects'  => '%s objekata',
+    'no exclusions' => 'nema izuzetaka',
+    '1 rule' => '1 pravilo',
+    '%s rules' => '%s pravila',
+    'There are no currently banned IP' => 'Nijedna IP adresa trenutno nije banovana',
+
+    'USER_CREATED_OK'  => 'Korisnik <a href="/edit/user/?user=%s"><b>%s</b></a> je uspešno kreiran.',
+    'WEB_DOMAIN_CREATED_OK'  => 'Domen <a href="/edit/web/?domain=%s"><b>%s</b></a> je uspešno dodat.',
+    'DNS_DOMAIN_CREATED_OK'  => 'DNS za domen <a href="/list/dns/?domain=%s"><b>%s</b></a> je uspešno napravljen.',
+    'DNS_RECORD_CREATED_OK'  => 'DNS zapis (DNS record) <b>%s.%s</b> je uspešno napravljen.',
+    'MAIL_DOMAIN_CREATED_OK'  => 'Mail za domen <a href="/list/mail/?domain=%s"><b>%s</b></a> je uspešno napravljen.',
+    'MAIL_ACCOUNT_CREATED_OK'  => 'Mail nalog <a href="/edit/mail/?account=%s&domain=%s"><b>%s@%s</b></a> je uspešno napravljen.',
+    'DATABASE_CREATED_OK'  => 'Baza podataka <a href="/edit/db/?database=%s"><b>%s</b></a> je uspešno napravljena',
+    'CRON_CREATED_OK'  => 'Cron job je uspešno napravljen.',
+    'IP_CREATED_OK'  => 'IP adrese <a href="/edit/ip/?ip=%s"><b>%s</b></a> su uspešno dodate.',
+    'PACKAGE_CREATED_OK'  => 'Paket <a href="/edit/package/?package=%s"><b>%s</b></a> je uspešno napravljen.',
+    'SSL_GENERATED_OK' => 'Sertifikat je uspešno generisan.',
+    'RULE_CREATED_OK' => 'Pravilo je uspešno kreirano.',
+    'BANLIST_CREATED_OK' => 'IP adresa je uspešno dodata na banlist-u',
+    'Autoupdate has been successfully enabled' => 'Automatsko ažuriranje uspešno aktivirano',
+    'Autoupdate has been successfully disabled' => 'Automatsko ažuriranje je isključeno',
+    'Cronjob email reporting has been successfully enabled' => 'Cronjob izveštavanje je uspešno aktivirano',
+    'Cronjob email reporting has been successfully disabled' => 'Cronjob izveštavanje je uspešno isključeno',
+    'Changes has been saved.'  => 'Izmene su uspešno sačuvane.',
+    'Confirmation'  => 'Potvrda',
+    'DELETE_USER_CONFIRMATION' => 'Da li ste sigurni da želite da obrišete %s?',
+    'SUSPEND_USER_CONFIRMATION' => 'Da li ste sigurni da želite da suspendujete %s?',
+    'UNSUSPEND_USER_CONFIRMATION' => 'Da li ste sigurni da želite da aktivirate %s?',
+    'DELETE_DOMAIN_CONFIRMATION' => 'Da li ste sigurni da želite da obrišete domen %s?',
+    'SUSPEND_DOMAIN_CONFIRMATION' => 'Da li ste sigurni da želite da suspendujete domen %s?',
+    'UNSUSPEND_DOMAIN_CONFIRMATION' => 'Da li ste sigurni da želite aktivirate domen %s?',
+    'DELETE_RECORD_CONFIRMATION' => 'Da li ste sigurni da želite da obrišete ovaj zapis %s?',
+    'SUSPEND_RECORD_CONFIRMATION' => 'Da li ste sigurni da želite suspendujete ovaj zapis %s?',
+    'UNSUSPEND_RECORD_CONFIRMATION' => 'Da li ste sigurni da želite ponovo aktivirate ovaj zapis %s?',
+    'DELETE_MAIL_ACCOUNT_CONFIRMATION' => 'Da li ste sigurni da želite ovo da obrišete %s?',
+    'SUSPEND_MAIL_ACCOUNT_CONFIRMATION' => 'Da li ste sigurni da želite da suspendujete %s?',
+    'UNSUSPEND_MAIL_ACCOUNT_CONFIRMATION' => 'Da li ste sigurni da želite da ponovo aktivirate %s?',
+    'DELETE_DATABASE_CONFIRMATION' => 'Da li ste sigurni da želite da obrišete bazu podataka %s?',
+    'SUSPEND_DATABASE_CONFIRMATION' => 'Da li ste sigurni da želite da suspendujete bazu podataka %s?',
+    'UNSUSPEND_DATABASE_CONFIRMATION' => 'Da li ste sigurni da želite da ponovo aktivirate bazu podataka %s?',
+    'DELETE_CRON_CONFIRMATION' => 'Da li ste sigurni da želite da obrišete cron job?',
+    'SUSPEND_CRON_CONFIRMATION' => 'Da li ste sigurni da želite da suspendujete cron job?',
+    'UNSUSPEND_CRON_CONFIRMATION' => 'Da li ste sigurni da želite da ponovo aktivirate cron job?',
+    'DELETE_BACKUP_CONFIRMATION'  => 'Da li ste sigurni da želite da obrišete %s backup?',
+    'DELETE_EXCLUSION_CONFIRMATION' => 'Da li ste sigurni da želite da obrišete %s izuzetke?',
+    'DELETE_PACKAGE_CONFIRMATION'  => 'Da li ste sigurni da želite da obrišeti paket %s?',
+    'DELETE_IP_CONFIRMATION'  => 'Da li ste sigurni da želite da obrišete IP adresu %s?',
+    'DELETE_RULE_CONFIRMATION' => 'Da li ste sigurni da želite da obrišete pravilo #%s?',
+    'SUSPEND_RULE_CONFIRMATION' => 'Da li ste sigurni da želite da suspendujete pravilo #%s?',
+    'UNSUSPEND_RULE_CONFIRMATION' => 'Da li ste sigurni da želite da ponovo aktivirate pravilo #%s?',
+    'LEAVE_PAGE_CONFIRMATION' => 'Napusti stranicu?',
+    'RESTART_CONFIRMATION' => 'Da li ste sigurni da želite da restartujete %s?',
+    'Welcome'  => 'Dobrodošli',
+    'LOGGED_IN_AS'  => 'Ulogovani ste kao %s',
+    'Error'  => 'Greška',
+    'Invalid username or password'  => 'Pogrešani login podaci',
+    'Invalid username or code'  => 'Pogrešno korisničko ime ili kod',
+    'Passwords not match'  => 'Passwordi se ne poklapaju',
+    'Please enter valid email address.'  => 'Potrebno je uneti validnu email adresu.',
+    'Field "%s" can not be blank.'  => 'Polja "%s" ne smeju biti prazna.',
+    'Password is too short.'  => 'Šifra je previše kratka (najmanje 6 znakova)',
+    'Error code:'  => 'Greška koda: %s',
+    'SERVICE_ACTION_FAILED'  => '"%s" "%s" nije uspelo',
+    'IP address is in use' => 'IP adresa se već koristi',
+    'BACKUP_SCHEDULED'  => 'Backup je zakazan. Uskoro ćete dobiti obaveštenje putem maila da možete preuzeti vaš backup.',
+    'BACKUP_EXISTS'  => 'Sačekajte da se backup dovrši, pošto je već pokrenut.',
+    'RESTORE_SCHEDULED'  => 'Vraćanje backup-a je zakazano. Primićete email kada backup bude vraćen.',
+    'RESTORE_EXISTS'  => 'Server je već u procesu vraćanja Vašeg backup-a. Sačekajte da se završi pre nego što ga ponovno pokrenete novo vraćanje backup-a.',
+
+    'WEB_EXCLUSIONS' => 'Unesi domen(e), po jedan u svakoj liniji. Da bi izuzeo sve domene unesi zvezdicu (*). Da bi izuzeo određene direktorijume koristi sledeći format: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Unesi domen(e), po jedan u svakoj liniji. Da bi izuzeo sve domene unesi zvezdicu *',
+    'MAIL_EXCLUSIONS' => 'Unesi domen(e), po jedan u svakoj liniji. Da bi izuzeo sve domene unesi zvezdicu (*). Da bi izuzeo određene naloge koristi sledeći format: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Unesi imena baza, po jednu u svakoj liniji. Da bi izuzeo sve baze unesi zvezdicu *',
+    'CRON_EXCLUSIONS' => 'Da bi izuzeo sve cron-job-ove unesi zvezdicu *',
+    'USER_EXCLUSIONS' => 'Unesi direktorijume, po jedan u svakoj liniji. Da bi izuzeo sve direktorijume unesi zvezdicu *',
+
+    'Welcome to Vesta Control Panel'  => 'Dobrodošli u Vesta kontrolni panel',
+    'MAIL_FROM'  => 'Vesta kontrolni panel <noreply@%s>',
+    'GREETINGS_GORDON_FREEMAN' => "Poštovanje, %s %s,\n",
+    'GREETINGS' => "Poštovanje,\n",
+    'ACCOUNT_READY' => "Vaš hosting nalog je kreiran i spreman za korišćenje.\n\nhttps://%s/login/\nKorisničko ime: %s\nŠifra: %s\n\n--\nVesta kontrolni panel\n",
+
+    'FTP login credentials'  => 'FTP podaci',
+    'FTP_ACCOUNT_READY' => "FTP nalog je kreiran. Koristite sledeće podatke kako biste se ulogovali:\n\nHostname: %s\nKorisničko ime: %s_%s\nŠifra: %s\n\n--\nVesta kontrolni panel\n",
+
+    'Database Credentials'  => 'Podaci baze podataka',
+    'DATABASE_READY' => "Baza podataka je kreirana. Koristite sledeće podatke kako biste se ulogovali:\n\nDatabase: %s\nKorisničko ime: %s\nŠifra: %s\n%s\n\n--\nVesta kontrolni panel\n",
+
+    'forgot password'  => 'zaboravljena šifra',
+    'Confirm'  => 'Potvrditi',
+    'New Password'  => 'Nova šifra',
+    'Confirm Password'  => 'Potvrdi šifru',
+    'Reset'  => 'Reset',
+    'Reset Code'  => 'Resetuj kod',
+    'RESET_NOTICE'  => '',
+    'RESET_CODE_SENT'  => 'Kod resetovane šifre je poslat na vašu email adresu<br>',
+    'MAIL_RESET_SUBJECT'  => 'Šifra je resetovana %s',
+    'PASSWORD_RESET_REQUEST' => "Za resetovanje šifre sledite link:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nIli, možete ići na https://%s/reset/?action=code&user=%s i uneti kod:\n%s\n\nAko niste tražili resetovanje šifre, ignorišite ovu poruku i prihvatite naše izvinjenje.\n\n--\nVesta kontrolni panel\n",
+
+    'Jan' => 'Jan',
+    'Feb' => 'Feb',
+    'Mar' => 'Mar',
+    'Apr' => 'Apr',
+    'May' => 'Maj',
+    'Jun' => 'Jun',
+    'Jul' => 'Jul',
+    'Aug' => 'Avg',
+    'Sep' => 'Sep',
+    'Oct' => 'Okt',
+    'Nov' => 'Nov',
+    'Dec' => 'Dec',
+
+    'Configuring Server' => 'Konfiguracija Servera',
+    'Hostname' => 'Hostname',
+    'Time Zone' => 'Vremenska zona',
+    'Default Language' => 'Jezik',
+    'Proxy Server' => 'Proxy Server',
+    'Web Server' => 'Web Server',
+    'Backend Server' => 'Backend Server',
+    'Backend Pool Mode' => 'Backend Pool Mode',
+    'DNS Server' => 'DNS Server',
+    'DNS Cluster' => 'DNS Klaster',
+    'MAIL Server' => 'MAIL Server',
+    'Antivirus' => 'Antivirus',
+    'AntiSpam' => 'AntiSpam',
+    'Webmail URL' => 'Webmail URL',
+    'MySQL Support' => 'MySQL podrška',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL podrška',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maksimalan broj baza',
+    'Current Number Of Databases' => 'Trenutan broj baza',
+    'Local backup' => 'Lokalni backup',
+    'Compression level' => 'Nivo kompresije',
+    'Directory' => 'Direktorijum',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
+    'FileSystem Disk Quota' => 'FileSystem Disk Quota',
+    'Vesta Control Panel Plugins' => 'Plugin-ovi',
+    'preview' => 'pregled',
+    'Reseller Role' => 'Reseller uloga',
+    'Web Config Editor' => 'Web Config Editor',
+    'Template Manager' => 'Template menadžer',
+    'Backup Migration Manager' => 'Backup migracioni menadžer',
+    'FileManager' => 'FileManager',
+    'show: CPU / MEM / NET / DISK' => 'prikaži: CPU / MEM / NET / DISK statistiku i stanje',
+
+    'sort by' => 'sortiranje po',
+    'Date' => 'Datum',
+    'Starred' => 'Označen zvezdicom',
+    'Name' => 'Ime',
+
+    'save to favorites' => 'snimi u Omiljene (favorites)',
+
+    'File Manager' => 'Fajl menadžer',
+    'size' => 'veličina',
+    'date' => 'datum',
+    'name' => 'ime',
+    'Initializing' => 'Inicijalizacija',
+    'UPLOAD' => 'UPLOAD',
+    'NEW FILE' => 'NOVI FAJL',
+    'NEW DIR' => 'NOVI DIREKTORIJUM',
+    'DELETE' => 'OBRISATI',
+    'RENAME' => 'PREIMENOVATI',
+    'MOVE' => 'POMERITI',
+    'RIGHTS' => 'PRIVILEGIJE',
+    'COPY' => 'KOPIRATI',
+    'ARCHIVE' => 'ARHIVIRATI',
+    'EXTRACT' => 'RASPAKOVATI',
+    'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Da li ste sigurni?',
+    'Hit' => 'Hit',
+    'to reload the page' => 'da refrešujemo ovu stranicu',
+    'Directory name cannot be empty' => 'Ime direktorijuma ne može biti prazno',
+    'File name cannot be empty' => 'Ime fajla ne može biti prazno',
+    'No file selected' => 'Niste selektovali nijedan fajl',
+    'No file or folder selected' => 'Niste selektovali nijedan fajl niti direktorijum',
+    'File type not supported' => 'Ovaj format fajla (file type) nije podržan',
+    'Directory download not available in current version' => 'Downloadovanje direktorijuma nije moguće u trenutnoj verziji VestaCP. Zapakujte folder pa onda download-ujte tu arhivu',
+    'Directory not available' => 'Direktorijum nije dostupan',
+    'Done' => 'Završeno',
+    'Close' => 'Zatvoriti',
+    'Copy' => 'Kopirati',
+    'Cancel' => 'Odustati',
+    'Rename' => 'Preimenovati',
+    'Move' => 'Pomeriti',
+    'Change Rights' => 'Izmena privilegija',
+    'Delete' => 'Obrisati',
+    'Extract' => 'Raspakovati',
+    'Create' => 'Kreirati',
+    'Compress' => 'Kompresovati',
+    'OK' => 'OK',
+    'YOU ARE COPYING' => 'KOPIRAMO',
+    'YOU ARE REMOVING' => 'BRIŠEMO',
+    'Delete items' => 'Brisanje svih stavki',
+    'Copy files' => 'Kopiranje fajlova',
+    'Move files' => 'Pomeranje fajlova',
+    'Are you sure you want to copy' => 'Da li ste sigurni da želite da kopirate',
+    'Are you sure you want to move' => 'Da li ste sigurni da želite da pomerite',
+    'Are you sure you want to delete' => 'Da li ste sigurni da želite da izbrišete',
+    'into' => 'u',
+    'existing files will be replaced' => 'postojeći fajlovi će biti prekopirani',
+    'Original name' => 'Orginalno ime',
+    'File' => 'Fajl',
+    'already exists' => 'Već postoji',
+    'Create file' => 'Kreirati fajl',
+    'Create directory' => 'Kreirati direktorijum',
+    'read by owner' => 'mogućnost čitanja (read) od strane vlasnika',
+    'write by owner' => 'mogućnost pisanja (write) od strane vlasnika',
+    'execute/search by owner' => 'izvršavanje/pretraživanje (execute/search) za vlasn.',
+    'read by group' => 'mogućnost čitanja (read) od strane grupe',
+    'write by group' => 'mogućnost pisanja (write) od strane grupe',
+    'execute/search by group' => 'izvršavanje/pretraživanje (execute/search) za grupu',
+    'read by others' => 'mogućnost čitanja (read) od strane svih',
+    'write by others' => 'mogućnost pisanja (write) od strane svih',
+    'execute/search by others' => 'izvršavanje/pretraživanje (execute/search) za sve',
+
+    'Shortcuts' => 'Prečice',
+    'Add New object' => 'Dodati novi objekat',
+    'Save Form' => 'Sačuvati formu',
+    'Cancel saving form' => 'Odustani',
+    'Go to USER list' => 'Idi na listu korisnika',
+    'Go to WEB list' => 'Idi na listu WEB domena',
+    'Go to DNS list' => 'Idi na listu DNS domena',
+    'Go to MAIL list' => 'Idi na listu MAIL domena',
+    'Go to DB list' => 'Idi na listu BAZA podataka',
+    'Go to CRON list' => 'Idi na listu CRON job-ova',
+    'Go to BACKUP list' => 'Idi na listu BACKUP-ova',
+    'Focus on search' => 'Skokni na pretragu',
+    'Display/Close shortcuts' => 'Prikaći/skloni prečice',
+    'Move backward through top menu' => 'Pomeri se nazad u gornjem meniju',
+    'Move forward through top menu' => 'Pomeri se napred u gornjem meniju',
+    'Enter focused element' => 'Unesi aktivni elemenat',
+    'Move up through elements list' => 'Pomeri se na gore kroz listu',
+    'Move down through elements list' => 'Pomeri se na dole kroz listu',
+
+    'Upload' => 'Upload',
+    'New File' => 'Novi fajl',
+    'New Folder' => 'Novi Direktorijum',
+    'Download' => 'Download',
+    'Archive' => 'Zapakuj',
+    'Save File (in text editor)' => 'Snimi fajl (u text editoru)',
+    'Close Popup / Cancel' => 'Zatvori popup / Odustani',
+    'Move Cursor Up' => 'Pomeri kurzor na gore',
+    'Move Cursor Down' => 'Pomeri kurzor na dole',
+    'Switch to Left Tab' => 'Skokni u levi tab',
+    'Switch to Right Tab' => 'Skokni u desni tab',
+    'Switch Tab' => 'Skokni u drugi tab',
+    'Go to the Top of the File List' => 'Idi na vrh liste fajlova',
+    'Go to the Last File' => 'Idi na poslednji fajl',
+    'Open File / Enter Directory' => 'Otvori fajl / Uđi u direktorijum',
+    'Edit File' => 'Izmeni fajl',
+    'Go to Parent Directory' => 'Idi u direktorijum ispred ovog',
+    'Select Current File' => 'Selektuj trenutno izabrani fajl',
+    'Select Bunch of Files' => 'Selektuj više fajlova',
+    'Add File to the Current Selection' => 'Dodaj fajl u postojeću selekciju',
+    'Select All Files' => 'Selektuj sve fajlove',
+    'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' =>
+        'prečice su slične prečicama u legendarnom GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> fajl menadžeru',
+
+    'Licence Key' => 'Licencni ključ',
+    'Enter License Key' => 'Unesi ključ licence',
+    'Buy Licence' => 'Kupi licencu',
+    'Buy Lifetime License' => 'Kupu doživotnu licencu',
+    'Disable and Cancel Licence' => 'Isključi i otkaži licencu',
+    'Licence Activated' => 'Licenca je aktivirana',
+    'Licence Deactivated' => 'Licenca je deaktivirana',
+    'Restrict users so that they cannot use SSH and access only their home directory.' => 'Ograničava SSH korisnika tako da on može da pristupi samo direktorijumima unutar svog home direktorijuma.',
+    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'Kopiraj, briši, uploaduj, zapakuj, otpakuj fajlove preko Fajl menadžera direktno iz svog browsera.',
+    'This is a commercial module, you would need to purchace license key to enable it.' => 'Ovaj modul je komercijalan, potrebno je da kupiš licencu za ovaj modul da bi ga koristio.',
+
+    'Minutes' => 'Minuta',
+    'Hourly' => 'Sati',
+    'Run Command' => 'Pokreni komandu',
+    'every month' => 'svaki mesec',
+    'every odd month' => 'svaki neparan mesec',
+    'every even month' => 'svaki paran mesec',
+    'every day' => 'svaki dan',
+    'every odd day' => 'svaki neparan dan',
+    'every even day' => 'svaki paran dan',
+    'weekdays (5 days)' => 'radni dani (5 dana)',
+    'weekend (2 days)' => 'vikend (2 dana)',
+    'Monday' => 'Ponedeljak',
+    'Tuesday' => 'Utorak',
+    'Wednesday' => 'Sreda',
+    'Thursday' => 'Četvrtak',
+    'Friday' => 'Petak',
+    'Saturday' => 'Subota',
+    'Sunday' => 'Nedjelja',
+    'every hour' => 'svaki sat',
+    'every two hours' => 'svakih dva sata',
+    'every minute' => 'svake minute',
+    'every two minutes' => 'svake dve minute',
+    'every' => 'svakih',
+    'Generate' => 'Generiši',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
+    'Vesta SSL' => 'Vesta SSL',
+    'SUBJECT' => 'SUBJECT',
+    'ALIASES' => 'ALIASES',
+    'NOT_BEFORE' => 'NOT_BEFORE',
+    'NOT_AFTER' => 'NOT_AFTER',
+    'SIGNATURE' => 'SIGNATURE',
+    'PUB_KEY' => 'PUB_KEY',
+    'ISSUER' => 'ISSUER',
+
+    'Use server hostname' => 'Koristi server hostname',
+    'Use domain hostname' => 'Koristi hostname domena',
+    'Use STARTTLS' => 'Koristi STARTTLS',
+    'Use SSL / TLS' => 'Koristi SSL / TLS',
+    'No encryption' => 'Bez enkripcije',
+    'Do not use encryption' => 'Nemoj koristiti enkripciju',
+
+    'maximum characters length, including prefix' => 'maksimalna dužina sme biti %s karaktera, uključujući i prefix',
+
+    'Email Credentials' => 'Email lozinka i podešavanja',
+);

+ 759 - 0
web/inc/i18n/th.php

@@ -0,0 +1,759 @@
+<?php
+/**
+ * Vesta language file
+ * Language: Thai ( Thailand )
+ * [email protected]
+ */
+
+$LANG['th'] = array(
+
+    'Packages'  => 'แพ็กเกจ',
+    'IP'  => 'IP',
+    'Graphs'  => 'กราฟ',
+    'Statistics'  => 'สถิติ',
+    'Log'  => 'Log',
+    'Server'  => 'เซิฟเวอร์',
+    'Services'  => 'บริการ',
+    'Firewall' => 'ไฟร์วอลล์',
+    'Updates'  => 'อัพเดท',
+    'Log in'  => 'เข้าสู่ระบบ',
+    'Log out'  => 'ออกจากระบบ',
+
+    'USER'  => 'ผู้ใช้',
+    'WEB'  => 'เว็บ',
+    'DNS'  => 'DNS',
+    'MAIL'  => 'เมล์',
+    'DB'  => 'ฐานข้อมูล',
+    'CRON'  => 'CRON',
+    'BACKUP'  => 'สำรองข้อมูล',
+
+    'LOGIN'  => 'เข้าสู่ระบบ',
+    'RESET PASSWORD'  => 'รีเซ็ตรหัสผ่าน',
+    'SEARCH'  => 'ค้นหา',
+    'PACKAGE'  => 'แพ็กเกจ',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'ล็อก',
+    'UPDATES'  => 'อัพเดท',
+    'FIREWALL'  => 'ไฟร์วอลล์',
+    'SERVER'  => 'เซิฟเวอร์',
+    'MEMORY'  => 'หน่วยความจำ',
+    'DISK'  => 'พื้นที่จัดเก็บข้อมูล',
+    'NETWORK'  => 'เครือข่าย',
+    'Web Log Manager'  => 'ตัวจัดการ Web Log',
+
+    'no notifications'  => 'ไม่มีการแจ้งเตือน',
+
+    'Add User'  => 'เพิ่มผู้ใช้',
+    'Add Domain'  => 'เพิ่มโดเมน',
+    'Add Web Domain'  => 'เพิ่ม Web Domain',
+    'Add DNS Domain'  => 'เพิ่ม DNS Domain',
+    'Add DNS Record'  => 'เพิ่ม DNS Record',
+    'Add Mail Domain'  => 'เพิ่ม Mail Domain',
+    'Add Mail Account'  => 'เพิ่มบัญชีเมล์',
+    'Add Database'  => 'เพิ่มฐานข้อมูล',
+    'Add Cron Job'  => 'เพิ่ม Cron Job',
+    'Create Backup'  => 'สร้างการสำรองข้อมูล',
+    'Configure'  => 'ปรับแต่ง',
+    'Restore All'  => 'คืนค่าทั้งหมด',
+    'Add Package'  => 'เพิ่มแพ็กเกจ',
+    'Add IP'  => 'เพิ่ม IP Address',
+    'Add Rule' => 'เพิ่ม Rule',
+    'Ban IP Address' => 'แบน IP Address',
+    'Search'  => 'ค้นหา',
+    'Add one more FTP Account' => 'เพิ่มอีกบัญชี',
+    'Overall Statistics'  => 'สถิติโดยรวม',
+    'Daily'  => 'รายวัน',
+    'Weekly'  => 'รายสัปดาห์',
+    'Monthly'  => 'รายเดือน',
+    'Yearly'  => 'รายปี',
+    'Add'  => 'เพิ่ม',
+    'Back'  => 'กลับ',
+    'Save'  => 'บันทึก',
+    'Submit'  => 'ส่งข้อมูล',
+
+    'toggle all'  => 'เลือกทั้งหมด',
+    'apply to selected'  => 'นำไปใช้กับที่เลือก',
+    'rebuild'  => 'สร้างใหม่',
+    'rebuild web'  => 'สร้างเว็บใหม่',
+    'rebuild dns'  => 'สร้าง DNS ใหม่',
+    'rebuild mail'  => 'สร้างเมล์ใหม่',
+    'rebuild db'  => 'สร้างฐานข้อมูลใหม่',
+    'rebuild cron'  => 'สร้าง Cron ใหม่',
+    'update counters'  => 'อัพเดทตัวนับ',
+    'suspend'  => 'ระงับการใช้งาน',
+    'unsuspend'  => 'เปิดใช้งาน',
+    'delete'  => 'ลบ',
+    'show per user'  => 'แสดงต่อผู้ใช้',
+    'login as'  => 'เข้าสู่ระบบด้วย',
+    'logout'  => 'ออกจากระบบ',
+    'edit'  => 'แก้ไข',
+    'open webstats'  => 'เปิดสถิติเว็บ',
+    'view logs'  => 'ดู Logs',
+    'list records'  => 'รายการ %s records',
+    'add record'  => 'เพิ่ม Record',
+    'list accounts'  => 'รายการ %s บัญชี',
+    'add account'  => 'เพิ่มบัญชี',
+    'open webmail'  => 'เปิด Webmail',
+    'list fail2ban' => 'รายการ fail2ban',
+    'open %s'  => 'เปิด %s',
+    'download'  => 'ดาวน์โหลด',
+    'restore'  => 'เรียกคืนค่า',
+    'configure restore settings'  => 'กำหนดการเรียกคืนค่า',
+    'stop'  => 'หยุด',
+    'start'  => 'เริ่ม',
+    'restart'  => 'เริ่มต้นการทำงานใหม่',
+    'update'  => 'อัพเดท',
+    'generate'  => 'สร้าง',
+    'Generate CSR' => 'สร้าง CSR',
+    'reread IP' => 'อ่าน IP ใหม่',
+    'enable autoupdate' => 'เปิดการอัพเดทอัตโนมัติ',
+    'disable autoupdate' => 'ปิดการอัพเดทอัตโนมัติ',
+    'turn on notifications' => 'เปิดใช้งานการแจ้งเตือน',
+    'turn off notifications' => 'ปิดใช้งานการแจ้งเตือน',
+    'configure' => 'ปรับแต่ง',
+
+    'Adding User'  => 'เพิ่มผู้ใช้',
+    'Editing User'  => 'แก้ไขผู้ใช้',
+    'Adding Domain'  => 'เพิ่มโดเมน',
+    'Editing Domain'  => 'แก้ไขโดเมน',
+    'Adding DNS Domain'  => 'เพิ่ม DNS Domain',
+    'Editing DNS Domain'  => 'แก้ไข DNS Domain',
+    'Adding DNS Record'  => 'เพิ่ม DNS Record',
+    'Editing DNS Record'  => 'แก้ไข DNS Record',
+    'Adding Mail Domain'  => 'เพิ่ม Mail Domain',
+    'Editing Mail Domain'  => 'แก้ไข Mail Domain',
+    'Adding Mail Account'  => 'เพิ่มบัญชีเมล์',
+    'Editing Mail Account'  => 'แก้ไขบัญชีเมล์',
+    'Adding database'  => 'เพิ่มฐานข้อมูล',
+    'Editing Cron Job'  => 'แก้ไข Cron Job',
+    'Adding Cron Job'  => 'เพิ่ม Cron Job',
+    'Editing Database'  => 'แก้ไขฐานข้อมูล',
+    'Adding Package'  => 'เพิ่มแพ็กเกจ',
+    'Editing Package'  => 'แก้ไขแพ็กเกจ',
+    'Adding IP address'  => 'เพิ่ม IP address',
+    'Editing IP Address'  => 'แก้ไข IP Address',
+    'Editing Backup Exclusions' => 'แก้ไขการยกเว้นสำรองข้อมูล',
+    'Generating CSR' => 'สร้าง CSR',
+    'Listing'  => 'รายการ',
+    'Search Results'  => 'ผลลัพธ์ของการค้นหา',
+    'Adding Firewall Rule' => 'การเพิ่ม Firewall Rule',
+    'Editing Firewall Rule' => 'การแก้ไข Firewall Rule',
+    'Adding IP Address to Banlist' => 'การแบน IP Address',
+
+    'active'  => 'เปิดใช้งาน',
+    'spnd'  => 'ระงับการใช้งาน',
+    'suspended'  => 'ระงับการใช้งานแล้ว',
+    'running'  => 'กำลังทำงาน',
+    'stopped'  => 'หยุดทำงานแล้ว',
+    'outdated'  => 'ตกรุ่น',
+    'updated'  => 'อัพเดท',
+
+    'yes'  => 'ใช่',
+    'no'  => 'ไม่ใช่',
+    'none'  => 'ไม่มี',
+    'pb'  => 'pb',
+    'tb'  => 'tb',
+    'gb'  => 'gb',
+    'mb'  => 'mb',
+    'minute'  => 'นาที',
+    'hour'  => 'ชั่วโมง',
+    'day'  => 'วัน',
+    'days'  => 'วัน',
+    'hours'  => 'ชั่วโมง',
+    'minutes'  => 'นาที',
+    'month'  => 'เดือน',
+    'package'  => 'แพ็กเกจ',
+    'Bandwidth'  => 'แบนด์วิดธ์',
+    'Disk'  => 'พื้นที่จัดเก็บข้อมูล',
+    'Web'  => 'เว็บ',
+    'Mail'  => 'เมล์',
+    'Databases'  => 'ฐานข้อมูล',
+    'User Directories'  => 'ไดเร็กทอรี่ของผู้ใช้',
+    'Template'  => 'Template',
+    'Web Template'  => 'Web Template',
+    'Backend Template'  => 'Backend Template',
+    'Proxy Template' =>'Proxy Template',
+    'DNS Template'  => 'DNS Template',
+    'Web Domains'  => 'Web Domains',
+    'SSL Domains'  => 'SSL Domains',
+    'Web Aliases'  => 'Web Aliases',
+    'per domain'  => 'ต่อ Domain',
+    'DNS Domains'  => 'DNS Domains',
+    'DNS domains'  => 'DNS domains',
+    'DNS records'   => 'DNS records',
+    'Name Servers'  => 'Name Servers',
+    'Mail Domains'  => 'Mail Domains',
+    'Mail Accounts'  => 'บัญชีเมล์',
+    'Cron Jobs'  => 'Cron Jobs',
+    'SSH Access'  => 'การเข้าถึง SSH',
+    'IP Address'  => 'IP Address',
+    'IP Addresses'  => 'IP Addresses',
+    'Backups'  => 'สำรองข้อมูล',
+    'Backup System'  => 'ระบบสำรองข้อมูล',
+    'backup exclusions' => 'ยกเว้นการสำรองข้อมูล',
+    'template'  => 'template',
+    'SSL Support'  => 'สนับสนุน SSL',
+    'SSL Home Directory'  => 'หน้าแรกของ SSL',
+    'Lets Encrypt Support'  => 'สนับสนุน Lets Encrypt',
+    'Lets Encrypt'  => 'Lets Encrypt',
+    'Your certificate will be automatically issued in 5 minutes' => 'ใบรับรองของคุณจะได้รับการออกโดยอัตโนมัติภายใน 5 นาที',
+    'Proxy Support'  => 'สนับสนุน Proxy',
+    'Proxy Extensions'  => 'ส่วนขยาย Proxy',
+    'Web Statistics'  => 'สถิติของเว็บไซต์',
+    'Additional FTP Account'  => 'บัญชี FTP เพิ่มเติม',
+    'Path'  => 'เส้นทาง',
+    'SOA'  => 'SOA',
+    'TTL'  => 'TTL',
+    'Expire'  => 'หมดอายุ',
+    'Records'  => 'Records',
+    'Serial'  => 'Serial',
+    'Catchall email'  => 'Catchall email',
+    'AntiVirus Support'  => 'สนับสนุน AntiVirus',
+    'AntiSpam Support'  => 'สนับสนุน AntiSpam',
+    'DKIM Support'  => 'สนับสนุน DKIM',
+    'Accounts'  => 'บัญชี',
+    'Quota'  => 'โควตา',
+    'Autoreply'  => 'ตอบกลับอัตโนมัติ',
+    'Forward to'  => 'ส่งต่อไปยัง',
+    'Do not store forwarded mail'  => 'อย่าเก็บเมล์ที่ส่งต่อไว้',
+    'IMAP hostname'  => 'IMAP hostname',
+    'IMAP port'  => 'IMAP port',
+    'IMAP security'  => 'IMAP security',
+    'IMAP auth method'  => 'IMAP auth method',
+    'SMTP hostname'  => 'SMTP hostname',
+    'SMTP port'  => 'SMTP port',
+    'SMTP security'  => 'SMTP security',
+    'SMTP auth method'  => 'SMTP auth method',
+    'STARTTLS'  => 'STARTTLS',
+    'Normal password'  => 'รหัสผ่านธรรมดา',
+    'database'  => 'ฐานข้อมูล',
+    'User'  => 'ผู้ใช้',
+    'Host'  => 'โฮสต์',
+    'Charset'  => 'Charset',
+    'Min'  => 'นาที',
+    'Hour'  => 'ชั่วโมง',
+    'Day'  => 'วัน',
+    'Month'  => 'เดือน',
+    'Day of week'  => 'วันในสัปดาห์',
+    'local'  => 'ประเทศ',
+    'Run Time'  => 'เวลาทำงาน',
+    'Backup Size'  => 'ขนาดสำรองข้อมูล',
+    'SYS'  => 'SYS',
+    'Domains'  => 'Domains',
+    'Status'  => 'สถานะ',
+    'shared'  => 'shared',
+    'dedicated'  => 'dedicated',
+    'Owner' => 'เจ้าของ',
+    'Users'  => 'ผู้ใช้',
+    'Load Average'  => 'โหลดเฉลี่ย',
+    'Memory Usage'  => 'การใช้หน่วยความจำ',
+    'APACHE2 Usage'  => 'การใช้ APACHE2',
+    'HTTPD Usage'  => 'การใช้ HTTPD',
+    'NGINX Usage'  => 'การใช้ NGINX',
+    'MySQL Usage on localhost'  => 'การใช้ MySQL บน localhost',
+    'PostgreSQL Usage on localhost'  => 'การใช้ PostgreSQL บน localhost',
+    'Bandwidth Usage eth0'  => 'การใช้ แบนด์วิดธ์ ของ eth0',
+    'Bandwidth Usage eth1'  => 'การใช้ แบนด์วิดธ์ ของ eth1',
+    'Exim Usage'  => 'การใช้ Exim',
+    'FTP Usage'  => 'การใช้ FTP',
+    'SSH Usage'  => 'การใช้ SSH',
+    'reverse proxy'  => 'reverse proxy',
+    'web server'  => 'web server',
+    'dns server'  => 'dns server',
+    'mail server'  => 'mail server',
+    'pop/imap server'  => 'pop/imap server',
+    'email antivirus'  => 'email antivirus',
+    'email antispam'  => 'email antispam',
+    'database server'  => 'database server',
+    'ftp server'  => 'ftp server',
+    'job scheduler'  => 'job scheduler',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'ตรวจสอบการ brute-force',
+    'CPU'  => 'CPU',
+    'Memory'  => 'หน่วยความจำ',
+    'Uptime'  => 'เวลาทำงาน',
+    'core package'  => 'แพ็กเกจหลัก',
+    'php interpreter'  => 'ตัวแปลคำสั่ง php',
+    'internal web server'  => 'เว็บเซิร์ฟเวอร์ภายใน',
+    'Version'  => 'เวอร์ชั่น',
+    'Release'  => 'เวอร์ชั่นการปล่อย',
+    'Architecture'  => 'สถาปัตยกรรม',
+    'Object'  => 'วัตถุ',
+    'Username'  => 'ชื่อผู้ใช้',
+    'Password'  => 'รหัสผ่าน',
+    'Email'  => 'อีเมล์',
+    'Package'  => 'แพ็กเกจ',
+    'Language'  => 'ภาษา',
+    'First Name'  => 'ชื่อ',
+    'Last Name'  => 'นามสกุล',
+    'Send login credentials to email address'  => 'ชื่ออีเมล์สำหรับส่งข้อมูลการเข้าสู่ระบบ',
+    'Default Template'  => 'Template มาตรฐาน',
+    'Default Name Servers'  => 'Name Servers มาตรฐาน',
+    'Domain'  => 'โดเมน',
+    'DNS Support'  => 'สนับสนุน DNS',
+    'Mail Support'  => 'สนับสนุนเมล์',
+    'Advanced options'  => 'ตัวเลือกขั้นสูง',
+    'Basic options'  => 'ตัวเลือกพื้นฐาน',
+    'Aliases'  => 'Aliases',
+    'SSL Certificate'  => 'SSL Certificate',
+    'SSL Key'  => 'SSL Key',
+    'SSL Certificate Authority / Intermediate'  => 'SSL Certificate Authority / Intermediate',
+    'SSL CSR' => 'SSL CSR',
+    'optional'  => 'ทางเลือกเพิ่มเติม',
+    'internal' => 'ภายใน',
+    'Statistics Authorization'  => 'การตรวจสอบสถิติ',
+    'Statistics Auth'  => 'รับรองความถูกต้องของสถิติ',
+    'Account'  => 'บัญชี',
+    'Prefix will be automaticaly added to username'  => 'คำนำหน้า %s จะถูกเพิ่มลงในชื่อผู้ใช้โดยอัตโนมัติ',
+    'Send FTP credentials to email'  => 'ชื่ออีเมล์สำหรับส่งข้อมูล FTP',
+    'Expiration Date'  => 'วันหมดอายุ',
+    'YYYY-MM-DD'  => 'ปี-เดือน-วัน',
+    'Name servers'  => 'Name servers',
+    'Record'  => 'Record',
+    'IP or Value'  => 'IP หรือ ค่า',
+    'Priority'  => 'ลำดับความสำคัญ',
+    'Record Number' => 'ตัวเลข record',
+    'in megabytes'  => 'หน่วย megabytes',
+    'Message'  => 'ข้อความ',
+    'use local-part'  => 'ใช้ส่วนภายใน',
+    'one or more email addresses'  => 'อย่างน้อย 1 ที่อยู่อีเมล์',
+    'Prefix will be automaticaly added to database name and database user'  => 'คำนำหน้า %s จะถูกเพิ่มชื่อในฐานข้อมูลและฐานข้อมูลผู้ใช้โดยอัตโนมัติ',
+    'Database'  => 'ฐานข้อมูล',
+    'Type'  => 'ชนิด',
+    'Minute'  => 'นาที',
+    'Command'  => 'คำสั่ง',
+    'Package Name'  => 'ชื่อแพ็กเกจ',
+    'Netmask'  => 'Netmask',
+    'Interface'  => 'Interface',
+    'Shared'  => 'แชร์',
+    'Assigned user'  => 'กำหนดผู้ใช้แล้ว',
+    'Assigned domain'  => 'โดเมนที่กำหนด',
+    'NAT IP association' => 'NAT IP association',
+    'shell'  => 'shell',
+    'web domains'  => 'web domains',
+    'web aliases'  => 'web aliases',
+    'dns records'  => 'dns records',
+    'mail domains'  => 'mail domains',
+    'mail accounts'  => 'บัญชีเมล์',
+    'accounts'  => 'บัญชี',
+    'databases'  => 'ฐานข้อมูล',
+    'cron jobs'  => 'cron jobs',
+    'backups'  => 'สำรองข้อมูล',
+    'quota'  => 'โควต้า',
+    'day of week'  => 'วันในสัปดาห์',
+    'cmd'  => 'cmd',
+    'users'  => 'ผู้ใช้',
+    'domains'  => 'โดนเมน',
+    'aliases'  => 'aliases',
+    'records'  => 'records',
+    'jobs'  => 'jobs',
+    'username'  => 'ชื่อผู้ใช้',
+    'password'  => 'รหัสผ่าน',
+    'type'  => 'ชนิด',
+    'charset'  => 'charset',
+    'domain'  => 'โดเมน',
+    'ip'  => 'ip',
+    'ip address'  => 'ip address',
+    'IP address'  => 'IP address',
+    'netmask'  => 'netmask',
+    'interface'  => 'interface',
+    'assigned user'  => 'กำหนดผู้ใช้แล้ว',
+    'ns1'  => 'ns1',
+    'ns2'  => 'ns2',
+    'user'  => 'ผู้ใช้',
+    'email'  => 'อีเมล์',
+    'first name'  => 'ชื่อ',
+    'last name'  => 'นามสกุล',
+    'account'  => 'บัญชี',
+    'ssl certificate'  => 'ssl certificate',
+    'ssl key'  => 'ssl key',
+    'stats user password'  => 'stats user password',
+    'stats username'  => 'stats username',
+    'stats password'  => 'stats password',
+    'ftp user password'  => 'FTP ชื่อผู้ใช้ รหัสผ่าน',
+    'ftp user'  => 'ผู้ใช้ FTP',
+    'Last 70 lines of %s.%s.log' => '70 บรรทัดสุดท้ายของ %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
+    'Download AccessLog' => 'ดาวน์โหลด AccessLog',
+    'Download ErrorLog' => 'ดาวน์โหลด ErrorLog',
+    'Country' => 'ประเทศ',
+    '2 letter code' => 'รหัสประเทศ 2 ตัว',
+    'State / Province' => 'ถนน / แขวง',
+    'City / Locality' => 'เมือง / ท้องถิ่น',
+    'Organization' => 'องค์กร',
+    'Action' => 'การกระทำ',
+    'Protocol' => 'โปรโตคอล',
+    'Port' => 'Port',
+    'Comment' => 'หมายเหตุ',
+    'Banlist' => 'รายชื่อที่โดนแบน',
+    'ranges are acceptable' => 'ช่วงที่ยอมรับได้',
+    'CIDR format is supported' => 'การสนับสนุน CIDR',
+    'ACCEPT' => 'ยอมรับ',
+    'DROP' => 'บล็อค',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
+    'Add one more Name Server' => 'เพิ่ม Name Server อีก',
+
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'บัญชีเมล์',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'ไดเร็กทอรี่ของผู้ใช้',
+
+    'unlimited'  => 'ไม่จำกัด',
+    '1 account'  => '1 บัญชี',
+    '%s accounts'  => '%s บัญชี',
+    '1 domain'  => '1 โดเมน',
+    '%s domains'  => '%s โดเมน',
+    '1 record'  => '1 record',
+    '%s records'  => '%s records',
+    '1 mail account'  => '1 บัญชีเมล์',
+    '%s mail accounts'  => '%s บัญชีเมล์',
+    '1 database'  => '1 ฐานข้อมูล',
+    '%s databases'  => '%s ฐานข้อมูล',
+    '1 cron job'  => '1 cron job',
+    '%s cron jobs'  => '%s cron jobs',
+    '1 archive'  => '1 เก็บถาวร',
+    '%s archives'  => '%s เก็บถาวร',
+    '1 item'  => '1 รายการ',
+    '%s items'  => '%s รายการ',
+    '1 package'  => '1 แพ็กเกจ',
+    '%s packages'  => '%s packages',
+    '1 IP address'  => '1 IP address',
+    '%s IP addresses'  => '%s IP addresses',
+    '1 month'  => '1 เดือน',
+    '%s months'  => '%s เดือน',
+    '1 log record'  => '1 log record',
+    '%s log records'  => '%s log record',
+    '1 object'  => '1 วัตถุ',
+    '%s objects'  => '%s วัตถุ',
+    'no exclusions' => 'ไม่มีการยกเว้น',
+    '1 rule' => '1 rule',
+    '%s rules' => '%s rules',
+    'There are no currently banned IP' => 'ไม่มี IP ที่ถูกแบน',
+
+    'USER_CREATED_OK'  => 'สร้างผู้ใช้ <a href="/edit/user/?user=%s"><b>%s</b></a> สำเร็จแล้ว',
+    'WEB_DOMAIN_CREATED_OK'  => 'สร้างโดนเมน <a href="/edit/web/?domain=%s"><b>%s</b></a> สำเร็จแล้ว',
+    'DNS_DOMAIN_CREATED_OK'  => 'สร้าง DNS domain <a href="/list/dns/?domain=%s"><b>%s</b></a> สำเร็จแล้ว',
+    'DNS_RECORD_CREATED_OK'  => 'สร้าง Record <b>%s.%s</b> ได้ถูกสร้างสำเร็จแล้ว',
+    'MAIL_DOMAIN_CREATED_OK'  => 'สร้าง Mail domain <a href="/list/mail/?domain=%s"><b>%s</b></a> สำเร็จแล้ว',
+    'MAIL_ACCOUNT_CREATED_OK'  => 'สร้างบัญชีเมล์ <a href="/edit/mail/?account=%s&domain=%s"><b>%s@%s</b></a> สำเร็จแล้ว',
+    'DATABASE_CREATED_OK'  => 'สร้างฐานข้อมูล <a href="/edit/db/?database=%s"><b>%s</b></a> สำเร็จแล้ว',
+    'CRON_CREATED_OK'  => 'สร้าง Cron job ได้ถูกสร้างแล้ว',
+    'IP_CREATED_OK'  => 'สร้าง IP address <a href="/edit/ip/?ip=%s"><b>%s</b></a> สำเร็จแล้ว',
+    'PACKAGE_CREATED_OK'  => 'สร้างแพ็กเกจ <a href="/edit/package/?package=%s"><b>%s</b></a> สำเร็จแล้ว',
+    'SSL_GENERATED_OK' => 'สร้างใบรับรองสำเร็จแล้ว',
+    'RULE_CREATED_OK' => 'สร้าง Rule สำเร็จแล้ว',
+    'BANLIST_CREATED_OK' => 'สร้าง IP address สำเร็จแล้ว',
+    'Autoupdate has been successfully enabled' => 'เปิดใช้งานการอัพเดทอัตโนมัติสำเร็จแล้ว',
+    'Autoupdate has been successfully disabled' => 'ปิดใช้งานการอัพเดทอัตโนมัติสำเร็จแล้ว',
+    'Cronjob email reporting has been successfully enabled' => 'การรายงานทางอีเมลของ Cronjob ได้รับการเปิดใช้งานเรียบร้อยแล้ว',
+    'Cronjob email reporting has been successfully disabled' => 'การรายงานทางอีเมลของ Cronjob ได้รับการปิดใช้งานเรียบร้อยแล้ว',
+    'Changes has been saved.'  => 'บันทึกการเปลี่ยนแปลงแล้ว',
+    'Confirmation'  => 'การยืนยัน',
+    'DELETE_USER_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบผู้ใช้ %s?',
+    'SUSPEND_USER_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ระงับผู้ใช้ %s?',
+    'UNSUSPEND_USER_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ เปิดการใช้งานผู้ใช้ %s?',
+    'DELETE_DOMAIN_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบโดเมน %s?',
+    'SUSPEND_DOMAIN_CONFIRMATION' => 'แน่ใจหรือไม่ว่าคุณต้องการ ระงับโดเมน %s?',
+    'UNSUSPEND_DOMAIN_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ เปิดการใช้งานโดเมน %s?',
+    'DELETE_RECORD_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบ Record %s?',
+    'SUSPEND_RECORD_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ระงับ Record %s?',
+    'UNSUSPEND_RECORD_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ เปิดการใช้งาน Record %s?',
+    'DELETE_MAIL_ACCOUNT_CONFIRMATION' => 'คุณแน่ใจหรือว่าต้องการ ลบเมล์ %s?',
+    'SUSPEND_MAIL_ACCOUNT_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ระงับเมล์ %s?',
+    'UNSUSPEND_MAIL_ACCOUNT_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ เปิดการใช้งานเมล์ %s?',
+    'DELETE_DATABASE_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบฐานข้อมูล %s?',
+    'SUSPEND_DATABASE_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ระงับฐานข้อมูล %s?',
+    'UNSUSPEND_DATABASE_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ เปิดการใช้งานฐานข้อมูล %s?',
+    'DELETE_CRON_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบ cron job?',
+    'SUSPEND_CRON_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ระงับ cron job?',
+    'UNSUSPEND_CRON_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ เปิดการใช้งาน cron job?',
+    'DELETE_BACKUP_CONFIRMATION'  => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบการสำรองข้อมูล %s?',
+    'DELETE_EXCLUSION_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบ %s ในการยกเว้น?',
+    'DELETE_PACKAGE_CONFIRMATION'  => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบแพ็กเกจ %s?',
+    'DELETE_IP_CONFIRMATION'  => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบ IP address %s?',
+    'DELETE_RULE_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ลบ rule #%s?',
+    'SUSPEND_RULE_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ ระงับ rule  #%s?',
+    'UNSUSPEND_RULE_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการ เปิดการใช้งาน rule #%s?',
+    'LEAVE_PAGE_CONFIRMATION' => 'ออกจากหน้านี้?',
+    'RESTART_CONFIRMATION' => 'คุณแน่ใจหรือไม่ว่าต้องการเริ่มต้นใหม่ %s?',
+    'Welcome'  => 'ยินดีต้อนรับ',
+    'LOGGED_IN_AS'  => 'เข้าสู่ระบบในฐานะผู้ใช้ %s',
+    'Error'  => 'เกิดข้อผิดพลาด',
+    'Invalid username or password'  => 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง',
+    'Invalid username or code'  => 'ชื่อผู้ใช้หรือรหัสไม่ถูกต้อง',
+    'Passwords not match'  => 'รหัสผ่านทั้งสองไม่ตรงกัน',
+    'Please enter valid email address.'  => 'กรุณาใส่เมล์ที่ถูกต้อง',
+    'Field "%s" can not be blank.'  => 'ช่อง "%s" ไม่สามารถเว้นว่างไว้',
+    'Password is too short.'  => 'รหัสผ่านสั้นเกินไป (ต่ำสุด 6 ตัวอักษร)',
+    'Error code:'  => 'รหัสข้อผิดพลาด: %s',
+    'SERVICE_ACTION_FAILED'  => '"%s" "%s" ล้มเหลว',
+    'IP address is in use' => 'IP address กำลังใช้งานอยู่',
+    'BACKUP_SCHEDULED'  => 'มีการเพิ่มงานลงในคิวแล้ว คุณจะได้รับอีเมลแจ้งเตือนเมื่อการสำรองข้อมูลของคุณพร้อมสำหรับการดาวน์โหลด',
+    'BACKUP_EXISTS'  => 'มีการสำรองข้อมูลอยู่ โปรดรอให้การสำรองข้อมูลในปัจจุบันเสร็จสิ้น',
+    'RESTORE_SCHEDULED'  => 'มีการเพิ่มงานลงในคิวแล้ว คุณจะได้รับการแจ้งเตือนทางอีเมลเมื่อการคืนค่าเสร็จสิ้น',
+    'RESTORE_EXISTS'  => 'งานการบูรณะที่มีอยู่กำลังทำงานอยู่แล้ว โปรดรอให้เสร็จสิ้นก่อนเปิดตัวอีกครั้ง',
+
+    'WEB_EXCLUSIONS' => 'พิมพ์ชื่อโดเมนหนึ่งรายการต่อบรรทัด หากต้องการยกเว้นโดเมนทั้งหมด ให้ใช้ * หากต้องการยกเว้น "ไดเร็กทอรี่" เฉพาะให้ใช้รูปแบบดังนี้: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'พิมพ์ชื่อโดเมนหนึ่งรายการต่อบรรทัด หากต้องการยกเว้นโดเมนทั้งหมด ให้ใช้ *',
+    'MAIL_EXCLUSIONS' => 'พิมพ์ชื่อโดเมนหนึ่งรายการต่อบรรทัด หากต้องการยกเว้นโดเมนทั้งหมด ให้ใช้ * หากต้องการยกเว้นบัญชีที่ระบุให้ใช้รูปแบบดังนี้: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'พิมพ์ชื่อฐานข้อมูลทั้งหมดหนึ่งรายการต่อบรรทัด หากต้องการยกเว้นฐานข้อมูลทั้งหมด ให้ใช้ *',
+    'CRON_EXCLUSIONS' => 'หากต้องการยกเว้นงานทั้งหมด ให้ใช้ *',
+    'USER_EXCLUSIONS' => 'พิมพ์ชื่อไดเร็กทอรี่หนึ่งรายการต่อบรรทัด หรือเพื่อไม่ให้ใช้ไดเร็กทอรี่ทั้งหมด ให้ใช้ *',
+
+    'Welcome to Vesta Control Panel'  => 'ยินดีต้อนรับสู่ Vesta Control Panel',
+    'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
+    'GREETINGS_GORDON_FREEMAN' => "สวัสดี, %s %s,\n",
+    'GREETINGS' => "สวัสดี,\n",
+    'ACCOUNT_READY' => "บัญชีของคุณได้รับการสร้างและพร้อมใช้งานแล้ว\n\nhttps://%s/login/\nชื่อผู้ใช้: %s\nรหัสผ่าน: %s\n\n--\nVesta Control Panel\n",
+
+    'FTP login credentials'  => 'ข้อมูลการเข้าสู่ระบบ FTP',
+    'FTP_ACCOUNT_READY' => "มีการสร้างบัญชี FTP และพร้อมใช้งานแล้ว\n\nโฮสต์: %s\nชื่อผู้ใช้: %s_%s\nรหัสผ่าน: %s\n\n--\nVesta Control Panel\n",
+
+    'Database Credentials'  => 'ข้อมูลของฐานข้อมูล',
+    'DATABASE_READY' => "สร้างฐานข้อมูลเรียบร้อยแล้ว\n\nDatabase: %s\nชื่อ: %s\nรหัสผ่าน: %s\n%s\n\n--\nVesta Control Panel\n",
+
+    'forgot password'  => 'ลืมรหัสผ่าน',
+    'Confirm'  => 'ยืนยัน',
+    'New Password'  => 'รหัสผ่านใหม่',
+    'Confirm Password'  => 'ยืนยันรหัสผ่าน',
+    'Reset'  => 'รีเซ็ต',
+    'Reset Code'  => 'รหัสสำหรับรีเซ็ต',
+    'RESET_NOTICE'  => '',
+    'RESET_CODE_SENT'  => 'รหัสสำหรับรีเซ็ตรหัสผ่านถูกส่งไปยังที่อยู่อีเมลของคุณแล้ว<br>',
+    'MAIL_RESET_SUBJECT'  => 'ตั้งค่ารหัสผ่านใหม่ที่ %s',
+    'PASSWORD_RESET_REQUEST' => "หากต้องการรีเซ็ตรหัสผ่านของแผงควบคุมโปรดไปที่ลิงก์นี้:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternatively, คุณอาจจะไปที่ https://%s/reset/?action=code&user=%s และใส่รหัสรีเซ็ตดังต่อไปนี้:\n%s\n\nหากคุณไม่ได้ขอรหัสผ่านใหม่โปรดละเว้นข้อความนี้และยอมรับคำขอโทษของเรา\n\n--\nVesta Control Panel\n",
+
+    'Jan' => 'ม.ค.',
+    'Feb' => 'ก.พ.',
+    'Mar' => 'มี.ค.',
+    'Apr' => 'เม.ย.',
+    'May' => 'พ.ค.',
+    'Jun' => 'มิ.ย.',
+    'Jul' => 'ก.ค.',
+    'Aug' => 'ส.ค.',
+    'Sep' => 'ก.ย.',
+    'Oct' => 'ต.ค.',
+    'Nov' => 'พ.ย.',
+    'Dec' => 'ธ.ค.',
+
+    'Configuring Server' => 'การกำหนดค่าเซิฟเวอร์',
+    'Hostname' => 'Hostname',
+    'Time Zone' => 'เขตเวลา',
+    'Default Language' => 'ภาษาเริ่มต้น',
+    'Proxy Server' => 'Proxy Server',
+    'Web Server' => 'Web Server',
+    'Backend Server' => 'Backend Server',
+    'Backend Pool Mode' => 'Backend Pool Mode',
+    'DNS Server' => 'DNS Server',
+    'DNS Cluster' => 'DNS Cluster',
+    'MAIL Server' => 'MAIL Server',
+    'Antivirus' => 'Antivirus',
+    'AntiSpam' => 'AntiSpam',
+    'Webmail URL' => 'Webmail URL',
+    'MySQL Support' => 'สนับสนุน MySQL',
+    'phpMyAdmin URL' => 'ที่อยู่ของ phpMyAdmin',
+    'PostgreSQL Support' => 'สนับสนุน PostgreSQL',
+    'phpPgAdmin URL' => 'ที่อยู่ของ phpPgAdmin',
+    'Maximum Number Of Databases' => 'จำนวนฐานข้อมูลสูงสุด',
+    'Current Number Of Databases' => 'จำนวนฐานข้อมูลปัจจุบัน',
+    'Local backup' => 'สำรองข้อมูลท้องถิ่น',
+    'Compression level' => 'ระดับการบีบอัด',
+    'Directory' => 'ไดเร็กทอรี่',
+    'Remote backup' => 'การสำรองข้อมูลระยะไกล',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
+    'FileSystem Disk Quota' => 'FileSystem Disk Quota',
+    'Vesta Control Panel Plugins' => 'ปลั๊กอิน Vesta Control Panel',
+    'preview' => 'ดูตัวอย่าง',
+    'Reseller Role' => 'บทบาท Reseller',
+    'Web Config Editor' => 'เครื่องมือแก้ไขการตั้งค่าเว็บ',
+    'Template Manager' => 'ตัวจัดการ Template',
+    'Backup Migration Manager' => 'ตัวจัดการการย้ายข้อมูลสำรอง',
+    'FileManager' => 'FileManager',
+    'show: CPU / MEM / NET / DISK' => 'แสดง: CPU / MEM / NET / DISK',
+
+    'sort by' => 'จัดเรียงโดย',
+    'Date' => 'วันที่',
+    'Starred' => 'ตั้งแต่เริ่มต้น',
+    'Name' => 'ชื่อ',
+
+    'save to favorites' => 'บันทึกในรายการโปรด',
+
+    'File Manager' => 'File Manager',
+    'size' => 'ขนาด',
+    'date' => 'วันที่',
+    'name' => 'ชื่อ',
+    'Initializing' => 'กำลังเริ่มต้น',
+    'UPLOAD' => 'อัพโหลด',
+    'NEW FILE' => 'ไฟล์ใหม่',
+    'NEW DIR' => 'ไดเร็กทอรี่ใหม่',
+    'DELETE' => 'ลบ',
+    'RENAME' => 'เปลี่ยนชื่อ',
+    'MOVE' => 'ย้าย',
+    'RIGHTS' => 'สิทธิ',
+    'COPY' => 'คัดลอก',
+    'ARCHIVE' => 'เก็บถาวร',
+    'EXTRACT' => 'แตกไฟล์',
+    'DOWNLOAD' => 'ดาวน์โหลด',
+    'Are you sure?' => 'คุณแน่ใจ?',
+    'Hit' => 'Hit',
+    'to reload the page' => 'เพื่อโหลดหน้าเว็บใหม่',
+    'Directory name cannot be empty' => 'ชื่อไดเร็กทอรี่ต้องไม่ว่างเปล่า',
+    'File name cannot be empty' => 'ชื่อไฟล์ต้องไม่ว่างเปล่า',
+    'No file selected' => 'ไม่ได้เลือกไฟล์',
+    'No file or folder selected' => 'ไม่มีไฟล์หรือโฟลเดอร์ที่เลือกไว้',
+    'File type not supported' => 'ไม่สนับสนุนประเภทไฟล์',
+    'Directory download not available in current version' => 'ไม่มีการดาวน์โหลดไดเร็กทอรี่ในเวอร์ชันปัจจุบัน',
+    'Directory not available' => 'ไม่มีไดเร็กทอรี่',
+    'Done' => 'เสร็จสิ้น',
+    'Close' => 'ปิด',
+    'Copy' => 'คัดลอก',
+    'Cancel' => 'ยกเลิก',
+    'Rename' => 'เปลี่ยนชื่อ',
+    'Move' => 'ย้าย',
+    'Change Rights' => 'เปลี่ยนสิทธิ์',
+    'Delete' => 'ลบ',
+    'Extract' => 'แตกไฟล์',
+    'Create' => 'สร้าง',
+    'Compress' => 'บีบอัด',
+    'OK' => 'โอเค',
+    'YOU ARE COPYING' => 'คุณกำลังคัดลอก',
+    'YOU ARE REMOVING' => 'คุณกำลังลบ',
+    'Delete items' => 'ลบรายการ',
+    'Copy files' => 'คัดลอกไฟล์',
+    'Move files' => 'ย้ายไฟล์',
+    'Are you sure you want to copy' => 'คุณแน่ใจหรือไม่ว่าต้องการจะคัดลอก',
+    'Are you sure you want to move' => 'คุณแน่ใจหรือไม่ว่าต้องการย้าย',
+    'Are you sure you want to delete' => 'คุณแน่ใจหรือว่าต้องการลบ',
+    'into' => 'เข้า',
+    'existing files will be replaced' => 'ไฟล์ที่มีอยู่จะถูกแทนที่',
+    'Original name' => 'ชื่อเดิม',
+    'File' => 'ไฟล์',
+    'already exists' => 'มีอยู่แล้ว',
+    'Create file' => 'สร้างไฟล์',
+    'Create directory' => 'สร้างไดเร็กทอรี่',
+    'read by owner' => 'อ่านโดยเจ้าของ',
+    'write by owner' => 'เขียนด้วยเจ้าของ',
+    'execute/search by owner' => 'รัน / ค้นหาโดยเจ้าของ',
+    'read by group' => 'ผ่านโดยกลุ่ม',
+    'write by group' => 'เขียนโดยกลุ่ม',
+    'execute/search by group' => 'รัน / ค้นหาตามกลุ่ม',
+    'read by others' => 'อ่านโดยคนอื่น',
+    'write by others' => 'เขียนโดยคนอื่น',
+    'execute/search by others' => 'รัน / ค้นหาโดยผู้อื่น',
+
+    'Shortcuts' => 'ทางลัด',
+    'Add New object' => 'เพิ่มข้อมูลใหม่',
+    'Save Form' => 'บันทึก',
+    'Cancel saving form' => 'ยกเลิกการบันทึก',
+    'Go to USER list' => 'ไปที่รายการ ผู้ใช้',
+    'Go to WEB list' => 'ไปที่รายการ เว็บ',
+    'Go to DNS list' => 'ไปที่รายการ DNS',
+    'Go to MAIL list' => 'ไปที่รายการ เมล์',
+    'Go to DB list' => 'ไปที่รายการ ฐานข้อมูล',
+    'Go to CRON list' => 'ไปที่รายการ CRON',
+    'Go to BACKUP list' => 'ไปที่รายการ สำรองข้อมูล',
+    'Focus on search' => 'มุ่งเน้นการค้นหา',
+    'Display/Close shortcuts' => 'แสดง/ปิด shortcuts',
+    'Move backward through top menu' => 'เลื่อนกลับไปที่เมนูด้านบน',
+    'Move forward through top menu' => 'เลื่อนไปข้างหน้าผ่านเมนูด้านบน',
+    'Enter focused element' => 'ใส่องค์ประกอบที่เน้น',
+    'Move up through elements list' => 'เลื่อนขึ้นไปผ่านรายการองค์ประกอบ',
+    'Move down through elements list' => 'เลื่อนลงมาผ่านรายการองค์ประกอบ',
+
+    'Upload' => 'อัพโหลด',
+    'New File' => 'ไฟล์ใหม่',
+    'New Folder' => 'โฟล์เดอร์ใหม่',
+    'Download' => 'ดาวน์โหลด',
+    'Archive' => 'เก็บถาวร',
+    'Save File (in text editor)' => 'บันทึกไฟล์ (ในเครื่องมือแก้ไขไฟล์)',
+    'Close Popup / Cancel' => 'ปิดหน้าต่าง / ยกเลิก',
+    'Move Cursor Up' => 'เลื่อนเคอร์เซอร์ขึ้น',
+    'Move Cursor Down' => 'เลื่อนเคอร์เซอร์ลง',
+    'Switch to Left Tab' => 'สลับไปที่แท็บด้านซ้าย',
+    'Switch to Right Tab' => 'สลับไปที่แท็บด้านขวา',
+    'Switch Tab' => 'เปลี่ยนแท็บ',
+    'Go to the Top of the File List' => 'ไปที่ด้านบนของรายการแฟ้ม',
+    'Go to the Last File' => 'ไปที่ไฟล์สุดท้าย',
+    'Open File / Enter Directory' => 'เปิดไฟล์ / ไปที่ไดเร็คทอรี่หลัก',
+    'Edit File' => 'Edit File',
+    'Go to Parent Directory' => 'ไปที่ไดเร็คทอรี่หลัก',
+    'Select Current File' => 'เลือกไฟล์ปัจจุบัน',
+    'Select Bunch of Files' => 'เลือกกลุ่มของไฟล์',
+    'Add File to the Current Selection' => 'เพิ่มไฟล์ในการเลือกปัจจุบัน',
+    'Select All Files' => 'เลือกไฟล์ทั้งหมด',
+    'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' =>
+    'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
+
+    'Licence Key' => 'License Key',
+    'Enter License Key' => 'กรอก License Key',
+    'Buy Licence' => 'ซื้อ License',
+    'Buy Lifetime License' => 'ซื้อ License แบบถาวร',
+    'Disable and Cancel License' => 'ปิดการใช้งาน และยกเลิก License',
+    'Licence Activated' => 'เปิดใช้งาน License แล้ว',
+    'Licence Deactivated' => 'ปิดการใช้งาน License แล้ว',
+    'Restrict users so that they cannot use SSH and access only their home directory.' => 'จำกัดผู้ใช้เพื่อไม่ให้ใช้ SSH และเข้าถึงไดเร็กทอรี่บ้านเท่านั้น',
+    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'เรียกดู, คัดลอก, แก้ไข, ดู, และเรียกค้นหาไฟล์โดเมนทั้งหมดของเว็บโดยใช้ตัวจัดการไฟล์ที่มีคุณลักษณะครบถ้วน',
+    'This is a commercial module, you would need to purchace license key to enable it.' => 'สิ่งนี้ไม่ใช่โมดูลฟรี, คุณจะต้องซื้อ License Key เพื่อเปิดใช้งาน',
+
+    'Minutes' => 'นาที',
+    'Hourly' => 'รายชั่วโมง',
+    'Run Command' => 'รันคำสั่ง',
+    'every month' => 'ทุกเดือน',
+    'every odd month' => 'ทุกเดือนคี่',
+    'every even month' => 'ทุกเดือนคู่',
+    'every day' => 'ทุกวัน',
+    'every odd day' => 'ทุกวันคี่',
+    'every even day' => 'ทุกวันคู่',
+    'weekdays (5 days)' => 'วันธรรมดา (5 วัน)',
+    'weekend (2 days)' => 'วัดหยุดสุดสัปดาห์ (2 วัน)',
+    'Monday' => 'วันจันทร์',
+    'Tuesday' => 'วันอังคาร',
+    'Wednesday' => 'วันพุธ',
+    'Thursday' => 'วันพฤหัสบดี',
+    'Friday' => 'วันศุกร์',
+    'Saturday' => 'วันเสาร์',
+    'Sunday' => 'วันอาทิตย์',
+    'every hour' => 'ทุกชั่วโมง',
+    'every two hours' => 'ทุกสองชั่วโมง',
+    'every minute' => 'ทุกนาที',
+    'every two minutes' => 'ทุกสองนาที',
+    'every' => 'ทุก',
+    'Generate' => 'สร้าง',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
+    'Vesta SSL' => 'Vesta SSL',
+    'SUBJECT' => 'SUBJECT',
+    'ALIASES' => 'ALIASES',
+    'NOT_BEFORE' => 'NOT_BEFORE',
+    'NOT_AFTER' => 'NOT_AFTER',
+    'SIGNATURE' => 'SIGNATURE',
+    'PUB_KEY' => 'PUB_KEY',
+    'ISSUER' => 'ISSUER',
+
+    'Use server hostname' => 'ใช้ server hostname',
+    'Use domain hostname' => 'ใช้ domain hostname',
+    'Use STARTTLS' => 'ใช้ STARTTLS',
+    'Use SSL / TLS' => 'ใช้ SSL / TLS',
+    'No encryption' => 'ไม่มี encryption',
+    'Do not use encryption' => 'ไม่ใช้ encryption',
+
+    'maximum characters length, including prefix' => 'ความยาว charset สูงสุด %s ตัว, รวมถึงคำนำหน้า',
+
+    'Email Credentials' => 'Email Credentials',
+);

+ 2 - 1
web/inc/i18n/tr.php

@@ -748,10 +748,11 @@ $LANG['tr'] = array(
     'Use server hostname' => 'Use server hostname',
     'Use domain hostname' => 'Use domain hostname',
     'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
+    'Use SSL / TLS' => 'Use SSL / TLS',
     'No encryption' => 'No encryption',
     'Do not use encryption' => 'Do not use encryption',
 
     'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/tw.php

@@ -752,10 +752,11 @@ $LANG['tw'] = array(
     'Use server hostname' => '使用伺服器主機名稱',
     'Use domain hostname' => '使用網域主機名稱',
     'Use STARTTLS' => '使用 STARTTLS',
-    'Use SSL' => '使用 SSL',
+    'Use SSL / TLS' => '使用 SSL / TLS',
     'No encryption' => '不加密',
     'Do not use encryption' => '不要使用加密',
 
     'maximum characters length, including prefix' => '最多 %s 字元(包含前綴)',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 2 - 1
web/inc/i18n/ua.php

@@ -748,10 +748,11 @@ $LANG['ua'] = array(
     'Use server hostname' => "Використовувати серверне ім'я хоста",
     'Use domain hostname' => "Використовувати доменне ім'я хоста",
     'Use STARTTLS' => 'Використовувати STARTTLS',
-    'Use SSL' => 'Використовувати SSL',
+    'Use SSL / TLS' => 'Використовувати SSL / TLS',
     'No encryption' => 'Без шифрування',
     'Do not use encryption' => 'Не використовувати шифрування',
 
     'maximum characters length, including prefix' => 'максимальна %s кількість символів, включаючи префікс',
 
+    'Email Credentials' => 'Email Credentials',
 );

+ 32 - 28
web/inc/i18n/vi.php

@@ -2,6 +2,9 @@
 /**
  * Vesta language file
  * Phuong Nguyen ([email protected])
+ *
+ * Duoc bao tri boi:
+ * Anh Tuan @tdtgit - https://duonganhtuan.com
  */
 
 $LANG['vi'] = array(
@@ -141,7 +144,7 @@ $LANG['vi'] = array(
 
     'active'  => 'kích hoạt',
     'spnd'  => 'đình chỉ',
-    'suspended'  => 'đình chỉ',
+    'suspended'  => 'đã bị đình chỉ',
     'running'  => 'đang chạy',
     'stopped'  => 'đã dừng',
     'outdated'  => 'đã hết hạn',
@@ -170,7 +173,7 @@ $LANG['vi'] = array(
     'User Directories'  => 'Thư mục người dùng',
     'Template'  => 'Mẫu',
     'Web Template'  => 'Mẫu Apache',
-    'Backend Template'  => 'Backend Template',
+    'Backend Template'  => 'Mẫu Backend',
     'Proxy Template'  => 'Mẫu Nginx',
     'DNS Template'  => 'Mẫu DNS',
     'Web Domains'  => 'Tên miền web',
@@ -180,15 +183,15 @@ $LANG['vi'] = array(
     'DNS Domains'  => 'Miền DNS',
     'DNS domains'  => 'Miên DNS',
     'DNS records'   => 'Bản ghi DNS',
-    'Name Servers'  => 'Name Servers',
-    'Mail Domains'  => 'Miên Email',
+    'Name Servers'  => 'Name Server',
+    'Mail Domains'  => 'Tên miền Email',
     'Mail Accounts'  => 'Tài khoản email',
     'Cron Jobs'  => 'Tiến trình tự động',
     'SSH Access'  => 'Truy cập SSH',
     'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Địa chỉ IP',
     'Backups'  => 'Sao lưu',
-    'Backup System'  => 'Sao lưu Hệ thống',
+    'Backup System'  => 'Sao lưu hệ thống',
     'backup exclusions' => 'không sao lưu',
     'template'  => 'mẫu',
     'SSL Support'  => 'Hỗ trợ SSL',
@@ -234,7 +237,7 @@ $LANG['vi'] = array(
     'Day'  => 'Ngày',
     'Month'  => 'Tháng',
     'Day of week'  => 'Ngày trong tuần',
-    'local'  => 'địa phương',
+    'local'  => 'nội bộ',
     'Run Time'  => 'Thời gian chạy',
     'Backup Size'  => 'Kích thước bản sao lưu',
     'SYS'  => 'Hệ thống',
@@ -245,7 +248,7 @@ $LANG['vi'] = array(
     'Owner' => 'Chủ sở hữu',
     'Users'  => 'Người dùng',
     'Load Average'  => 'Tải trung bình',
-    'Memory Usage'  => 'Sử dụng ram',
+    'Memory Usage'  => 'Sử dụng bộ nhớ',
     'APACHE2 Usage'  => 'Mức sử dụng APACHE2',
     'HTTPD Usage'  => 'Mức sử dụng HTTPD',
     'NGINX Usage'  => 'Mức sử dụng NGINX',
@@ -270,8 +273,8 @@ $LANG['vi'] = array(
     'brute-force monitor'  => 'Giám sát brute-force',
     'CPU'  => 'CPU',
     'Memory'  => 'Ram',
-    'Uptime'  => 'Thời gian sống',
-    'core package'  => 'gõi lõi',
+    'Uptime'  => 'Thời gian chạy',
+    'core package'  => 'gói lõi',
     'php interpreter'  => 'trình thông dịch php',
     'internal web server'  => 'máy chủ web nội bộ',
     'Version'  => 'Phiên bản',
@@ -287,7 +290,7 @@ $LANG['vi'] = array(
     'Last Name'  => 'Tên',
     'Send login credentials to email address'  => 'Gửi thông tin đăng nhập đến địa chỉ email',
     'Default Template'  => 'Mẫu mặc định',
-    'Default Name Servers'  => 'Name Servers mặc định',
+    'Default Name Servers'  => 'Name Server mặc định',
     'Domain'  => 'Tên miền',
     'DNS Support'  => 'Hỗ trợ DNS',
     'Mail Support'  => 'Hỗ trợ email',
@@ -303,11 +306,11 @@ $LANG['vi'] = array(
     'Statistics Authorization'  => 'Cấp phép thống kê',
     'Statistics Auth'  => 'Xác thực thống kê',
     'Account'  => 'Tài khoản',
-    'Prefix will be automaticaly added to username'  => 'Tiền tố %s sẽ được tự động thêm vào username',
+    'Prefix will be automaticaly added to username'  => 'Tiền tố %s sẽ được tự động thêm vào tên đăng nhập',
     'Send FTP credentials to email'  => 'Gửi thông tin FTP đến email',
     'Expiration Date'  => 'Ngày hết hạn',
     'YYYY-MM-DD'  => 'YYYY-MM-DD',
-    'Name servers'  => 'Name servers',
+    'Name servers'  => 'Name server',
     'Record'  => 'Bản ghi',
     'IP or Value'  => 'IP hoặc giá trị',
     'Priority'  => 'Độ ưu tiên',
@@ -316,7 +319,7 @@ $LANG['vi'] = array(
     'Message'  => 'Tin nhắn',
     'use local-part'  => 'sử dụng local-part',
     'one or more email addresses'  => 'một hoặc nhiều địa chỉ email',
-    'Prefix will be automaticaly added to database name and database user'  => 'Tiền tố  %s sẽ được tự động thêm vào tên csdl và người dùng csdl.',
+    'Prefix will be automaticaly added to database name and database user'  => 'Tiền tố sẽ được tự động thêm vào tên CSDL và người dùng CSDL.',
     'Database'  => 'CSDL',
     'Type'  => 'Loại',
     'Minute'  => 'Phút',
@@ -331,11 +334,11 @@ $LANG['vi'] = array(
     'shell'  => 'shell',
     'web domains'  => 'tên miền web',
     'web aliases'  => 'ánh xạ web',
-    'dns records'  => 'bản ghi dns',
+    'dns records'  => 'bản ghi DNS',
     'mail domains'  => 'miền email',
     'mail accounts'  => 'tài khoản email',
     'accounts'  => 'tài khoản',
-    'databases'  => 'csdl',
+    'databases'  => 'CSDL',
     'cron jobs'  => 'Tiến trình tự động',
     'backups'  => 'sao lưu',
     'quota'  => 'hạn mức',
@@ -520,7 +523,7 @@ $LANG['vi'] = array(
     'FTP_ACCOUNT_READY' => "Tài khoản FTP của bạn đã được tạo thành công và sẵn sàng để sử dụng.\n\nHostname: %s\nTên đăng nhập: %s_%s\nMật khẩu: %s\n\n--\nVesta Control Panel\n",
 
     'Database Credentials'  => 'Thông tin CSDL',
-    'DATABASE_READY' => "Tạo thành công CSDL.\n\nDatabase: %s\nNgười dùng: %s\nMật khẩu: %s\n%s\n\n--\nVesta Control Panel\n",
+    'DATABASE_READY' => "Tạo thành công CSDL.\n\nTên cơ sở dữ liệu: %s\nNgười dùng: %s\nMật khẩu: %s\n%s\n\n--\nVesta Control Panel\n",
 
     'forgot password'  => 'Quên mật khẩu',
     'Confirm'  => 'Xác nhận',
@@ -552,18 +555,18 @@ $LANG['vi'] = array(
     'Default Language' => 'Ngôn ngữ mặc định',
     'Proxy Server' => 'Máy chủ Proxy',
     'Web Server' => 'Máy chủ Web',
-    'Backend Server' => 'Máy chủBackend',
+    'Backend Server' => 'Máy chủ Backend',
     'Backend Pool Mode' => 'Backend Pool Mode',
     'DNS Server' => 'Máy chủ DNS',
     'DNS Cluster' => 'DNS Cluster',
     'MAIL Server' => 'Máy chủ MAIL',
     'Antivirus' => 'Trình diệt virus',
     'AntiSpam' => 'Trình chống spam',
-    'Webmail URL' => 'Webmail URL',
+    'Webmail URL' => 'Đường dẫn Webmail',
     'MySQL Support' => 'Hỗ trợ MySQL',
-    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'phpMyAdmin URL' => 'Đường dẫn phpMyAdmin',
     'PostgreSQL Support' => 'Hỗ trợ PostgreSQL',
-    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'phpPgAdmin URL' => 'Đường dẫn phpPgAdmin',
     'Maximum Number Of Databases' => 'Số lượng CSDL tối đa',
     'Current Number Of Databases' => 'Số lượng CSDL hiện tại',
     'Local backup' => 'Local backup',
@@ -591,7 +594,7 @@ $LANG['vi'] = array(
     'save to favorites' => 'Lưu vào yêu thích',
 
     'File Manager' => 'Quản lý tệp',
-    'size' => 'size',
+    'size' => 'kích thước',
     'date' => 'ngày',
     'name' => 'tên',
     'Initializing' => 'Khởi tạo',
@@ -600,7 +603,7 @@ $LANG['vi'] = array(
     'NEW DIR' => 'Thêm thư mục mới',
     'DELETE' => 'Xóa',
     'RENAME' => 'Đổi tên',
-    'MOVE' => 'MOVE',
+    'MOVE' => 'Di chuyển',
     'RIGHTS' => 'RIGHTS',
     'COPY' => 'Sao chép',
     'ARCHIVE' => 'Nén',
@@ -634,9 +637,9 @@ $LANG['vi'] = array(
     'Copy files' => 'Sao chép tệp tin',
     'Move files' => 'Di dời tệp tin',
     'Are you sure you want to copy' => 'Bạn có chắc chắn muốn sao chép',
-    'Are you sure you want to move' => 'Are you sure you want to move',
+    'Are you sure you want to move' => 'Bạn có chắc chắn muốn di chuyển',
     'Are you sure you want to delete' => 'Bạn có chắc chắn muốn xóa',
-    'into' => 'into',
+    'into' => 'tới',
     'existing files will be replaced' => 'tệp tồn tại sẽ được ghi đè',
     'Original name' => 'Tên gốc',
     'File' => 'Tệp',
@@ -715,8 +718,8 @@ $LANG['vi'] = array(
     'every day' => 'hàng ngày',
     'every odd day' => 'các ngày lẻ',
     'every even day' => 'các ngày chẵn',
-    'weekdays (5 days)' => 'ngày trong tuần (5 days)',
-    'weekend (2 days)' => 'ngày cuối tuần (2 days)',
+    'weekdays (5 days)' => 'ngày trong tuần (5 ngày)',
+    'weekend (2 days)' => 'ngày cuối tuần (2 ngày)',
     'Monday' => 'Thứ hai',
     'Tuesday' => 'Thứ ba',
     'Wednesday' => 'Thứ tư',
@@ -729,7 +732,7 @@ $LANG['vi'] = array(
     'every minute' => 'mỗi phút',
     'every two minutes' => 'mỗi hai phút',
     'every' => 'mọi',
-    'Generate' => 'Tạo ra',
+    'Generate' => 'Tạo',
 
     'webalizer' => 'webalizer',
     'awstats' => 'awstats',
@@ -746,10 +749,11 @@ $LANG['vi'] = array(
     'Use server hostname' => 'Sử dụng hostname của máy chủ',
     'Use domain hostname' => 'Sử dụng hostname của tên miền',
     'Use STARTTLS' => 'Sử dụng STARTTLS',
-    'Use SSL' => 'Sử dụng SSL',
+    'Use SSL / TLS' => 'Sử dụng SSL / TLS',
     'No encryption' => 'Sử dụng mã hóa',
     'Do not use encryption' => 'Không dùng mã hóa',
 
     'maximum characters length, including prefix' => 'tối đa %s ký tự, bao gồm tiền tố',
 
+    'Email Credentials' => 'Chứng nhận email',
 );

+ 1 - 1
web/inc/main.php

@@ -3,7 +3,7 @@
 session_start();
 
 define('VESTA_CMD', '/usr/bin/sudo /usr/local/vesta/bin/');
-define('JS_LATEST_UPDATE', '1476144160');
+define('JS_LATEST_UPDATE', '1491697868');
 
 $i = 0;
 

+ 28 - 2
web/js/pages/add_mail_acc.js

@@ -90,14 +90,37 @@ randomString = function() {
         $('#v_password').text(randomstring);
     else
         $('#v_password').text(Array(randomstring.length+1).join('*'));
+    generate_mail_credentials();
+}
+
+generate_mail_credentials = function() {
+    var div = $('.mail-infoblock').clone();
+    div.find('#mail_configuration').remove();
+    var pass=div.find('#v_password').text();
+    if (pass=="") div.find('#v_password').html(' ');
+    var output = div.text();
+    output=output.replace(/(?:\r\n|\r|\n|\t)/g, "|");
+    output=output.replace(/  /g, "");
+    output=output.replace(/\|\|/g, "|");
+    output=output.replace(/\|\|/g, "|");
+    output=output.replace(/\|\|/g, "|");
+    output=output.replace(/^\|+/g, "");
+    output=output.replace(/\|$/, "");
+    output=output.replace(/ $/, "");
+    output=output.replace(/:\|/g, ": ");
+    output=output.replace(/\|/g, "\n");
+    //console.log(output);
+    $('#v_credentials').val(output);
 }
 
 $(document).ready(function() {
     $('#v_account').text($('input[name=v_account]').val());
     $('#v_password').text($('input[name=v_password]').val());
+    generate_mail_credentials();
 
     $('input[name=v_account]').change(function(){
         $('#v_account').text($(this).val());
+        generate_mail_credentials();
     });
 
     $('input[name=v_password]').change(function(){
@@ -105,6 +128,7 @@ $(document).ready(function() {
             $('#v_password').text($(this).val());
         else
             $('#v_password').text(Array($(this).val().length+1).join('*'));
+        generate_mail_credentials();
     });
 
     $('.toggle-psw-visibility-icon').click(function(){
@@ -112,6 +136,7 @@ $(document).ready(function() {
             $('#v_password').text($('input[name=v_password]').val());
         else
             $('#v_password').text(Array($('input[name=v_password]').val().length+1).join('*'));
+        generate_mail_credentials();
     });
 
     $('#mail_configuration').change(function(evt){
@@ -130,9 +155,9 @@ $(document).ready(function() {
                 break;
             case 'ssl':
                 $('#td_imap_port').html('993');
-                $('#td_imap_encryption').html('SSL');
+                $('#td_imap_encryption').html('SSL / TLS');
                 $('#td_smtp_port').html('465');
-                $('#td_smtp_encryption').html('SSL');
+                $('#td_smtp_encryption').html('SSL / TLS');
                 break;
             case 'no_encryption':
                 $('#td_imap_hostname').html(opt.attr('domain'));
@@ -144,5 +169,6 @@ $(document).ready(function() {
                 $('#td_smtp_encryption').html(opt.attr('no_encryption'));
                 break;
         }
+        generate_mail_credentials();
     });
 });

+ 28 - 2
web/js/pages/edit_mail_acc.js

@@ -91,14 +91,37 @@ randomString = function() {
         $('#v_password').text(randomstring);
     else
         $('#v_password').text(Array(randomstring.length+1).join('*'));
+    generate_mail_credentials();
+}
+
+generate_mail_credentials = function() {
+    var div = $('.mail-infoblock').clone();
+    div.find('#mail_configuration').remove();
+    var pass=div.find('#v_password').text();
+    if (pass=="") div.find('#v_password').html(' ');
+    var output = div.text();
+    output=output.replace(/(?:\r\n|\r|\n|\t)/g, "|");
+    output=output.replace(/  /g, "");
+    output=output.replace(/\|\|/g, "|");
+    output=output.replace(/\|\|/g, "|");
+    output=output.replace(/\|\|/g, "|");
+    output=output.replace(/^\|+/g, "");
+    output=output.replace(/\|$/, "");
+    output=output.replace(/ $/, "");
+    output=output.replace(/:\|/g, ": ");
+    output=output.replace(/\|/g, "\n");
+    //console.log(output);
+    $('#v_credentials').val(output);
 }
 
 $(document).ready(function() {
     $('#v_account').text($('input[name=v_account]').val());
     $('#v_password').text($('input[name=v_password]').val());
+    generate_mail_credentials();
 
     $('input[name=v_account]').change(function(){
         $('#v_account').text($(this).val());
+        generate_mail_credentials();
     });
   
     $('input[name=v_password]').change(function(){
@@ -106,6 +129,7 @@ $(document).ready(function() {
             $('#v_password').text($(this).val());
         else
             $('#v_password').text(Array($(this).val().length+1).join('*'));
+        generate_mail_credentials();
     });
 
     $('.toggle-psw-visibility-icon').click(function(){
@@ -113,6 +137,7 @@ $(document).ready(function() {
             $('#v_password').text($('input[name=v_password]').val());
         else
             $('#v_password').text(Array($('input[name=v_password]').val().length+1).join('*'));
+        generate_mail_credentials();
     });
 
     $('#mail_configuration').change(function(evt){
@@ -131,9 +156,9 @@ $(document).ready(function() {
                 break;
             case 'ssl':
                 $('#td_imap_port').html('993');
-                $('#td_imap_encryption').html('SSL');
+                $('#td_imap_encryption').html('SSL / TLS');
                 $('#td_smtp_port').html('465');
-                $('#td_smtp_encryption').html('SSL');
+                $('#td_smtp_encryption').html('SSL / TLS');
                 break;
             case 'no_encryption':
                 $('#td_imap_hostname').html(opt.attr('domain'));
@@ -145,5 +170,6 @@ $(document).ready(function() {
                 $('#td_smtp_encryption').html(opt.attr('no_encryption'));
                 break;
         }
+        generate_mail_credentials();
     });
 });

+ 18 - 7
web/templates/admin/add_mail_acc.html

@@ -118,6 +118,17 @@
                             </table>
                         </td>
                     </tr>
+                    <tr>
+                        <td class="vst-text input-label">
+                            <?php print __('Send login credentials to email address') ?>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <input type="text"  class="vst-input" name="v_send_email" value="<?=htmlentities(trim($v_send_email, "'"))?>">
+                            <input type="hidden" name="v_credentials" id="v_credentials">
+                        </td>
+                    </tr>
                 </table>
                 <table class="data-col2">
                     <tr>
@@ -140,7 +151,7 @@
                                     <option v_type="hostname" domain="<?=$hostname?>"><?=__('Use server hostname')?></option>
                                     <option v_type="hostname" domain="<?=$v_domain?>"><?=__('Use domain hostname')?></option>
                                     <option v_type="starttls"><?=__('Use STARTTLS')?></option>
-                                    <option v_type="ssl"><?=__('Use SSL')?></option>
+                                    <option v_type="ssl"><?=__('Use SSL / TLS')?></option>
                                     <option v_type="no_encryption" domain="<?=htmlentities(trim($v_domain, "'"))?>" no_encryption="<?=__('No encryption')?>"><?=__('No encryption')?></option>
                                 </select>
                             </td>
@@ -185,15 +196,15 @@
                             <td><?=__('SMTP auth method')?>:</td>
                             <td><div><?=__('Normal password')?></div></td>
                         </tr>
-			<?
-			  list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"].":");
-			  $webmail = "http://".$http_host."/webmail/";
-			  if (!empty($_SESSION['MAIL_URL'])) $webmail = $_SESSION['MAIL_URL'];
-			  ?>
+                        <?
+                            list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"].":");
+                            $webmail = "http://".$http_host."/webmail/";
+                            if (!empty($_SESSION['MAIL_URL'])) $webmail = $_SESSION['MAIL_URL'];
+                        ?>
                         <tr>
                             <td><?=__('Webmail URL')?>:</td>
                             <td><div><a class="vst" href="<?=$webmail?>" target="_blank"><?=$webmail?> <i></i></a></div></td>
-			</tr>
+                        </tr>
                     </table>
                 </div>
             </td>

+ 12 - 1
web/templates/admin/edit_mail_acc.html

@@ -125,6 +125,17 @@
                                 </table>
                             </td>
                         </tr>
+                    <tr>
+                        <td class="vst-text input-label">
+                            <?php print __('Send login credentials to email address') ?>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <input type="text"  class="vst-input" name="v_send_email" value="<?=htmlentities(trim($v_send_email, "'"))?>">
+                            <input type="hidden" name="v_credentials" id="v_credentials">
+                        </td>
+                    </tr>
                     </table>
                     <table class="data-col2">
                         <tr>
@@ -147,7 +158,7 @@
                                     <option v_type="hostname" domain="<?=$hostname?>"><?=__('Use server hostname')?></option>
                                     <option v_type="hostname" domain="<?=$v_domain?>"><?=__('Use domain hostname')?></option>
                                     <option v_type="starttls"><?=__('Use STARTTLS')?></option>
-                                    <option v_type="ssl"><?=__('Use SSL')?></option>
+                                    <option v_type="ssl"><?=__('Use SSL / TLS')?></option>
                                     <option v_type="no_encryption" domain="<?=htmlentities(trim($v_domain, "'"))?>" no_encryption="<?=__('No encryption')?>"><?=__('No encryption')?></option>
                                 </select>
                             </td>