Serghey Rodin 9 лет назад
Родитель
Сommit
3bed87ba15
98 измененных файлов с 5159 добавлено и 2930 удалено
  1. 3 3
      bin/v-list-database-hosts
  2. 1 1
      bin/v-list-mail-domain
  3. 1 1
      bin/v-list-mail-domains
  4. 9 5
      web/add/db/index.php
  5. 1 1
      web/add/web/index.php
  6. 8 14
      web/edit/server/index.php
  7. 1 1
      web/edit/web/index.php
  8. 16 11
      web/inc/i18n.php
  9. 134 31
      web/inc/i18n/ar.php
  10. 112 27
      web/inc/i18n/bs.php
  11. 104 26
      web/inc/i18n/cn.php
  12. 105 26
      web/inc/i18n/cz.php
  13. 104 25
      web/inc/i18n/da.php
  14. 101 21
      web/inc/i18n/de.php
  15. 104 25
      web/inc/i18n/el.php
  16. 105 27
      web/inc/i18n/en.php
  17. 109 32
      web/inc/i18n/es.php
  18. 728 609
      web/inc/i18n/fa.php
  19. 114 36
      web/inc/i18n/fi.php
  20. 185 91
      web/inc/i18n/fr.php
  21. 109 32
      web/inc/i18n/hu.php
  22. 131 28
      web/inc/i18n/id.php
  23. 118 39
      web/inc/i18n/it.php
  24. 109 30
      web/inc/i18n/ja.php
  25. 106 27
      web/inc/i18n/nl.php
  26. 105 26
      web/inc/i18n/no.php
  27. 115 33
      web/inc/i18n/pl.php
  28. 139 18
      web/inc/i18n/pt-BR.php
  29. 126 32
      web/inc/i18n/pt.php
  30. 106 26
      web/inc/i18n/ro.php
  31. 108 30
      web/inc/i18n/ru.php
  32. 106 25
      web/inc/i18n/se.php
  33. 109 30
      web/inc/i18n/tr.php
  34. 160 86
      web/inc/i18n/tw.php
  35. 114 36
      web/inc/i18n/ua.php
  36. 108 25
      web/inc/i18n/vi.php
  37. 9 4
      web/inc/main.php
  38. 4 619
      web/js/app.js
  39. 591 0
      web/js/init.js
  40. 16 0
      web/js/pages/add_cron.js
  41. 11 0
      web/js/pages/add_db.js
  42. 27 0
      web/js/pages/add_dns.js
  43. 0 0
      web/js/pages/add_dns_rec.js
  44. 38 0
      web/js/pages/add_mail_acc.js
  45. 27 0
      web/js/pages/add_package.js
  46. 17 0
      web/js/pages/add_user.js
  47. 36 0
      web/js/pages/add_web.js
  48. 16 0
      web/js/pages/edit_cron.js
  49. 12 0
      web/js/pages/edit_db.js
  50. 33 0
      web/js/pages/edit_mail_acc.js
  51. 27 0
      web/js/pages/edit_package.js
  52. 17 0
      web/js/pages/edit_server.js
  53. 39 0
      web/js/pages/edit_user.js
  54. 39 0
      web/js/pages/edit_web.js
  55. 0 1
      web/phpinfo.php
  56. 4 22
      web/templates/admin/add_db.html
  57. 1 38
      web/templates/admin/add_dns.html
  58. 0 2
      web/templates/admin/add_dns_rec.html
  59. 6 14
      web/templates/admin/add_firewall.html
  60. 8 16
      web/templates/admin/add_firewall_banlist.html
  61. 1 9
      web/templates/admin/add_ip.html
  62. 15 63
      web/templates/admin/add_mail_acc.html
  63. 11 43
      web/templates/admin/add_package.html
  64. 0 20
      web/templates/admin/add_user.html
  65. 1 43
      web/templates/admin/add_web.html
  66. 1 1
      web/templates/admin/edit_cron.html
  67. 0 18
      web/templates/admin/edit_db.html
  68. 5 13
      web/templates/admin/edit_firewall.html
  69. 0 8
      web/templates/admin/edit_ip.html
  70. 2 22
      web/templates/admin/edit_mail_acc.html
  71. 12 45
      web/templates/admin/edit_package.html
  72. 5 31
      web/templates/admin/edit_server.html
  73. 1 44
      web/templates/admin/edit_user.html
  74. 1 42
      web/templates/admin/edit_web.html
  75. 1 1
      web/templates/admin/list_backup_detail.html
  76. 1 1
      web/templates/admin/list_backup_exclusions.html
  77. 1 1
      web/templates/admin/list_dns_rec.html
  78. 4 4
      web/templates/admin/list_firewall.html
  79. 2 2
      web/templates/admin/list_firewall_banlist.html
  80. 3 3
      web/templates/admin/list_ip.html
  81. 1 1
      web/templates/admin/list_mail_acc.html
  82. 15 5
      web/templates/admin/list_packages.html
  83. 47 47
      web/templates/admin/list_search.html
  84. 2 2
      web/templates/admin/list_server_info.html
  85. 1 1
      web/templates/admin/list_services.html
  86. 2 2
      web/templates/admin/list_updates.html
  87. 1 1
      web/templates/admin/list_web.html
  88. 1 0
      web/templates/file_manager/main.php
  89. 1 65
      web/templates/footer.html
  90. 12 1
      web/templates/header.html
  91. 70 8
      web/templates/scripts.html
  92. 1 44
      web/templates/user/edit_user.html
  93. 0 40
      web/templates/user/edit_web.html
  94. 1 1
      web/templates/user/list_dns_rec.html
  95. 1 1
      web/templates/user/list_mail_acc.html
  96. 37 37
      web/templates/user/list_search.html
  97. 1 1
      web/templates/user/list_web.html
  98. 6 7
      web/upload/UploadHandler.php

+ 3 - 3
bin/v-list-database-hosts

@@ -28,12 +28,12 @@ json_list() {
         fi
     done
 
-    echo "{"
+    echo "["
     for type in $(echo $DB_SYSTEM |sed -e 's/,/\n/'); do
         if [ -e "$VESTA/conf/$type.conf" ]; then
             for str in $(cat $VESTA/conf/$type.conf); do
                 eval $str
-        echo -n '    "'$HOST'": {
+        echo -n '    {
         "HOST": "'$HOST'",
         "TYPE": "'$type'",
         "CHARSETS": "'$CHARSETS'",
@@ -54,7 +54,7 @@ json_list() {
             done
         fi
     done
-    echo '}'
+    echo ']'
 }
 
 # SHELL list function

+ 1 - 1
bin/v-list-mail-domain

@@ -27,7 +27,7 @@ json_list() {
         "DKIM": "'$DKIM'",
         "CATCHALL": "'$CATCHALL'",
         "ACCOUNTS": "'$ACCOUNTS'",
-        "U_DISKL": "'$U_DISK'",
+        "U_DISK": "'$U_DISK'",
         "SUSPENDED": "'$SUSPENDED'",
         "TIME": "'$TIME'",
         "DATE": "'$DATE'"

+ 1 - 1
bin/v-list-mail-domains

@@ -30,7 +30,7 @@ json_list() {
         "DKIM": "'$DKIM'",
         "CATCHALL": "'$CATCHALL'",
         "ACCOUNTS": "'$ACCOUNTS'",
-        "U_DISKL": "'$U_DISK'",
+        "U_DISK": "'$U_DISK'",
         "SUSPENDED": "'$SUSPENDED'",
         "TIME": "'$TIME'",
         "DATE": "'$DATE'"

+ 9 - 5
web/add/db/index.php

@@ -114,15 +114,19 @@ $v_db_email = $panel[$user]['CONTACT'];
 $db_types = split(',', $_SESSION['DB_SYSTEM']);
 
 // List available database servers
-$db_hosts = array();
-exec (VESTA_CMD."v-list-database-hosts 'json'", $output, $return_var);
-$db_hosts_tmp = json_decode(implode('', $output), true);
-$db_hosts = array_merge($db_hosts, $db_hosts_tmp);
-unset($db_hosts_tmp);
+exec (VESTA_CMD."v-list-database-hosts json", $output, $return_var);
+$db_hosts_tmp1 = json_decode(implode('', $output), true);
+$db_hosts_tmp2 = array_map(function($host){return $host['HOST'];}, $db_hosts_tmp1);
+$db_hosts = array_values(array_unique($db_hosts_tmp2));
 unset($output);
+unset($db_hosts_tmp1);
+unset($db_hosts_tmp2);
 
 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');

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

@@ -59,7 +59,7 @@ if (!empty($_POST['ok'])) {
     $aliases = implode(",",$aliases_arr);
     $aliases = escapeshellarg($aliases);
 
-    // Define proxy extentions
+    // Define proxy extensions
     $v_proxy_ext = $_POST['v_proxy_ext'];
     $proxy_ext = preg_replace("/\n/", ",", $v_proxy_ext);
     $proxy_ext = preg_replace("/\r/", ",", $proxy_ext);

+ 8 - 14
web/edit/server/index.php

@@ -46,21 +46,15 @@ foreach ($dns_cluster as $key => $value) {
     $v_dns_cluster = 'yes';
 }
 
-// List MySQL hosts
-exec (VESTA_CMD."v-list-database-hosts mysql json", $output, $return_var);
-$v_mysql_hosts = json_decode(implode('', $output), true);
+// List Database hosts
+exec (VESTA_CMD."v-list-database-hosts json", $output, $return_var);
+$db_hosts = json_decode(implode('', $output), true);
 unset($output);
-foreach ($v_mysql_hosts as $key => $value) {
-    $v_mysql = 'yes';
-}
-
-// List PostgreSQL hosts
-exec (VESTA_CMD."v-list-database-hosts pgsql json", $output, $return_var);
-$v_pgsql_hosts = json_decode(implode('', $output), true);
-unset($output);
-foreach ($v_pgsql_hosts as $key => $value) {
-    $v_pgsql = 'yes';
-}
+$v_mysql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'mysql';}));
+$v_mysql = count($v_mysql_hosts) ? 'yes' : 'no';
+$v_pgsql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'pgsql';}));
+$v_pgsql = count($v_pgsql_hosts) ? 'yes' : 'no';
+unset($db_hosts);
 
 // List backup settings
 $v_backup_dir = "/backup";

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

@@ -221,7 +221,7 @@ if (!empty($_POST['save'])) {
         $restart_proxy = 'yes';
     }
 
-    // Change proxy template / Update extention list
+    // Change proxy template / Update extension list
     if ((!empty($_SESSION['PROXY_SYSTEM'])) && (!empty($v_proxy)) && (!empty($_POST['v_proxy'])) && (empty($_SESSION['error_msg']))) {
         $ext = preg_replace("/\n/", " ", $_POST['v_proxy_ext']);
         $ext = preg_replace("/,/", " ", $ext);

+ 16 - 11
web/inc/i18n.php

@@ -10,25 +10,30 @@ function _translate() {
     global $LANG;
 
     $args = func_get_args();
+
     $l = $args[0];
+    if (empty($l)) return 'NO LANGUAGE DEFINED';
 
-    if (!$l) return 'NO LANGUAGE DEFINED';
     $key = $args[1];
+    if (empty($key)) return '';
 
-    if (!isset($LANG[$l])) {
-        require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$l.'.php');
+    // No translation needed
+    if (!preg_match('/[a-z]/i', $key)) {
+        return $key;
     }
 
-    if (!isset($LANG[$l][$key])) {
-        $text=$key;
-    } else {
-        $text=$LANG[$l][$key];
+    // Load language file (if not loaded yet)
+    if (!isset($LANG[$l])) {
+        require_once($_SERVER['DOCUMENT_ROOT']."/inc/i18n/$l.php");
     }
 
+    //if (!isset($LANG[$l][$key])) file_put_contents('/somewhere/something.log', "$key\n", FILE_APPEND);
+    $text = isset($LANG[$l][$key]) ? $LANG[$l][$key] : $key;
+
     array_shift($args);
-    if (count($args)>1) {
+    if (count($args) > 1) {
         $args[0] = $text;
-        return call_user_func_array("sprintf",$args);
+        return call_user_func_array('sprintf', $args);
     } else {
         return $text;
     }
@@ -42,8 +47,8 @@ function _translate() {
  */
 function __() {
     $args = func_get_args();
-    array_unshift($args,$_SESSION['language']);
-    return call_user_func_array("_translate",$args);
+    array_unshift($args, $_SESSION['language']);
+    return call_user_func_array('_translate', $args);
 }
 
 /**

+ 134 - 31
web/inc/i18n/ar.php

@@ -25,6 +25,21 @@ $LANG['ar'] = array(
     'CRON'  => 'مجدول الوظائف',
     'BACKUP'  => 'النسخ الإحتياطية',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'إضافة مستخدم',
     'Add Domain'  => 'إضافة نطاق',
     'Add Web Domain'  => 'إضافة نطاق',
@@ -76,7 +91,7 @@ $LANG['ar'] = array(
     'list accounts'  => 'عرض الحسابات',
     'add account'  => 'إضافة حساب',
     'open webmail'  => 'فتح برنامج البريد من المتصفح ',
-    'list fail2ban' => 'list fail2ban', // please make it as short as "list fail2ban"  'عرض قائمة المحظورين للدخول الخاطئ',
+    'list fail2ban' => 'list fail2ban',    // please make it as short as "list fail2ban"  'عرض قائمة المحظورين للدخول الخاطئ',
     'open %s'  => 'فتح %s',
     'download'  => 'تنزيل',
     'restore'  => 'استرجاع',
@@ -160,13 +175,14 @@ $LANG['ar'] = array(
     'Web Aliases'  => 'الأسماء البديلة',
     'per domain'  => 'لكل نطاق',
     'DNS Domains'  => 'نطاقات DNS',
-    'DNS Domains'  => 'نطاقات DNS',
-    'DNS records'   => 'سجلات DNS'  ,
+    'DNS domains'  => 'نطاقات DNS',
+    'DNS records'   => 'سجلات DNS',
     'Name Servers'  => 'خوادم الأسماء<br>Name Servers',
     'Mail Domains'  => 'نطاقات البريد',
     'Mail Accounts'  => 'حسابات البريد',
     'Cron Jobs'  => 'الوظائق المجدولة',
     'SSH Access'  => 'دخول SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'عنوان IP',
     'Backups'  => 'نسخ احتياطية',
     'Backup System'  => 'نظام النسخ الاحتياطي',
@@ -178,10 +194,12 @@ $LANG['ar'] = array(
     'Proxy Extensions'  => 'توسعات بروكسي',
     'Web Statistics'  => 'إحصائيات الوب',
     'Additional FTP Account'  => 'حساب FTP إضافي <br>لا تحتاج حساب إضافي عادة ويتم الدخول باسم المستخدم نفسه',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'تنقضي',
     'Records'  => 'سجلات',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'استقبل أي بريد',
     'AntiVirus Support'  => 'دعم مضاد الفيروسات',
     'AntiSpam Support'  => 'دعم مضاد البريد المزعج (سبام)',
@@ -191,6 +209,16 @@ $LANG['ar'] = array(
     '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'  => 'Normal password',
     'database'  => 'قاعدة بيانات',
     'User'  => 'المستخدم',
     'Host'  => 'المضيف',
@@ -212,11 +240,13 @@ $LANG['ar'] = array(
     'Users'  => 'مستخدمين',
     'Load Average'  => 'متوسط التحميل',
     'Memory Usage'  => 'استخدام الذاكرة',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'استخدام نظام بروتوكول نقل النص التشعبي',
     'NGINX Usage'  => 'NGINX استخدام',
     'MySQL Usage on localhost'  => 'استخدام قاعدة بيانات MySql على المضيف المحلي',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL استخدام قاعدة بيانات على المضيف المحلي',
     'Bandwidth Usage eth0'  => 'eth0 استخدام سعة النطاق على منفذ',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'استخدام FTP',
     'SSH Usage'  => 'استخدام SSH',
     'reverse proxy'  => 'بروكسي عكسي',
@@ -229,6 +259,8 @@ $LANG['ar'] = array(
     'database server'  => 'مخدم قاعدة البيانات',
     'ftp server'  => 'مخدم FTP',
     'job scheduler'  => 'مجدول الوظائف',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'المعالج',
     'Memory'  => 'الذاكرة',
     'Uptime'  => 'وقت التشغيل',
@@ -239,7 +271,6 @@ $LANG['ar'] = array(
     'Release'  => 'نسخة',
     'Architecture'  => 'هيكلية',
     'Object'  => 'عنصر',
-    'Owner'  => 'مالك',
     'Username'  => 'اسم المستخدم',
     'Password'  => 'كلمة المرور',
     'Email'  => 'البريد الالكتروني',
@@ -333,6 +364,8 @@ $LANG['ar'] = array(
     'ftp user password'  => 'كلمة مرور FTP',
     'ftp user'  => 'مستخدم FTP',
     'Last 70 lines of %s.%s.log' => 'آخر 70 سطر في %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'تنزيل سجلات الوصول',
     'Download ErrorLog' => 'تنزيل سجلات الأخطاء',
     'Country' => 'البلد',
@@ -347,8 +380,26 @@ $LANG['ar'] = array(
     'Banlist' => 'قائمة الحجب',
     'ranges are acceptable' => 'نطاقات مقبولة',
     'CIDR format is supported' => 'ويدعم صيغة CIDR',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'إضافة مخدم أسماء (NS) جديد',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'غير محدود',
     '1 account'  => '1 حساب',
     '%s accounts'  => 'حسابات %s',
@@ -364,6 +415,8 @@ $LANG['ar'] = array(
     '%s cron jobs'  => 'وظائف مجدولة %s',
     '1 archive'  => '1 أرشيف',
     '%s archives'  => 'أرشيف %s',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 حزمة',
     '%s packages'  => 'رزم %s',
     '1 IP address'  => '1 عنوان بروتوكول إنترنت',
@@ -376,7 +429,7 @@ $LANG['ar'] = array(
     '%s objects'  => 'عناصر %s',
     'no exclusions' => 'لا استثناءات',
     '1 rule'  => '1 قاعدة',
-    '%s rule'  => 'قواعد %s',
+    '%s rules' => '%s rules',
     'There are no currently banned IP' => 'لا يوجد عناوين IP المحظورة حاليالا يوجد عناوين IP المحظورة حاليا',
 
     'USER_CREATED_OK'  => 'المستخدم <a href="/edit/user/?user=%s"><b>%s</b></a> تم إنشائه بنجاح',
@@ -391,6 +444,7 @@ $LANG['ar'] = array(
     'PACKAGE_CREATED_OK'  => 'الحزمة <a href="/edit/package/?package=%s"><b>%s</b></a> تم إنشائها بنجاح.',
     'SSL_GENERATED_OK' => 'تم إنشاء الشهادة بنجاح.',
     'RULE_CREATED_OK' => 'تم إنشاء القاعدة بنجاح.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'تم تفيعل التحديث التلقائي بنجاح',
     'Autoupdate has been successfully disabled' => 'تم تعطيل التحديث التلقائي بنجاح',
     'Cronjob email reporting has been successfully enabled' => 'تم تمكين إعداد التقارير البريد الإلكتروني بنجاح',
@@ -423,7 +477,6 @@ $LANG['ar'] = array(
     'SUSPEND_RULE_CONFIRMATION' => 'هل أنت متأكد أنك تريد تعطيل قاعدة %s?',
     'UNSUSPEND_RULE_CONFIRMATION' => 'هل أنت متأكد أنك تريد إلغاء تعليق قاعدة %s?',
     'LEAVE_PAGE_CONFIRMATION' => 'Leave Page?',
-
     'RESTART_CONFIRMATION' => 'هل أنت متأكد من أنك تريد إعادة تشغيل %s?',
     'Welcome'  => 'أهلا وسهلا',
     'LOGGED_IN_AS'  => 'تم تسجيل الدخول ك %s',
@@ -442,12 +495,12 @@ $LANG['ar'] = array(
     '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' => "اكتب اسم المجلد, واحد في كل سطر. لاستثناء جميع المجلدات استخدم *",
+    '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>',
@@ -467,7 +520,7 @@ $LANG['ar'] = array(
     'Confirm Password'  => 'تأكيد كلمة المرور',
     'Reset'  => 'إعادة تعيين',
     'Reset Code'  => 'إعادة تعيين الكود',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'لقد تم إرسال كود إعادة تعيين كلمة المرور لعنوان بريدك الإلكتروني<br>',
     'MAIL_RESET_SUBJECT'  => 'تم إعادة تعيين كلمة المرور %s',
     'PASSWORD_RESET_REQUEST' => "لإعادة تعيين كلمة مرور لوحة التحكم , برجاء اتباع الرابط التالي link:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternatively, بامكانك أيضا اتباع الرابط التالي https://%s/reset/?action=code&user=%s وادخال كود إعادة التعيين التالي code:\n%s\n\n إذا لم تطلب إعادة تعيين كلمة المرور, برجاء تجاهل هذه الرسالة وتقبل اعتذارنا.\n\n--\nVesta Control Panel\n",
@@ -489,6 +542,29 @@ $LANG['ar'] = array(
     'Hostname' => 'اسم المضيف (host)',
     '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'نظام تخصيص حجوم الملفات (Quota)',
     'Vesta Control Panel Plugins' => 'إضافات لوحة التحكم فيستا',
     'preview' => 'معاينة',
@@ -505,9 +581,7 @@ $LANG['ar'] = array(
     'Name' => 'الاسم',
 
 
-
     'File Manager' => 'مدير الملفات',
-    'type' => 'النوع',
     'size' => 'الحجم',
     'date' => 'التاريخ',
     'name' => 'الاسم',
@@ -517,10 +591,12 @@ $LANG['ar'] = array(
     'NEW DIR' => 'مجلد جديد',
     'DELETE' => 'حذف',
     'RENAME' => 'إعادة تسمية',
+    'RIGHTS' => 'RIGHTS',
     'COPY' => 'نسخ',
     'ARCHIVE' => 'ضغط',
     'EXTRACT' => 'فك ضغط',
     'DOWNLOAD' => 'تنزيل',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'نقر',
     'to reload the page' => 'لإعادة تحميل الصفحة',
     'Directory name cannot be empty' => 'اسم المجلد يجب ان لايكون فارغ',
@@ -535,11 +611,16 @@ $LANG['ar'] = array(
     'Copy' => 'نسخ',
     'Cancel' => 'إلغاء',
     'Rename' => 'إعادة تسمية',
+    'Change Rights' => 'Change Rights',
     'Delete' => 'حذف',
     'Extract' => 'فك ضغط',
     'Create' => 'إنشاء',
     'Compress' => 'ضغط',
     'OK' => 'موافق',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'هل أنت متأكد أنك تريد نسخ',
     'Are you sure you want to delete' => 'هل انت متأكد أنك تريد حذف',
     'into' => 'إلى',
@@ -549,7 +630,17 @@ $LANG['ar'] = array(
     'already exists' => 'موجود مسبقاً',
     'Create file' => 'إنشاء ملف',
     'Create directory' => 'إنشاء مجلد',
+    'read by owner' => 'read by owner',
+    'write by owner' => 'write by owner',
+    'execute/search by owner' => 'execute/search by owner',
+    'read by group' => 'read by group',
+    'write by group' => 'write by group',
+    'execute/search by group' => 'execute/search by group',
+    'read by others' => 'read by others',
+    'write by others' => 'write by others',
+    'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'إضافة جديد',
     'Save Form' => 'نموذج الحفظ',
     'Cancel saving form' => 'إلغاء نموذج الحفظ',
@@ -565,38 +656,45 @@ $LANG['ar'] = array(
     'Move backward through top menu' => 'التحرك للخلف في القائمة العلوية',
     'Move forward through top menu' => 'التحرك للأمام في القائمة العلوية',
     'Enter focused element' => 'إذهب إلى العنصر المحدد',
+    'Move up through elements list' => 'Move up through elements list',
+    'Move down through elements list' => 'Move down through elements list',
 
     'Upload' => 'رفع',
     'New File' => 'ملف جديد',
     'New Folder' => 'مجلد جديد',
     'Download' => 'تنزيل',
-    'Rename' => 'إعادة تسمية',
-    'Copy' => 'نسخ',
     'Archive' => 'ضغط',
-    'Delete' => 'حذف',
     'Save File (in text editor)' => 'حفظ الملف(محرر النصوص)',
     'Close Popup / Cancel' => 'أغلق القائمة المنبثقة/إلغاء',
     'Move Cursor Up' => 'حرك المؤشر للأعلى',
-    'Move Cursor Dow' => 'حرك المؤشر للأسفل',
+    'Move Cursor Down' => 'حرك المؤشر للأسفل',
     'Switch to Left Tab' => 'بدل إلى التبويب الأيسر',
     'Switch to Right Tab' => 'بدل إلى التبويب الأيمن',
     'Switch Tab' => 'تبديل التبويبات',
-    'Go to the Top of File List' => 'إذهب إلى أعلى قائمة الملفات',
+    'Go to the Top of the File List' => 'إذهب إلى أعلى قائمة الملفات',
     'Go to the Last File' => 'إذهب إلى آخر ملف',
-    'Open File/Enter Directory' => 'فتح ملف / مجلد',
+    'Open File / Enter Directory' => 'فتح ملف / مجلد',
     'Go to Parent Directory' => 'الذهاب للمجلد الأب',
     'Select Current File' => 'حدد الملف الحالي',
     'Select Bunch of Files' => 'حدد مجموعة ملفات',
-    'Append File to the Current Selection' => 'أضف ملف إلى قائمة التحديد الحالي',
+    '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' =>
         'الاختصارات الهمت من قبل ال GNU الرائعة<a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
+    'Licence Key' => 'Licence Key',
+    'Enter License Key' => 'Enter License Key',
+    'Buy Licence' => 'Buy Licence',
+    'Buy Lifetime License' => 'Buy Lifetime License',
+    'Disable and Cancel Licence' => 'Disable and Cancel Licence',
+    'Licence Activated' => 'Licence Activated',
+    'Licence Deactivated' => 'Licence Deactivated',
+    'Restrict users so that they cannot use SSH and access only their home directory.' => 'Restrict users so that they cannot use SSH and access only their home directory.',
+    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => '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.' => 'This is a commercial module, you would need to purchace license key to enable it.',
+
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -618,10 +716,15 @@ $LANG['ar'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute',
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
 
-    'MainDomain'  => 'النطاق الرئيسي',
-    'SubDomain'  => 'النطاق الفرعي (الجزء الاول الذي يضاف إلى النطاق الرئيسي)',
-    'Add Sub Domain'  => 'إضافة نطاق فرعي'
+// Texts below doesn't exist in en.php
+    '%s rule' => 'قواعد %s',
+    'MainDomain' => 'النطاق الرئيسي',
+    'SubDomain' => 'النطاق الفرعي (الجزء الاول الذي يضاف إلى النطاق الرئيسي)',
+    'Add Sub Domain' => 'إضافة نطاق فرعي',
 );

+ 112 - 27
web/inc/i18n/bs.php

@@ -12,6 +12,7 @@ $LANG['bs'] = array(
     'Log'  => 'Log',
     'Server'  => 'Server',
     'Services'  => 'Servisi',
+    'Firewall' => 'Firewall',
     'Updates'  => 'Novo',
     'Log in'  => 'Ulaz',
     'Log out'  => 'Izlaz',
@@ -24,6 +25,21 @@ $LANG['bs'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Dodaj korisnika',
     'Add Domain'  => 'Dodaj domenu',
     'Add Web Domain'  => 'Dodaj web domenu',
@@ -38,6 +54,8 @@ $LANG['bs'] = array(
     'Restore All'  => 'Vrati sve',
     'Add Package'  => 'Dodaj paket',
     'Add IP'  => 'Dodaj IP',
+    'Add Rule' => 'Add Rule',
+    'Ban IP Address' => 'Ban IP Address',
     'Search'  => 'Traži',
     'Add one more FTP Account' => 'Dodaj još jednu FTP račun',
     'Overall Statistics'  => 'Globalna statistika',
@@ -73,6 +91,7 @@ $LANG['bs'] = array(
     'list accounts'  => 'ukupno %s računa',
     'add account'  => 'dodaj račun',
     'open webmail'  => 'otvori webmail',
+    'list fail2ban' => 'list fail2ban',
     'open %s'  => 'otvori %s',
     'download'  => 'preuzmi',
     'restore'  => 'vrati',
@@ -86,6 +105,8 @@ $LANG['bs'] = array(
     'reread IP' => 'obnovi IP',
     'enable autoupdate' => 'uključuju autoupdate',
     'disable autoupdate' => 'onemogućiti autoupdate',
+    'turn on notifications' => 'turn on notifications',
+    'turn off notifications' => 'turn off notifications',
 
     'Adding User'  => 'Dodavanje korisnika',
     'Editing User'  => 'Izmjena korisnika',
@@ -111,7 +132,6 @@ $LANG['bs'] = array(
     'Generating CSR' => 'Generisanje CSR-a',
     'Listing'  => 'Spisak',
     'Search Results'  => 'Rezultati pretrage',
-    'Search Results'  => 'Rezultati pretrage',
     'Adding Firewall Rule' => 'Dodavanje Firewall pravila',
     'Editing Firewall Rule' => 'Izmjena Firewall pravila',
     'Adding IP Address to Banlist' => 'Dodavanje IP adrese',
@@ -155,13 +175,14 @@ $LANG['bs'] = array(
     'Web Aliases'  => 'Web aliasi',
     'per domain'  => 'po domeni',
     'DNS Domains'  => 'DNS Domene',
-    'DNS Domains'  => 'DNS domene',
-    'DNS records'   => 'DNS zapisi'  ,
+    'DNS domains'  => 'DNS domene',
+    'DNS records'   => 'DNS zapisi',
     'Name Servers'  => 'Name Serveri',
     'Mail Domains'  => 'Mail domene',
     'Mail Accounts'  => 'Mail računi',
     'Cron Jobs'  => 'Cron Jobi',
     'SSH Access'  => 'SSH pristup',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP adrese',
     'Backups'  => 'Backups',
     'Backup System'  => 'Backup sistema',
@@ -173,10 +194,12 @@ $LANG['bs'] = array(
     'Proxy Extensions'  => 'Proxy ekstenzije',
     'Web Statistics'  => 'Web statistika',
     'Additional FTP Account'  => 'Dodatni FTP',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Istek',
     'Records'  => 'Zapisi',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Preusmeravanje email-a',
     'AntiVirus Support'  => 'AntiVirus ',
     'AntiSpam Support'  => 'AntiSpam ',
@@ -186,6 +209,16 @@ $LANG['bs'] = array(
     'Autoreply'  => 'Automatski odgovor',
     'Forward to'  => 'Proslijediti za',
     'Do not store forwarded mail' => 'Proslijeđen mail se ne pohranjue',
+    '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',
@@ -207,11 +240,13 @@ $LANG['bs'] = array(
     'Users'  => 'Korisnici',
     'Load Average'  => 'Prosječno opterećenje',
     'Memory Usage'  => 'Upotreba memorije',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD upotreba',
     'NGINX Usage'  => 'NGINX upotreba',
     'MySQL Usage on localhost'  => 'MySQL na localhostu',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL na  localhostu',
     'Bandwidth Usage eth0'  => 'Bandwidth na eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP upotreba',
     'SSH Usage'  => 'SSH upotreba',
     'reverse proxy'  => 'preokrenut proxy',
@@ -224,6 +259,8 @@ $LANG['bs'] = array(
     'database server'  => 'database server',
     'ftp server'  => 'ftp server',
     'job scheduler'  => 'planer poslova',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Memorija',
     'Uptime'  => 'Vrijeme rada',
@@ -234,7 +271,6 @@ $LANG['bs'] = array(
     'Release'  => 'Distribucija',
     'Architecture'  => 'Arhitektura',
     'Object'  => 'Predmet',
-    'Owner'  => 'Vlasnik',
     'Username'  => 'Korisničko ime',
     'Password'  => 'Šifra',
     'Email'  => 'Email',
@@ -253,6 +289,7 @@ $LANG['bs'] = array(
     'SSL Certificate'  => 'SSL certifikat',
     'SSL Key'  => 'SSL Key',
     'SSL Certificate Authority / Intermediate'  => 'SSL Certificate Authority / Intermediate',
+    'SSL CSR' => 'SSL CSR',
     'optional'  => 'izborno',
     'internal' => 'interno',
     'Statistics Authorization'  => 'Ovlaštenje za statistiku',
@@ -327,9 +364,10 @@ $LANG['bs'] = array(
     'ftp user password'  => 'ftp šifra',
     'ftp user'  => 'ftp korisnik',
     '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',
-    'SSL CSR' => 'SSL CSR',
     'Country' => 'Zemlja',
     '2 letter code' => 'samo 2. slova',
     'State / Province' => 'Država / Predio',
@@ -342,8 +380,26 @@ $LANG['bs'] = array(
     'Banlist' => 'Lista banovanih',
     'ranges are acceptable' => 'rasponi su prihvatljivi',
     'CIDR format is supported' => 'CIDR format je podržan',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 račun',
     '%s accounts'  => '%s računa',
@@ -359,6 +415,8 @@ $LANG['bs'] = array(
     '%s cron jobs'  => '%s cron jobs',
     '1 archive'  => '1 arhiva',
     '%s archives'  => '%s arhive',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 paket',
     '%s packages'  => '%s paketa',
     '1 IP address'  => '1 IP adresa',
@@ -386,6 +444,7 @@ $LANG['bs'] = array(
     'PACKAGE_CREATED_OK'  => 'Paket <a href="/edit/package/?package=%s"><b>%s</b></a> je uspješno napravljen.',
     'SSL_GENERATED_OK' => 'Certifikat je uspješno generisan.',
     'RULE_CREATED_OK' => 'Pravilo je uspješno kreiran.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Automatsko ažuriranje uspješno omogućeno',
     'Autoupdate has been successfully disabled' => 'Automatsko ažuriranje je onemogućeno',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob izvještavanje je uspješno omogućen',
@@ -436,18 +495,18 @@ $LANG['bs'] = array(
     'RESTORE_SCHEDULED'  => 'Zadatak je dodan u red. Primit ćete email obavijest kada je vaš backup je spremna za preuzimanje.',
     'RESTORE_EXISTS'  => 'Postojeći zadatak obnova je već pokrenut. Pričekajte da se završi prije nego što ga ponovno pokrenete.',
 
-    'WEB_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *",
-    'MAIL_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Type full database name, one per line. To exclude all databases use *",
-    'CRON_EXCLUSIONS' => "To exclude all jobs use *",
-    'USER_EXCLUSIONS' => "Type directory name, one per line. To exlude all dirs use *",
+    'WEB_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *',
+    'MAIL_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Type full database name, one per line. To exclude all databases use *',
+    'CRON_EXCLUSIONS' => 'To exclude all jobs use *',
+    'USER_EXCLUSIONS' => 'Type directory name, one per line. To exlude all dirs use *',
 
     'Welcome to Vesta Control Panel'  => 'Dobrodošli u Vesta kontrolni panel',
     'MAIL_FROM'  => 'Vesta kontrolni panel <noreply@%s>',
     'GREETINGS_GORDON_FREEMAN' => "Đe si, %s %s,\n",
     'GREETINGS' => "Đe si, šta ima,\n",
-    'ACCOUNT_READY' => "Vaš račun je uspješno kreiran i spreman je za upotrebu.\n\nhttps://%s/login/\Korisničko ime: %s\nŠifra: %s\n\n--\nVesta kontrolni panel\n",
+    'ACCOUNT_READY' => "Vaš račun je uspješno kreiran i spreman je za upotrebu.\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 račun je uspješno kreiran. Koristite sljedeće podatke kako biste ga ispravno koristili:\n\nHostname: %s\nKorisničko ime: %s_%s\nŠifra: %s\n\n--\nVesta kontrolni panel\n",
@@ -461,7 +520,7 @@ $LANG['bs'] = array(
     'Confirm Password'  => 'Potvrdi šifru',
     'Reset'  => 'Reset',
     'Reset Code'  => 'Resetuj kod',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Kod resetovane šifre je poslan na vašu mail adresu<br>',
     'MAIL_RESET_SUBJECT'  => 'Šifra je resetovan %s',
     'PASSWORD_RESET_REQUEST' => "Za resetovanje šifre slijedite 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 unijeti kod:\n%s\n\nAko niste resetovali šifru, ignorišite ovu poruku i prihvatite naše izvinjenje.\n\n--\nVesta kontrolni panel\n",
@@ -483,6 +542,29 @@ $LANG['bs'] = array(
     '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 Cluster',
+    'MAIL Server' => 'MAIL Server',
+    'Antivirus' => 'Antivirus',
+    'AntiSpam' => 'AntiSpam',
+    'Webmail URL' => 'Webmail URL',
+    'MySQL Support' => 'MySQL Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'pregled',
@@ -498,8 +580,8 @@ $LANG['bs'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -514,6 +596,7 @@ $LANG['bs'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -528,11 +611,16 @@ $LANG['bs'] = array(
     'Copy' => 'Kopirati',
     'Cancel' => 'Odustati',
     'Rename' => 'Izmijeniti',
+    'Change Rights' => 'Change Rights',
     'Delete' => 'Izbrisati',
     'Extract' => 'Ekstraktovati',
     'Create' => 'Napraviti',
     'Compress' => 'Kompresovati',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -552,6 +640,7 @@ $LANG['bs'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -574,26 +663,23 @@ $LANG['bs'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -609,9 +695,6 @@ $LANG['bs'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -633,7 +716,9 @@ $LANG['bs'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 104 - 26
web/inc/i18n/cn.php

@@ -25,6 +25,21 @@ $LANG['cn'] = array(
     'CRON'  => '计划任务',
     'BACKUP'  => '备份管理',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => '添加用户',
     'Add Domain'  => '添加域名',
     'Add Web Domain' => '添加网站域名',
@@ -159,14 +174,15 @@ $LANG['cn'] = array(
     'SSL Domains' => 'SSL域名',
     'Web Aliases' => '网站别名',
     'per domain' => '每域名',
-    'DNS domains' => 'DNS域名',
     'DNS Domains' => 'DNS域名',
-    'DNS records'  => 'DNS记录'  ,
+    'DNS domains' => 'DNS域名',
+    'DNS records'  => 'DNS记录',
     'Name Servers' => 'DNS服务器',
     'Mail Domains' => '邮箱域名',
     'Mail Accounts' => '邮箱账户',
     'Cron Jobs' => '定时任务',
     'SSH Access' => 'SSH权限',
+    'IP Address'  => 'IP Address',
     'IP Addresses' => 'IP地址',
     'Backups' => '备份',
     'Backup System' => '备份系统',
@@ -176,13 +192,14 @@ $LANG['cn'] = array(
     'SSL Home Directory' => 'SSL主目录',
     'Proxy Support' => '代理支持',
     'Proxy Extensions' => '代理扩展名',
-    'Proxy Extentions' => '代理扩展名',
     'Web Statistics' => '网站统计',
     'Additional FTP Account' => '额外的FTP账户',
+    'Path'  => 'Path',
     'SOA' => 'SOA',
     'TTL' => 'TTL',
     'Expire' => '过期',
     'Records' => '记录',
+    'Serial'  => 'Serial',
     'Catchall email' => '收取未知邮件的邮箱',
     'AntiVirus Support' => '防病毒支持',
     'AntiSpam Support' => '防垃圾邮件支持',
@@ -192,6 +209,16 @@ $LANG['cn'] = array(
     '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'  => 'Normal password',
     'database' => '数据库',
     'User' => '用户',
     'Host' => '主机',
@@ -213,11 +240,13 @@ $LANG['cn'] = array(
     'Users'  => '用户',
     'Load Average'  => '平均负载',
     'Memory Usage'  => '内存使用',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'apache使用',
     'NGINX Usage'  => 'nginx使用',
     'MySQL Usage on localhost'  => '本地Mysql使用',
     'PostgreSQL Usage on localhost'  => '本地PostgreSQL使用',
     'Bandwidth Usage eth0'  => 'eth0流量使用',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP使用',
     'SSH Usage'  => 'SSH使用',
     'reverse proxy'  => '反向代理',
@@ -230,6 +259,8 @@ $LANG['cn'] = array(
     'database server'  => '数据库服务器',
     'ftp server'  => 'FTP服务器',
     'job scheduler'  => '定时调度',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => '处理器',
     'Memory'  => '内存',
     'Uptime'  => '在线时间',
@@ -240,7 +271,6 @@ $LANG['cn'] = array(
     'Release'  => '发布',
     'Architecture'  => 'Architecture',
     'Object'  => '兑现',
-    'Owner'  => '归属',
     'Username'  => '用户名',
     'Password'  => '密码',
     'Email'  => '邮箱',
@@ -334,6 +364,8 @@ $LANG['cn'] = array(
     'ftp user password'  => 'ftp用户密码',
     'ftp user'  => 'ftp用户',
     'Last 70 lines of %s.%s.log' => '最后70行 %s.%s.日志',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => '下载访问日志',
     'Download ErrorLog' => '下载错误日志',
     'Country' => '国家‘',
@@ -348,8 +380,26 @@ $LANG['cn'] = array(
     'Banlist' => '黑名單',
     'ranges are acceptable' => '範圍是可以接受的',
     'CIDR format is supported' => '支持CIDR格式',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 账户',
     '%s accounts'  => '%s 账户',
@@ -365,6 +415,8 @@ $LANG['cn'] = array(
     '%s cron jobs'  => '%s 定时任务',
     '1 archive'  => '1 档案',
     '%s archives'  => '%s 档案',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 预设方案',
     '%s packages'  => '%s 预设方案',
     '1 IP address'  => '1 IP地址',
@@ -378,7 +430,7 @@ $LANG['cn'] = array(
     'no exclusions' => '不排除',
     '1 rule' => '1規則',
     '%s rules' => '%s 規則',
-    'There are currently banned IP' => '目前尚無禁止的IP地址',
+    'There are no currently banned IP' => '目前尚無禁止的IP地址',
 
     'USER_CREATED_OK'  => 'User <a href="/edit/user/?user=%s"><b>%s</b></a> 已创建成功',
     'WEB_DOMAIN_CREATED_OK'  => 'Domain <a href="/edit/web/?domain=%s"><b>%s</b></a> 已创建成功.',
@@ -392,6 +444,7 @@ $LANG['cn'] = array(
     'PACKAGE_CREATED_OK'  => 'Package <a href="/edit/package/?package=%s"><b>%s</b></a> 已创建成功.',
     'SSL_GENERATED_OK' => '证书已成功生成.',
     'RULE_CREATED_OK' => '規則已成功創建',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate has been successfully enabled',
     'Autoupdate has been successfully disabled' => 'Autoupdate has been successfully disabled',
     'Cronjob email reporting has been successfully enabled' => '的cronjob電子郵件報告已成功啟用',
@@ -442,12 +495,12 @@ $LANG['cn'] = array(
     'RESTORE_SCHEDULED'  => '任务已经被添加到队列中。当备份完成将会电子邮件通知您.',
     'RESTORE_EXISTS'  => '现有的修复工作已在执行,请等待完成后再执行.',
 
-    'WEB_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *",
-    'MAIL_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Type full database name, one per line. To exclude all databases use *",
-    'CRON_EXCLUSIONS' => "To exclude all jobs use *",
-    'USER_EXCLUSIONS' => "Type directory name, one per line. To exlude all dirs use *",
+    'WEB_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *',
+    'MAIL_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Type full database name, one per line. To exclude all databases use *',
+    'CRON_EXCLUSIONS' => 'To exclude all jobs use *',
+    'USER_EXCLUSIONS' => 'Type directory name, one per line. To exlude all dirs use *',
 
     'Welcome to Vesta Control Panel'  => '欢迎来到Vesta管理面板',
     'MAIL_FROM'  => 'Vesta管理面板 <noreply@%s>',
@@ -467,7 +520,7 @@ $LANG['cn'] = array(
     'Confirm Password'  => '确认密码',
     'Reset'  => '重置',
     'Reset Code'  => '重置代码',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     '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如果您没有要求重设密码,请忽略此消息.",
@@ -489,6 +542,29 @@ $LANG['cn'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -504,8 +580,8 @@ $LANG['cn'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -520,6 +596,7 @@ $LANG['cn'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -540,6 +617,10 @@ $LANG['cn'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -559,6 +640,7 @@ $LANG['cn'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -581,26 +663,23 @@ $LANG['cn'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -616,9 +695,6 @@ $LANG['cn'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -640,7 +716,9 @@ $LANG['cn'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 105 - 26
web/inc/i18n/cz.php

@@ -26,6 +26,21 @@ $LANG['cz'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Přidat uživatele',
     'Add Domain'  => 'Přidat doménu',
     'Add Web Domain'  => 'Přidat web. doménu',
@@ -161,13 +176,14 @@ $LANG['cz'] = array(
     'Web Aliases'  => 'Webové aliasy',
     'per domain'  => 'podle domény',
     'DNS Domains'  => 'DNS Domény',
-    'DNS Domains'  => 'DNS domény',
-    'DNS records'   => 'DNS evidence'  ,
+    'DNS domains'  => 'DNS domény',
+    'DNS records'   => 'DNS evidence',
     'Name Servers'  => 'Name servery',
     'Mail Domains'  => 'Mailové domény',
     'Mail Accounts'  => 'Mailové účty',
     'Cron Jobs'  => 'Cron Jobs',
     'SSH Access'  => 'SSH přístup',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP Adresy',
     'Backups'  => 'Zálohy',
     'Backup System'  => 'Zálohovací systém',
@@ -179,11 +195,13 @@ $LANG['cz'] = array(
     'Proxy Extensions'  => 'Proxy rozšíření',
     'Web Statistics'  => 'Webové statistiky',
     'Additional FTP Account'  => 'další FTP účet',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'expirace',
     'Records'  => 'záznamy',
-    'Catchall email'  => 'Catchall email',  // neznam
+    'Serial'  => 'Serial',
+    'Catchall email'  => 'Catchall email',    // neznam
     'AntiVirus Support'  => 'AntiVirus podpora',
     'AntiSpam Support'  => 'AntiSpam podpora',
     'DKIM Support'  => 'DKIM podpora',
@@ -192,6 +210,16 @@ $LANG['cz'] = array(
     'Autoreply'  => 'Autoreply',
     'Forward to'  => 'Předat dál',
     'Do not store forwarded mail' => 'neukládat odeslané e-maily',
+    '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'  => 'databáze',
     'User'  => 'Uživatel',
     'Host'  => 'Host',
@@ -213,11 +241,13 @@ $LANG['cz'] = array(
     'Users'  => 'Uživatelé',
     'Load Average'  => 'Průměrné zatížení',
     'Memory Usage'  => 'Využití paměti',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD využití',
     'NGINX Usage'  => 'NGINX využití',
     'MySQL Usage on localhost'  => 'MySQL využití on localhost',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL využití on localhost',
     'Bandwidth Usage eth0'  => 'Bandwidth využití eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP využití',
     'SSH Usage'  => 'SSH využití',
     'reverse proxy'  => 'reverse proxy',
@@ -230,6 +260,8 @@ $LANG['cz'] = array(
     'database server'  => 'databázový server',
     'ftp server'  => 'ftp server',
     'job scheduler'  => 'plánovač úkolů',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Pamět',
     'Uptime'  => 'Uptime',
@@ -240,7 +272,6 @@ $LANG['cz'] = array(
     'Release'  => 'Release',
     'Architecture'  => 'Architektura',
     'Object'  => 'Objekt',
-    'Owner'  => 'Vlastník',
     'Username'  => 'Uživatelské jméno',
     'Password'  => 'Heslo',
     'Email'  => 'Email',
@@ -334,6 +365,8 @@ $LANG['cz'] = array(
     'ftp user password'  => 'ftp uživatelské heslo',
     'ftp user'  => 'ftp uživatel',
     'Last 70 lines of %s.%s.log' => 'Posledních 70 řádků %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Stáhnout AccessLog',
     'Download ErrorLog' => 'Stáhnout ErrorLog',
     'Country' => 'Země',
@@ -348,8 +381,26 @@ $LANG['cz'] = array(
     'Banlist' => 'Banlist',
     'ranges are acceptable' => 'rozsahy jsou přijatelné',
     'CIDR format is supported' => 'Formát CIDR je podporován',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 účet',
     '%s accounts'  => '%s účtů',
@@ -365,6 +416,8 @@ $LANG['cz'] = array(
     '%s cron jobs'  => '%s cron jobů',
     '1 archive'  => '1 archiv',
     '%s archives'  => '%s archivů',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 balíček',
     '%s packages'  => '%s balíčků',
     '1 IP address'  => '1 IP adresa',
@@ -392,6 +445,7 @@ $LANG['cz'] = array(
     'PACKAGE_CREATED_OK'  => 'Package <a href="/edit/package/?package=%s"><b>%s</b></a> byl úspěšně vytvořen.',
     'SSL_GENERATED_OK' => 'SSL certifikát byl úspěšně vygenerován.',
     'RULE_CREATED_OK' => 'Pravidlo byla úspěšně vytvořena.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate has been successfully enabled',
     'Autoupdate has been successfully disabled' => 'Autoupdate has been successfully disabled',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob email hlášení byla úspěšně aktivována',
@@ -442,12 +496,12 @@ $LANG['cz'] = array(
     'RESTORE_SCHEDULED'  => 'Úkol byl přidán do fronty. Obdržíte e-mail oznámení, když vaše záloha je připravena ke stažení.',
     'RESTORE_EXISTS'  => 'Stávající úkol je již spuštěn. Prosím, vyčkejte na jeho dokončení před spuštěním znovu.',
 
-    'WEB_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *",
-    'MAIL_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Type full database name, one per line. To exclude all databases use *",
-    'CRON_EXCLUSIONS' => "To exclude all jobs use *",
-    'USER_EXCLUSIONS' => "Type directory name, one per line. To exlude all dirs use *",
+    'WEB_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *',
+    'MAIL_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Type full database name, one per line. To exclude all databases use *',
+    'CRON_EXCLUSIONS' => 'To exclude all jobs use *',
+    'USER_EXCLUSIONS' => 'Type directory name, one per line. To exlude all dirs use *',
 
     'Welcome to Vesta Control Panel'  => 'Vítejte na Vesta Control Panel',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
@@ -467,7 +521,7 @@ $LANG['cz'] = array(
     'Confirm Password'  => 'Potvrdit heslo',
     'Reset'  => 'Obnovit',
     'Reset Code'  => 'Obnovit kód',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Resetování hesla. Kód byl odeslán na vaši e-mailovou adresu<br>',
     'MAIL_RESET_SUBJECT'  => 'Obnovení hesla na %s',
     'PASSWORD_RESET_REQUEST' => "Chcete-li obnovit heslo ovládacího panelu, prosím následujte tento odkaz:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nPřípadně, můžete se obrátit na https://%s/reset/?action=code&user=%s a zadejte následující resetovací kód:\n%s\n\nPokud jste si nevyžádali resetování hesla, prosím, tuto zprávu ignorovat a přijmout naši omluvu.\n\n--\nVesta Control Panel\n",
@@ -489,6 +543,29 @@ $LANG['cz'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -504,8 +581,8 @@ $LANG['cz'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -520,6 +597,7 @@ $LANG['cz'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -540,6 +618,10 @@ $LANG['cz'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -559,6 +641,7 @@ $LANG['cz'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -581,26 +664,23 @@ $LANG['cz'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -616,9 +696,6 @@ $LANG['cz'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -640,7 +717,9 @@ $LANG['cz'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 104 - 25
web/inc/i18n/da.php

@@ -27,6 +27,21 @@ $LANG['da'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => '',
     'Add Domain'  => 'Tilføj Domæne',
     'Add Web Domain'  => 'Tilføj Web Domæne',
@@ -162,13 +177,14 @@ $LANG['da'] = array(
     'Web Aliases'  => 'Web Aliaser',
     'per domain'  => 'per domæne',
     'DNS Domains'  => 'DNS Domæner',
-    'DNS Domains'  => 'DNS Domæner',
-    'DNS records'   => 'DNS Records'  ,
+    'DNS domains'  => 'DNS domæner',
+    'DNS records'   => 'DNS records',
     'Name Servers'  => 'Name Servers',
     'Mail Domains'  => 'Mail Domæner',
     'Mail Accounts'  => 'Mail Accounts',
     'Cron Jobs'  => 'Cron Jobs',
     'SSH Access'  => 'SSH Adgang',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP Addresser',
     'Backups'  => 'Backups',
     'Backup System'  => 'Backup System',
@@ -180,10 +196,12 @@ $LANG['da'] = array(
     'Proxy Extensions'  => 'Proxy Tilføjelser',
     'Web Statistics'  => 'Web Statistik',
     'Additional FTP Account'  => 'Ekstra FTP',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Udløber',
     'Records'  => 'Records',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Catchall email',
     'AntiVirus Support'  => 'AntiVirus Support',
     'AntiSpam Support'  => 'AntiSpam Support',
@@ -193,6 +211,16 @@ $LANG['da'] = array(
     'Autoreply'  => 'Autosvar',
     'Forward to'  => 'Vidersend til',
     'Do not store forwarded mail' => 'Gem ikke vidersendte mails',
+    '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'  => 'database',
     'User'  => 'Bruger',
     'Host'  => 'Host',
@@ -214,11 +242,13 @@ $LANG['da'] = array(
     'Users'  => 'Brugere',
     'Load Average'  => 'Load Gennemsnit',
     'Memory Usage'  => 'Hukommelsesforbrug',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD Forbrug',
     'NGINX Usage'  => 'NGINX Forbrug',
     'MySQL Usage on localhost'  => 'MySQL Forbrug på localhost',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL Forbrug på localhost',
     'Bandwidth Usage eth0'  => 'Båndbredde Forbrug eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP Forbrug',
     'SSH Usage'  => 'SSH Forbrug',
     'reverse proxy'  => 'reverse proxy',
@@ -231,6 +261,8 @@ $LANG['da'] = array(
     'database server'  => 'database server',
     'ftp server'  => 'ftp server',
     'job scheduler'  => 'job scheduler',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Hukommelse',
     'Uptime'  => 'Oppetid',
@@ -241,7 +273,6 @@ $LANG['da'] = array(
     'Release'  => 'Udgivelse',
     'Architecture'  => 'Arkitektur',
     'Object'  => 'Object',
-    'Owner'  => 'Ejer',
     'Username'  => 'Brugernavn',
     'Password'  => 'Adgangskode',
     'Email'  => 'Email',
@@ -335,6 +366,8 @@ $LANG['da'] = array(
     'ftp user password'  => 'ftp-bruger adgangskode',
     'ftp user'  => 'ftp bruger',
     'Last 70 lines of %s.%s.log' => 'De sidste 70 linier af %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Hent AccessLog',
     'Download ErrorLog' => 'Hent ErrorLog',
     'Country' => 'Land',
@@ -349,8 +382,26 @@ $LANG['da'] = array(
     'Banlist' => 'Banliste',
     'ranges are acceptable' => 'intervallerne er acceptable',
     'CIDR format is supported' => 'CIDR format er understøttet',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'ubegrænset',
     '1 account'  => '1 konto',
     '%s accounts'  => '%s konti',
@@ -366,6 +417,8 @@ $LANG['da'] = array(
     '%s cron jobs'  => '%s cronjobs',
     '1 archive'  => '1 arkiv',
     '%s archives'  => '%s arkiver',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 pakke',
     '%s packages'  => '%s pakker',
     '1 IP address'  => '1 IP addresse',
@@ -379,7 +432,7 @@ $LANG['da'] = array(
     'no exclusions' => 'ingen ekslusioner',
     '1 rule' => '1 regel',
     '%s rules' => '%s regler',
-    'There are no currently banned IP' => 'Der er ingen bannede IP\'er i øjeblikket',
+    'There are no currently banned IP' => "Der er ingen bannede IP'er i øjeblikket",
 
     'USER_CREATED_OK'  => 'Bruger <a href="/edit/user/?user=%s"><b>%s</b></a> blev oprettet med succes.',
     'WEB_DOMAIN_CREATED_OK'  => 'Domænet <a href="/edit/web/?domain=%s"><b>%s</b></a> blev oprettet med succes.',
@@ -393,6 +446,7 @@ $LANG['da'] = array(
     'PACKAGE_CREATED_OK'  => 'Pakke <a href="/edit/package/?package=%s"><b>%s</b></a> blev oprettet med succes.',
     'SSL_GENERATED_OK' => 'Certifikat blev genereret med succes.',
     'RULE_CREATED_OK' => 'Regel blev oprettet med succes.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate blev aktiveret med succes.',
     'Autoupdate has been successfully disabled' => 'Autoupdate blev deaktiveret med succes.',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob email rapportering blev aktiveret med succes',
@@ -443,12 +497,12 @@ $LANG['da'] = array(
     'RESTORE_SCHEDULED'  => 'Opgaven er blevet tilføjet til køen. Du vil modtage en email når din genskabelse er færdig.',
     'RESTORE_EXISTS'  => 'En eksisterende genskabelse kører allerede. Vent venligst til den er færdig før du kører den igen.',
 
-    'WEB_EXCLUSIONS' => "Indtast domænenavn, et per linie. For at udelukke alle domæner, brug *. Benyt følgende format for at udelukke specifikke mapper: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Indtast domænenavn, et per linie. For at udelukke alle domæner, brug *",
-    'MAIL_EXCLUSIONS' => "Indtast domænenavn, et per linie. For at udelukke alle domæner, brug *. Benyt følgende format for at udelukke specifikke konti: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Indtast det fulde databasenavn, et per linie. To exclude all databases use *",
-    'CRON_EXCLUSIONS' => "For at udelukke alle opgaver, brug *",
-    'USER_EXCLUSIONS' => "Indtast mappenavn, et per linie. For at udelukke alle mapper, brug *",
+    'WEB_EXCLUSIONS' => 'Indtast domænenavn, et per linie. For at udelukke alle domæner, brug *. Benyt følgende format for at udelukke specifikke mapper: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Indtast domænenavn, et per linie. For at udelukke alle domæner, brug *',
+    'MAIL_EXCLUSIONS' => 'Indtast domænenavn, et per linie. For at udelukke alle domæner, brug *. Benyt følgende format for at udelukke specifikke konti: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Indtast det fulde databasenavn, et per linie. To exclude all databases use *',
+    'CRON_EXCLUSIONS' => 'For at udelukke alle opgaver, brug *',
+    'USER_EXCLUSIONS' => 'Indtast mappenavn, et per linie. For at udelukke alle mapper, brug *',
 
     'Welcome to Vesta Control Panel'  => 'Velkommen til Vesta Kontrolpanel',
     'MAIL_FROM'  => 'Vesta Kontrolpanel <noreply@%s>',
@@ -468,7 +522,7 @@ $LANG['da'] = array(
     'Confirm Password'  => 'Bekræft Adgangskode',
     'Reset'  => 'Nulstil',
     'Reset Code'  => 'Nulstillingskode',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Kode til at nultille adgangskode er blevet sendt til din email-adresse<br>',
     'MAIL_RESET_SUBJECT'  => 'Adgangskode Nulstillet %s',
     'PASSWORD_RESET_REQUEST' => "Følg dette link for at nulstille din adgangskode:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternativt, kan du også gå til https://%s/reset/?action=code&user=%s og indtast følgende nulstillingskode:\n%s\n\nHvis du ikke selv har bedt om at få nulstillet din adgangskode, bedes du ignorere denne besked - vi beklager.\n\n--\nVesta Kontrolpanel\n",
@@ -490,7 +544,30 @@ $LANG['da'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Tidszone',
     'Default Language' => 'Standard Sprog',
-    'FileSystem Disk Quota ' => 'FilSystem Disk Quota ',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
+    'FileSystem Disk Quota' => 'FilSystem Disk Quota ',
     'Vesta Control Panel Plugins' => 'Vesta Kontrolpanel Plugins',
     'preview' => 'preview',
     'Reseller Role' => 'Forhandlerrolle',
@@ -505,8 +582,8 @@ $LANG['da'] = array(
     'Starred' => 'Starred',
     'Name' => 'Navn',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -521,6 +598,7 @@ $LANG['da'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -541,6 +619,10 @@ $LANG['da'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -560,6 +642,7 @@ $LANG['da'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -582,24 +665,21 @@ $LANG['da'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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',
@@ -617,9 +697,6 @@ $LANG['da'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -641,7 +718,9 @@ $LANG['da'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 101 - 21
web/inc/i18n/de.php

@@ -25,6 +25,21 @@ $LANG['de'] = array(
     'CRON'  => 'CRONS',
     'BACKUP'  => 'BACKUPS',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Benutzer anlegen',
     'Add Domain'  => 'Domain hinzufügen',
     'Add Web Domain'  => 'Domain hinzufügen',
@@ -53,7 +68,7 @@ $LANG['de'] = array(
     'Save'  => 'Speichern',
     'Submit'  => 'Übermitteln',
 
-    'toggle all'  => 'alle', // please make it as short as "toggle all" 'Alle wählen/abwählen', 
+    'toggle all'  => 'alle',    // please make it as short as "toggle all" 'Alle wählen/abwählen',
     'apply to selected'  => 'Auswählen',
     'rebuild'  => 'Erneuern',
     'rebuild web'  => 'Web erneuern',
@@ -90,8 +105,8 @@ $LANG['de'] = array(
     'reread IP' => 'IP aktualisieren',
     'enable autoupdate' => 'Autoupdate aktivieren',
     'disable autoupdate' => 'Autoupdate deaktivieren',
-    'turn on notifications' => 'turn on notifications', // please make it as short as "turn on notifications" 'Benachrichtigungen aktivieren',
-    'turn off notifications' => 'turn off notifications', // please make it as short as "turn off notifications" 'Benachrichtigungen deaktivieren',
+    'turn on notifications' => 'turn on notifications',    // please make it as short as "turn on notifications" 'Benachrichtigungen aktivieren',
+    'turn off notifications' => 'turn off notifications',    // please make it as short as "turn off notifications" 'Benachrichtigungen deaktivieren',
 
     'Adding User'  => 'Benutzer anlegen',
     'Editing User'  => 'Benutzer bearbeiten',
@@ -160,12 +175,14 @@ $LANG['de'] = array(
     'Web Aliases'  => 'Web Aliase',
     'per domain'  => 'pro Domain',
     'DNS Domains'  => 'DNS Domains',
-    'DNS records'   => 'DNS Einträge'  ,
+    'DNS domains'  => 'DNS domains',
+    'DNS records'   => 'DNS Einträge',
     'Name Servers'  => 'Name Server',
     'Mail Domains'  => 'Mail Domain',
     'Mail Accounts'  => 'Mail Konten',
     'Cron Jobs'  => 'Cron Jobs',
     'SSH Access'  => 'SSH Zugriff',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP-Adressen',
     'Backups'  => 'Backups',
     'Backup System'  => 'Backup System',
@@ -177,10 +194,12 @@ $LANG['de'] = array(
     'Proxy Extensions'  => 'Proxy Erweiterungen',
     'Web Statistics'  => 'Web Statistiken',
     'Additional FTP Account'  => 'Zusätzliche FTP Accounts',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Ablauf',
     'Records'  => 'Einträge',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Alle E-Mails auffangen in',
     'AntiVirus Support'  => 'AntiVirus Unterstützung',
     'AntiSpam Support'  => 'AntiSpam Unterstützung',
@@ -190,6 +209,16 @@ $LANG['de'] = array(
     'Autoreply'  => 'Autoreply',
     'Forward to'  => 'Weiterleiten zu',
     'Do not store forwarded mail' => 'Weiterleitungs Adresse nicht speichern',
+    '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'  => 'Datenbank',
     'User'  => 'Benutzer',
     'Host'  => 'Host',
@@ -211,11 +240,13 @@ $LANG['de'] = array(
     'Users'  => 'Benutzer',
     'Load Average'  => 'Durchschnittliche Last',
     'Memory Usage'  => 'Arbeitsspeichernutzung',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD Benutzung',
     'NGINX Usage'  => 'NGINX Benutzung',
     'MySQL Usage on localhost'  => 'MySQL Benutzung auf localhost',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL Benutzung on localhost',
     'Bandwidth Usage eth0'  => 'Bandbreitennutzung eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP Benutzung',
     'SSH Usage'  => 'SSH Benutzung',
     'reverse proxy'  => 'Reverse Proxy',
@@ -228,6 +259,8 @@ $LANG['de'] = array(
     'database server'  => 'Datenbank Server',
     'ftp server'  => 'FTP Server',
     'job scheduler'  => 'Job-Scheduler',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Arbeitsspeicher',
     'Uptime'  => 'Betriebszeit',
@@ -238,7 +271,6 @@ $LANG['de'] = array(
     'Release'  => 'Release',
     'Architecture'  => 'Architektur',
     'Object'  => 'Objekt',
-    'Owner'  => 'Besitzer',
     'Username'  => 'Bentzername',
     'Password'  => 'Passwort',
     'Email'  => 'E-Mail',
@@ -332,6 +364,8 @@ $LANG['de'] = array(
     'ftp user password'  => 'FTP Benutzer Passwort',
     'ftp user'  => 'FTP Benutzer',
     'Last 70 lines of %s.%s.log' => 'Die letzten 70 Zeilen von %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'AccessLog herunterladen',
     'Download ErrorLog' => 'ErrorLog herunterladen',
     'Country' => 'Land',
@@ -346,8 +380,26 @@ $LANG['de'] = array(
     'Banlist' => 'schwarze Liste',
     'ranges are acceptable' => 'Bereiche sind erlaubt',
     'CIDR format is supported' => 'CIDR-Format wird unterstützt',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unbegrenzt',
     '1 account'  => '1 Konto',
     '%s accounts'  => '%s Konten',
@@ -363,6 +415,8 @@ $LANG['de'] = array(
     '%s cron jobs'  => '%s Cron Jobs',
     '1 archive'  => '1 Archiv',
     '%s archives'  => '%s Archive',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 Paket',
     '%s packages'  => '%s Pakete',
     '1 IP address'  => '1 IP Adresse',
@@ -390,6 +444,7 @@ $LANG['de'] = array(
     'PACKAGE_CREATED_OK'  => 'Packet <a href="/edit/package/?package=%s"><b>%s</b></a> wurde erfolgreich angelegt.',
     'SSL_GENERATED_OK' => 'SSL Zertifikat wurde erfolgreich angelegt.',
     'RULE_CREATED_OK' => 'Regel wurde erfolgreich erstellt.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate wurde erfolgreich aktiviert',
     'Autoupdate has been successfully disabled' => 'Autoupdate wurde erfolgreich deaktiviert',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob E-Mail-Berichterstattung wurde erfolgreich aktiviert',
@@ -465,7 +520,7 @@ $LANG['de'] = array(
     'Confirm Password'  => 'Passwort bestätigen',
     'Reset'  => 'Zurücksetzen',
     'Reset Code'  => 'Rücksetz-Code',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Passwort Rücksetz-Code wurde an Ihre Adresse gesandt<br>',
     'MAIL_RESET_SUBJECT'  => 'Passwort Reset für %s',
     'PASSWORD_RESET_REQUEST' => "Zum Zurücksetzen Ihres Passwortes, besuchen Sie bitte folgenden Link:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternativ, können Sie auf https://%s/reset/?action=code&user=%s gehen und dort folgenden Reset Code eingeben:\n%s\n\nWenn Sie Ihr Passwort nicht zurücksetzen wollten, ignorieren Sie diese Nachricht und entschuldigen Sie uns die Unannehmlichkeiten.\n\n--\nVesta Control Panel\n",
@@ -487,6 +542,29 @@ $LANG['de'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Zeitzone',
     'Default Language' => 'Standardsprache',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'Dateisystem Nutzungskontingent',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'vorschau',
@@ -502,8 +580,8 @@ $LANG['de'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -518,6 +596,7 @@ $LANG['de'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -538,6 +617,10 @@ $LANG['de'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -557,6 +640,7 @@ $LANG['de'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -579,26 +663,23 @@ $LANG['de'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -614,9 +695,6 @@ $LANG['de'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -638,7 +716,9 @@ $LANG['de'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 104 - 25
web/inc/i18n/el.php

@@ -26,6 +26,21 @@ $LANG['el'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Προσθέστε χρήστη',
     'Add Domain'  => 'Προσθέστε domain',
     'Add Web Domain'  => 'Προσθέστε Web Domain',
@@ -161,13 +176,14 @@ $LANG['el'] = array(
     'Web Aliases'  => 'Ψευδώνυμα Web',
     'per domain'  => 'ανά domain',
     'DNS Domains'  => 'DNS Domains',
-    'DNS Domains'  => 'DNS Domains',
-    'DNS records'   => 'Εγγραφές DNS'  ,
+    'DNS domains'  => 'DNS domains',
+    'DNS records'   => 'Εγγραφές DNS',
     'Name Servers'  => 'Διακομιστές Ονομάτων',
     'Mail Domains'  => 'Mail Domains',
     'Mail Accounts'  => 'Λογαριασμοί Mail',
     'Cron Jobs'  => 'Cron Jobs',
     'SSH Access'  => 'Πρόσβαση SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Διευθύνσεις IP',
     'Backups'  => 'Αντίγραφα Ασφαλείας',
     'Backup System'  => 'Σύστημα Αντιγράφων Ασφαλείας',
@@ -179,10 +195,12 @@ $LANG['el'] = array(
     'Proxy Extensions'  => 'Πρόσθετα Proxy',
     'Web Statistics'  => 'Στατιστικά Web',
     'Additional FTP Account'  => 'Επιπρόσθετος Λογαριασμός FTP',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Λήγει',
     'Records'  => 'Εγγραφές',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Catchall email',
     'AntiVirus Support'  => 'Υποστήριξη AntiVirus',
     'AntiSpam Support'  => 'Υποστήριξη AntiSpam',
@@ -192,6 +210,16 @@ $LANG['el'] = array(
     'Autoreply'  => 'Αυτόματη απάντηση',
     'Forward to'  => 'Προώθηση σε',
     'Do not store forwarded mail' => 'Μη αποθήκευση των προωθημένων 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'  => 'Normal password',
     'database'  => 'βάση δεδομένων',
     'User'  => 'Χρήστης',
     'Host'  => 'Host',
@@ -213,11 +241,13 @@ $LANG['el'] = array(
     'Users'  => 'Χρήστες',
     'Load Average'  => 'Μέσος Όρος Φόρτου',
     'Memory Usage'  => 'Χρήση Μνήμης',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'Χρήση HTTPD',
     'NGINX Usage'  => 'Χρήση NGINX',
     'MySQL Usage on localhost'  => 'Χρήση της MySQL στο localhost',
     'PostgreSQL Usage on localhost'  => 'Χρήση της PostgreSQL στο localhost',
     'Bandwidth Usage eth0'  => 'Χρήση Bandwidth eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'Χρήση FTP ',
     'SSH Usage'  => 'Χρήση SSH',
     'reverse proxy'  => 'reverse proxy',
@@ -230,6 +260,8 @@ $LANG['el'] = array(
     'database server'  => 'διακομιστής βάσης δεδομένων',
     'ftp server'  => 'διακομιστής ftp',
     'job scheduler'  => 'job scheduler',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Μνήμη',
     'Uptime'  => 'χρόνος λειτουργίας',
@@ -240,7 +272,6 @@ $LANG['el'] = array(
     'Release'  => 'Κυκλοφορία',
     'Architecture'  => 'Αρχιτεκτονική',
     'Object'  => 'Αντικείμενο',
-    'Owner'  => 'Ιδιοκτήτης',
     'Username'  => 'Όνομα Χρήστη',
     'Password'  => 'Κωδικός',
     'Email'  => 'Email',
@@ -334,6 +365,8 @@ $LANG['el'] = array(
     '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' => 'Χώρα',
@@ -348,8 +381,26 @@ $LANG['el'] = array(
     'Banlist' => 'Λίστα απαγόρευσης',
     'ranges are acceptable' => 'εύρος είναι αποδεκτό',
     'CIDR format is supported' => 'To format CIDR υποστηρίζεται',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 λογαριασμός',
     '%s accounts'  => '%s λογαριασμοί',
@@ -365,6 +416,8 @@ $LANG['el'] = array(
     '%s cron jobs'  => '%s cron jobs',
     '1 archive'  => '1 αρχείο',
     '%s archives'  => '%s αρχεία',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 πακέτο',
     '%s packages'  => '%s πακέτα',
     '1 IP address'  => '1 διεύθυνση IP',
@@ -392,6 +445,7 @@ $LANG['el'] = array(
     'PACKAGE_CREATED_OK'  => 'Το πακέτο a href="/edit/package/?package=%s"><b>%s</b></a> έχει δημιουργηθεί επιτυχώς.',
     'SSL_GENERATED_OK' => 'Το πιστοποιητικό έχει δημιουργηθεί επιτυχώς.',
     'RULE_CREATED_OK' => 'Ο κανόνας έχει δημιουργηθεί επιτυχώς.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Η αυτόματη ενημέρωση έχει ενεργοποιηθεί επιτυχώς.',
     'Autoupdate has been successfully disabled' => 'Η αυτόματη ενημέρωση έχει απενεργοποιηθεί επιτυχώς.',
     'Cronjob email reporting has been successfully enabled' => 'Το Cronjob αναφοράς email έχει ενεργοποιηθεί επιτυχώς',
@@ -442,12 +496,12 @@ $LANG['el'] = array(
     'RESTORE_SCHEDULED'  => 'Η διεργασία έχει προστεθεί στην ουρά. Θα λάβετε ειδοποίηση ηλεκτρονικού ταχυδρομείου όταν η επαναφορά σας έχει ολοκληρωθεί.',
     'RESTORE_EXISTS'  => 'Μια υπάρχουσα διεργασία επαναφοράς εκτελείται ήδη. Παρακαλώ περιμένετε να ολοκληρωθεί πριν την εκκινήσετε ξανά.',
 
-    'WEB_EXCLUSIONS' => "Πληκτρολογήστε το όνομα domain, ένα ανά σειρά. Για να εξαιρέσετε όλα τα ονόματα domain χρησιμοποιήστε *. Για να εξαιρέσετε συγκεκριμένους καταλόγους χρησιμοποιήστε την ακόλουθη μορφή: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Πληκτρολογήστε το όνομα της διεύθυνσης DNS, ένα ανά σειρά. Για να εξαιρέσετε όλα τα ονόματα διεύθυνσης DNS χρησιμοποιήστε *",
-    'MAIL_EXCLUSIONS' => "Πληκτρολογήστε το όνομα της διεύθυνσης mail, ένα ανά σειρά. Για να εξαιρέσετε όλα τα ονόματα διεύθυνσης mail χρησιμοποιήστε *. Για να εξαιρέσετε συγκεκριμένους λογαριασμούς χρησιμοποιήσετε την ακόλουθη μορφή: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Πληκτρολογήστε το πλήρες όνομα της βάσης δεδομένων, ένα ανά σειρά. Για να εξαιρέσετε όλες τις βάσεις δεδομένων χρησιμοποιήστε *",
-    'CRON_EXCLUSIONS' => "Για να εξαιρέσετε όλα τα jobs χρησιμοποιήστε *",
-    'USER_EXCLUSIONS' => "Πληκτρολογήστε το όνομα καταλόγου, ένα ανά σειρά. Για να εξαιρέσετε όλους τους καταλόγους χρησιμοποιήστε *",
+    'WEB_EXCLUSIONS' => 'Πληκτρολογήστε το όνομα domain, ένα ανά σειρά. Για να εξαιρέσετε όλα τα ονόματα domain χρησιμοποιήστε *. Για να εξαιρέσετε συγκεκριμένους καταλόγους χρησιμοποιήστε την ακόλουθη μορφή: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Πληκτρολογήστε το όνομα της διεύθυνσης DNS, ένα ανά σειρά. Για να εξαιρέσετε όλα τα ονόματα διεύθυνσης DNS χρησιμοποιήστε *',
+    'MAIL_EXCLUSIONS' => 'Πληκτρολογήστε το όνομα της διεύθυνσης mail, ένα ανά σειρά. Για να εξαιρέσετε όλα τα ονόματα διεύθυνσης mail χρησιμοποιήστε *. Για να εξαιρέσετε συγκεκριμένους λογαριασμούς χρησιμοποιήσετε την ακόλουθη μορφή: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Πληκτρολογήστε το πλήρες όνομα της βάσης δεδομένων, ένα ανά σειρά. Για να εξαιρέσετε όλες τις βάσεις δεδομένων χρησιμοποιήστε *',
+    'CRON_EXCLUSIONS' => 'Για να εξαιρέσετε όλα τα jobs χρησιμοποιήστε *',
+    'USER_EXCLUSIONS' => 'Πληκτρολογήστε το όνομα καταλόγου, ένα ανά σειρά. Για να εξαιρέσετε όλους τους καταλόγους χρησιμοποιήστε *',
 
     'Welcome to Vesta Control Panel'  => 'Καλωσήρθατε στον Πίνακα Ελέγχου Vesta',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
@@ -467,7 +521,7 @@ $LANG['el'] = array(
     'Confirm Password'  => 'Επιβεβαίωση κωδικού πρόσβασης',
     'Reset'  => 'Επαναφορά',
     'Reset Code'  => 'Επαναφορά κωδικού',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Ο κωδικός επαναφοράς του κωδικού πρόσβασης έχει αποσταλεί στη διεύθυνση ταχυδρομείου σας<br>',
     'MAIL_RESET_SUBJECT'  => 'Επαναφορά κωδικού πρόσβασης στο %s',
     'PASSWORD_RESET_REQUEST' => "Για να επαναφέρετε τον κωδικό πρόσβασης του πίνακα ελέγχου σας, παρακαλώ ακολουθήστε το link:\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 Control Panel\n",
@@ -489,6 +543,29 @@ $LANG['el'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -504,8 +581,8 @@ $LANG['el'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -520,6 +597,7 @@ $LANG['el'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -540,6 +618,10 @@ $LANG['el'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -559,6 +641,7 @@ $LANG['el'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -581,26 +664,23 @@ $LANG['el'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -616,9 +696,6 @@ $LANG['el'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -640,7 +717,9 @@ $LANG['el'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 105 - 27
web/inc/i18n/en.php

@@ -25,6 +25,21 @@ $LANG['en'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Add User',
     'Add Domain'  => 'Add Domain',
     'Add Web Domain'  => 'Add Web Domain',
@@ -90,7 +105,7 @@ $LANG['en'] = array(
     'reread IP' => 'reread IP',
     'enable autoupdate' => 'enable autoupdate',
     'disable autoupdate' => 'disable autoupdate',
-    'turn on notifications' => 'turn on notification',
+    'turn on notifications' => 'turn on notifications',
     'turn off notifications' => 'turn off notifications',
 
     'Adding User'  => 'Adding User',
@@ -160,13 +175,14 @@ $LANG['en'] = array(
     'Web Aliases'  => 'Web Aliases',
     'per domain'  => 'per domain',
     'DNS Domains'  => 'DNS Domains',
-    'DNS Domains'  => 'DNS Domains',
-    'DNS records'   => 'DNS records'  ,
+    'DNS domains'  => 'DNS domains',
+    'DNS records'   => 'DNS records',
     'Name Servers'  => 'Name Servers',
     'Mail Domains'  => 'Mail Domains',
     'Mail Accounts'  => 'Mail Accounts',
     'Cron Jobs'  => 'Cron Jobs',
     'SSH Access'  => 'SSH Access',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP Addresses',
     'Backups'  => 'Backups',
     'Backup System'  => 'Backup System',
@@ -178,10 +194,12 @@ $LANG['en'] = array(
     'Proxy Extensions'  => 'Proxy Extensions',
     'Web Statistics'  => 'Web Statistics',
     'Additional FTP Account'  => 'Additional FTP',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Expire',
     'Records'  => 'Records',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Catchall email',
     'AntiVirus Support'  => 'AntiVirus Support',
     'AntiSpam Support'  => 'AntiSpam Support',
@@ -190,7 +208,17 @@ $LANG['en'] = array(
     'Quota'  => 'Quota',
     'Autoreply'  => 'Autoreply',
     'Forward to'  => 'Forward to',
-    'Do not store forwarded mail' => 'Do not store forwarded mail',
+    'Do not store forwarded mail'  => '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'  => 'Normal password',
     'database'  => 'database',
     'User'  => 'User',
     'Host'  => 'Host',
@@ -212,11 +240,13 @@ $LANG['en'] = array(
     'Users'  => 'Users',
     'Load Average'  => 'Load Average',
     'Memory Usage'  => 'Memory Usage',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD Usage',
     'NGINX Usage'  => 'NGINX Usage',
     'MySQL Usage on localhost'  => 'MySQL Usage on localhost',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL Usage on localhost',
     'Bandwidth Usage eth0'  => 'Bandwidth Usage eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP Usage',
     'SSH Usage'  => 'SSH Usage',
     'reverse proxy'  => 'reverse proxy',
@@ -229,6 +259,8 @@ $LANG['en'] = array(
     'database server'  => 'database server',
     'ftp server'  => 'ftp server',
     'job scheduler'  => 'job scheduler',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Memory',
     'Uptime'  => 'Uptime',
@@ -239,7 +271,6 @@ $LANG['en'] = array(
     'Release'  => 'Release',
     'Architecture'  => 'Architecture',
     'Object'  => 'Object',
-    'Owner'  => 'Owner',
     'Username'  => 'Username',
     'Password'  => 'Password',
     'Email'  => 'Email',
@@ -333,6 +364,8 @@ $LANG['en'] = array(
     'ftp user password'  => 'ftp user password',
     'ftp user'  => 'ftp user',
     'Last 70 lines of %s.%s.log' => 'Last 70 lines of %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Download AccessLog',
     'Download ErrorLog' => 'Download ErrorLog',
     'Country' => 'Country',
@@ -347,8 +380,26 @@ $LANG['en'] = array(
     'Banlist' => 'Banlist',
     'ranges are acceptable' => 'ranges are acceptable',
     'CIDR format is supported' => 'CIDR format is supported',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 account',
     '%s accounts'  => '%s accounts',
@@ -364,6 +415,8 @@ $LANG['en'] = array(
     '%s cron jobs'  => '%s cron jobs',
     '1 archive'  => '1 archive',
     '%s archives'  => '%s archives',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 package',
     '%s packages'  => '%s packages',
     '1 IP address'  => '1 IP address',
@@ -391,6 +444,7 @@ $LANG['en'] = array(
     'PACKAGE_CREATED_OK'  => 'Package <a href="/edit/package/?package=%s"><b>%s</b></a> has been created successfully.',
     'SSL_GENERATED_OK' => 'Certificate has been generated successfully.',
     'RULE_CREATED_OK' => 'Rule has been created successfully.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate has been successfully enabled.',
     'Autoupdate has been successfully disabled' => 'Autoupdate has been successfully disabled.',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob email reporting has been successfully enabled',
@@ -441,12 +495,12 @@ $LANG['en'] = array(
     'RESTORE_SCHEDULED'  => 'Task has been added to the queue. You will receive an email notification when your restore has been completed.',
     'RESTORE_EXISTS'  => 'An existing restoration task is already running. Please wait for it to finish before launching it again.',
 
-    'WEB_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *",
-    'MAIL_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Type full database name, one per line. To exclude all databases use *",
-    'CRON_EXCLUSIONS' => "To exclude all jobs use *",
-    'USER_EXCLUSIONS' => "Type directory name, one per line. To exlude all dirs use *",
+    'WEB_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *',
+    'MAIL_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Type full database name, one per line. To exclude all databases use *',
+    'CRON_EXCLUSIONS' => 'To exclude all jobs use *',
+    'USER_EXCLUSIONS' => 'Type directory name, one per line. To exlude all dirs use *',
 
     'Welcome to Vesta Control Panel'  => 'Welcome to Vesta Control Panel',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
@@ -466,7 +520,7 @@ $LANG['en'] = array(
     'Confirm Password'  => 'Confirm Password',
     'Reset'  => 'Reset',
     'Reset Code'  => 'Reset Code',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Password reset code has been sent to your email address<br>',
     'MAIL_RESET_SUBJECT'  => 'Password Reset at %s',
     'PASSWORD_RESET_REQUEST' => "To reset your control panel password, please follow this link:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternatively, you may go to https://%s/reset/?action=code&user=%s and enter the following reset code:\n%s\n\nIf you did not request password reset, please ignore this message and accept our apologies.\n\n--\nVesta Control Panel\n",
@@ -488,7 +542,30 @@ $LANG['en'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => 'Default Language',
-    'FileSystem Disk Quota ' => 'FileSystem Disk Quota ',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
+    'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
     'Reseller Role' => 'Reseller Role',
@@ -505,7 +582,6 @@ $LANG['en'] = array(
 
 
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -520,6 +596,7 @@ $LANG['en'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -540,6 +617,10 @@ $LANG['en'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -559,6 +640,7 @@ $LANG['en'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -581,24 +663,21 @@ $LANG['en'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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',
@@ -616,9 +695,6 @@ $LANG['en'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -640,7 +716,9 @@ $LANG['en'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 109 - 32
web/inc/i18n/es.php

@@ -25,6 +25,21 @@ $LANG['es'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'RESPALDO',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Añadir Usuario',
     'Add Domain'  => 'Añadir Dominio',
     'Add Web Domain'  => 'Añadir Web',
@@ -160,13 +175,14 @@ $LANG['es'] = array(
     'Web Aliases'  => 'Alias Web',
     'per domain'  => 'por dominio',
     'DNS Domains'  => 'Dominios DNS',
-    'DNS Domains'  => 'Dominios DNS',
-    'DNS records'   => 'Registros DNS'  ,
+    'DNS domains'  => 'Dominios DNS',
+    'DNS records'   => 'Registros DNS',
     'Name Servers'  => 'Servidor de Nombre',
     'Mail Domains'  => 'Dominios de Correo',
     'Mail Accounts'  => 'Cuentas de Correo',
     'Cron Jobs'  => 'Trabajos en Cron',
     'SSH Access'  => 'Acceso SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Dirección IP',
     'Backups'  => 'Respaldos',
     'Backup System'  => 'Sistema de Respaldo',
@@ -178,10 +194,12 @@ $LANG['es'] = array(
     'Proxy Extensions'  => 'Extensiones Proxy',
     'Web Statistics'  => 'Estadísticas Web',
     'Additional FTP Account'  => 'Cuenta Adicional FTP',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Expira',
     'Records'  => 'Registros',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Correo Catchall',
     'AntiVirus Support'  => 'Soporte AntiVirus',
     'AntiSpam Support'  => 'Soporte AntiSpam',
@@ -191,6 +209,16 @@ $LANG['es'] = array(
     'Autoreply'  => 'Respuesta Automática',
     'Forward to'  => 'Reenviar a',
     'Do not store forwarded mail' => 'No guarde correo reenviado',
+    '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'  => 'base de datos',
     'User'  => 'Usuario',
     'Host'  => 'Host',
@@ -212,11 +240,13 @@ $LANG['es'] = array(
     'Users'  => 'Usuarios',
     'Load Average'  => 'Carga Promedio',
     'Memory Usage'  => 'Uso de Memoria',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'Uso de HTTPD',
     'NGINX Usage'  => 'Uso de NGINX',
     'MySQL Usage on localhost'  => 'Uso de MySQL en localhost',
     'PostgreSQL Usage on localhost'  => 'Uso de PostgreSQL en localhost',
     'Bandwidth Usage eth0'  => 'Uso de Ancho de Banda (eth0)',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'Uso de FTP',
     'SSH Usage'  => 'Uso de SSH',
     'reverse proxy'  => 'proxy inverso',
@@ -229,6 +259,8 @@ $LANG['es'] = array(
     'database server'  => 'servidor de base de datos',
     'ftp server'  => 'servidor ftp',
     'job scheduler'  => 'planificador de trabajos',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Disco',
     'Uptime'  => 'Tiempo Activo',
@@ -239,7 +271,6 @@ $LANG['es'] = array(
     'Release'  => 'Lanzamiento',
     'Architecture'  => 'Arquitectura',
     'Object'  => 'Objeto',
-    'Owner'  => 'Dueño',
     'Username'  => 'Nombre de Usuario',
     'Password'  => 'Contraseña',
     'Email'  => 'Email',
@@ -333,6 +364,8 @@ $LANG['es'] = array(
     'ftp user password'  => 'contraseña usuario ftp',
     'ftp user'  => 'usuario ftp',
     'Last 70 lines of %s.%s.log' => 'Últimos 70 líneas de %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Descargar AccessLog',
     'Download ErrorLog' => 'Descargar ErrorLog',
     'Country' => 'País',
@@ -347,8 +380,26 @@ $LANG['es'] = array(
     'Banlist' => 'Lista negra',
     'ranges are acceptable' => 'rangos son aceptables',
     'CIDR format is supported' => 'Formato CIDR se admite',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 cuenta',
     '%s accounts'  => '%s cuentas',
@@ -364,6 +415,8 @@ $LANG['es'] = array(
     '%s cron jobs'  => '%s trabajos en cron',
     '1 archive'  => '1 archivo',
     '%s archives'  => '%s archivos',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 plan',
     '%s packages'  => '%s planes',
     '1 IP address'  => '1 dirección IP',
@@ -391,6 +444,7 @@ $LANG['es'] = array(
     'PACKAGE_CREATED_OK'  => 'Plan <a href="/edit/package/?package=%s"><b>%s</b></a> ha sido creado correctamente.',
     'SSL_GENERATED_OK' => 'SSL certificado ha sido creado correctamente.',
     'RULE_CREATED_OK' => 'Regla ha sido creado correctamente.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate has been successfully enabled',
     'Autoupdate has been successfully disabled' => 'Autoupdate has been successfully disabled',
     'Cronjob email reporting has been successfully enabled' => 'Informes de correo electrónico Cronjob ha permitido correctamente.',
@@ -432,21 +486,21 @@ $LANG['es'] = array(
     'Passwords not match'  => 'Las contraseñas no coinciden',
     'Please enter valid email address.'  => 'Por favor ingrese un correo válido.',
     'Field "%s" can not be blank.'  => 'El campo "%s" no puede estar en blanco.',
-    'Password is too short.'  => "La contraseña es demasiado corta (mínima es de 6 caracteres)",
+    'Password is too short.'  => 'La contraseña es demasiado corta (mínima es de 6 caracteres)',
     'Error code:'  => 'Código de Error:',
     'SERVICE_ACTION_FAILED'  => '"%s" "%s" fallo',
     'IP address is in use' => 'La IP esta en uso',
-    'BACKUP_SCHEDULED'  => "La tarea se ha añadido a la cola. Usted recibirá un correo de notificación cuando el respaldo de seguridad este listo para su descarga.",
-    'BACKUP_EXISTS'  => "Se esta realizando una copia de seguridad en este momento.Por favor espere a que esta termine.",
-    'RESTORE_SCHEDULED'  => "La tarea se ha añadido a la cola. Usted recibirá un correo de notificación cuando el respaldo de seguridad este listo para su descarga.",
-    'RESTORE_EXISTS'  => "Una tarea se está ejecutando. Por favor espere a que esta termine.",
+    'BACKUP_SCHEDULED'  => 'La tarea se ha añadido a la cola. Usted recibirá un correo de notificación cuando el respaldo de seguridad este listo para su descarga.',
+    'BACKUP_EXISTS'  => 'Se esta realizando una copia de seguridad en este momento.Por favor espere a que esta termine.',
+    'RESTORE_SCHEDULED'  => 'La tarea se ha añadido a la cola. Usted recibirá un correo de notificación cuando el respaldo de seguridad este listo para su descarga.',
+    'RESTORE_EXISTS'  => 'Una tarea se está ejecutando. Por favor espere a que esta termine.',
 
-    'WEB_EXCLUSIONS' => "Ingrese el nombre de dominio, uno por línea. Para excluir a todos utiliza *. Para excluir uno específico utilice el siguiente formato: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Ingrese el nombre de dominio, uno por línea. Para excluir a todos utiliza *",
-    'MAIL_EXCLUSIONS' => "Ingrese el nombre del correo, uno por línea. Para excluir a todos utiliza *. Para excluir uno específico utilice el siguiente formato: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Ingrese el nombre completo de la base de datos, una por linea. Para excluir a todos utiliza *",
-    'CRON_EXCLUSIONS' => "Para excluir todos los trabajos utiliza *",
-    'USER_EXCLUSIONS' => "Ingrese el nombre del directorio, uno por linea. Para excluir todos los firectorios utiliza * To exlude all dirs use *",
+    'WEB_EXCLUSIONS' => 'Ingrese el nombre de dominio, uno por línea. Para excluir a todos utiliza *. Para excluir uno específico utilice el siguiente formato: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Ingrese el nombre de dominio, uno por línea. Para excluir a todos utiliza *',
+    'MAIL_EXCLUSIONS' => 'Ingrese el nombre del correo, uno por línea. Para excluir a todos utiliza *. Para excluir uno específico utilice el siguiente formato: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Ingrese el nombre completo de la base de datos, una por linea. Para excluir a todos utiliza *',
+    'CRON_EXCLUSIONS' => 'Para excluir todos los trabajos utiliza *',
+    'USER_EXCLUSIONS' => 'Ingrese el nombre del directorio, uno por linea. Para excluir todos los firectorios utiliza * To exlude all dirs use *',
 
     'Welcome to Vesta Control Panel'  => 'Bienvenido al Panel de Control Vesta',
     'MAIL_FROM'  => 'Panel de Control Vesta <noreply@%s>',
@@ -466,7 +520,7 @@ $LANG['es'] = array(
     'Confirm Password'  => 'Confirme Contraseña',
     'Reset'  => 'Cambiar',
     'Reset Code'  => 'Ingrese Código',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'El código de cambio de contraseña fue enviado a su correo<br>',
     'MAIL_RESET_SUBJECT'  => 'Cambio de Contraseña en %s',
     'PASSWORD_RESET_REQUEST' => "Para cambiar su contraseña del panel, por favor siga este link:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternativamente, puede dirigirse a https://%s/reset/?action=code&user=%s e ingresar el siguiente código de cambio:\n%s\n\nSi usted no ha solicitado un cambio de contraseña, por favor ignore este mensaje y acepte nuestras disculpas.\n\n--\nPanel de Control Vesta\n",
@@ -488,6 +542,29 @@ $LANG['es'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Zona Horaria',
     'Default Language' => 'Idioma por Defecto',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'Cuota del disco FileSystem',
     'Vesta Control Panel Plugins' => 'Plugins de Vesta Control Panel',
     'preview' => 'previsualizar',
@@ -496,7 +573,6 @@ $LANG['es'] = array(
     'Template Manager' => 'Manejador de PLantilla',
     'Backup Migration Manager' => 'Manejador de Migracion de Respaldos',
     'FileManager' => 'Manejador de Archivos',
-
     'show: CPU / MEM / NET / DISK' => 'show: CPU / MEM / NET / DISK',
 
     'sort by' => 'ordenar por',
@@ -504,8 +580,8 @@ $LANG['es'] = array(
     'Starred' => 'Favorito',
     'Name' => 'Nombre',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -520,6 +596,7 @@ $LANG['es'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -540,6 +617,10 @@ $LANG['es'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -559,7 +640,7 @@ $LANG['es'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
-
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -582,26 +663,23 @@ $LANG['es'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -617,9 +695,6 @@ $LANG['es'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -641,7 +716,9 @@ $LANG['es'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 728 - 609
web/inc/i18n/fa.php

@@ -1,610 +1,729 @@
-<?php
-/**
- *line 18-19 added
- * Vesta Farsi/Persian language file
- * By Foad Gh (secretjail@yahoo.com / http://www.Dotserver.ir )
- * Yalda night 2015
- */
-
-$LANG['fa'] = array(
-    'Packages'  => 'بسته ها',
-    'IP'  => 'آي پي',
-    'Graphs'  => 'نمودار ها',
-    'Statistics'  => 'آمار',
-    'Log'  => 'گزارش',
-    'Server'  => 'سرور',
-    'Services'  => 'خدمات',
-    'Firewall' => 'ديوار آتشين',
-	'firewall' => 'ديوار آتشين',
-	'brute-force monitor' => 'مانيتور بروت فورس',
-    'Updates'  => 'بروز رساني ها',
-    'Log in'  => 'ورود',
-    'Log out'  => 'خروج',
-
-    'USER'  => 'كاربر',
-    'WEB'  => 'وب',
-    'DNS'  => 'نام سرور',
-    'MAIL'  => 'ايميل',
-    'DB'  => 'پايگاه داده',
-    'CRON'  => 'خودكار',
-    'BACKUP'  => 'پشتيبان',
-
-    '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'  => 'افزودن عمل خودكار',
-    'Create Backup'  => 'ايجاد پشتيبان',
-    'Configure'  => 'پیکربندی',
-    'Restore All'  => 'بازيابي همه',
-    'Add Package'  => 'افزودن بسته',
-    'Add IP'  => 'افزودن آدرس آي پي',
-    'Add Rule' => 'افزودن قانون',
-    'Ban IP Address' => 'مسدود كردن آدرس آي پي',
-    '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'  => 'بازسازي كارهاي خودكار',
-    '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' => 'مخفي سازي اعلان ها',
-
-    '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'  => 'ويرايش عمل خودكار',
-    'Adding Cron Job'  => 'افزودن عمل خودكار',
-    'Editing Database'  => 'ويرايش پايگاه داده',
-    'Adding Package'  => 'افزودن بسته',
-    'Editing Package'  => 'ويرايش بسته',
-    'Adding IP address'  => 'افزودن آدرس آي پي',
-    'Editing IP Address'  => 'ويرايش آدرس آي پي',
-    'Editing Backup Exclusions' => 'ويرايش استتثناء هاي پشتيبان گيري',
-    'Generating CSR' => 'ايجاد CSR',
-    'Listing'  => 'فهرست كردن',
-    'Search Results'  => 'Sنتايج جستجو',
-    'Adding Firewall Rule' => 'افزودن قانون ديواره آتشين',
-    'Editing Firewall Rule' => 'ويرايش قانون ديوارآتشين',
-    'Adding IP Address to Banlist' => 'افزودن آدرس آي پي به فهرست مسدود شدگان',
-
-    'active'  => 'فعال',
-    'spnd'  => 'معلق',
-    'suspended'  => 'معلق گرديد',
-    'running'  => 'درحال اجرا',
-    'stopped'  => 'متوقف',
-    'outdated'  => 'منسوخ',
-    'updated'  => 'به روز',
-
-    'yes'  => 'بله',
-    'no'  => 'خير',
-    'none'  => 'هيچ يك',
-    'pb'  => 'پ.ب',
-    'tb'  => 'ت.ب',
-    'gb'  => 'گ.ب',
-    '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'  => 'كارهاي خودكار',
-    'SSH Access'  => 'دسترسي هاي SSH',
-    'IP Addresses'  => 'آدرس هاي آی پی',
-    'Backups'  => 'پشتيبان ها',
-    'Backup System'  => 'سيستم پشتيبان',
-    'backup exclusions' => 'استثنا هاي پشتيبان',
-    'template'  => 'قالب',
-    'SSL Support'  => 'پشتیبانی SSL',
-    'SSL Home Directory'  => 'خانه SSL',
-    'Proxy Support'  => 'پشتیبانی Proxy',
-    'Proxy Extensions'  => 'فرمت های Proxy',
-    'Web Statistics'  => 'آمار هاي وب',
-    'Additional FTP Account'  => 'FTP اضافه',
-    'SOA'  => 'SOA',
-    'TTL'  => 'زمان زنده بودن',
-    'Expire'  => 'سپري شدن',
-    'Records'  => 'پيشسنه ها',
-    'Catchall email'  => 'دريافت همه ايميل ها',
-    'AntiVirus Support'  => 'پشتیبانی ضد ويروس',
-    'AntiSpam Support'  => 'پشتیبانی ضد هرزنامه',
-    'DKIM Support'  => 'پشتیبانی DKIM',
-    'Accounts'  => 'حساب ها',
-    'Quota'  => 'سهميه',
-    'Autoreply'  => 'پاسخگويي خودكار',
-    'Forward to'  => 'ارسال به',
-    'Do not store forwarded mail' => 'ذخيره نكردن ايميل هدايت شونده',
-    'database'  => 'پايگاه داده',
-    'User'  => 'كاربر',
-    'Host'  => 'ميزبان',
-    'Charset'  => 'مجموعه نویسه',
-    'Min'  => 'دقيقه',
-    'Hour'  => 'ساعت',
-    'Day'  => 'روز',
-    'Month'  => 'ماه',
-    'Day of week'  => 'روز هفته',
-    'local'  => 'محلي',
-    'Run Time'  => 'زمان اجرا',
-    'Backup Size'  => 'اندازه پشتيبان',
-    'SYS'  => 'سيستم',
-    'Domains'  => 'دامنه ها',
-    'Status'  => 'وضعيت',
-    'shared'  => 'مشترك',
-    'dedicated'  => 'اختصاصي',
-    'Owner' => 'مالك',
-    'Users'  => 'كاربران',
-    'Load Average'  => 'ميانگين بارگزاري',
-    'Memory Usage'  => 'مصرف حافظه',
-    'HTTPD Usage'  => 'مصرف HTTPD',
-    'NGINX Usage'  => 'مصرف NGINX',
-    'MySQL Usage on localhost'  => 'مصرف MySQL در localhost',
-    'PostgreSQL Usage on localhost'  => 'مصرف PostgreSQL در localhost',
-    'Bandwidth Usage eth0'  => 'پهناي باند مصرفي eth0',
-    'FTP Usage'  => 'مصرف FTP',
-    'SSH Usage'  => 'مصرف SSH',
-    'Exim Usage' => 'مصرف Exim',
-    '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'  => 'زمان‌بندی كار',
-    'CPU'  => 'پردازنده',
-    'Memory'  => 'حافظه',
-    'Uptime'  => 'زمان كاركرد',
-    'core package'  => 'بسته هسته',
-    'php interpreter'  => 'مترجم پي اچ پي',
-    'internal web server'  => 'وب سرور داخلي',
-    'Version'  => 'نسخه',
-    'Release'  => 'انتشار',
-    'Architecture'  => 'معماري',
-    'Object'  => 'شيء',
-    'Owner'  => 'مالك',
-    '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'  => 'پشتیبانی ایمیل',
-    'Advanced 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'  => 'سال-ماه-روز',
-    'Name servers'  => 'سرور نام ها',
-    'Record'  => 'پيشينه',
-    'IP or Value'  => 'آي پي يا مقدار',
-    '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'  => 'كارهاي خودكار',
-    'backups'  => 'پشتيبان ها',
-    'quota'  => 'سهميه بندي',
-    'day of week'  => 'روز هفته',
-    'cmd'  => 'دستور',
-    'users'  => 'کاربران',
-    'domains'  => 'دامنه ها',
-    'aliases'  => 'نام مستعار',
-    'records'  => 'پیشینه',
-    'jobs'  => 'كار',
-    'username'  => 'نام کاربری',
-    'password'  => 'گذرواژه',
-    'type'  => 'نوع',
-    'charset'  => 'مجموعه نویسه',
-    'domain'  => 'دامنه',
-    'ip'  => 'آي پي',
-    'ip address'  => 'آدرس های آی پی',
-    'IP address'  => 'آدرس آی پی',
-    'netmask'  => 'نت ماسك',
-    'interface'  => 'رابط',
-    'assigned user'  => 'کاربراختصاص یافته',
-    'ns1'  => 'نام سرور 1',
-    'ns2'  => 'نام سرور 2',
-    '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',
-    '70 خط اخر  %s.%s.log' => 'هفتاد خط انتهايي از %s.%s.log',
-    'Download AccessLog' => 'دريافت گزارش دسترسي',
-    'Download ErrorLog' => 'دريافت گزارش خطا',
-    'Country' => 'کشور',
-    '2 letter code' => 'کد دو رقمی',
-    'State / Province' => 'استان / ولايت',
-    'City / Locality' => 'شهر / محله',
-    'Organization' => 'سازمان',
-    'Action' => 'عمل',
-    'Protocol' => 'پرتکل',
-    'Port' => 'پرت',
-    'Comment' => 'یادداشت',
-    'Banlist' => 'فهرست مسدودشدگان',
-    'ranges are acceptable' => 'بازه ها قابل قبول هستند',
-    'CIDR format is supported' => 'شکل CIDR پشتیبانی می شود',
-    'Add one more Name Server' => 'افزودن یک نام سرور دیگر',
-
-    'unlimited'  => 'نامحدود',
-    '1 account'  => 'یک حساب',
-    '%s accounts'  => 'حساب %s',
-    '1 domain'  => 'یک دامنه',
-    '%s domains'  => 'دامنه %s',
-    '1 record'  => 'یک پیشینه',
-    '%s records'  => '%s پيشينه',
-    '1 mail account'  => '1 حساب ايميل',
-    '%s mail accounts'  => '%s حساب ايميل',
-    '1 database'  => '1 پايگاه داده',
-    '%s databases'  => '%s پايگاه داده',
-    '1 cron job'  => '1 كار خودكار',
-    '%s cron jobs'  => '%s كار خودكار',
-    '1 archive'  => '1 بايگاني',
-    '%s archives'  => '%s بايگاني',
-    '1 package'  => '1 بسته',
-    '%s packages'  => '%s بسته',
-    '1 IP address'  => '1 آدرس IP',
-    '%s IP addresses'  => '%s آدرس IP',
-    '1 month'  => '1 ماه',
-    '%s months'  => '%s ماه',
-    '1 log record'  => '1 كرود وقايع',
-    '%s log records'  => '%s ركورد وقايع',
-    '1 object'  => 'یک شیء',
-    '%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'  => 'كار خودكار با موفقيت ايجاد شد.',
-    'IP_CREATED_OK'  => 'آدرس آی پی <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' => 'قانون با موفقيت ايجاد شد.',
-    'Autoupdate has been successfully enabled' => 'بروزرسانی خودکار با موقیت فعال گردید.',
-    'Autoupdate has been successfully disabled' => 'بروزرسانی خودکار با موقیت غیرفعال گردید.',
-    'Cronjob email reporting has been successfully enabled' => 'گزارش ايميلي كار هاي خودكار با موفقيت فعال گرديد.',
-    'Cronjob email reporting has been successfully disabled' => 'گزارش ايميلي كار هاي خودكار با موفقيت غيرفعال گرديد.',
-    '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' => 'آيا از خذف كار خودكار اطمينان داريد؟',
-    'SUSPEND_CRON_CONFIRMATION' => 'آيا از تعليق كار خودكار اطمینان داريد؟',
-    'UNSUSPEND_CRON_CONFIRMATION' => 'آيا از آزاد سازي كار خودكار اطمينان داريد؟',
-    'DELETE_BACKUP_CONFIRMATION'  => 'آيا از حذف پشتيبان %s اطمينان داريد؟',
-    'DELETE_EXCLUSION_CONFIRMATION' => 'آيا از حذف استثناء %s اطمينان داريد؟',
-    'DELETE_PACKAGE_CONFIRMATION'  => 'آيا از خذف بسته %s اطمينان داريد؟',
-    'DELETE_IP_CONFIRMATION'  => 'آيا از حذف آدرس آي پي %s اطمينان داريد؟',
-    'DELETE_RULE_CONFIRMATION' => 'آيا از حذف قانون #%s اطمينان داريد؟',
-    'SUSPEND_RULE_CONFIRMATION' => 'آيا از تعليق قانون #%s اطمينان داريد؟',
-    'UNSUSPEND_RULE_CONFIRMATION' => 'آيا از آزاد سازي قانون #%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' => 'آدرس آی پی در حال استفاده است.',
-    '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'  => 'به وستا کنترل پنل خوش آمدید',
-    'MAIL_FROM'  => 'كنترل پنل وستا <noreply@%s>',
-    'GREETINGS_GORDON_FREEMAN' => "درود, %s %s,\n",
-    'GREETINGS' => "درود,\n",
-    'ACCOUNT_READY' => "حساب شما ايجاد شد و براي استفاده آماده است.\n\nhttps://%s/login/\nنام كاربري : %s\nگذرواژه : %s\n\n--\nكنترل پنل وستا\n",
-
-    'FTP login credentials'  => 'اطلاعات ورود به FTP',
-    'FTP_ACCOUNT_READY' => "حساب FTP ساخته شد و براي استفاده آماده است.\n\nنام ميزبان : %s\nنام كاربري : %s_%s\nگذرواژه : %s\n\n--\nكنترل پنل وستا\n",
-
-    'Database Credentials'  => 'اطلاعات پايگاه داده',
-    'DATABASE_READY' => "پايگاه داده  با موفقيت ايجاد شد.\n\nDپايگاه داده : %s\nنام كاربري : %s\nگذرواژه : %s\n%s\n\n--\nكنترل پنل وستا\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--\nكنترل پنل وستا\n",
-    
-    'Jan' => 'ژانويه',
-    'Feb' => 'فوريه',
-    'Mar' => 'مارس',
-    'Apr' => 'آوريل',
-    'May' => 'مه',
-    'Jun' => 'ژون',
-    'Jul' => 'جولاي',
-    'Aug' => 'آگوست',
-    'Sep' => 'سپتامبر',
-    'Oct' => 'اكتبر',
-    'Nov' => 'نوامبر',
-    'Dec' => 'دسامبر',
-
-    'Configuring Server' => 'پیکربندی سرور',
-    'Hostname' => 'نام میزبان',
-    'Time Zone' => 'زمان منطقه ای',
-    'Default Language' => 'زبان پیشفرض',
-    'FileSystem Disk Quota ' => 'سهميه فايل سيستم ديسك ',
-    'Vesta Control Panel Plugins' => 'افزونه هاي كنترل پنل وستا',
-    'preview' => 'پیش نمایش',
-    'Reseller Role' => 'نقش فروشنده',
-    'Web Config Editor' => 'ويرايشگر پيكربندي وب',
-    'Template Manager' => 'مدیریت قالب',
-    'Backup Migration Manager' => 'مديريت انتقال پشتيبان',
-    'FileManager' => 'مدیریت پرونده',
-    'show: CPU / MEM / NET / DISK' => 'نمايش: شبكه / حاقظه / پردازنده / ديسك',
-
-    'sort by' =>  'sort by', // please make it as short as "sort by" 'مرتب سازی بر اساس',
-    'Date' => 'تاریخ',
-    'Starred' => 'ستاره دار',
-    'Name' => 'نام',
-
-
-    'File Manager' => 'مدیریت پرونده',
-    'type' => 'نوع',
-    'size' => 'اندازه',
-    'date' => 'زمان',
-    'name' => 'نام',
-    'Initializing' => 'مقدار دهی اولیه',
-    'UPLOAD' => 'بارگذاری',
-    'NEW FILE' => 'پرونده تازه',
-    'NEW DIR' => 'پوشه تازه',
-    'DELETE' => 'حذف',
-    'RENAME' => 'تغییر نام',
-    'COPY' => 'رونوشت',
-    'ARCHIVE' => 'بايگاني',
-    'EXTRACT' => 'بيرون كشيدن',
-    'DOWNLOAD' => 'بارگیری',
-    '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' => 'تغییر نام',
-    'Delete' => 'حذف',
-    'Extract' => 'بیرون کشیدن',
-    'Create' => 'ايجاد',
-    'Compress' => 'فشرده سازي',
-    'OK' => 'تاييد',
-    'Are you sure you want to copy' => 'آيا از كپي كردن اطمينان داريد؟',
-    'Are you sure you want to delete' => 'آيا از حذف اطمينان داريد؟',
-    'into' => 'به',
-    'existing files will be replaced' => 'پرونده های موجود جایگزین خواهد شد',
-    'Original name' => 'نام اصلی',
-    'File' => 'پرونده',
-    'already exists' => 'از پیش وجود دارد',
-    'Create file' => 'ایجاد پرونده',
-    'Create directory' => 'ایجاد پوشه',
-
-	
-    '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' => 'رفتن به فهرست کارهای خودکار',
-    'Go to BACKUP list' => 'رفتن به فهرست پشتیبانی',
-    'Focus on search' => 'تمرکز بر جستجو',
-    'Display/Close shortcuts' => 'نمایش/بستن میان بر ها',
-    'Move backward through top menu' => 'حرکت رو به عقب از طریق منوی بالای صفحه',
-    'Move forward through top menu' => 'حرکت به جلو از طریق منوی بالای صفحه',
-    'Enter focused element' => 'ورود به مورد انتخاب شده',
-
-    'Upload' => 'بارگذاری',
-    'New File' => 'پرونده تازه',
-    'New Folder' => 'پوشه تازه',
-    'Download' => 'بارگيري',
-    'Rename' => 'تغيير نام',
-    'Copy' => 'كپي',
-    'Archive' => 'بايگاني',
-    'Delete' => 'حذف',
-    'Save File (in text editor)' => 'ذخیره پرونده (در ویرایشگر متنی).',
-    'Close Popup / Cancel' => 'بستن پنجره / لغو',
-    'Move Cursor Up' => 'انتقال به بالاي مكان نما',
-    'Move Cursor Dow' => 'انتقال به پايين مكان نما',
-    'Switch to Left Tab' => 'رفتن به سربرگ چب',
-    'Switch to Right Tab' => 'رفتن به سربرگ راست',
-    'Switch Tab' => 'تغير سربرگ',
-    'Go to the Top of File List' => 'رفتن به ابتداي فهرست پرونده ها',
-    'Go to the Last File' => 'رفتن به آخرين پرونده',
-    'Open File/Enter Directory' => 'بازگردن پرونده/ورود به پوشه',
-    'Go to Parent Directory' => 'رفتن به پوشه بالايي',
-    'Select Current File' => 'انتخاب فايل جاري',
-    'Select Bunch of Files' => 'انتخاب دسته اي پرونده ها',
-    'Append File to the Current Selection' => 'افزودن پرونده به قسمت انتخابي كنوني',
-    'Select All Files' => 'انتخاب تمامي پرونده ها',
+<?php
+/**
+ *line 18-19 added
+ * Vesta Farsi/Persian language file
+ * By Foad Gh (secretjail@yahoo.com / http://www.Dotserver.ir )
+ * Yalda night 2015
+ */
+
+$LANG['fa'] = array(
+    'Packages'  => 'بسته ها',
+    'IP'  => 'آي پي',
+    'Graphs'  => 'نمودار ها',
+    'Statistics'  => 'آمار',
+    'Log'  => 'گزارش',
+    'Server'  => 'سرور',
+    'Services'  => 'خدمات',
+    'Firewall' => 'ديوار آتشين',
+    'Updates'  => 'بروز رساني ها',
+    'Log in'  => 'ورود',
+    'Log out'  => 'خروج',
+
+    'USER'  => 'كاربر',
+    'WEB'  => 'وب',
+    'DNS'  => 'نام سرور',
+    'MAIL'  => 'ايميل',
+    'DB'  => 'پايگاه داده',
+    'CRON'  => 'خودكار',
+    'BACKUP'  => 'پشتيبان',
+
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
+    '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'  => 'افزودن عمل خودكار',
+    'Create Backup'  => 'ايجاد پشتيبان',
+    'Configure'  => 'پیکربندی',
+    'Restore All'  => 'بازيابي همه',
+    'Add Package'  => 'افزودن بسته',
+    'Add IP'  => 'افزودن آدرس آي پي',
+    'Add Rule' => 'افزودن قانون',
+    'Ban IP Address' => 'مسدود كردن آدرس آي پي',
+    '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'  => 'بازسازي كارهاي خودكار',
+    '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' => 'مخفي سازي اعلان ها',
+
+    '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'  => 'ويرايش عمل خودكار',
+    'Adding Cron Job'  => 'افزودن عمل خودكار',
+    'Editing Database'  => 'ويرايش پايگاه داده',
+    'Adding Package'  => 'افزودن بسته',
+    'Editing Package'  => 'ويرايش بسته',
+    'Adding IP address'  => 'افزودن آدرس آي پي',
+    'Editing IP Address'  => 'ويرايش آدرس آي پي',
+    'Editing Backup Exclusions' => 'ويرايش استتثناء هاي پشتيبان گيري',
+    'Generating CSR' => 'ايجاد CSR',
+    'Listing'  => 'فهرست كردن',
+    'Search Results'  => 'Sنتايج جستجو',
+    'Adding Firewall Rule' => 'افزودن قانون ديواره آتشين',
+    'Editing Firewall Rule' => 'ويرايش قانون ديوارآتشين',
+    'Adding IP Address to Banlist' => 'افزودن آدرس آي پي به فهرست مسدود شدگان',
+
+    'active'  => 'فعال',
+    'spnd'  => 'معلق',
+    'suspended'  => 'معلق گرديد',
+    'running'  => 'درحال اجرا',
+    'stopped'  => 'متوقف',
+    'outdated'  => 'منسوخ',
+    'updated'  => 'به روز',
+
+    'yes'  => 'بله',
+    'no'  => 'خير',
+    'none'  => 'هيچ يك',
+    'pb'  => 'پ.ب',
+    'tb'  => 'ت.ب',
+    'gb'  => 'گ.ب',
+    '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'  => 'كارهاي خودكار',
+    'SSH Access'  => 'دسترسي هاي SSH',
+    'IP Address'  => 'IP Address',
+    'IP Addresses'  => 'آدرس هاي آی پی',
+    'Backups'  => 'پشتيبان ها',
+    'Backup System'  => 'سيستم پشتيبان',
+    'backup exclusions' => 'استثنا هاي پشتيبان',
+    'template'  => 'قالب',
+    'SSL Support'  => 'پشتیبانی SSL',
+    'SSL Home Directory'  => 'خانه SSL',
+    'Proxy Support'  => 'پشتیبانی Proxy',
+    'Proxy Extensions'  => 'فرمت های Proxy',
+    'Web Statistics'  => 'آمار هاي وب',
+    'Additional FTP Account'  => 'FTP اضافه',
+    'Path'  => 'Path',
+    'SOA'  => 'SOA',
+    'TTL'  => 'زمان زنده بودن',
+    'Expire'  => 'سپري شدن',
+    'Records'  => 'پيشسنه ها',
+    'Serial'  => 'Serial',
+    'Catchall email'  => 'دريافت همه ايميل ها',
+    'AntiVirus Support'  => 'پشتیبانی ضد ويروس',
+    'AntiSpam Support'  => 'پشتیبانی ضد هرزنامه',
+    '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'  => 'Normal password',
+    'database'  => 'پايگاه داده',
+    'User'  => 'كاربر',
+    'Host'  => 'ميزبان',
+    'Charset'  => 'مجموعه نویسه',
+    'Min'  => 'دقيقه',
+    'Hour'  => 'ساعت',
+    'Day'  => 'روز',
+    'Month'  => 'ماه',
+    'Day of week'  => 'روز هفته',
+    'local'  => 'محلي',
+    'Run Time'  => 'زمان اجرا',
+    'Backup Size'  => 'اندازه پشتيبان',
+    'SYS'  => 'سيستم',
+    'Domains'  => 'دامنه ها',
+    'Status'  => 'وضعيت',
+    'shared'  => 'مشترك',
+    'dedicated'  => 'اختصاصي',
+    'Owner' => 'مالك',
+    'Users'  => 'كاربران',
+    'Load Average'  => 'ميانگين بارگزاري',
+    'Memory Usage'  => 'مصرف حافظه',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
+    'HTTPD Usage'  => 'مصرف HTTPD',
+    'NGINX Usage'  => 'مصرف NGINX',
+    'MySQL Usage on localhost'  => 'مصرف MySQL در localhost',
+    'PostgreSQL Usage on localhost'  => 'مصرف PostgreSQL در localhost',
+    'Bandwidth Usage eth0'  => 'پهناي باند مصرفي eth0',
+    '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'  => 'پردازنده',
+    'Memory'  => 'حافظه',
+    'Uptime'  => 'زمان كاركرد',
+    'core package'  => 'بسته هسته',
+    'php interpreter'  => 'مترجم پي اچ پي',
+    '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'  => 'پشتیبانی ایمیل',
+    'Advanced 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'  => 'سال-ماه-روز',
+    'Name servers'  => 'سرور نام ها',
+    'Record'  => 'پيشينه',
+    'IP or Value'  => 'آي پي يا مقدار',
+    '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'  => 'كارهاي خودكار',
+    'backups'  => 'پشتيبان ها',
+    'quota'  => 'سهميه بندي',
+    'day of week'  => 'روز هفته',
+    'cmd'  => 'دستور',
+    'users'  => 'کاربران',
+    'domains'  => 'دامنه ها',
+    'aliases'  => 'نام مستعار',
+    'records'  => 'پیشینه',
+    'jobs'  => 'كار',
+    'username'  => 'نام کاربری',
+    'password'  => 'گذرواژه',
+    'type'  => 'نوع',
+    'charset'  => 'مجموعه نویسه',
+    'domain'  => 'دامنه',
+    'ip'  => 'آي پي',
+    'ip address'  => 'آدرس های آی پی',
+    'IP address'  => 'آدرس آی پی',
+    'netmask'  => 'نت ماسك',
+    'interface'  => 'رابط',
+    'assigned user'  => 'کاربراختصاص یافته',
+    'ns1'  => 'نام سرور 1',
+    'ns2'  => 'نام سرور 2',
+    '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' => 'Last 70 lines of %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
+    'Download AccessLog' => 'دريافت گزارش دسترسي',
+    'Download ErrorLog' => 'دريافت گزارش خطا',
+    'Country' => 'کشور',
+    '2 letter code' => 'کد دو رقمی',
+    'State / Province' => 'استان / ولايت',
+    'City / Locality' => 'شهر / محله',
+    'Organization' => 'سازمان',
+    'Action' => 'عمل',
+    'Protocol' => 'پرتکل',
+    'Port' => 'پرت',
+    'Comment' => 'یادداشت',
+    'Banlist' => 'فهرست مسدودشدگان',
+    'ranges are acceptable' => 'بازه ها قابل قبول هستند',
+    'CIDR format is supported' => 'شکل CIDR پشتیبانی می شود',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
+    'Add one more Name Server' => 'افزودن یک نام سرور دیگر',
+
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
+    'unlimited'  => 'نامحدود',
+    '1 account'  => 'یک حساب',
+    '%s accounts'  => 'حساب %s',
+    '1 domain'  => 'یک دامنه',
+    '%s domains'  => 'دامنه %s',
+    '1 record'  => 'یک پیشینه',
+    '%s records'  => '%s پيشينه',
+    '1 mail account'  => '1 حساب ايميل',
+    '%s mail accounts'  => '%s حساب ايميل',
+    '1 database'  => '1 پايگاه داده',
+    '%s databases'  => '%s پايگاه داده',
+    '1 cron job'  => '1 كار خودكار',
+    '%s cron jobs'  => '%s كار خودكار',
+    '1 archive'  => '1 بايگاني',
+    '%s archives'  => '%s بايگاني',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
+    '1 package'  => '1 بسته',
+    '%s packages'  => '%s بسته',
+    '1 IP address'  => '1 آدرس IP',
+    '%s IP addresses'  => '%s آدرس IP',
+    '1 month'  => '1 ماه',
+    '%s months'  => '%s ماه',
+    '1 log record'  => '1 كرود وقايع',
+    '%s log records'  => '%s ركورد وقايع',
+    '1 object'  => 'یک شیء',
+    '%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'  => 'كار خودكار با موفقيت ايجاد شد.',
+    'IP_CREATED_OK'  => 'آدرس آی پی <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 address has been banned successfully',    // I'm not sure about this text
+    'Autoupdate has been successfully enabled' => 'بروزرسانی خودکار با موقیت فعال گردید.',
+    'Autoupdate has been successfully disabled' => 'بروزرسانی خودکار با موقیت غیرفعال گردید.',
+    'Cronjob email reporting has been successfully enabled' => 'گزارش ايميلي كار هاي خودكار با موفقيت فعال گرديد.',
+    'Cronjob email reporting has been successfully disabled' => 'گزارش ايميلي كار هاي خودكار با موفقيت غيرفعال گرديد.',
+    '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' => 'آيا از خذف كار خودكار اطمينان داريد؟',
+    'SUSPEND_CRON_CONFIRMATION' => 'آيا از تعليق كار خودكار اطمینان داريد؟',
+    'UNSUSPEND_CRON_CONFIRMATION' => 'آيا از آزاد سازي كار خودكار اطمينان داريد؟',
+    'DELETE_BACKUP_CONFIRMATION'  => 'آيا از حذف پشتيبان %s اطمينان داريد؟',
+    'DELETE_EXCLUSION_CONFIRMATION' => 'آيا از حذف استثناء %s اطمينان داريد؟',
+    'DELETE_PACKAGE_CONFIRMATION'  => 'آيا از خذف بسته %s اطمينان داريد؟',
+    'DELETE_IP_CONFIRMATION'  => 'آيا از حذف آدرس آي پي %s اطمينان داريد؟',
+    'DELETE_RULE_CONFIRMATION' => 'آيا از حذف قانون #%s اطمينان داريد؟',
+    'SUSPEND_RULE_CONFIRMATION' => 'آيا از تعليق قانون #%s اطمينان داريد؟',
+    'UNSUSPEND_RULE_CONFIRMATION' => 'آيا از آزاد سازي قانون #%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' => 'آدرس آی پی در حال استفاده است.',
+    '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'  => 'به وستا کنترل پنل خوش آمدید',
+    'MAIL_FROM'  => 'كنترل پنل وستا <noreply@%s>',
+    'GREETINGS_GORDON_FREEMAN' => "درود, %s %s,\n",
+    'GREETINGS' => "درود,\n",
+    'ACCOUNT_READY' => "حساب شما ايجاد شد و براي استفاده آماده است.\n\nhttps://%s/login/\nنام كاربري : %s\nگذرواژه : %s\n\n--\nكنترل پنل وستا\n",
+
+    'FTP login credentials'  => 'اطلاعات ورود به FTP',
+    'FTP_ACCOUNT_READY' => "حساب FTP ساخته شد و براي استفاده آماده است.\n\nنام ميزبان : %s\nنام كاربري : %s_%s\nگذرواژه : %s\n\n--\nكنترل پنل وستا\n",
+
+    'Database Credentials'  => 'اطلاعات پايگاه داده',
+    'DATABASE_READY' => "پايگاه داده  با موفقيت ايجاد شد.\n\nDپايگاه داده : %s\nنام كاربري : %s\nگذرواژه : %s\n%s\n\n--\nكنترل پنل وستا\n",
+
+    'forgot password'  => 'گذرواژه تان را فراموش كرده ايد؟',
+    'Confirm'  => 'تاييد',
+    'New Password'  => 'گذرواژه تازه',
+    'Confirm Password'  => 'تاييد گذرواژه',
+    'Reset'  => 'بازيابي',
+    'Reset Code'  => 'رمز بازيابي',
+    'RESET_NOTICE'  => '',    // should we add something here?
+    '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--\nكنترل پنل وستا\n",
+
+    'Jan' => 'ژانويه',
+    'Feb' => 'فوريه',
+    'Mar' => 'مارس',
+    'Apr' => 'آوريل',
+    'May' => 'مه',
+    'Jun' => 'ژون',
+    'Jul' => 'جولاي',
+    'Aug' => 'آگوست',
+    'Sep' => 'سپتامبر',
+    'Oct' => 'اكتبر',
+    'Nov' => 'نوامبر',
+    'Dec' => 'دسامبر',
+
+    'Configuring Server' => 'پیکربندی سرور',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
+    'FileSystem Disk Quota' => 'سهميه فايل سيستم ديسك ',
+    'Vesta Control Panel Plugins' => 'افزونه هاي كنترل پنل وستا',
+    'preview' => 'پیش نمایش',
+    'Reseller Role' => 'نقش فروشنده',
+    'Web Config Editor' => 'ويرايشگر پيكربندي وب',
+    'Template Manager' => 'مدیریت قالب',
+    'Backup Migration Manager' => 'مديريت انتقال پشتيبان',
+    'FileManager' => 'مدیریت پرونده',
+    'show: CPU / MEM / NET / DISK' => 'نمايش: شبكه / حاقظه / پردازنده / ديسك',
+
+    'sort by' =>  'sort by',    // please make it as short as "sort by" 'مرتب سازی بر اساس',
+    'Date' => 'تاریخ',
+    'Starred' => 'ستاره دار',
+    'Name' => 'نام',
+
+
+    'File Manager' => 'مدیریت پرونده',
+    'size' => 'اندازه',
+    'date' => 'زمان',
+    'name' => 'نام',
+    'Initializing' => 'مقدار دهی اولیه',
+    'UPLOAD' => 'بارگذاری',
+    'NEW FILE' => 'پرونده تازه',
+    'NEW DIR' => 'پوشه تازه',
+    'DELETE' => 'حذف',
+    'RENAME' => 'تغییر نام',
+    'RIGHTS' => 'RIGHTS',
+    'COPY' => 'رونوشت',
+    'ARCHIVE' => 'بايگاني',
+    'EXTRACT' => 'بيرون كشيدن',
+    'DOWNLOAD' => 'بارگیری',
+    'Are you sure?' => 'Are you sure?',    // unused?
+    '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' => 'تغيير نام',
+    'Change Rights' => 'Change Rights',
+    'Delete' => 'حذف',
+    'Extract' => 'بیرون کشیدن',
+    'Create' => 'ايجاد',
+    'Compress' => 'فشرده سازي',
+    'OK' => 'تاييد',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
+    'Are you sure you want to copy' => 'آيا از كپي كردن اطمينان داريد؟',
+    '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' => 'read by owner',
+    'write by owner' => 'write by owner',
+    'execute/search by owner' => 'execute/search by owner',
+    'read by group' => 'read by group',
+    'write by group' => 'write by group',
+    'execute/search by group' => 'execute/search by group',
+    'read by others' => 'read by others',
+    'write by others' => 'write by others',
+    'execute/search by others' => 'execute/search by others',
+
+    'Shortcuts' => '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' => 'رفتن به فهرست کارهای خودکار',
+    '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 up through elements list',
+    'Move down 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' => 'بازگردن پرونده/ورود به پوشه',
+    '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' =>
-        'ميانبرها الهام گرفته از <a href="https://www.midnight-commander.org/">Midnight Commander</a> مديريت فايل باشكوه GNU است.',
-
-    '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.' => 'اين ماژول تجاريست, شما بايد كليد مجوز براي فعال سازي سفارش دهيد.'
-
-);
+        'ميانبرها الهام گرفته از <a href="https://www.midnight-commander.org/">Midnight Commander</a> مديريت فايل باشكوه GNU است.',
+
+    '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' => 'Minutes',
+    'Hourly' => 'Hourly',
+    'Run Command' => 'Run Command',
+    'every month' => 'every month',
+    'every odd month' => 'every odd month',
+    'every even month' => 'every even month',
+    'every day' => 'every day',
+    'every odd day' => 'every odd day',
+    'every even day' => 'every even day',
+    'weekdays (5 days)' => 'weekdays (5 days)',
+    'weekend (2 days)' => 'weekend (2 days)',
+    'Monday' => 'Monday',
+    'Tuesday' => 'Tuesday',
+    'Wednesday' => 'Wednesday',
+    'Thursday' => 'Thursday',
+    'Friday' => 'Friday',
+    'Saturday' => 'Saturday',
+    'Sunday' => 'Sunday',
+    'every hour' => 'every hour',
+    'every two hours' => 'every two hours',
+    'every minute' => 'every minute',
+    'every two minutes' => 'every two minutes',
+    'every' => 'every',
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
+
+// Texts below doesn't exist in en.php
+    '70 خط اخر  %s.%s.log' => 'هفتاد خط انتهايي از %s.%s.log',
+);

+ 114 - 36
web/inc/i18n/fi.php

@@ -26,6 +26,21 @@ $LANG['fi'] = array(
     'CRON' => 'CRON',
     'BACKUP' => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User' => 'Lisää käyttäjä',
     'Add Domain' => 'Lisää domaini',
     'Add Web Domain' => 'Lisää Web domain',
@@ -42,8 +57,8 @@ $LANG['fi'] = array(
     'Add IP' => 'Lisää IP',
     'Add Rule' => 'Lisää sääntö',
     'Ban IP Address' => 'Estä IP',
-    'Add one more FTP Account' => 'Lisää vielä yhden FTP käyttäjä',
     'Search' => 'Haku',
+    'Add one more FTP Account' => 'Lisää vielä yhden FTP käyttäjä',
     'Overall Statistics' => 'Kokonaistilastot',
     'Daily' => 'Päivä',
     'Weekly' => 'Viikko',
@@ -133,10 +148,10 @@ $LANG['fi'] = array(
     'yes' => 'kyllä',
     'no' => 'ei',
     'none' => 'ei mitään',
-    'pb' => 'pb', //petatavu
-    'tb' => 'tb', //teratavu
-    'gb' => 'gb', //gigatavu
-    'mb' => 'mb', //megatavu
+    'pb' => 'pb',    //petatavu
+    'tb' => 'tb',    //teratavu
+    'gb' => 'gb',    //gigatavu
+    'mb' => 'mb',    //megatavu
     'minute' => 'minuutti',
     'hour' => 'tunti',
     'day' => 'päivä',
@@ -145,8 +160,6 @@ $LANG['fi'] = array(
     'minutes' => 'minuuttia',
     'month' => 'kuukautta',
     'package' => 'paketti',
-    'traffic' => 'tiedonsiirto',
-    'disk' => 'levytila',
     'Bandwidth' => 'Kaistanleveys',
     'Disk' => 'Levy',
     'Web' => 'Web',
@@ -163,12 +176,14 @@ $LANG['fi'] = array(
     'Web Aliases' => 'Web-aliakset',
     'per domain' => 'per domaini',
     'DNS Domains' => 'DNS-domainit',
+    'DNS domains' => 'DNS-domainit',
     'DNS records' => 'DNS-tietueet',
     'Name Servers' => 'Nimipalvelimet',
     'Mail Domains' => 'Sähköpostidomainit',
     'Mail Accounts' => 'Sähköpostikäyttäjät',
     'Cron Jobs' => 'Cron-tehtävät',
     'SSH Access' => 'SSH-oikeudet',
+    'IP Address'  => 'IP Address',
     'IP Addresses' => 'IP-osoitteet',
     'Backups' => 'Varmuuskopiot',
     'Backup System' => 'Varmuuskopioi järjestelmä',
@@ -180,10 +195,12 @@ $LANG['fi'] = array(
     'Proxy Extensions' => 'Proxy laajennukset',
     'Web Statistics' => 'Webtilastot',
     'Additional FTP Account' => 'Ylimääräinen FTP-tili',
+    'Path'  => 'Path',
     'SOA' => 'SOA',
     'TTL' => 'TTL',
     'Expire' => 'Päättyy',
     'Records' => 'Tietueet',
+    'Serial'  => 'Serial',
     'Catchall email' => 'Catchall-sähköposti',
     'AntiVirus Support' => 'AntiVirus-tuki',
     'AntiSpam Support' => 'AntiSpam-tuki',
@@ -193,6 +210,16 @@ $LANG['fi'] = array(
     'Autoreply' => 'Automaattinen vastaus',
     'Forward to' => 'Uudelleenohjaa',
     'Do not store forwarded mail' => 'Älä säilytä uudelleenohjattuja viestejä',
+    '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' => 'tietokanta',
     'User' => 'Käyttäjä',
     'Host' => 'Host',
@@ -214,13 +241,13 @@ $LANG['fi'] = array(
     'Users' => 'Käyttäjät',
     'Load Average' => 'Keskimääräinen Käyttöaste',
     'Memory Usage' => 'Muistinkäyttö',
+    'APACHE2 Usage' => 'APACHE2-käyttö',
     'HTTPD Usage' => 'HTTPD-käyttö',
     'NGINX Usage' => 'NGINX-käyttö',
-    'APACHE2 Usage' => 'APACHE2-käyttö',
     'MySQL Usage on localhost' => 'MySQL-käyttö @ localhost',
     'PostgreSQL Usage on localhost' => 'PostgreSQL-käyttö @ localhost',
     'Bandwidth Usage eth0' => 'Kaistankäyttö eth0',
-    'Bandwidth Usage eth1' => 'Kaistankäyttö eth1',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage' => 'FTP-käyttö',
     'SSH Usage' => 'SSH-käyttö',
     'reverse proxy' => 'reverse proxy',
@@ -232,7 +259,9 @@ $LANG['fi'] = array(
     'email antispam' => 'sähköpostin antispam',
     'database server' => 'tietokantapalvelin',
     'ftp server' => 'ftp-palvelin',
-    'job scheduler' => 'job scheduler', //no-idea
+    'job scheduler' => 'job scheduler',    //no-idea
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU' => 'Prosessori',
     'Memory' => 'Muisti',
     'Uptime' => 'Käyttöaika',
@@ -243,7 +272,6 @@ $LANG['fi'] = array(
     'Release' => 'Julkaisu',
     'Architecture' => 'Arkkitehtuuri',
     'Object' => 'Objekti',
-    'Owner' => 'Omistaja',
     'Username' => 'Käyttäjä',
     'Password' => 'Salasana',
     'Email' => 'Email',
@@ -261,7 +289,7 @@ $LANG['fi'] = array(
     'Aliases' => 'Aliakset',
     'SSL Certificate' => 'SSL-sertifikaatti',
     'SSL Key' => 'SSL-avain',
-    'SSL Certificate Authority / Intermediate' => 'SSL Certificate Authority / Intermediate', //no-idea
+    'SSL Certificate Authority / Intermediate' => 'SSL Certificate Authority / Intermediate',    //no-idea
     'SSL CSR' => 'SSL CSR',
     'optional' => 'valinnainen',
     'internal' => 'sisäinen',
@@ -274,12 +302,12 @@ $LANG['fi'] = array(
     'YYYY-MM-DD' => 'YYYY-MM-DD',
     'Name servers' => 'Nimipalvelimet',
     'Record' => 'Tietue',
-    'IP or Value' => 'IP or Value', //no-idea
+    'IP or Value' => 'IP or Value',    //no-idea
     'Priority' => 'Prioriteetti',
     'Record Number' => 'Tietueen numero',
     'in megabytes' => 'megatavuissa',
     'Message' => 'Viesti',
-    'use local-part' => 'use local-part', //no-idea
+    'use local-part' => 'use local-part',    //no-idea
     'one or more email addresses' => 'yksi tai useampia sähköposteja',
     'Prefix will be automaticaly added to database name and database user' => 'Etuliite %s lisätään automaattisesti tietokannan nimeen ja käyttäjään',
     'Database' => 'Tietokanta',
@@ -287,12 +315,12 @@ $LANG['fi'] = array(
     'Minute' => 'Minuutti',
     'Command' => 'Käsky',
     'Package Name' => 'Paketin nimi',
-    'Netmask' => 'Netmask', //no-idea
-    'Interface' => 'Interface', //no-idea
+    'Netmask' => 'Netmask',    //no-idea
+    'Interface' => 'Interface',    //no-idea
     'Shared' => 'Jaettu',
     'Assigned user' => 'Assigned user',
     'Assigned domain' => 'Assigned domain',
-    'NAT IP association' => 'NAT IP association', //no-idea
+    'NAT IP association' => 'NAT IP association',    //no-idea
     'shell' => 'shell',
     'web domains' => 'web-domainit',
     'web aliases' => 'web-aliakset',
@@ -337,6 +365,8 @@ $LANG['fi'] = array(
     'ftp user password' => 'ftp-käyttäjän salasana',
     'ftp user' => 'ftp-käyttäjä',
     'Last 70 lines of %s.%s.log' => '%s 70 viimeistä lokimerkintää.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Lataa AccessLog',
     'Download ErrorLog' => 'Lataa Virheloki',
     'Country' => 'Maa',
@@ -351,8 +381,26 @@ $LANG['fi'] = array(
     'Banlist' => 'Bannilista',
     'ranges are acceptable' => 'vaihteluvälit ovat hyväksyttäviä',
     'CIDR format is supported' => 'CIDR muotoa tuetaan',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account' => '1 tili',
     '%s accounts' => '%s tiliä',
@@ -368,6 +416,8 @@ $LANG['fi'] = array(
     '%s cron jobs' => '%s cron-tehtävää',
     '1 archive' => '1 archive',
     '%s archives' => '%s archives',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package' => '1 paketti',
     '%s packages' => '%s pakettia',
     '1 IP address' => '1 IP-osoite',
@@ -395,6 +445,7 @@ $LANG['fi'] = array(
     'PACKAGE_CREATED_OK' => 'Paketti <a href="/edit/package/?package=%s"><b>%s</b></a> lisättiin onnistuneesti.',
     'SSL_GENERATED_OK' => 'Sertifikaatti lisättiin onnistuneesti.',
     'RULE_CREATED_OK' => 'Sääntö lisättiin onnistuneesti.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Automaattinen päivitys otettu käyttöön',
     'Autoupdate has been successfully disabled' => 'Automaattinen päivitys poistettu käytöstä',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob sähköposti raportointi on onnistuneesti mahdollistanut',
@@ -470,7 +521,7 @@ $LANG['fi'] = array(
     'Confirm Password' => 'Hyväksy salasana',
     'Reset' => 'Nollaa',
     'Reset Code' => 'Nollauskoodi',
-    'RESET_NOTICE' => '',
+    'RESET_NOTICE' => '',    // should we add something here?
     'RESET_CODE_SENT' => 'Salasanan nollauskoodi on lähetetty sähköpostiisi<br>',
     'MAIL_RESET_SUBJECT' => 'Salana vaihdettiin %s',
     'PASSWORD_RESET_REQUEST' => "Nollataksesi hallintapaneelin salasanan, seuraa tätä linkkiä:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nVaihtoehtoisesti voit mennä https://%s/reset/?action=code&user=%s ja syöttää nollauskoodin:\n%s\n\nJos et varta vasten pyytänyt tätä salasananvaihtoa, mene paniikkiin ja ota yhteyttä ylläpitoon.\n\n--\nVesta Hallintapaneeli\n",
@@ -492,6 +543,29 @@ $LANG['fi'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -507,8 +581,8 @@ $LANG['fi'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -523,6 +597,7 @@ $LANG['fi'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -543,6 +618,10 @@ $LANG['fi'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -552,9 +631,6 @@ $LANG['fi'] = array(
     'already exists' => 'already exists',
     'Create file' => 'Create file',
     'Create directory' => 'Create directory',
-    'already exists' => 'already exists',
-    'Create file' => 'Create file',
-    'Create directory' => 'Create directory',
     'read by owner' => 'read by owner',
     'write by owner' => 'write by owner',
     'execute/search by owner' => 'execute/search by owner',
@@ -565,6 +641,7 @@ $LANG['fi'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -587,26 +664,23 @@ $LANG['fi'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -622,9 +696,6 @@ $LANG['fi'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -646,7 +717,14 @@ $LANG['fi'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
 
-);
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
+
+// Texts below doesn't exist in en.php
+    'traffic' => 'tiedonsiirto',
+    'disk' => 'levytila',
+    'Bandwidth Usage eth1' => 'Kaistankäyttö eth1',
+);

+ 185 - 91
web/inc/i18n/fr.php

@@ -25,6 +25,21 @@ $LANG['fr'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Ajouter un Utilisateur',
     'Add Domain'  => 'Ajouter un Domaine',
     'Add Web Domain'  => 'Ajouter un Domaine',
@@ -53,7 +68,7 @@ $LANG['fr'] = array(
     'Save'  => 'Sauvegarde',
     'Submit'  => 'Envoyer',
 
-    'toggle all'  => 'tout', // please make as short as "toggle all" 'sélectionner tout',
+    'toggle all'  => 'tout',    // please make as short as "toggle all" 'sélectionner tout',
     'apply to selected'  => 'appliquer à la sélection',
     'rebuild'  => 'recréer',
     'rebuild web'  => 'recréer web',
@@ -87,39 +102,39 @@ $LANG['fr'] = array(
     'update'  => 'mettre-à-jour',
     'generate'  => 'générer',
     'Generate CSR' => 'Générer un CSR',
-    'reread IP' => 'actualiser l\'IP',
+    'reread IP' => "actualiser l'IP",
     'enable autoupdate' => 'activer la mise-à-jour automatique',
     'disable autoupdate' => 'desactiver la mise-à-jour automatique',
     'turn on notifications' => 'act. les notifications',
     'turn off notifications' => 'désact. les notifications',
 
-    'Adding User'  => 'Ajout d\'un Utilisateur',
-    'Editing User'  => 'Édition d\'un Utilisateur',
-    'Adding Domain'  => 'Ajout d\'un Domaine',
-    'Editing Domain'  => 'Édition d\'un Domaine',
-    'Adding DNS Domain'  => 'Ajout d\'un Domaine DNS',
-    'Editing DNS Domain'  => 'Édition d\'un Domaine DNS',
-    'Adding DNS Record'  => 'Ajout d\'un Enregistrement DNS',
-    'Editing DNS Record'  => 'Édition d\'un Enregistrement DNS',
-    'Adding Mail Domain'  => 'Ajout d\'un Domaine Mail',
-    'Editing Mail Domain'  => 'Édition d\'un Domaine Mail',
-    'Adding Mail Account'  => 'Ajout d\'un Compte Mail',
-    'Editing Mail Account'  => 'Édition d\'un Compte Mail',
-    'Adding database'  => 'Ajout d\'une base de données',
-    'Editing Cron Job'  => 'Édition d\'une tâche Cron',
-    'Adding Cron Job'  => 'Ajout d\'une tâche Cron',
-    'Editing Database'  => 'Édition d\'une base de données',
-    'Adding Package'  => 'Ajout d\'un Paquet',
-    'Editing Package'  => 'Édition d\'un Paquet',
-    'Adding IP address'  => 'Ajout d\'une adresse IP',
-    'Editing IP Address'  => 'Édition d\'une adresse IP',
+    'Adding User'  => "Ajout d'un Utilisateur",
+    'Editing User'  => "Édition d'un Utilisateur",
+    'Adding Domain'  => "Ajout d'un Domaine",
+    'Editing Domain'  => "Édition d'un Domaine",
+    'Adding DNS Domain'  => "Ajout d'un Domaine DNS",
+    'Editing DNS Domain'  => "Édition d'un Domaine DNS",
+    'Adding DNS Record'  => "Ajout d'un Enregistrement DNS",
+    'Editing DNS Record'  => "Édition d'un Enregistrement DNS",
+    'Adding Mail Domain'  => "Ajout d'un Domaine Mail",
+    'Editing Mail Domain'  => "Édition d'un Domaine Mail",
+    'Adding Mail Account'  => "Ajout d'un Compte Mail",
+    'Editing Mail Account'  => "Édition d'un Compte Mail",
+    'Adding database'  => "Ajout d'une base de données",
+    'Editing Cron Job'  => "Édition d'une tâche Cron",
+    'Adding Cron Job'  => "Ajout d'une tâche Cron",
+    'Editing Database'  => "Édition d'une base de données",
+    'Adding Package'  => "Ajout d'un Paquet",
+    'Editing Package'  => "Édition d'un Paquet",
+    'Adding IP address'  => "Ajout d'une adresse IP",
+    'Editing IP Address'  => "Édition d'une adresse IP",
     'Editing Backup Exclusions' => 'Édition des exclusions de Backup',
-    'Generating CSR' => 'Génération d\'un jeton CSR',
+    'Generating CSR' => "Génération d'un jeton CSR",
     'Listing'  => 'Listage',
     'Search Results'  => 'Résultats de Recherche',
-    'Adding Firewall Rule' => 'Ajout d\'une règle de pare-feu',
-    'Editing Firewall Rule' => 'Édition d\'une règle de pare-feu',
-    'Adding IP Address to Banlist' => 'Ajout d\'une adresse IP',
+    'Adding Firewall Rule' => "Ajout d'une règle de pare-feu",
+    'Editing Firewall Rule' => "Édition d'une règle de pare-feu",
+    'Adding IP Address to Banlist' => "Ajout d'une adresse IP",
 
     'active'  => 'actif',
     'spnd'  => 'suspendu',
@@ -160,13 +175,14 @@ $LANG['fr'] = array(
     'Web Aliases'  => 'Alias Web',
     'per domain'  => 'par domaine',
     'DNS Domains'  => 'Domaines DNS',
-    'DNS Domains'  => 'Domaines DNS',
-    'DNS records'   => 'Enregistrements DNS'  ,
+    'DNS domains'  => 'Domaines DNS',
+    'DNS records'   => 'Enregistrements DNS',
     'Name Servers'  => 'Nom des Serveurs',
     'Mail Domains'  => 'Domaines Mail',
     'Mail Accounts'  => 'Comptes Mail',
     'Cron Jobs'  => 'Tâches Cron',
     'SSH Access'  => 'Accès SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Adresses IP',
     'Backups'  => 'Sauvegardes',
     'Backup System'  => 'Système de Sauvegarde',
@@ -178,19 +194,31 @@ $LANG['fr'] = array(
     'Proxy Extensions'  => 'Extensions Proxy',
     'Web Statistics'  => 'Statistiques Web',
     'Additional FTP Account'  => 'FTP Additionnel',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Expiration',
     'Records'  => 'Enregistrements',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Email de Récupération',
-    'AntiVirus Support'  => 'Support de l\'AntiVirus',
-    'AntiSpam Support'  => 'Support de l\'AntiSpam',
+    'AntiVirus Support'  => "Support de l'AntiVirus",
+    'AntiSpam Support'  => "Support de l'AntiSpam",
     'DKIM Support'  => 'Support DKIM',
     'Accounts'  => 'Comptes',
     'Quota'  => 'Quota',
     'Autoreply'  => 'Réponse Automatique',
     'Forward to'  => 'Transférer à',
     'Do not store forwarded mail' => 'Ne pas conserver le mail transféré',
+    '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'  => 'base de données',
     'User'  => 'Utilisateur',
     'Host'  => 'Serveur',
@@ -201,7 +229,7 @@ $LANG['fr'] = array(
     'Month'  => 'Mois',
     'Day of week'  => 'Jour de la semaine',
     'local'  => 'local',
-    'Run Time'  => 'Temps d\'Exécution',
+    'Run Time'  => "Temps d'Exécution",
     'Backup Size'  => 'Taille de la sauvegarde',
     'SYS'  => 'SYS',
     'Domains'  => 'Domaines',
@@ -212,11 +240,13 @@ $LANG['fr'] = array(
     'Users'  => 'Utilisateurs',
     'Load Average'  => 'Charge Moyenne',
     'Memory Usage'  => 'Utilisation de la Mémoire',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'Utilisation HTTPD',
     'NGINX Usage'  => 'Utilisation NGINX',
     'MySQL Usage on localhost'  => 'Utilisation de MySQL sur localhost',
     'PostgreSQL Usage on localhost'  => 'Utilisation de PostgreSQL sur localhost',
     'Bandwidth Usage eth0'  => 'Utilisation de la Bande Passante sur eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'Utilisation du FTP',
     'SSH Usage'  => 'Utilisation SSH',
     'reverse proxy'  => 'reverse proxy',
@@ -229,6 +259,8 @@ $LANG['fr'] = array(
     'database server'  => 'serveur de base de données',
     'ftp server'  => 'serveur ftp',
     'job scheduler'  => 'programmation de tâches',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Mémoire',
     'Uptime'  => 'Temps de Fonctionnement',
@@ -239,15 +271,14 @@ $LANG['fr'] = array(
     'Release'  => 'Release',
     'Architecture'  => 'Architecture',
     'Object'  => 'Objet',
-    'Owner'  => 'Propriétaire',
-    'Username'  => 'Nom d\'Utilisateur',
+    'Username'  => "Nom d'Utilisateur",
     'Password'  => 'Mot de Passe',
     'Email'  => 'Email',
     'Package'  => 'Paquet',
     'Language'  => 'Langue',
     'First Name'  => 'Prénom',
     'Last Name'  => 'Nom',
-    'Send login credentials to email address'  => 'Envoyer les identifiants à l\'adresse email',
+    'Send login credentials to email address'  => "Envoyer les identifiants à l'adresse email",
     'Default Template'  => 'Template par défaut',
     'Default Name Servers'  => 'Nom de Serveurs par Défaut',
     'Domain'  => 'Domaine',
@@ -261,18 +292,18 @@ $LANG['fr'] = array(
     'SSL CSR' => 'Jeton CSR SSL',
     'optional'  => 'optionnel',
     'internal' => 'interne',
-    'Statistics Authorization'  => 'Droits d\'Accès aux Statistiques',
+    'Statistics Authorization'  => "Droits d'Accès aux Statistiques",
     'Statistics Auth'  => 'Accès aux Statistiques',
     'Account'  => 'Compte',
-    'Prefix will be automaticaly added to username'  => 'Le préfixe %s sera automatiquement ajouté au nom d\'utilisateur',
-    'Send FTP credentials to email'  => 'Envoyer les identifiants FTP à l\'adresse email',
-    'Expiration Date'  => 'Date d\'Expiration',
+    'Prefix will be automaticaly added to username'  => "Le préfixe %s sera automatiquement ajouté au nom d'utilisateur",
+    'Send FTP credentials to email'  => "Envoyer les identifiants FTP à l'adresse email",
+    'Expiration Date'  => "Date d'Expiration",
     'YYYY-MM-DD'  => 'YYYY-MM-DD',
     'Name servers'  => 'Nom des serveurs',
-    'Record'  => 'Valeur de l\'Enregistrement',
+    'Record'  => "Valeur de l'Enregistrement",
     'IP or Value'  => 'IP ou Valeur',
     'Priority'  => 'Priorité',
-    'Record Number' => 'Nombre d\'Enregistrements',
+    'Record Number' => "Nombre d'Enregistrements",
     'in megabytes'  => 'en mégaoctets',
     'Message'  => 'Message',
     'use local-part'  => 'utilisation locale',
@@ -303,13 +334,11 @@ $LANG['fr'] = array(
     'day of week'  => 'jour de la semaine',
     'cmd'  => 'cmd',
     'users'  => 'utilisateurs',
-    'disk'  => 'disque',
-    'traffic' => 'traffic',
     'domains'  => 'domaines',
     'aliases'  => 'alias',
     'records'  => 'enregistrements',
     'jobs'  => 'tâches',
-    'username'  => 'nom d\'utilisateur',
+    'username'  => "nom d'utilisateur",
     'password'  => 'mot de passe',
     'type'  => 'type',
     'charset'  => 'charset',
@@ -335,6 +364,8 @@ $LANG['fr'] = array(
     'ftp user password'  => 'mot de passe ftp',
     'ftp user'  => 'utilisateur ftp',
     'Last 70 lines of %s.%s.log' => 'Dernières 70 lignes du fichier %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Télécharger le fichier AccessLog',
     'Download ErrorLog' => 'Télécharger le fichier ErrorLog',
     'Country' => 'Pays',
@@ -349,8 +380,26 @@ $LANG['fr'] = array(
     'Banlist' => 'Banlist',
     'ranges are acceptable' => 'plages sont acceptables',
     'CIDR format is supported' => 'Le format CIDR est pris en charge',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Ajouter un autre Serveur de Noms',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'illimité',
     '1 account'  => '1 compte',
     '%s accounts'  => '%s comptes',
@@ -366,6 +415,8 @@ $LANG['fr'] = array(
     '%s cron jobs'  => '%s tâches cron',
     '1 archive'  => '1 archive',
     '%s archives'  => '%s archives',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 paquet',
     '%s packages'  => '%s paquets',
     '1 IP address'  => '1 adresse IP',
@@ -376,7 +427,7 @@ $LANG['fr'] = array(
     '%s log records'  => '%s enregistrements',
     '1 object'  => '1 objet',
     '%s objects'  => '%s objets',
-    'no exclusions' => 'pas d\'exclusions',
+    'no exclusions' => "pas d'exclusions",
     '1 rule' => '1 règle',
     '%s rules' => '%s règles',
     'There are no currently banned IP' => 'Aucune IP bannies',
@@ -384,7 +435,7 @@ $LANG['fr'] = array(
     'USER_CREATED_OK'  => 'Utilisateur <a href="/edit/user/?user=%s"><b>%s</b></a> créé avec succès.',
     'WEB_DOMAIN_CREATED_OK'  => 'Domaine <a href="/edit/web/?domain=%s"><b>%s</b></a> créé avec succès.',
     'DNS_DOMAIN_CREATED_OK'  => 'Domaine DNS <a href="/list/dns/?domain=%s"><b>%s</b></a> créé avec succès.',
-    'DNS_RECORD_CREATED_OK'  => 'L\'enregistrement <b>%s.%s</b> a été créé avec succès.',
+    'DNS_RECORD_CREATED_OK'  => "L'enregistrement <b>%s.%s</b> a été créé avec succès.",
     'MAIL_DOMAIN_CREATED_OK'  => 'Le domaine email <a href="/list/mail/?domain=%s"><b>%s</b></a> a été créé avec succès.',
     'MAIL_ACCOUNT_CREATED_OK'  => 'Le compte email <a href="/edit/mail/?account=%s&domain=%s"><b>%s@%s</b></a> a été créé avec succès.',
     'DATABASE_CREATED_OK'  => 'La base de données <a href="/edit/db/?database=%s"><b>%s</b></a> a été créée avec succès.',
@@ -393,21 +444,22 @@ $LANG['fr'] = array(
     'PACKAGE_CREATED_OK'  => 'Le paquet <a href="/edit/package/?package=%s"><b>%s</b></a> a été créé avec succès.',
     'SSL_GENERATED_OK' => 'Le certificat a été généré avec succès.',
     'RULE_CREATED_OK' => 'Règle a été créée avec succès.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Les mises-à-jour automatiques ont été activées avec succès.',
     'Autoupdate has been successfully disabled' => 'Les mises-à-jour automatiques ont été desactivées avec succès.',
     'Cronjob email reporting has been successfully enabled' => 'Rapports de cronjob a été activé avec succès',
     'Cronjob email reporting has been successfully disabled' => 'Rapports de cronjob a été désactivé avec succès',
     'Changes has been saved.'  => 'Les changements ont été sauvegardés.',
     'Confirmation'  => 'Confirmation',
-    'DELETE_USER_CONFIRMATION' => 'Êtes-vous sûr de vouloir supprimer l\'utilisateur %s ?',
-    'SUSPEND_USER_CONFIRMATION' => 'Êtes-vous sûr de vouloir suspendre l\'utilisateur %s ?',
-    'UNSUSPEND_USER_CONFIRMATION' => 'Êtes-vous sûr de vouloir réactiver l\'utilisateur %s ?',
+    'DELETE_USER_CONFIRMATION' => "Êtes-vous sûr de vouloir supprimer l'utilisateur %s ?",
+    'SUSPEND_USER_CONFIRMATION' => "Êtes-vous sûr de vouloir suspendre l'utilisateur %s ?",
+    'UNSUSPEND_USER_CONFIRMATION' => "Êtes-vous sûr de vouloir réactiver l'utilisateur %s ?",
     'DELETE_DOMAIN_CONFIRMATION' => 'Êtes-vous sûr de vouloir supprimer le domaine %s ?',
     'SUSPEND_DOMAIN_CONFIRMATION' => 'Êtes-vous sûr de vouloir suspendre le domaine %s ?',
     'UNSUSPEND_DOMAIN_CONFIRMATION' => 'Êtes-vous sûr de vouloir réactiver le domaine %s ?',
-    'DELETE_RECORD_CONFIRMATION' => 'Êtes-vous sûr de vouloir supprimer l\'enregistrement %s ?',
-    'SUSPEND_RECORD_CONFIRMATION' => 'Êtes-vous sûr de vouloir suspendre l\'enregistrement %s ?',
-    'UNSUSPEND_RECORD_CONFIRMATION' => 'Êtes-vous sûr de vouloir réactiver l\'enregistrement %s ?',
+    'DELETE_RECORD_CONFIRMATION' => "Êtes-vous sûr de vouloir supprimer l'enregistrement %s ?",
+    'SUSPEND_RECORD_CONFIRMATION' => "Êtes-vous sûr de vouloir suspendre l'enregistrement %s ?",
+    'UNSUSPEND_RECORD_CONFIRMATION' => "Êtes-vous sûr de vouloir réactiver l'enregistrement %s ?",
     'DELETE_MAIL_ACCOUNT_CONFIRMATION' => 'Êtes-vous sûr de vouloir supprimer %s ?',
     'SUSPEND_MAIL_ACCOUNT_CONFIRMATION' => 'Êtes-vous sûr de vouloir suspendre %s ?',
     'UNSUSPEND_MAIL_ACCOUNT_CONFIRMATION' => 'Êtes-vous sûr de vouloir réactiver %s ?',
@@ -418,9 +470,9 @@ $LANG['fr'] = array(
     'SUSPEND_CRON_CONFIRMATION' => 'Êtes-vous sûr de vouloir suspendre la tâche cron ?',
     'UNSUSPEND_CRON_CONFIRMATION' => 'Êtes-vous sûr de vouloir réactiver la tâche cron ?',
     'DELETE_BACKUP_CONFIRMATION'  => 'Êtes-vous sûr de vouloir supprimer la sauvergarde %s ?',
-    'DELETE_EXCLUSION_CONFIRMATION' => 'Êtes-vous sûr de vouloir supprimer l\'exclusion %s ?',
+    'DELETE_EXCLUSION_CONFIRMATION' => "Êtes-vous sûr de vouloir supprimer l'exclusion %s ?",
     'DELETE_PACKAGE_CONFIRMATION'  => 'Êtes-vous sûr de vouloir supprimer le paquet %s ?',
-    'DELETE_IP_CONFIRMATION'  => 'Êtes-vous sûr de vouloir supprimer l\'adresse IP %s ?',
+    'DELETE_IP_CONFIRMATION'  => "Êtes-vous sûr de vouloir supprimer l'adresse IP %s ?",
     'DELETE_RULE_CONFIRMATION' => 'Êtes-vous sûr de vouloir supprimer la règle #%s?',
     'SUSPEND_RULE_CONFIRMATION' => 'Êtes-vous sûr de vouloir suspendre la règle #%s?',
     'UNSUSPEND_RULE_CONFIRMATION' => 'Êtes-vous sûr de vouloir réactiver la règle #%s?',
@@ -429,38 +481,38 @@ $LANG['fr'] = array(
     'Welcome'  => 'Bienvenue',
     'LOGGED_IN_AS'  => 'Connecté en tant que %s',
     'Error'  => 'Erreur',
-    'Invalid username or password'  => 'Nom d\'utilisateur ou mot de passe invalide.',
-    'Invalid username or code'  => 'Nom d\'utilisateur ou code de confirmation invalide.',
+    'Invalid username or password'  => "Nom d'utilisateur ou mot de passe invalide.",
+    'Invalid username or code'  => "Nom d'utilisateur ou code de confirmation invalide.",
     'Passwords not match'  => 'Les mots de passe ne correspondent pas.',
     'Please enter valid email address.'  => 'Veuillez entrer une adresse email valide.',
     'Field "%s" can not be blank.'  => 'Le champ "%s" ne peut être vide.',
     'Password is too short.'  => 'Le mot de passe est trop court (6 caractères minimum)',
     'Error code:'  => 'Code erreur : %s',
     'SERVICE_ACTION_FAILED'  => '"%s" "%s" échouée',
-    'IP address is in use' => 'L\'adresse IP est en cours d\'utilisation',
+    'IP address is in use' => "L'adresse IP est en cours d'utilisation",
     'BACKUP_SCHEDULED'  => 'La tâche a bien été ajoutée à la liste. Vous recevrez un mail de confirmation lorsque la sauvegarde sera prête pour le téléchargement.',
-    'BACKUP_EXISTS'  => 'La création d\'une sauvegarde est déjà en cours. Veuillez attendre que celle-ci soit terminée.',
+    'BACKUP_EXISTS'  => "La création d'une sauvegarde est déjà en cours. Veuillez attendre que celle-ci soit terminée.",
     'RESTORE_SCHEDULED'  => 'La tâche a bien été ajoutée à la liste. Vous recevrez un mail de confirmation lorsque sera terminée.',
-    'RESTORE_EXISTS'  => 'La restauration d\'une sauvegarde est déjà en cours. Veuillez attendre que celle-ci soit terminée avant d\en lancer une nouvelle.',
+    'RESTORE_EXISTS'  => "La restauration d'une sauvegarde est déjà en cours. Veuillez attendre que celle-ci soit terminée avant d'en lancer une nouvelle.",
 
-    'WEB_EXCLUSIONS' => "Entrez les noms de domaines, un par ligne. Pour exclure tous les domaines utilisez *. Pour exclure des répertoires spécifiques utilisez le format suivant : domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Entrez les noms de domaines, un par ligne. Pour exclure tous les domaines utilisez *.",
-    'MAIL_EXCLUSIONS' => "Entrez les domaines, un par ligne. Pour exclure tous les domaines utilisez *. Pour exclure des comptes spécifiques utilisez le format suivant : domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Entrez le nom complet des bases de données, une par ligne. Pour exclure toutes les bases de données utilisez *.",
-    'CRON_EXCLUSIONS' => "Pour explure toutes les tâches utilisez *.",
-    'USER_EXCLUSIONS' => "Entrez les noms de répertoires, un par ligne. Pour exclure tous les répertoires utilisez *.",
+    'WEB_EXCLUSIONS' => 'Entrez les noms de domaines, un par ligne. Pour exclure tous les domaines utilisez *. Pour exclure des répertoires spécifiques utilisez le format suivant : domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Entrez les noms de domaines, un par ligne. Pour exclure tous les domaines utilisez *.',
+    'MAIL_EXCLUSIONS' => 'Entrez les domaines, un par ligne. Pour exclure tous les domaines utilisez *. Pour exclure des comptes spécifiques utilisez le format suivant : domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Entrez le nom complet des bases de données, une par ligne. Pour exclure toutes les bases de données utilisez *.',
+    'CRON_EXCLUSIONS' => 'Pour explure toutes les tâches utilisez *.',
+    'USER_EXCLUSIONS' => 'Entrez les noms de répertoires, un par ligne. Pour exclure tous les répertoires utilisez *.',
 
-    'Welcome to Vesta Control Panel'  => 'Bienvenue sur l\interface d\'administration Vesta CP',
+    'Welcome to Vesta Control Panel'  => "Bienvenue sur l'interface d'administration Vesta CP",
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
     'GREETINGS_GORDON_FREEMAN' => "Bonjour, %s %s,\n",
     'GREETINGS' => "Bonjour,\n",
-    'ACCOUNT_READY' => "Votre compte a été créé avec succès et est prêt à l\'emploi.\n\nhttps://%s/login/\nUtilisateur : %s\nMot de Passe : %s\n\n--\nVesta Control Panel\n",
+    'ACCOUNT_READY' => "Votre compte a été créé avec succès et est prêt à l'emploi.\n\nhttps://%s/login/\nUtilisateur : %s\nMot de Passe : %s\n\n--\nVesta Control Panel\n",
 
     'FTP login credentials'  => 'Identifiants de connexion FTP',
-    'FTP_ACCOUNT_READY' => "Le compte FTP a été créé avec succès et est prêt à l\'emploi.\n\nHôte : %s\nUtilisateur : %s_%s\nMot de Passe : %s\n\n--\nVesta Control Panel\n",
+    'FTP_ACCOUNT_READY' => "Le compte FTP a été créé avec succès et est prêt à l'emploi.\n\nHôte : %s\nUtilisateur : %s_%s\nMot de Passe : %s\n\n--\nVesta Control Panel\n",
 
     'Database Credentials'  => 'Identifiants de connexion à la Base de Données',
-    'DATABASE_READY' => "La base de données a été créée avec succès et est prête à l\'emploi.\n\nBase de Données : %s\nUtilisateur : %s\nMot de Passe: %s\n%s\n\n--\nVesta Control Panel\n",
+    'DATABASE_READY' => "La base de données a été créée avec succès et est prête à l'emploi.\n\nBase de Données : %s\nUtilisateur : %s\nMot de Passe: %s\n%s\n\n--\nVesta Control Panel\n",
 
     'forgot password'  => 'mot de passe oublié',
     'Confirm'  => 'Confirmer',
@@ -468,7 +520,7 @@ $LANG['fr'] = array(
     'Confirm Password'  => 'Confirmer le mot de passe',
     'Reset'  => 'Réinitialiser',
     'Reset Code'  => 'Code de Réinitialisation',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Un Code de Réinitialisation de votre mot de passe a été envoyé à votre adresse email<br>',
     'MAIL_RESET_SUBJECT'  => 'Réinitialisation du mot de passe de %s',
     'PASSWORD_RESET_REQUEST' => "Pour réinitialiser votre mot de passe, veuillez suivre le lien suivant :\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nSinon, vous pouvez suivre https://%s/reset/?action=code&user=%s et entrer le code de réinitialisation suivant :\n%s\n\nSi vous n'avez pas demandé la réinitialisation de votre mot de passe, veuillez ignorer ce message. Nous vous prions de nous excuser pour la gène occasionnée.\n\n--\nVesta Control Panel\n",
@@ -490,6 +542,29 @@ $LANG['fr'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => 'Langage par défaut',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'Quota du Système de Fichiers',
     'Vesta Control Panel Plugins' => 'Plugins Vesta Control Panel',
     'preview' => 'prévisualisation',
@@ -505,8 +580,8 @@ $LANG['fr'] = array(
     'Starred' => 'Favoris',
     'Name' => 'Nom',
 
+
     'File Manager' => 'Fichiers',
-    'type' => 'type',
     'size' => 'taille',
     'date' => 'date',
     'name' => 'nom',
@@ -516,10 +591,12 @@ $LANG['fr'] = array(
     'NEW DIR' => 'RÉP.',
     'DELETE' => 'SUPPR',
     'RENAME' => 'RENOMMER',
+    'RIGHTS' => 'RIGHTS',
     'COPY' => 'COPIER',
     'ARCHIVE' => 'ARCHIVER',
     'EXTRACT' => 'EXTRAIRE',
     'DOWNLOAD' => 'TÉLÉCHARGER',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -534,11 +611,16 @@ $LANG['fr'] = array(
     'Copy' => 'Copier',
     'Cancel' => 'Annuler',
     'Rename' => 'Renommer',
+    'Change Rights' => 'Change Rights',
     'Delete' => 'Supprimer',
     'Extract' => 'Extraire',
     'Create' => 'Créer',
     'Compress' => 'Compresser',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -548,45 +630,54 @@ $LANG['fr'] = array(
     'already exists' => 'existe déjà',
     'Create file' => 'Créer fichier',
     'Create directory' => 'Créer répertoire',
+    'read by owner' => 'read by owner',
+    'write by owner' => 'write by owner',
+    'execute/search by owner' => 'execute/search by owner',
+    'read by group' => 'read by group',
+    'write by group' => 'write by group',
+    'execute/search by group' => 'execute/search by group',
+    'read by others' => 'read by others',
+    'write by others' => 'write by others',
+    'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Ajouter un nouvel élément',
     'Save Form' => 'Sauvegarder le formulaire',
     'Cancel saving form' => 'Annuler la sauvegarde du formulaire',
-    'Go to USER list' => 'Afficher l\'onglet USER',
-    'Go to WEB list' => 'Afficher l\'onglet WEB',
-    'Go to DNS list' => 'Afficher l\'onglet DNS',
-    'Go to MAIL list' => 'Afficher l\'onglet MAIL',
-    'Go to DB list' => 'Afficher l\'onglet DB',
-    'Go to CRON list' => 'Afficher l\'onglet CRON',
-    'Go to BACKUP list' => 'Afficher l\'onglet BACKUP',
+    'Go to USER list' => "Afficher l'onglet USER",
+    'Go to WEB list' => "Afficher l'onglet WEB",
+    'Go to DNS list' => "Afficher l'onglet DNS",
+    'Go to MAIL list' => "Afficher l'onglet MAIL",
+    'Go to DB list' => "Afficher l'onglet DB",
+    'Go to CRON list' => "Afficher l'onglet CRON",
+    'Go to BACKUP list' => "Afficher l'onglet BACKUP",
     'Focus on search' => 'Focus sur la case Recherche',
     'Display/Close shortcuts' => 'Afficher/masquer les raccourcis',
     'Move backward through top menu' => 'Se déplacer en arrière dans le menu principal',
     'Move forward through top menu' => 'Se déplacer en avant dans le menu principal',
-    'Enter focused element' => 'Entrer dans l\'élément actif',
+    'Enter focused element' => "Entrer dans l'élément actif",
+    'Move up through elements list' => 'Move up through elements list',
+    'Move down through elements list' => 'Move down through elements list',
 
     'Upload' => 'Charger',
     'New File' => 'Nouveau fichier',
     'New Folder' => 'Nouveau répertoire',
     'Download' => 'Télécharger',
-    'Rename' => 'Renommer',
-    'Copy' => 'Copier',
     'Archive' => 'Archiver',
-    'Delete' => 'Supprimer',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Fermer Popup / Annuler',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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',
@@ -604,9 +695,6 @@ $LANG['fr'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -628,7 +716,13 @@ $LANG['fr'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
 
-);
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
+
+// Texts below doesn't exist in en.php
+    'disk' => 'disque',
+    'traffic' => 'traffic',
+);

+ 109 - 32
web/inc/i18n/hu.php

@@ -15,8 +15,8 @@ $LANG['hu'] = array(
     'Statistics'  => 'Statisztikák',
     'Log'  => 'Naplók',
     'Server'  => 'Szerver',
-    'Firewall' => 'Tűzfal',
     'Services'  => 'Szolgáltatások',
+    'Firewall' => 'Tűzfal',
     'Updates'  => 'Frissítések',
     'Log in'  => 'Belépés',
     'Log out'  => 'Kilépés',
@@ -29,6 +29,21 @@ $LANG['hu'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'MENTÉS',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Új felhasználó',
     'Add Domain'  => 'Új domain',
     'Add Web Domain'  => 'Új Web Domain',
@@ -45,8 +60,8 @@ $LANG['hu'] = array(
     'Add IP'  => 'Új IP',
     'Add Rule' => 'Új tűzfal szabály',
     'Ban IP Address' => 'IP cím tiltása',
-    'Add one more FTP Account' => 'Új FTP hozzáférés',
     'Search'  => 'Keresés',
+    'Add one more FTP Account' => 'Új FTP hozzáférés',
     'Overall Statistics'  => 'Átfogó statisztikák',
     'Daily'  => 'Napi',
     'Weekly'  => 'Heti',
@@ -164,13 +179,14 @@ $LANG['hu'] = array(
     'Web Aliases'  => 'Web alias',
     'per domain'  => 'domainenként',
     'DNS Domains'  => 'DNS domain',
-    'DNS Domains'  => 'DNS domain',
-    'DNS records'   => 'DNS record'  ,
+    'DNS domains'  => 'DNS domain',
+    'DNS records'   => 'DNS record',
     'Name Servers'  => 'Névszerverek',
     'Mail Domains'  => 'Mail domain',
     'Mail Accounts'  => 'Mail fiók',
     'Cron Jobs'  => 'Cron feladat',
     'SSH Access'  => 'SSH hozzáférés',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP cím',
     'Backups'  => 'Mentés',
     'Backup System'  => 'Mentési rendszer',
@@ -182,10 +198,12 @@ $LANG['hu'] = array(
     'Proxy Extensions'  => 'Proxy kiterjesztések',
     'Web Statistics'  => 'Web statisztikák',
     'Additional FTP Account'  => 'Hozzáadott FTP',
+    'Path' => 'Útvonal',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Lejár',
     'Records'  => 'Rekordok',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Catchall e-mail',
     'AntiVirus Support'  => 'AntiVirus támogatás',
     'AntiSpam Support'  => 'AntiSpam támogatás',
@@ -195,6 +213,16 @@ $LANG['hu'] = array(
     'Autoreply'  => 'Automatikus válasz',
     'Forward to'  => 'Továbbítás',
     'Do not store forwarded mail' => 'Továbbított e-mailek mentésének tiltása',
+    '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'  => 'adatbázis',
     'User'  => 'Felhasználó',
     'Host'  => 'Adatbázis szerver',
@@ -216,12 +244,12 @@ $LANG['hu'] = array(
     'Users'  => 'Felhasználók',
     'Load Average'  => 'Átlag terhelés',
     'Memory Usage'  => 'Memória használat',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD használat',
     'NGINX Usage'  => 'NGINX használat',
     'MySQL Usage on localhost'  => 'MySQL használat a localhoston',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL használat a localhoston',
     'Bandwidth Usage eth0'  => 'eth0 sávszélesség használat',
-    'Bandwidth Usage eth1' => 'eth1 sávszélesség használat',
     'Exim Usage' => 'Exim használat',
     'FTP Usage'  => 'FTP használat',
     'SSH Usage'  => 'SSH használat',
@@ -234,9 +262,9 @@ $LANG['hu'] = array(
     'email antispam'  => 'e-mail antispam',
     'database server'  => 'adatbázis szerver',
     'ftp server'  => 'ftp szerver',
-    'brute-force monitor' => 'betörésvédelem',
-    'firewall' => 'tűzfal',
     'job scheduler'  => 'job ütemező',
+    'firewall' => 'tűzfal',
+    'brute-force monitor' => 'betörésvédelem',
     'CPU'  => 'CPU',
     'Memory'  => 'Memória',
     'Uptime'  => 'Futási idő',
@@ -247,7 +275,6 @@ $LANG['hu'] = array(
     'Release'  => 'Kiadás',
     'Architecture'  => 'Architektúra',
     'Object'  => 'Objektum',
-    'Owner'  => 'Tulajdonos',
     'Username'  => 'Felhasználónév',
     'Password'  => 'Jelszó',
     'Email'  => 'E-mail',
@@ -274,7 +301,6 @@ $LANG['hu'] = array(
     'Account'  => 'Fiók',
     'Prefix will be automaticaly added to username'  => 'A(z) %s előtag automatikusan hozzáadásra kerül a felhasználónévhez.',
     'Send FTP credentials to email'  => 'FTP adatok küldése e-mailben',
-    'Path' => 'Útvonal',
     'Expiration Date'  => 'Lejárati dárum',
     'YYYY-MM-DD'  => 'ÉÉÉÉ-HH-NN',
     'Name servers'  => 'Névszerverek',
@@ -342,6 +368,8 @@ $LANG['hu'] = array(
     'ftp user password'  => 'ftp felhasználónév',
     'ftp user'  => 'ftp felhasználó',
     'Last 70 lines of %s.%s.log' => 'A %s.%s.log utolsó 70 sora',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'AccessLog letöltése',
     'Download ErrorLog' => 'ErrorLog letöltése',
     'Country' => 'Ország',
@@ -356,8 +384,26 @@ $LANG['hu'] = array(
     'Banlist' => 'Banlista',
     'ranges are acceptable' => 'tartományok használata megengedett',
     'CIDR format is supported' => 'a CIDR formátum támogatott',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'végtelen',
     '1 account'  => '1 fiók',
     '%s accounts'  => '%s fiók',
@@ -373,6 +419,8 @@ $LANG['hu'] = array(
     '%s cron jobs'  => '%s cron job',
     '1 archive'  => '1 archívum',
     '%s archives'  => '%s archívum',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 csomag',
     '%s packages'  => '%s csomag',
     '1 IP address'  => '1 IP cím',
@@ -400,6 +448,7 @@ $LANG['hu'] = array(
     'PACKAGE_CREATED_OK'  => 'A(z) <a href="/edit/package/?package=%s"><b>%s</b></a> csomag sikeresen létrehozva.',
     'SSL_GENERATED_OK' => 'A tanúsítvány sikeresen létrehozva.',
     'RULE_CREATED_OK' => 'Szabály sikeresen létrehozva.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Az automatikus frissítés bekapcsolva.',
     'Autoupdate has been successfully disabled' => 'Az automatikus frissítés kikapcsolva.',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob e-mail jelentés bekapcsolva.',
@@ -430,8 +479,8 @@ $LANG['hu'] = array(
     'DELETE_IP_CONFIRMATION'  => 'Biztos, hogy törlöd a(z) IP címet?',
     'DELETE_RULE_CONFIRMATION' => 'Biztos, hogy törlöd a #%s szabályok?',
     'SUSPEND_RULE_CONFIRMATION' => 'Biztos, hogy felfüggeszted a #%s szabályok?',
-    'LEAVE_PAGE_CONFIRMATION' => 'Leave Page?',
     'UNSUSPEND_RULE_CONFIRMATION' => 'Biztos, hogy újra szeretnéd aktiválni a #%s szabályok?',
+    'LEAVE_PAGE_CONFIRMATION' => 'Leave Page?',
     'RESTART_CONFIRMATION' => 'Are you sure you want to restart %s?',
     'Welcome'  => 'Üdvözöljük',
     'LOGGED_IN_AS'  => 'Belépve, mint %s',
@@ -450,12 +499,12 @@ $LANG['hu'] = array(
     'RESTORE_SCHEDULED'  => 'A feladat a végrehajtási sorba került. A mentés elkészültéről e-mail értesítést fogunk küldeni.',
     'RESTORE_EXISTS'  => 'Egy visszaállítás már folyamatban van. Kérlek várj, míg elkészül.',
 
-    'WEB_EXCLUSIONS' => "Írd be a domain nevet, soronként egyet. Az összes kihagyásához használj "*" -ot. Adott könyvtár kihagyásához használd a következő formátumot: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Írd be a domain nevet, soronként egyet. Az összes kihagyásához használj "*" -ot.",
-    'MAIL_EXCLUSIONS' => "Írd be a domain nevet, soronként egyet. Az összes domain kihagyásához használj "*" -ot. Adott fiók kihagyásához használd a következő formátumot: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Írd be az adatbázis teljes nevét, soronként egyet. Az összes adatbázis kihagyásához használj "*" -ot",
-    'CRON_EXCLUSIONS' => "Az összes job kihagyásához használj "*" -ot.",
-    'USER_EXCLUSIONS' => "Írd be a könyvtár nevét, soronként egyet. Az összes kihagyásához használj "*" -ot.",
+    'WEB_EXCLUSIONS' => 'Írd be a domain nevet, soronként egyet. Az összes kihagyásához használj ',
+    'DNS_EXCLUSIONS' => 'Írd be a domain nevet, soronként egyet. Az összes kihagyásához használj ',
+    'MAIL_EXCLUSIONS' => 'Írd be a domain nevet, soronként egyet. Az összes domain kihagyásához használj ',
+    'DB_EXCLUSIONS' => 'Írd be az adatbázis teljes nevét, soronként egyet. Az összes adatbázis kihagyásához használj ',
+    'CRON_EXCLUSIONS' => 'Az összes job kihagyásához használj ',
+    'USER_EXCLUSIONS' => 'Írd be a könyvtár nevét, soronként egyet. Az összes kihagyásához használj ',
 
     'Welcome to Vesta Control Panel'  => 'Üdvözli a Vesta Control Panel!',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
@@ -475,7 +524,7 @@ $LANG['hu'] = array(
     'Confirm Password'  => 'Jelszó megerősítése',
     'Reset'  => 'Visszaállít',
     'Reset Code'  => 'Kód újragenerálása',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'A jelszó visszaállításhoz szükséges kód elküldésre került az e-mail címedre<br>',
     'MAIL_RESET_SUBJECT'  => 'Jelszó újragenerálás %s -kor',
     'PASSWORD_RESET_REQUEST' => "A panel jelszavad visszaállításához kattints a következő linkre:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternatively, vagy használd a következőt https://%s/reset/?action=code&user=%s és írd be a kódot:\n%s\n\nHa nem Te kérted a visszaállítást, kérlek hagyd figyelmen kívül ezt a levelet.\n\n--\nKezelőfelület\n",
@@ -497,6 +546,29 @@ $LANG['hu'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Időzóna',
     'Default Language' => 'Alapértelmezett nyelv',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'Fájlrendszer kvóta',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Pluginek',
     'preview' => 'előnézet',
@@ -512,8 +584,8 @@ $LANG['hu'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -528,6 +600,7 @@ $LANG['hu'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -548,6 +621,10 @@ $LANG['hu'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -567,6 +644,7 @@ $LANG['hu'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -589,26 +667,23 @@ $LANG['hu'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -624,9 +699,6 @@ $LANG['hu'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -648,7 +720,12 @@ $LANG['hu'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
 
-);
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
+
+// Texts below doesn't exist in en.php
+    'Bandwidth Usage eth1' => 'eth1 sávszélesség használat',
+);

+ 131 - 28
web/inc/i18n/id.php

@@ -28,13 +28,28 @@ $LANG['id'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'CADANGAN',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Tambah Pengguna',
     'Add Domain'  => 'Tambah Domain',
     'Add Web Domain'  => 'Tambah Domain Web',
     'Add DNS Domain'  => 'Tambah Domain DNS ',
     'Add DNS Record'  => 'Tambah Record DNS',
     'Add Mail Domain'  => 'Tambah Domain Mail',
-    'Add Mail Account'  => 'Tambah Pengguna Mail' ,
+    'Add Mail Account'  => 'Tambah Pengguna Mail',
     'Add Database'  => 'Tambah Basis Data',
     'Add Cron Job'  => 'Tambah Cron Job',
     'Create Backup'  => 'Buat Cadangan',
@@ -44,8 +59,8 @@ $LANG['id'] = array(
     'Add IP'  => 'Tambah IP',
     'Add Rule' => 'Tambah Aturan',
     'Ban IP Address' => 'Memblokir IP',
-    'Add one more FTP Account' => 'Tambah satu lagi Pengguna FTP',
     'Search'  => 'Cari',
+    'Add one more FTP Account' => 'Tambah satu lagi Pengguna FTP',
     'Overall Statistics'  => 'Seluruh Statistik',
     'Daily'  => 'Harian',
     'Weekly'  => 'Mingguan',
@@ -163,13 +178,14 @@ $LANG['id'] = array(
     'Web Aliases'  => 'Web Aliases',
     'per domain'  => 'per domain',
     'DNS Domains'  => 'DNS Domains',
-    'DNS Domains'  => 'DNS Domains',
-    'DNS records'   => 'DNS records'  ,
+    'DNS domains'  => 'DNS domains',
+    'DNS records'   => 'DNS records',
     'Name Servers'  => 'Name Servers',
     'Mail Domains'  => 'Mail Domains',
     'Mail Accounts'  => 'Para Pengguna Mail',
     'Cron Jobs'  => 'Cron Jobs',
     'SSH Access'  => 'Akses SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Alamat IP',
     'Backups'  => 'Cadangkan',
     'Backup System'  => 'Cadangkan System',
@@ -181,10 +197,12 @@ $LANG['id'] = array(
     'Proxy Extensions'  => 'Ekstensi Proxy',
     'Web Statistics'  => 'Statistik Web',
     'Additional FTP Account'  => 'FTP Tambahan',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Kadarluasa',
     'Records'  => 'Records',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Catchall email',
     'AntiVirus Support'  => 'Dukungan AntiVirus',
     'AntiSpam Support'  => 'Dukungan AntiSpam',
@@ -194,6 +212,16 @@ $LANG['id'] = array(
     'Autoreply'  => 'Balasan Otomatis',
     'Forward to'  => 'Teruskan ke',
     'Do not store forwarded mail' => 'Email terusan-nya jangan disimpan',
+    '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'  => 'basisdata',
     'User'  => 'Pengguna',
     'Host'  => 'Host',
@@ -215,11 +243,13 @@ $LANG['id'] = array(
     'Users'  => 'Para Pengguna',
     'Load Average'  => 'Rata2 Pemuatan',
     'Memory Usage'  => 'Penggunaan Memori',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'Penggunaan HTTPD',
     'NGINX Usage'  => 'Penggunaan NGINX',
     'MySQL Usage on localhost'  => 'Penggunaan MySQL di localhost',
     'PostgreSQL Usage on localhost'  => 'Penggunaan PostgreSQL di localhost',
     'Bandwidth Usage eth0'  => 'Penggunaan Bandwidth eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'Penggunaan FTP',
     'SSH Usage'  => 'Penggunaan SSH',
     'reverse proxy'  => 'reverse proxy',
@@ -232,6 +262,8 @@ $LANG['id'] = array(
     'database server'  => 'server basisdata',
     'ftp server'  => 'server ftp',
     'job scheduler'  => 'jadwal pekerjaan',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Memori',
     'Uptime'  => 'Uptime',
@@ -242,7 +274,6 @@ $LANG['id'] = array(
     'Release'  => 'Rilis',
     'Architecture'  => 'Arsitektur',
     'Object'  => 'Objek',
-    'Owner'  => 'Pemilik',
     'Username'  => 'Nama Pengguna',
     'Password'  => 'Katakunci',
     'Email'  => 'Email',
@@ -312,7 +343,7 @@ $LANG['id'] = array(
     'jobs'  => 'jobs',
     'username'  => 'namapengguna',
     'password'  => 'katakunci',
-    'type'  => 'jenis',
+    'type'  => 'tipe',
     'charset'  => 'charset',
     'domain'  => 'domain',
     'ip'  => 'ip',
@@ -336,6 +367,8 @@ $LANG['id'] = array(
     'ftp user password'  => 'ftp namapengguna katakunci',
     'ftp user'  => 'ftp pengguna',
     'Last 70 lines of %s.%s.log' => '70 baris terakhir dari %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Unduh AccessLog',
     'Download ErrorLog' => 'Unduh ErrorLog',
     'Country' => 'Negara',
@@ -350,8 +383,26 @@ $LANG['id'] = array(
     'Banlist' => 'Banlist',
     'ranges are acceptable' => 'rentang yang diperbolehkan',
     'CIDR format is supported' => 'Format CIDR didukung',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'tidak terbatas',
     '1 account'  => '1 pengguna',
     '%s accounts'  => '%s pengguna',
@@ -367,6 +418,8 @@ $LANG['id'] = array(
     '%s cron jobs'  => '%s cron jobs',
     '1 archive'  => '1 arsip',
     '%s archives'  => '%s arsip',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 paket',
     '%s packages'  => '%s paket',
     '1 IP address'  => '1 alamat IP',
@@ -394,6 +447,7 @@ $LANG['id'] = array(
     'PACKAGE_CREATED_OK'  => 'Paket <a href="/edit/package/?package=%s"><b>%s</b></a> udah berhasil dibikin.',
     'SSL_GENERATED_OK' => 'Sertifikat udah berhasil dihasilkan.',
     'RULE_CREATED_OK' => 'Aturan udah berhasil dibikin.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate sukses diaktifkan',
     'Autoupdate has been successfully disabled' => 'Autoupdate telah dinonaktifkan',
     'Cronjob email reporting has been successfully enabled' => 'Pelaporan cronjob telah berhasil diaktifkan',
@@ -444,12 +498,12 @@ $LANG['id'] = array(
     'RESTORE_SCHEDULED'  => 'Tugas udah ditambahin ke antrian. Nanti email pemberitahuan dikirim kalo backup-an sudah siap di unduh.',
     'RESTORE_EXISTS'  => 'Tugas pengembalian lagi jalan. Tunggu ampe selesai baru jalanin lagi.',
 
-    'WEB_EXCLUSIONS' => "Ketik nama domain, satu domain perbaris. Untuk pengecualian semua domain gunakan karakter *. Untuk  pengecualian spesifik direktori gunakan format : domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Ketik nama domain, satu domain perbaris. Untuk pengecualian semua domain gunakan karakter *.",
-    'MAIL_EXCLUSIONS' => "Ketik nama domain, satu domain perbaris. Untuk pengecualian semua domain gunakan karakter *. Untuk  pengecualian spesifik direktori gunakan format : domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Ketik nama database, satu database  per baris. Untuk pengecualian semua databases gunakan *",
-    'CRON_EXCLUSIONS' => "Untuk pengecualian semua JOBS gunakan *",
-    'USER_EXCLUSIONS' => "Ketik nama direktori, satu direktori per baris. Untuk pengecualian semua direktori gunakan karakter *",
+    'WEB_EXCLUSIONS' => 'Ketik nama domain, satu domain perbaris. Untuk pengecualian semua domain gunakan karakter *. Untuk  pengecualian spesifik direktori gunakan format : domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Ketik nama domain, satu domain perbaris. Untuk pengecualian semua domain gunakan karakter *.',
+    'MAIL_EXCLUSIONS' => 'Ketik nama domain, satu domain perbaris. Untuk pengecualian semua domain gunakan karakter *. Untuk  pengecualian spesifik direktori gunakan format : domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Ketik nama database, satu database  per baris. Untuk pengecualian semua databases gunakan *',
+    'CRON_EXCLUSIONS' => 'Untuk pengecualian semua JOBS gunakan *',
+    'USER_EXCLUSIONS' => 'Ketik nama direktori, satu direktori per baris. Untuk pengecualian semua direktori gunakan karakter *',
 
     'Welcome to Vesta Control Panel'  => 'Selamat datang di Panel Kontrol Vesta',
     'MAIL_FROM'  => 'Panel Kontrol Vesta <noreply@%s>',
@@ -469,7 +523,7 @@ $LANG['id'] = array(
     'Confirm Password'  => 'Konfirmasi Katakunci',
     'Reset'  => 'Reset',
     'Reset Code'  => 'Reset Kode',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Kode katakunci buat me-reset udah dikirim ke email<br>',
     'MAIL_RESET_SUBJECT'  => 'Katakunci di-reset pada %s',
     'PASSWORD_RESET_REQUEST' => "Kalo mau reset katakunci panel kontrol, klik aja tautan ini:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternatively, kalo ngga ke https://%s/reset/?action=code&user=%s terus masukin kode reset-nya:\n%s\n\nKalau emang kamu ga minta reset katakunci pesan ini abaikan aja, dan maaf ya....\n\n--\nPanel Kontrol Vesta\n",
@@ -491,6 +545,29 @@ $LANG['id'] = array(
     'Hostname' => 'Nama Host',
     'Time Zone' => 'Zona Waktu',
     'Default Language' => 'Standar Bahasa',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'pratinjau',
@@ -506,8 +583,8 @@ $LANG['id'] = array(
     'Starred' => 'Bintangi',
     'Name' => 'Nama',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'tipe',
     'size' => 'ukuran',
     'date' => 'tanggal',
     'name' => 'nama',
@@ -517,10 +594,12 @@ $LANG['id'] = array(
     'NEW DIR' => 'DIREKTORI BARU',
     'DELETE' => 'HAPUS',
     'RENAME' => 'GANTI',
+    'RIGHTS' => 'RIGHTS',
     'COPY' => 'SALIN',
     'ARCHIVE' => 'ARSIP',
     'EXTRACT' => 'EKSTRAK',
     'DOWNLOAD' => 'UNDUH',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'untuk memuat ulang halaman',
     'Directory name cannot be empty' => 'Nama Directory ga boleh kosong',
@@ -534,12 +613,17 @@ $LANG['id'] = array(
     'Close' => 'Tutup',
     'Copy' => 'Salin',
     'Cancel' => 'Batal',
-    'Rename' => 'Ubah',
+    'Rename' => 'Ganti nama',
+    'Change Rights' => 'Change Rights',
     'Delete' => 'Hapus',
     'Extract' => 'Ekstrak',
     'Create' => 'Buat',
     'Compress' => 'Kompres',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Yakin mau disalin',
     'Are you sure you want to delete' => 'Yakin mau dihapus',
     'into' => 'ke',
@@ -549,7 +633,17 @@ $LANG['id'] = array(
     'already exists' => 'sudah ada',
     'Create file' => 'Bikin file',
     'Create directory' => 'Bikin direktori',
+    'read by owner' => 'read by owner',
+    'write by owner' => 'write by owner',
+    'execute/search by owner' => 'execute/search by owner',
+    'read by group' => 'read by group',
+    'write by group' => 'write by group',
+    'execute/search by group' => 'execute/search by group',
+    'read by others' => 'read by others',
+    'write by others' => 'write by others',
+    'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Tambah objek baru',
     'Save Form' => 'Simpan Formulir',
     'Cancel saving form' => 'Batalkan penyimpanan form',
@@ -565,38 +659,45 @@ $LANG['id'] = array(
     'Move backward through top menu' => 'Pindah ke sebelumnya lewat menu atas',
     'Move forward through top menu' => 'Pindah ke setelahnya lewat menu atas',
     'Enter focused element' => 'Masuk ke fokus elemen',
+    'Move up through elements list' => 'Move up through elements list',
+    'Move down through elements list' => 'Move down through elements list',
 
     'Upload' => 'Unggah',
     'New File' => 'File baru',
     'New Folder' => 'Folder baru',
     'Download' => 'Unduh',
-    'Rename' => 'Ganti nama',
-    'Copy' => 'Salin',
     'Archive' => 'Arsip',
-    'Delete' => 'Hapus',
     'Save File (in text editor)' => 'Simpan File (di text editor)',
     'Close Popup / Cancel' => 'Tutup Popup / Batal',
     'Move Cursor Up' => 'Pindahkan kursur keatas',
-    'Move Cursor Dow' => 'Pindahkan kursur kebawah',
+    'Move Cursor Down' => 'Pindahkan kursur kebawah',
     'Switch to Left Tab' => 'Pindah ke tab kiri',
     'Switch to Right Tab' => 'Pindah ke tab kanan',
     'Switch Tab' => 'Pindah Tab',
-    'Go to the Top of File List' => 'Pindah Ke atas dari Daftar File',
+    'Go to the Top of the File List' => 'Pindah Ke atas dari Daftar File',
     'Go to the Last File' => 'Pindah File terakhir',
-    'Open File/Enter Directory' => 'Buka File/Masuk ke Directory',
+    'Open File / Enter Directory' => 'Buka File/Masuk ke Directory',
     'Go to Parent Directory' => 'Ke Parent Directory',
     'Select Current File' => 'Pilih File ini',
     'Select Bunch of Files' => 'Pilih Bunch of Files',
-    'Append File to the Current Selection' => 'Tambahkan File di Seleksi ini',
+    'Add File to the Current Selection' => 'Tambahkan File di Seleksi ini',
     'Select All Files' => 'Pilih semua file',
-    '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' =>
         'jalan pintas terinspirasi oleh magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
+    'Licence Key' => 'Licence Key',
+    'Enter License Key' => 'Enter License Key',
+    'Buy Licence' => 'Buy Licence',
+    'Buy Lifetime License' => 'Buy Lifetime License',
+    'Disable and Cancel Licence' => 'Disable and Cancel Licence',
+    'Licence Activated' => 'Licence Activated',
+    'Licence Deactivated' => 'Licence Deactivated',
+    'Restrict users so that they cannot use SSH and access only their home directory.' => 'Restrict users so that they cannot use SSH and access only their home directory.',
+    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => '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.' => 'This is a commercial module, you would need to purchace license key to enable it.',
+
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -618,7 +719,9 @@ $LANG['id'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 118 - 39
web/inc/i18n/it.php

@@ -26,6 +26,21 @@ $LANG['it'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Nuovo Utente',
     'Add Domain'  => 'Nuovo Dominio',
     'Add Web Domain'  => 'Nuovo Dominio',
@@ -161,13 +176,14 @@ $LANG['it'] = array(
     'Web Aliases'  => 'Alias Web',
     'per domain'  => 'per dominio',
     'DNS Domains'  => 'Zone DNS',
-    'DNS Domains'  => 'Zone DNS',
+    'DNS domains'  => 'Zone DNS',
     'DNS records'   => 'Record DNS',
     'Name Servers'  => 'Name Servers',
     'Mail Domains'  => 'Domini Mail',
     'Mail Accounts'  => 'Account Mail',
     'Cron Jobs'  => 'Cron Jobs',
     'SSH Access'  => 'Accesso SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Indirizzi IP',
     'Backups'  => 'Backups',
     'Backup System'  => 'Sistema Backup',
@@ -179,10 +195,12 @@ $LANG['it'] = array(
     'Proxy Extensions'  => 'Estensioni Proxy',
     'Web Statistics'  => 'Statistiche Web',
     'Additional FTP Account'  => 'FTP Addizionali',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Scadenza',
     'Records'  => 'Record',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Catchall email',
     'AntiVirus Support'  => 'Supporto AntiVirus',
     'AntiSpam Support'  => 'Supporto AntiSpam',
@@ -192,6 +210,16 @@ $LANG['it'] = array(
     'Autoreply'  => 'Autorisposta',
     'Forward to'  => 'Inoltra a',
     'Do not store forwarded mail' => 'Non salvare le email inoltrate',
+    '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'  => 'database',
     'User'  => 'Utente',
     'Host'  => 'Host',
@@ -213,11 +241,13 @@ $LANG['it'] = array(
     'Users'  => 'Utenti',
     'Load Average'  => 'Carico Medio',
     'Memory Usage'  => 'Uso Memoria',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'Utilizzo HTTPD',
     'NGINX Usage'  => 'Utilizzo NGINX',
     'MySQL Usage on localhost'  => 'Utilizzo MySQL su localhost',
     'PostgreSQL Usage on localhost'  => 'Utilizzo PostgreSQL su localhost',
     'Bandwidth Usage eth0'  => 'Utilizzo banda su eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'Utilizzo FTP',
     'SSH Usage'  => 'Utilizzo SSH',
     'reverse proxy'  => 'reverse proxy',
@@ -230,6 +260,8 @@ $LANG['it'] = array(
     'database server'  => 'database server',
     'ftp server'  => 'ftp server',
     'job scheduler'  => 'job scheduler',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Memoria',
     'Uptime'  => 'Uptime',
@@ -240,7 +272,6 @@ $LANG['it'] = array(
     'Release'  => 'Release',
     'Architecture'  => 'Architettura',
     'Object'  => 'Oggetto',
-    'Owner'  => 'Proprietario',
     'Username'  => 'Username',
     'Password'  => 'Password',
     'Email'  => 'Email',
@@ -265,7 +296,7 @@ $LANG['it'] = array(
     'Statistics Authorization'  => 'Autorizzazione Statistiche',
     'Statistics Auth'  => 'Statistiche Auth',
     'Account'  => 'Account',
-    'Prefix will be automaticaly added to username'  => 'Il prefisso %s verrà automatiamente aggiunto all\'username',
+    'Prefix will be automaticaly added to username'  => "Il prefisso %s verrà automatiamente aggiunto all'username",
     'Send FTP credentials to email'  => 'Invia le credenziali FTP per email',
     'Expiration Date'  => 'Data di scadenza',
     'YYYY-MM-DD'  => 'YYYY-MM-DD',
@@ -278,7 +309,7 @@ $LANG['it'] = array(
     'Message'  => 'Messaggio',
     'use local-part'  => 'usa local-part',
     'one or more email addresses'  => 'uno o più indirizzi email',
-    'Prefix will be automaticaly added to database name and database user'  => 'Il prefisso %s verrà automatiamente aggiunto al nome e all\'utente del database',
+    'Prefix will be automaticaly added to database name and database user'  => "Il prefisso %s verrà automatiamente aggiunto al nome e all'utente del database",
     'Database'  => 'Database',
     'Type'  => 'Tipo',
     'Minute'  => 'Minuto',
@@ -334,6 +365,8 @@ $LANG['it'] = array(
     'ftp user password'  => 'ftp user password',
     'ftp user'  => 'ftp user',
     'Last 70 lines of %s.%s.log' => 'Ultime 70 righe di %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Download AccessLog',
     'Download ErrorLog' => 'Download ErrorLog',
     'Country' => 'Paese',
@@ -348,8 +381,26 @@ $LANG['it'] = array(
     'Banlist' => 'Banlista',
     'ranges are acceptable' => 'gamme sono ammessi',
     'CIDR format is supported' => 'formato CIDR e supportato',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 account',
     '%s accounts'  => '%s account',
@@ -365,6 +416,8 @@ $LANG['it'] = array(
     '%s cron jobs'  => '%s cron jobs',
     '1 archive'  => '1 archivio',
     '%s archives'  => '%s archivi',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 pacchetto',
     '%s packages'  => '%s pacchetti',
     '1 IP address'  => '1 indirizzo IP',
@@ -392,15 +445,16 @@ $LANG['it'] = array(
     'PACKAGE_CREATED_OK'  => 'Il pacchetto <a href="/edit/package/?package=%s"><b>%s</b></a> è stato creato con successo.',
     'SSL_GENERATED_OK' => 'Il certificato e stato generato con successo.',
     'RULE_CREATED_OK' => 'Regola e stato creato con successo.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Gli aggiornamenti automatici sono stati abilitati',
     'Autoupdate has been successfully disabled' => 'Gli aggiornamenti automatici sono stati disabilitati',
     'Cronjob email reporting has been successfully enabled' => 'Rendicontazione cronjob sono stati abilitati',
     'Cronjob email reporting has been successfully disabled' => 'Rendicontazione cronjob sono stati disabilitati',
     'Changes has been saved.'  => 'I cambiamenti sono stati salvati.',
     'Confirmation'  => 'Conferma',
-    'DELETE_USER_CONFIRMATION' => 'Sei sicuro di voler cancellare l\'utente %s?',
-    'SUSPEND_USER_CONFIRMATION' => 'Sei sicuro di voler disabilitare l\'utente %s?',
-    'UNSUSPEND_USER_CONFIRMATION' => 'Sei sicuro di voler riabilitare l\'utente %s?',
+    'DELETE_USER_CONFIRMATION' => "Sei sicuro di voler cancellare l'utente %s?",
+    'SUSPEND_USER_CONFIRMATION' => "Sei sicuro di voler disabilitare l'utente %s?",
+    'UNSUSPEND_USER_CONFIRMATION' => "Sei sicuro di voler riabilitare l'utente %s?",
     'DELETE_DOMAIN_CONFIRMATION' => 'Sei sicuro di voler cancellare il dominio %s?',
     'SUSPEND_DOMAIN_CONFIRMATION' => 'Sei sicuro di voler disabilitare il dominio %s?',
     'UNSUSPEND_DOMAIN_CONFIRMATION' => 'Sei sicuro di voler riabilitare il dominio %s?',
@@ -417,46 +471,46 @@ $LANG['it'] = array(
     'SUSPEND_CRON_CONFIRMATION' => 'Sei sicuro di voler disabilitare il cron job?',
     'UNSUSPEND_CRON_CONFIRMATION' => 'Sei sicuro di voler riabilitare il cron job?',
     'DELETE_BACKUP_CONFIRMATION'  => 'Sei sicuro di voler cancellare il backup %s?',
-    'DELETE_EXCLUSION_CONFIRMATION' => 'Sei sicuro di voler cancellare l\'esclusione %s?',
+    'DELETE_EXCLUSION_CONFIRMATION' => "Sei sicuro di voler cancellare l'esclusione %s?",
     'DELETE_PACKAGE_CONFIRMATION'  => 'Sei sicuro di voler cancellare il pacchetto %s?',
-    'DELETE_IP_CONFIRMATION'  => 'Sei sicuro di voler l\'indirizoz IP %s?',
+    'DELETE_IP_CONFIRMATION'  => "Sei sicuro di voler l'indirizoz IP %s?",
     'DELETE_RULE_CONFIRMATION' => 'Sei sicuro di voler cancellare il regola #%s?',
     'SUSPEND_RULE_CONFIRMATION' => 'Sei sicuro di voler disabilitare il regola #%s?',
     'UNSUSPEND_RULE_CONFIRMATION' => 'Sei sicuro di voler riabilitare il regola #%s?',
     'LEAVE_PAGE_CONFIRMATION' => 'Leave Page?',
     'RESTART_CONFIRMATION' => 'Sei sicuro di voler riavviare %s?',
     'Welcome'  => 'Benvenuto',
-    'LOGGED_IN_AS'  => 'Connesso come l\'utente %s',
+    'LOGGED_IN_AS'  => "Connesso come l'utente %s",
     'Error'  => 'Errore',
     'Invalid username or password'  => 'Username o password non validi',
     'Invalid username or code'  => 'Esername o codice non validi',
     'Passwords not match'  => 'Le passwords non coincidono',
-    'Please enter valid email address.'  => 'Inserisci un\'indirizzo email valido.',
+    'Please enter valid email address.'  => "Inserisci un'indirizzo email valido.",
     'Field "%s" can not be blank.'  => 'Il campo "%s" non può essere lasciato vuoto.',
     'Password is too short.'  => 'La password è troppo corta (minimo 6 caratteri)',
     'Error code:'  => 'Codice errore: %s',
     'SERVICE_ACTION_FAILED'  => '"%s" "%s" fallita',
-    'IP address is in use' => 'L\'indirizzo IP è già in uso',
-    'BACKUP_SCHEDULED'  => 'L\'operazione è stata aggiunta alla coda. Riceverai una notifica via email quando il tuo backup sarà pronto per il download.',
+    'IP address is in use' => "L'indirizzo IP è già in uso",
+    'BACKUP_SCHEDULED'  => "L'operazione è stata aggiunta alla coda. Riceverai una notifica via email quando il tuo backup sarà pronto per il download.",
     'BACKUP_EXISTS'  => 'È già in corso la creazione di un backup. Perfavore attendi che il backup finisca.',
-    'RESTORE_SCHEDULED'  => 'L\'operazione è stata aggiunta alla coda. Riceverai una notifica via email quando il tuo backup sarà pronto per il download.',
-    'RESTORE_EXISTS'  => 'È già in corso un\'oprazione di ripristino. Attendi che finisca prima di rilanciarla nuovamento.',
+    'RESTORE_SCHEDULED'  => "L'operazione è stata aggiunta alla coda. Riceverai una notifica via email quando il tuo backup sarà pronto per il download.",
+    'RESTORE_EXISTS'  => "È già in corso un'oprazione di ripristino. Attendi che finisca prima di rilanciarla nuovamento.",
 
-    'WEB_EXCLUSIONS' => "Scrivi un nome di dominio per riga. Per escludere tutti i domini usa *. Per escludere directory specifiche usa il formato: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Scrivi un nome di dominio per riga. Per escludere tutti i domini usa *",
-    'MAIL_EXCLUSIONS' => "Scrivi un nome di dominio per riga. Per escludere tutti i domini usa *. Per escludere account specifici usare il formato: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Scrivi un nome completo di database per riga. Per escludere tutti i database usa *",
-    'CRON_EXCLUSIONS' => "Per escludere tutti i cron job usa *",
-    'USER_EXCLUSIONS' => "Scrivi un nome di directory per riga. Per escludere tutte le directory usa *",
+    'WEB_EXCLUSIONS' => 'Scrivi un nome di dominio per riga. Per escludere tutti i domini usa *. Per escludere directory specifiche usa il formato: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Scrivi un nome di dominio per riga. Per escludere tutti i domini usa *',
+    'MAIL_EXCLUSIONS' => 'Scrivi un nome di dominio per riga. Per escludere tutti i domini usa *. Per escludere account specifici usare il formato: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Scrivi un nome completo di database per riga. Per escludere tutti i database usa *',
+    'CRON_EXCLUSIONS' => 'Per escludere tutti i cron job usa *',
+    'USER_EXCLUSIONS' => 'Scrivi un nome di directory per riga. Per escludere tutte le directory usa *',
 
     'Welcome to Vesta Control Panel'  => 'Benvenuto nel Vesta Control Panel',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
     'GREETINGS_GORDON_FREEMAN' => "Ciao, %s %s,\n",
     'GREETINGS' => "Ciao,\n",
-    'ACCOUNT_READY' => "Il tuo account è stato creato ed è pronto per l\'utilizzo.\n\nhttps://%s/login/\nUsername: %s\nPassword: %s\n\n--\nVesta Control Panel\n",
+    'ACCOUNT_READY' => "Il tuo account è stato creato ed è pronto per l'utilizzo.\n\nhttps://%s/login/\nUsername: %s\nPassword: %s\n\n--\nVesta Control Panel\n",
 
     'FTP login credentials'  => 'Credenziali login FTP',
-    'FTP_ACCOUNT_READY' => "L\'account FTP è stato creato ed è pronto per l\'uso.\n\nHostname: %s\nUsername: %s_%s\nPassword: %s\n\n--\nVesta Control Panel\n",
+    'FTP_ACCOUNT_READY' => "L'account FTP è stato creato ed è pronto per l'uso.\n\nHostname: %s\nUsername: %s_%s\nPassword: %s\n\n--\nVesta Control Panel\n",
 
     'Database Credentials'  => 'Credenziali Database',
     'DATABASE_READY' => "Il database è stato creato con successo.\n\nDatabase: %s\nUser: %s\nPassword: %s\n%s\n\n--\nVesta Control Panel\n",
@@ -467,7 +521,7 @@ $LANG['it'] = array(
     'Confirm Password'  => 'Conferma Password',
     'Reset'  => 'Reset',
     'Reset Code'  => 'Codice Reset',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Il codice di reset per la tua password ti è stato inviato per email<br>',
     'MAIL_RESET_SUBJECT'  => 'Password Reset per %s',
     'PASSWORD_RESET_REQUEST' => "Per fare il reset della password per il pannello di controllo clicca sul link:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternativamente puoi andare su https://%s/reset/?action=code&user=%s e inserire questo codice di reset:\n%s\n\nSe non hai richiesto il reset della tua password, ignora questa email.\n\n--\nVesta Control Panel\n",
@@ -489,6 +543,29 @@ $LANG['it'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -504,8 +581,8 @@ $LANG['it'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -520,6 +597,7 @@ $LANG['it'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -540,6 +618,10 @@ $LANG['it'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -559,6 +641,7 @@ $LANG['it'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -581,26 +664,23 @@ $LANG['it'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -616,9 +696,6 @@ $LANG['it'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -640,7 +717,9 @@ $LANG['it'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 109 - 30
web/inc/i18n/ja.php

@@ -25,6 +25,21 @@ $LANG['ja'] = array(
     'CRON'  => 'Cron',
     'BACKUP'  => 'バックアップ',
 
+    'LOGIN'  => 'ログイン',
+    'RESET PASSWORD'  => 'パスワードのリセット',
+    'SEARCH'  => '検索',
+    'PACKAGE'  => 'パッケージ',
+    'RRD'  => 'RRD',
+    'STATS'  => '統計',
+    'LOG'  => 'ログ',
+    'UPDATES'  => '更新',
+    'FIREWALL'  => 'ファイアウォール',
+    'SERVER'  => 'サーバー',
+    'MEMORY'  => 'メモリ',
+    'DISK'  => 'ディスク',
+    'NETWORK'  => 'ネットワーク',
+    'Web Log Manager'  => 'ウェブログの管理',
+
     'Add User'  => 'ユーザーを追加',
     'Add Domain'  => 'ドメインを追加',
     'Add Web Domain'  => 'ウェブドメインを追加',
@@ -44,9 +59,9 @@ $LANG['ja'] = array(
     'Search'  => '検索',
     'Add one more FTP Account' => 'FTPアカウントを追加',
     'Overall Statistics'  => '全統計',
-    'Daily'  => '日',
-    'Weekly'  => '週',
-    'Monthly'  => '月',
+    'Daily'  => '日',
+    'Weekly'  => '週',
+    'Monthly'  => '月',
     'Yearly'  => '年別',
     'Add'  => '追加',
     'Back'  => '戻る',
@@ -160,13 +175,14 @@ $LANG['ja'] = array(
     'Web Aliases'  => 'ウェブエイリアス',
     'per domain'  => 'ドメインごと',
     'DNS Domains'  => 'DNSドメイン',
-    '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'  => 'システムをバックアップ',
@@ -178,10 +194,12 @@ $LANG['ja'] = array(
     'Proxy Extensions'  => 'プロキシ対象拡張子',
     'Web Statistics'  => 'ウェブアクセス統計',
     'Additional FTP Account'  => '追加のFTPアカウント',
+    'Path'  => 'パス',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => '有効期限',
     'Records'  => 'レコード',
+    'Serial'  => 'シリアル値',
     'Catchall email'  => 'キャッチオール アドレス',
     'AntiVirus Support'  => 'アンチウイルスのサポート',
     'AntiSpam Support'  => 'アンチスパムのサポート',
@@ -190,7 +208,17 @@ $LANG['ja'] = array(
     'Quota'  => '割り当て量',
     'Autoreply'  => '自動返信',
     'Forward to'  => '転送先',
-    'Do not store forwarded mail' => '転送されたメールを保存しない',
+    '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'  => 'SMTPIMAP認証方式',
+    'STARTTLS'  => 'STARTTLS',
+    'Normal password'  => '通常のパスワード認証',
     'database'  => 'データベース',
     'User'  => 'ユーザー',
     'Host'  => 'ホスト',
@@ -212,11 +240,13 @@ $LANG['ja'] = array(
     '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における帯域幅使用量',
+    'Exim Usage'  => 'Exim使用量',
     'FTP Usage'  => 'FTP使用量',
     'SSH Usage'  => 'SSH使用量',
     'reverse proxy'  => 'リバースプロキシ',
@@ -229,6 +259,8 @@ $LANG['ja'] = array(
     'database server'  => 'データベースサーバー',
     'ftp server'  => 'FTPサーバー',
     'job scheduler'  => 'ジョブスケジューラ',
+    'firewall'  => 'ファイアウォール',
+    'brute-force monitor'  => 'ブルートフォースモニタ',
     'CPU'  => 'CPU',
     'Memory'  => 'メモリ',
     'Uptime'  => '稼働時間',
@@ -239,7 +271,6 @@ $LANG['ja'] = array(
     'Release'  => 'リリース',
     'Architecture'  => 'アーキテクチャ',
     'Object'  => 'オブジェクト',
-    'Owner'  => '所有者',
     'Username'  => 'ユーザー名',
     'Password'  => 'パスワード',
     'Email'  => 'メールアドレス',
@@ -275,7 +306,7 @@ $LANG['ja'] = array(
     'Record Number' => 'レコード番号',
     'in megabytes'  => 'MB単位',
     'Message'  => 'メッセージ',
-    'use local-part'  => 'ローカルパートを使用',
+    'use local-part'  => 'ローカルパートを記述',
     'one or more email addresses'  => '1つ以上のメールアドレス',
     'Prefix will be automaticaly added to database name and database user'  => 'データベース名およびユーザー名には接頭辞 %s が自動的に付加されます',
     'Database'  => 'データベース',
@@ -333,8 +364,10 @@ $LANG['ja'] = array(
     'ftp user password'  => 'FTPユーザーパスワード',
     'ftp user'  => 'FTPユーザー',
     'Last 70 lines of %s.%s.log' => '%s.%s.log の最終70行',
-    'Download AccessLog' => 'AccessLogをダウンロード',
-    'Download ErrorLog' => 'ErrorLogをダウンロード',
+    'AccessLog' => 'アクセスログ',
+    'ErrorLog' => 'エラーログ',
+    'Download AccessLog' => 'アクセスログをダウンロード',
+    'Download ErrorLog' => 'エラーログをダウンロード',
     'Country' => '国',
     '2 letter code' => '2レターコード',
     'State / Province' => '州 / 都道府県',
@@ -347,8 +380,26 @@ $LANG['ja'] = array(
     'Banlist' => 'BANリスト',
     '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個のアカウント',
@@ -364,6 +415,8 @@ $LANG['ja'] = array(
     '%s cron jobs'  => '%s個のCronジョブ',
     '1 archive'  => '1個のアーカイブ',
     '%s archives'  => '%s個のアーカイブ',
+    '1 item'  => '1個の項目',
+    '%s items'  => '%s個の項目',
     '1 package'  => '1個のパッケージ',
     '%s packages'  => '%s個のパッケージ',
     '1 IP address'  => '1個のIPアドレス',
@@ -391,6 +444,7 @@ $LANG['ja'] = array(
     'PACKAGE_CREATED_OK'  => 'パッケージ <a href="/edit/package/?package=%s"><b>%s</b></a> は正常に作成されました',
     'SSL_GENERATED_OK' => '証明書は正常に生成されました',
     'RULE_CREATED_OK' => '規則は正常に作成されました',
+    'BANLIST_CREATED_OK' => 'IPアドレスは正常にBANリストに追加されました',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => '自動更新が有効化されました',
     'Autoupdate has been successfully disabled' => '自動更新が無効化されました',
     'Cronjob email reporting has been successfully enabled' => 'Cronジョブのメール報告が有効化されました',
@@ -441,12 +495,12 @@ $LANG['ja'] = array(
     'RESTORE_SCHEDULED'  => 'タスクがキューに追加されました 復元が完了すると、メールによる通知が送信されます',
     'RESTORE_EXISTS'  => '現在復元作業を実行中です 再度操作を行う前に復元作業が完了するまでお待ちください',
 
-    'WEB_EXCLUSIONS' => "ドメイン名を一行ずつ入力してください&#10;すべてのドメインを除外するには*を使用してください&#10;特定のディレクトリを除外するには次の形式を用いてください: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "ドメイン名を一行ずつ入力してください&#10;すべてのドメインを除外するには*を使用してください",
-    'MAIL_EXCLUSIONS' => "ドメイン名を一行ずつ入力してください&#10;すべてのドメインを除外するには*を使用してください&#10;特定のアカウントを除外するには次の形式を用いてください: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "完全なデータベース名を一行ずつ入力してください&#10;すべてのデータベースを除外するには*を使用してください",
-    'CRON_EXCLUSIONS' => "すべてのジョブを除外するには*を使用してください",
-    'USER_EXCLUSIONS' => "ディレクトリ名を一行ずつ入力してください&#10;すべてのディレクトリを除外するには*を使用してください",
+    'WEB_EXCLUSIONS' => 'ドメイン名を一行ずつ入力してください&#10;すべてのドメインを除外するには*を使用してください&#10;特定のディレクトリを除外するには次の形式を用いてください: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'ドメイン名を一行ずつ入力してください&#10;すべてのドメインを除外するには*を使用してください',
+    'MAIL_EXCLUSIONS' => 'ドメイン名を一行ずつ入力してください&#10;すべてのドメインを除外するには*を使用してください&#10;特定のアカウントを除外するには次の形式を用いてください: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => '完全なデータベース名を一行ずつ入力してください&#10;すべてのデータベースを除外するには*を使用してください',
+    'CRON_EXCLUSIONS' => 'すべてのジョブを除外するには*を使用してください',
+    'USER_EXCLUSIONS' => 'ディレクトリ名を一行ずつ入力してください&#10;すべてのディレクトリを除外するには*を使用してください',
 
     'Welcome to Vesta Control Panel'  => 'Vesta Control Panel にようこそ',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
@@ -466,7 +520,7 @@ $LANG['ja'] = array(
     'Confirm Password'  => 'パスワードを再入力',
     'Reset'  => 'リセット',
     'Reset Code'  => 'リセットコード',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     '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 Control Panel\n",
@@ -488,7 +542,30 @@ $LANG['ja'] = array(
     'Hostname' => 'ホスト名',
     'Time Zone' => 'タイムゾーン',
     'Default Language' => '規定の言語',
-    'FileSystem Disk Quota ' => 'ディスク割り当て量',
+    'Proxy Server' => 'プロキシサーバー',
+    'Web Server' => 'ウェブサーバー',
+    'Backend Server' => 'バックエンドサーバー',
+    'Backend Pool Mode' => 'バックエンドプールモード',
+    'DNS Server' => 'DNSサーバー',
+    'DNS Cluster' => 'DNSクラスタ',
+    'MAIL Server' => 'メールサーバー',
+    'Antivirus' => 'アンチウイルス',
+    'AntiSpam' => 'アンチスパム',
+    'Webmail URL' => 'ウェブメールのURL',
+    'MySQL Support' => 'MySQLのサポート',
+    'phpMyAdmin URL' => 'phpMyAdminのURL',
+    'PostgreSQL Support' => 'PostgreSQLのサポート',
+    'phpPgAdmin URL' => 'phpPgAdminのURL',
+    '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 Control Panel プラグイン',
     'preview' => 'プレビュー',
     'Reseller Role' => 'リセラーの役割',
@@ -503,8 +580,8 @@ $LANG['ja'] = array(
     'Starred' => 'スター付き',
     'Name' => '名前',
 
+
     'File Manager' => 'ファイルマネージャー',
-    'type' => '種類',
     'size' => '容量',
     'date' => '日付',
     'name' => '名前',
@@ -519,6 +596,7 @@ $LANG['ja'] = array(
     'ARCHIVE' => 'アーカイブ',
     'EXTRACT' => '展開',
     'DOWNLOAD' => 'ダウンロード',
+    'Are you sure?' => 'よろしいですか?',    // unused?
     'Hit' => '',
     'to reload the page' => 'を押すとページを再読み込みします',
     'Directory name cannot be empty' => 'ディレクトリ名を入力してください',
@@ -539,6 +617,10 @@ $LANG['ja'] = array(
     'Create' => '作成',
     'Compress' => '圧縮',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'コピー中',    // unused?
+    'YOU ARE REMOVING' => '削除中',
+    'Delete items' => '項目の削除',
+    'Copy files' => 'ファイルのコピー',
     'Are you sure you want to copy' => '次のファイルをコピーしてもよろしいですか',
     'Are you sure you want to delete' => '次のファイルを削除してもよろしいですか',
     'into' => 'から',
@@ -558,6 +640,7 @@ $LANG['ja'] = array(
     'write by others' => 'その他による書き込み',
     'execute/search by others' => 'その他による実行・検索',
 
+    'Shortcuts' => 'ショートカット',
     'Add New object' => '新しい項目を追加する',
     'Save Form' => '変更を保存する',
     'Cancel saving form' => '変更を破棄する',
@@ -580,24 +663,21 @@ $LANG['ja'] = array(
     'New File' => 'ファイルの作成',
     'New Folder' => 'フォルダの作成',
     'Download' => 'ダウンロード',
-    'Rename' => '名前の変更',
-    'Copy' => 'コピー',
     'Archive' => 'アーカイブ',
-    'Delete' => '削除',
     'Save File (in text editor)' => 'ファイルを保存する(テキストエディタ上で)',
     'Close Popup / Cancel' => 'ポップアップを閉じる / キャンセルする',
     'Move Cursor Up' => 'カーソルを上に移動する',
-    'Move Cursor Dow' => 'カーソルを下に移動する',
+    'Move Cursor Down' => 'カーソルを下に移動する',
     'Switch to Left Tab' => '左のタブに切り替える',
     'Switch to Right Tab' => '右のタブに切り替える',
     'Switch Tab' => 'タブを切り替える',
-    'Go to the Top of File List' => 'ファイルリストの先頭に移動する',
+    'Go to the Top of the File List' => 'ファイルリストの先頭に移動する',
     'Go to the Last File' => '最後のファイルに移動する',
-    'Open File/Enter Directory' => 'ファイルを開く / ディレクトリに入る',
+    'Open File / Enter Directory' => 'ファイルを開く / ディレクトリに入る',
     'Go to Parent Directory' => '親ディレクトリに移動する',
     'Select Current File' => 'ファイルを選択する',
     'Select Bunch of Files' => 'ファイルを範囲選択する',
-    'Append File to the Current Selection' => 'ファイルを追加選択する',
+    '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',
@@ -615,9 +695,6 @@ $LANG['ja'] = array(
 
     'Minutes' => '分毎',
     'Hourly' => '時間毎',
-    'Daily' => '日毎',
-    'Weekly' => '週毎',
-    'Monthly' => '月毎',
     'Run Command' => '実行時',
     'every month' => '毎月',
     'every odd month' => '奇数月',
@@ -639,7 +716,9 @@ $LANG['ja'] = array(
     'every minute' => '毎分',
     'every two minutes' => '2分毎',
     'every' => '毎',
-    'Hour' => '時',
-    'Minute' => '分'
+    'Generate' => '生成',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 106 - 27
web/inc/i18n/nl.php

@@ -26,6 +26,21 @@ $LANG['nl'] = array(
     'CRON'  => 'Taken',
     'BACKUP'  => 'Back-up',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Gebruiker toevoegen',
     'Add Domain'  => 'Domein toevoegen',
     'Add Web Domain'  => 'Domein toevoegen',
@@ -42,8 +57,8 @@ $LANG['nl'] = array(
     'Add IP'  => 'IP toevoegen',
     'Add Rule' => 'Regel toevoegen',
     'Ban IP Address' => 'IP toevoegen',
-    'Add one more FTP Account' => 'Extra FTP-account toevoegen',
     'Search'  => 'Zoeken',
+    'Add one more FTP Account' => 'Extra FTP-account toevoegen',
     'Overall Statistics'  => 'Globale statistieken',
     'Daily'  => 'Dagelijks',
     'Weekly'  => 'Wekelijks',
@@ -160,14 +175,15 @@ $LANG['nl'] = array(
     'SSL Domains'  => 'SSL Domeinen',
     'Web Aliases'  => 'Web Aliassen',
     'per domain'  => 'per domein',
-    'DNS Domains'  => 'DNS domeinen',
-    'DNS Domains'  => 'DNS domeinen',
-    'DNS records'   => 'DNS records'  ,
+    'DNS Domains'  => 'DNS Domeinen',
+    'DNS domains'  => 'DNS domeinen',
+    'DNS records'   => 'DNS records',
     'Name Servers'  => 'Naamservers',
     'Mail Domains'  => 'E-mail Domeinen',
     'Mail Accounts'  => 'E-mail Accounts',
     'Cron Jobs'  => 'Geplande Taken',
     'SSH Access'  => 'SSH Toegang',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP-adressen',
     'Backups'  => 'Back-ups',
     'Backup System'  => 'Back-up Systeem',
@@ -179,10 +195,12 @@ $LANG['nl'] = array(
     'Proxy Extensions'  => 'Proxy Extensies',
     'Web Statistics'  => 'Web Statistieken',
     'Additional FTP Account'  => 'Extra FTP Account',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Loopt af',
     'Records'  => 'Records',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Catch-all e-mail',
     'AntiVirus Support'  => 'Antivirus Ondersteuning',
     'AntiSpam Support'  => 'Antispam Ondersteuning',
@@ -192,6 +210,16 @@ $LANG['nl'] = array(
     'Autoreply'  => 'Auto-antwoord',
     'Forward to'  => 'Doorsturen naar',
     'Do not store forwarded mail' => 'Doorgestuurde e-mail niet opslaan',
+    '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'  => 'database',
     'User'  => 'Gebruiker',
     'Host'  => 'Host',
@@ -213,11 +241,13 @@ $LANG['nl'] = array(
     'Users'  => 'Gebruikers',
     'Load Average'  => 'Gemiddelde Belasting',
     'Memory Usage'  => 'Geheugengebruik',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD Gebruik',
     'NGINX Usage'  => 'NGINX Gebruik',
     'MySQL Usage on localhost'  => 'MySQL Gebruik op localhost',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL Gebruik op localhost',
     'Bandwidth Usage eth0'  => 'Bandbreedtegebruik eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP Gebruik',
     'SSH Usage'  => 'SSH Gebruik',
     'reverse proxy'  => 'reverse proxy',
@@ -230,6 +260,8 @@ $LANG['nl'] = array(
     'database server'  => 'database server',
     'ftp server'  => 'ftp server',
     'job scheduler'  => 'taakplanner',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Geheugen',
     'Uptime'  => 'Uptime',
@@ -240,7 +272,6 @@ $LANG['nl'] = array(
     'Release'  => 'Uitgave',
     'Architecture'  => 'Architectuur',
     'Object'  => 'Object',
-    'Owner'  => 'Eigenaar',
     'Username'  => 'Gebruikersnaam',
     'Password'  => 'Wachtwoord',
     'Email'  => 'Email',
@@ -334,6 +365,8 @@ $LANG['nl'] = array(
     'ftp user password'  => 'FTP gebruikerswachtwoord',
     'ftp user'  => 'FTP gebruiker',
     'Last 70 lines of %s.%s.log' => 'Laatste 70 lijnen van %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Download Access Log',
     'Download ErrorLog' => 'Download Error Log',
     'Country' => 'Land',
@@ -348,8 +381,26 @@ $LANG['nl'] = array(
     'Banlist' => 'Banlist',
     'ranges are acceptable' => 'marges zijn toegestaan',
     'CIDR format is supported' => 'CIDR-indeling wordt ondersteund',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 account',
     '%s accounts'  => '%s accounts',
@@ -365,6 +416,8 @@ $LANG['nl'] = array(
     '%s cron jobs'  => '%s geplande taken',
     '1 archive'  => '1 archief',
     '%s archives'  => '%s archieven',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 pakket',
     '%s packages'  => '%s pakketten',
     '1 IP address'  => '1 IP-adres',
@@ -392,6 +445,7 @@ $LANG['nl'] = array(
     'PACKAGE_CREATED_OK'  => 'Package <a href="/edit/package/?package=%s"><b>%s</b></a> is succesvol aangemaakt.',
     'SSL_GENERATED_OK' => 'Certificaat is met succes aangemaakt.',
     'RULE_CREATED_OK' => 'Regel is succesvol aangemaakt.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate is succesvol geactiveerd',
     'Autoupdate has been successfully disabled' => 'Autoupdate is succesvol gedeactiveerd',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob rapportage is succesvol geactiveerd',
@@ -442,12 +496,12 @@ $LANG['nl'] = array(
     'RESTORE_SCHEDULED'  => 'De taak is toegevoegd aan de wachtrij. U ontvangt een e-mailbericht zodra de back-up is hersteld.',
     'RESTORE_EXISTS'  => 'Er wordt al een hersteltaak uitgevoerd. Wacht a.u.b. totdat de reservekopie is teruggezet.',
 
-    'WEB_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *",
-    'MAIL_EXCLUSIONS' => "Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Type full database name, one per line. To exclude all databases use *",
-    'CRON_EXCLUSIONS' => "To exclude all jobs use *",
-    'USER_EXCLUSIONS' => "Type directory name, one per line. To exlude all dirs use *",
+    'WEB_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific dirs use following format: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *',
+    'MAIL_EXCLUSIONS' => 'Type domain name, one per line. To exclude all domains use *. To exclude specific accounts use following format: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Type full database name, one per line. To exclude all databases use *',
+    'CRON_EXCLUSIONS' => 'To exclude all jobs use *',
+    'USER_EXCLUSIONS' => 'Type directory name, one per line. To exlude all dirs use *',
 
     'Welcome to Vesta Control Panel'  => 'Welkom bij het Vesta Controlepaneel',
     'MAIL_FROM'  => 'Vesta Controlepaneel <noreply@%s>',
@@ -467,7 +521,7 @@ $LANG['nl'] = array(
     'Confirm Password'  => 'Bevestig wachtwoord',
     'Reset'  => 'Reset',
     'Reset Code'  => 'Reset Code',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Wachtwoord herstelcode is naar uw e-mailadres gestuurd<br>',
     'MAIL_RESET_SUBJECT'  => 'Wachtwoordherstel voor %s',
     'PASSWORD_RESET_REQUEST' => "Om uw wachtwoord te herstellen klikt u op de link hieronder.\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nWanneer bovenstaande link niet werkt kunt u ook naar de volgende pagina gaan https://%s/reset/?action=code&user=%s en hier uw wachtwoord herstelcode invullen:\n%s\n\nAls u geen wachtwoord herstelcode heeft aangevraagd, kunt u dit bericht negeren.\n\n--\nVesta Controlepaneel\n",
@@ -489,6 +543,29 @@ $LANG['nl'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -504,8 +581,8 @@ $LANG['nl'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -520,6 +597,7 @@ $LANG['nl'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -540,6 +618,10 @@ $LANG['nl'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -559,6 +641,7 @@ $LANG['nl'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -581,26 +664,23 @@ $LANG['nl'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -616,9 +696,6 @@ $LANG['nl'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -640,7 +717,9 @@ $LANG['nl'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 105 - 26
web/inc/i18n/no.php

@@ -26,6 +26,21 @@ $LANG['no'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Legg til Bruker',
     'Add Domain'  => 'Legg til Domene',
     'Add Web Domain'  => 'Legg til Web Domene',
@@ -161,13 +176,14 @@ $LANG['no'] = array(
     'Web Aliases'  => 'Web Aliaser',
     'per domain'  => 'per domene',
     'DNS Domains'  => 'DNS Domene',
-    'DNS Domains'  => 'DNS Domene',
-    'DNS records'   => 'DNS oppslag'  ,
+    'DNS domains'  => 'DNS domene',
+    'DNS records'   => 'DNS oppslag',
     'Name Servers'  => 'Navnetjenere',
     'Mail Domains'  => 'E-post Domene',
     'Mail Accounts'  => 'E-post Kontoer',
     'Cron Jobs'  => 'Cron Jobber',
     'SSH Access'  => 'SSH Tilgang',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP Addresser',
     'Backups'  => 'Backuper',
     'Backup System'  => 'Backup Systemet',
@@ -179,10 +195,12 @@ $LANG['no'] = array(
     'Proxy Extensions'  => 'Proxy Utvidelser',
     'Web Statistics'  => 'Web Statistikker',
     'Additional FTP Account'  => 'Extra FTP',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Utløper',
     'Records'  => 'Oppslag',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Catchall e-post',
     'AntiVirus Support'  => 'AntiVirus Støtte',
     'AntiSpam Support'  => 'AntiSpam Støtte',
@@ -192,6 +210,16 @@ $LANG['no'] = array(
     'Autoreply'  => 'Autosvar',
     'Forward to'  => 'Videresend til',
     'Do not store forwarded mail' => 'Ikkje lagre videresendt e-post',
+    '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'  => 'database',
     'User'  => 'Bruker',
     'Host'  => 'Host',
@@ -202,7 +230,7 @@ $LANG['no'] = array(
     'Month'  => 'Månde',
     'Day of week'  => 'Dag i uken',
     'local'  => 'lokal',
-    'Run Time'  => 'Kjøre tid', // Not sure what context
+    'Run Time'  => 'Kjøre tid',    // Not sure what context
     'Backup Size'  => 'Backup Størrelse',
     'SYS'  => 'SYS',
     'Domains'  => 'Domener',
@@ -213,11 +241,13 @@ $LANG['no'] = array(
     'Users'  => 'Brukere',
     'Load Average'  => 'Snittlast',
     'Memory Usage'  => 'Minnebruk',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD Bruk',
     'NGINX Usage'  => 'NGINX Bruk',
     'MySQL Usage on localhost'  => 'MySQL Bruk på localhost',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL Bruk på localhost',
     'Bandwidth Usage eth0'  => 'Bruka v båndbredde eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP Bruk',
     'SSH Usage'  => 'SSH Bruk',
     'reverse proxy'  => 'omvendt proxy',
@@ -230,6 +260,8 @@ $LANG['no'] = array(
     'database server'  => 'database server',
     'ftp server'  => 'ftp server',
     'job scheduler'  => 'jobbplanlegger',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Minne',
     'Uptime'  => 'Oppetid',
@@ -240,7 +272,6 @@ $LANG['no'] = array(
     'Release'  => 'Utgivelse',
     'Architecture'  => 'Arkitektur',
     'Object'  => 'Objekt',
-    'Owner'  => 'Eiger',
     'Username'  => 'Brukernavn',
     'Password'  => 'Passord',
     'Email'  => 'E-post',
@@ -334,6 +365,8 @@ $LANG['no'] = array(
     'ftp user password'  => 'ftp bruker passord',
     'ftp user'  => 'ftp bruker',
     'Last 70 lines of %s.%s.log' => 'Siste 70 linjer av %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Last ned AccessLog',
     'Download ErrorLog' => 'Last Ned ErrorLog',
     'Country' => 'Land',
@@ -348,8 +381,26 @@ $LANG['no'] = array(
     'Banlist' => 'Blokkeringsliste',
     'ranges are acceptable' => 'områder er tillatt',
     'CIDR format is supported' => 'CIDR-format støttes',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 konto',
     '%s accounts'  => '%s kontoer',
@@ -365,6 +416,8 @@ $LANG['no'] = array(
     '%s cron jobs'  => '%s cron jobber',
     '1 archive'  => '1 arkiv',
     '%s archives'  => '%s arkiver',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 pakke',
     '%s packages'  => '%s pakker',
     '1 IP address'  => '1 IP-adresse',
@@ -392,6 +445,7 @@ $LANG['no'] = array(
     'PACKAGE_CREATED_OK'  => 'Pakke <a href="/edit/package/?package=%s"><b>%s</b></a> har blitt opprettet.',
     'SSL_GENERATED_OK' => 'Sertifikatet har blitt generert.',
     'RULE_CREATED_OK' => 'Regel har blitt opprettet.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Auto-oppdater har blitt aktivert',
     'Autoupdate has been successfully disabled' => 'Auto-oppdater har blitt deaktivert',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob-rapportering har blitt aktivert',
@@ -442,12 +496,12 @@ $LANG['no'] = array(
     'RESTORE_SCHEDULED'  => 'Oppgaven er lagt til i køen. Du vil motta en e-postvarsel når sikkerhetskopien er klar for nedlasting.',
     'RESTORE_EXISTS'  => 'En eksisterende gjenopprettings oppgaven kjører allerede. Vent til den er ferdig før du starter den igjen.',
 
-    'WEB_EXCLUSIONS' => "Skriv inn et domenenavn, ett per linje. Hvis du vil utelate alle domener bruk *. For å utelukke konkrete kataloger bruke følgende format: domene.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Skriv inn et domenenavn, ett per linje. Hvis du vil utelate alle domener bruk *",
-    'MAIL_EXCLUSIONS' => "Skriv inn et domenenavn, ett per linje. Hvis du vil utelate alle domener bruk *. For å utelukke konkrete kontoer bruk følgende format:  domene.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Skriv inn fullt databasenavn, ett per linje. Hvis du vil utelate alle databaser bruk *",
-    'CRON_EXCLUSIONS' => "Hvis du vil utelate alle jobbene bruk *",
-    'USER_EXCLUSIONS' => "Skriv inn katalognavn, ett per linje. Hvis du vil utelate alle kataloger bruk *",
+    'WEB_EXCLUSIONS' => 'Skriv inn et domenenavn, ett per linje. Hvis du vil utelate alle domener bruk *. For å utelukke konkrete kataloger bruke følgende format: domene.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Skriv inn et domenenavn, ett per linje. Hvis du vil utelate alle domener bruk *',
+    'MAIL_EXCLUSIONS' => 'Skriv inn et domenenavn, ett per linje. Hvis du vil utelate alle domener bruk *. For å utelukke konkrete kontoer bruk følgende format:  domene.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Skriv inn fullt databasenavn, ett per linje. Hvis du vil utelate alle databaser bruk *',
+    'CRON_EXCLUSIONS' => 'Hvis du vil utelate alle jobbene bruk *',
+    'USER_EXCLUSIONS' => 'Skriv inn katalognavn, ett per linje. Hvis du vil utelate alle kataloger bruk *',
 
     'Welcome to Vesta Control Panel'  => 'Velkommen til Vesta Control Panel',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
@@ -467,7 +521,7 @@ $LANG['no'] = array(
     'Confirm Password'  => 'Bekreft Passord',
     'Reset'  => 'Reset',
     'Reset Code'  => 'Reset Kode',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Passord tilbakestillingskode er blitt sendt til din e-postadresse<br>',
     'MAIL_RESET_SUBJECT'  => 'Passord tilbakestilt %s',
     'PASSWORD_RESET_REQUEST' => "For å tilbakestille kontroll panel passordet kan du følge denne linken:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternativt, kan du gå til https://%s/reset/?action=code&user=%s og oppgi følgende tilbakestillingskode:\n%s\n\nHvis du ikke har bedt om tilbakestilling av passord, kan du ignorere denne meldingen.\n\n--\nVesta Control Panel\n",
@@ -489,6 +543,29 @@ $LANG['no'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -504,8 +581,8 @@ $LANG['no'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -520,6 +597,7 @@ $LANG['no'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -540,6 +618,10 @@ $LANG['no'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -559,6 +641,7 @@ $LANG['no'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -581,26 +664,23 @@ $LANG['no'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -616,9 +696,6 @@ $LANG['no'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -640,7 +717,9 @@ $LANG['no'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 115 - 33
web/inc/i18n/pl.php

@@ -25,6 +25,21 @@ $LANG['pl'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Dodaj użytkownika',
     'Add Domain'  => 'Dodaj domenę',
     'Add Web Domain'  => 'Dodaj domenę Web',
@@ -160,12 +175,14 @@ $LANG['pl'] = array(
     'Web Aliases'  => 'Aliasy Web',
     'per domain'  => 'na domenę',
     'DNS Domains'  => 'Domeny DNS',
+    'DNS domains'  => 'Domeny DNS',
     'DNS records'   => 'Rekordy DNS',
     'Name Servers'  => 'Serwery nazw',
     'Mail Domains'  => 'Domeny email',
     'Mail Accounts'  => 'Konta email',
     'Cron Jobs'  => 'Zadania Crona',
     'SSH Access'  => 'Dostęp SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Adresy IP',
     'Backups'  => 'Kopie zapasowe',
     'Backup System'  => 'System kopii zapasowych',
@@ -177,10 +194,12 @@ $LANG['pl'] = array(
     'Proxy Extensions'  => 'Rozszerzenia Proxy',
     'Web Statistics'  => 'Statystyki Web',
     'Additional FTP Account'  => 'Dodatkowe FTP',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Wygasa',
     'Records'  => 'Rekordy',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Email Catchall',
     'AntiVirus Support'  => 'Wsparcie dla antywirusa',
     'AntiSpam Support'  => 'Wsparcie dla filtru antyspamowego',
@@ -190,6 +209,16 @@ $LANG['pl'] = array(
     'Autoreply'  => 'Autoodpowiedź',
     'Forward to'  => 'Przekaż dalej do',
     'Do not store forwarded mail' => 'Nie zapisuj przekazanych maili',
+    '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 danych',
     'User'  => 'Użytkownik',
     'Host'  => 'Host',
@@ -211,11 +240,13 @@ $LANG['pl'] = array(
     'Users'  => 'Użytkownicy',
     'Load Average'  => 'Średnie obciążenie',
     'Memory Usage'  => 'Użycie pamięci',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'Użycie HTTPD',
     'NGINX Usage'  => 'Użycie NGINX',
     'MySQL Usage on localhost'  => 'Użycie MySQL na localhost',
     'PostgreSQL Usage on localhost'  => 'Użycie PostgreSQL na localhost',
     'Bandwidth Usage eth0'  => 'Użycie łącza eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'Użycie FTP',
     'SSH Usage'  => 'Użycie SSH',
     'reverse proxy'  => 'odwrotne proxy',
@@ -228,6 +259,8 @@ $LANG['pl'] = array(
     'database server'  => 'serwer bazy danych',
     'ftp server'  => 'serwer ftp',
     'job scheduler'  => 'planer zadań',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Pamięć',
     'Uptime'  => 'Czas uruchomienia',
@@ -238,7 +271,6 @@ $LANG['pl'] = array(
     'Release'  => 'Wydanie',
     'Architecture'  => 'Architektura',
     'Object'  => 'Objekt',
-    'Owner'  => 'Właściciel',
     'Username'  => 'Nazwa użytkownika',
     'Password'  => 'Hasło',
     'Email'  => 'Email',
@@ -332,6 +364,8 @@ $LANG['pl'] = array(
     'ftp user password'  => 'hasło użytkownika ftp',
     'ftp user'  => 'nazwa użytkownika ftp',
     'Last 70 lines of %s.%s.log' => 'Ostatnie 70 linijek %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Pobierz AccessLog',
     'Download ErrorLog' => 'Pobierz ErrorLog',
     'Country' => 'Kraj',
@@ -346,8 +380,26 @@ $LANG['pl'] = array(
     'Banlist' => 'Lista zbanowanych',
     'ranges are acceptable' => 'zakresy są uznawane',
     'CIDR format is supported' => 'format CIDR jest wspierany',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Dodaj jeszcze jeden serwer DNS',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'nielimitowne',
     '1 account'  => '1 konto',
     '%s accounts'  => '%s kont',
@@ -363,6 +415,8 @@ $LANG['pl'] = array(
     '%s cron jobs'  => '%s zadań cron',
     '1 archive'  => '1 archiwum',
     '%s archives'  => '%s archiwów',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 pakiet',
     '%s packages'  => '%s pakietów',
     '1 IP address'  => '1 adres IP',
@@ -390,6 +444,7 @@ $LANG['pl'] = array(
     'PACKAGE_CREATED_OK'  => 'Stworzono pakiet <a href="/edit/package/?package=%s"><b>%s</b></a>.',
     'SSL_GENERATED_OK' => 'Wygenerowano certyfikat.',
     'RULE_CREATED_OK' => 'Stworzono zasadę.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Uaktywniono automatyczne aktualizacje.',
     'Autoupdate has been successfully disabled' => 'Wyłączono automatyczne aktualizacje.',
     'Cronjob email reporting has been successfully enabled' => 'Uaktywniono raportowanie zadań crona na maila',
@@ -440,12 +495,12 @@ $LANG['pl'] = array(
     'RESTORE_SCHEDULED'  => 'Dodano zadanie do kolejki. Otrzymasz powiadomienie na maila, kiedy zostanie zakończone przywracanie danych.',
     'RESTORE_EXISTS'  => 'Aktualnie jest już uruchomiony proces przywracania danych. Proszę czekać na jego zakończenie przed powtórnym uruchomieniem.',
 
-    'WEB_EXCLUSIONS' => "Wpisz nazwy domen, po jednej w linijce. W celu wyłączenia wszystkich domen użyj *, a żeby wyłączyć konkretne foldery użyj takiego formatu: domena.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Wpisz nazwy domen, po jednej w linijce. W celu wyłączenia wszystkich domen użyj *.",
-    'MAIL_EXCLUSIONS' => "Wpisz nazwy domen, po jednej w linijce. W celu wyłączenia wszystkich domen użyj *, a żeby wyłączyć konkretne konta użyj takiego formatu: domena.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Wpisz pełne nazwy baz danych, po jednej w linijce. W celu wyłączenia wszystkich baz użyj *.",
-    'CRON_EXCLUSIONS' => "W celu wyłączenia wszystkich zadań wpisz *.",
-    'USER_EXCLUSIONS' => "Wpisz nazwy folderów, po jednej w linijce. W celu wyłączenia wszystkich folderów użyj *.",
+    'WEB_EXCLUSIONS' => 'Wpisz nazwy domen, po jednej w linijce. W celu wyłączenia wszystkich domen użyj *, a żeby wyłączyć konkretne foldery użyj takiego formatu: domena.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Wpisz nazwy domen, po jednej w linijce. W celu wyłączenia wszystkich domen użyj *.',
+    'MAIL_EXCLUSIONS' => 'Wpisz nazwy domen, po jednej w linijce. W celu wyłączenia wszystkich domen użyj *, a żeby wyłączyć konkretne konta użyj takiego formatu: domena.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Wpisz pełne nazwy baz danych, po jednej w linijce. W celu wyłączenia wszystkich baz użyj *.',
+    'CRON_EXCLUSIONS' => 'W celu wyłączenia wszystkich zadań wpisz *.',
+    'USER_EXCLUSIONS' => 'Wpisz nazwy folderów, po jednej w linijce. W celu wyłączenia wszystkich folderów użyj *.',
 
     'Welcome to Vesta Control Panel'  => 'Witaj w Panelu Vesta',
     'MAIL_FROM'  => 'Panel Vesta <noreply@%s>',
@@ -465,7 +520,7 @@ $LANG['pl'] = array(
     'Confirm Password'  => 'Potwierdź hasło',
     'Reset'  => 'Resetuj',
     'Reset Code'  => 'Kod resetu',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Kod resetu hasła został wysłany na twój adres email<br>',
     'MAIL_RESET_SUBJECT'  => 'Zresetowano hasło o %s',
     'PASSWORD_RESET_REQUEST' => "W celu zresetowanie hasła do panelu, proszę przejść na stronę:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternatywnie możesz przejść na stronę https://%s/reset/?action=code&user=%s i wpisać poniższy kod:\n%s\n\nJeżeli nie prosiłeś o reset hasła proszę zignorować tą wiadomość i przyjąć nasze przeprosiny.\n\n--\nPanel Vesta\n",
@@ -487,7 +542,30 @@ $LANG['pl'] = array(
     'Hostname' => 'Nazwa hosta',
     'Time Zone' => 'Strefa czasowa',
     'Default Language' => 'Domyślny język',
-    'FileSystem Disk Quota ' => 'Quota systemu plików',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
+    'FileSystem Disk Quota' => 'Quota systemu plików',
     'Vesta Control Panel Plugins' => 'Pluginy panelu Vesta',
     'preview' => 'podląd',
     'Reseller Role' => 'Rola Resellera',
@@ -502,8 +580,8 @@ $LANG['pl'] = array(
     'Starred' => 'Gwiazdka',
     'Name' => 'Nazwa',
 
+
     'File Manager' => 'Manager Plików',
-    'type' => 'typ',
     'size' => 'rozmiar',
     'date' => 'data',
     'name' => 'nazwa',
@@ -513,11 +591,12 @@ $LANG['pl'] = array(
     'NEW DIR' => 'NOWY FOLDER',
     'DELETE' => 'USUŃ',
     'RENAME' => 'ZMIEŃ NAZWĘ',
-    'Change Rights' => 'Change Rights',
+    'RIGHTS' => 'RIGHTS',
     'COPY' => 'KOPIUJ',
     'ARCHIVE' => 'ARCHIWIZUJ',
     'EXTRACT' => 'ROZPAKUJ',
     'DOWNLOAD' => 'POBIERZ',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Naciśnij',
     'to reload the page' => 'żeby załadować ponownie stronę',
     'Directory name cannot be empty' => 'Nazwa folderu nie może być pusta',
@@ -532,11 +611,16 @@ $LANG['pl'] = array(
     'Copy' => 'Kopiuj',
     'Cancel' => 'Anuluj',
     'Rename' => 'Zmień nazwę',
+    'Change Rights' => 'Change Rights',
     'Delete' => 'Usuń',
     'Extract' => 'Rozpakuj',
     'Create' => 'Stwórz',
     'Compress' => 'Skompresuj',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Czy jesteś pewny, że chcesz skopiować?',
     'Are you sure you want to delete' => 'Czy jesteś pewny, że chcesz usunąć?',
     'into' => 'do',
@@ -556,6 +640,7 @@ $LANG['pl'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Dodaj nowy objekt',
     'Save Form' => 'Zapisz formularz',
     'Cancel saving form' => 'Anuluj zapisywanie formularza',
@@ -578,33 +663,38 @@ $LANG['pl'] = array(
     'New File' => 'Nowy plik',
     'New Folder' => 'Nowy folder',
     'Download' => 'Pobierz',
-    'Rename' => 'Zmień nazwę',
-    'Copy' => 'Kopiuj',
     'Archive' => 'Archiwizuj',
-    'Delete' => 'Usuń',
     'Save File (in text editor)' => 'Zapisz plik (w edytorze tekstu))',
     'Close Popup / Cancel' => 'Zamknij okno / Anuluj',
     'Move Cursor Up' => 'Przenieś kursor wyżej',
-    'Move Cursor Dow' => 'Przenień kursor niżej',
+    'Move Cursor Down' => 'Przenień kursor niżej',
     'Switch to Left Tab' => 'Przełącz do zakładki po lewej',
     'Switch to Right Tab' => 'Przełącz do zakładki po prawej',
     'Switch Tab' => 'Przełącz zakładkę',
-    'Go to the Top of File List' => 'Przejdź na górę listy plików',
+    'Go to the Top of the File List' => 'Przejdź na górę listy plików',
     'Go to the Last File' => 'Przejdź do ostatniego pliku',
-    'Open File/Enter Directory' => 'Otwórz plik/folder',
+    'Open File / Enter Directory' => 'Otwórz plik/folder',
     'Go to Parent Directory' => 'Przejdź do katalogu nadrzędnego',
     'Select Current File' => 'Wybierz aktywny plik',
     'Select Bunch of Files' => 'Wybierz kilka plików',
-    'Append File to the Current Selection' => 'Nadpisz plik do aktualnego zaznaczenia',
+    'Add File to the Current Selection' => 'Nadpisz plik do aktualnego zaznaczenia',
     'Select All Files' => 'Wybierz wszystkie pliki',
     'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' =>
         'skróty klawiszowe są zainspirowane wspaniałym managerem plików GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a>',
 
+    'Licence Key' => 'Klucz licencyjny',
+    'Enter License Key' => 'Wpisz klucz licencyjny',
+    'Buy Licence' => 'Kup licencję',
+    'Buy Lifetime License' => 'Kup wieczystą licencję',
+    'Disable and Cancel Licence' => 'Wyłącz i anuluj licencję',
+    'Licence Activated' => 'Aktywowano licencję',
+    'Licence Deactivated' => 'Zdezaktywowano licencję',
+    'Restrict users so that they cannot use SSH and access only their home directory.' => 'Daj użytkownikowi dostęp tylko do jego katalogu domowego przez SSH.',
+    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'Przeglądaj, kopiuj, edytuj i zarządzaj wszystkimi plikami należącymi do twojej domeny przy użyciu kompletnego Menedżera Plików.',
+    'This is a commercial module, you would need to purchace license key to enable it.' => 'To jest moduł komercyjny. Żeby go aktywować trzeba zakupić klucz licencyjny.',
+
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -626,17 +716,9 @@ $LANG['pl'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute',
-    'Licence Key' => 'Klucz licencyjny',
-    'Enter License Key' => 'Wpisz klucz licencyjny',
-    'Buy Licence' => 'Kup licencję',
-    'Buy Lifetime License' => 'Kup wieczystą licencję',
-    'Disable and Cancel Licence' => 'Wyłącz i anuluj licencję',
-    'Licence Activated' => 'Aktywowano licencję',
-    'Licence Deactivated' => 'Zdezaktywowano licencję',
-    'Restrict users so that they cannot use SSH and access only their home directory.' => 'Daj użytkownikowi dostęp tylko do jego katalogu domowego przez SSH.',
-    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'Przeglądaj, kopiuj, edytuj i zarządzaj wszystkimi plikami należącymi do twojej domeny przy użyciu kompletnego Menedżera Plików.',
-    'This is a commercial module, you would need to purchace license key to enable it.' => 'To jest moduł komercyjny. Żeby go aktywować trzeba zakupić klucz licencyjny.'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 139 - 18
web/inc/i18n/pt-BR.php

@@ -25,6 +25,21 @@ $LANG['pt-BR'] = array(
     'CRON'  => 'TAREFA',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Adicionar Usuário',
     'Add Domain'  => 'Adicionar Domínio',
     'Add Web Domain'  => 'Adicionar Domínio Web',
@@ -160,13 +175,14 @@ $LANG['pt-BR'] = array(
     'Web Aliases'  => 'Apelidos Web',
     'per domain'  => 'por domínio',
     'DNS Domains'  => 'Domínios DNS',
-    'DNS Domains'  => 'Domínios DNS',
+    'DNS domains'  => 'Domínios DNS',
     'DNS records'   => 'Registros DNS',
     'Name Servers'  => 'Servidores de Nome',
     'Mail Domains'  => 'Domínios de Email',
     'Mail Accounts'  => 'Contas de Email',
     'Cron Jobs'  => 'Tarefas',
     'SSH Access'  => 'Acesso SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Endereços IP',
     'Backups'  => 'Backups',
     'Backup System'  => 'Sistema de Backup',
@@ -178,10 +194,12 @@ $LANG['pt-BR'] = array(
     'Proxy Extensions'  => 'Extenções do Proxy',
     'Web Statistics'  => 'Estatísticas Web',
     'Additional FTP Account'  => 'Contas FTP Adicionais',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Expira',
     'Records'  => 'registros',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Pegar todos os emails',
     'AntiVirus Support'  => 'Suporte a Antivírus',
     'AntiSpam Support'  => 'Suporte a Antispam',
@@ -191,6 +209,16 @@ $LANG['pt-BR'] = array(
     'Autoreply'  => 'Auto resposta',
     'Forward to'  => 'Encaminhar para',
     'Do not store forwarded mail' => 'Não armazenar email encaminhado',
+    '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'  => 'banco de dados',
     'User'  => 'Usuário',
     'Host'  => 'Host',
@@ -212,11 +240,13 @@ $LANG['pt-BR'] = array(
     'Users'  => 'Usuários',
     'Load Average'  => 'Carga Média',
     'Memory Usage'  => 'Uso de Memória',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'Uso do HTTPD',
     'NGINX Usage'  => 'Uso do NGINX',
     'MySQL Usage on localhost'  => 'Uso do MySQL MySQL em localhost',
     'PostgreSQL Usage on localhost'  => 'Uso do PostgreSQL em localhost',
     'Bandwidth Usage eth0'  => 'Uso de Banda em eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'Uso do FTP',
     'SSH Usage'  => 'Uso do SSH',
     'reverse proxy'  => 'proxy reverso',
@@ -229,6 +259,8 @@ $LANG['pt-BR'] = array(
     'database server'  => 'servidor de banco de dados',
     'ftp server'  => 'servidor ftp',
     'job scheduler'  => 'agendador de tarefas',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Memória',
     'Uptime'  => 'Tempo em Atividade',
@@ -239,7 +271,6 @@ $LANG['pt-BR'] = array(
     'Release'  => 'Release',
     'Architecture'  => 'Arquitetura',
     'Object'  => 'Objeto',
-    'Owner'  => 'Dono',
     'Username'  => 'Usuário',
     'Password'  => 'Senha',
     'Email'  => 'Email',
@@ -333,6 +364,8 @@ $LANG['pt-BR'] = array(
     'ftp user password'  => 'ftp usuário senha',
     'ftp user'  => 'ftp usuário',
     'Last 70 lines of %s.%s.log' => 'Últimas 70 linhas de %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Baixar AccessLog',
     'Download ErrorLog' => 'Baixar ErrorLog',
     'Country' => 'País',
@@ -347,8 +380,26 @@ $LANG['pt-BR'] = array(
     'Banlist' => 'Lista Negra',
     'ranges are acceptable' => 'variações são permitidas',
     'CIDR format is supported' => 'formato CIDR é suportado',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Adicionar um ou mais Servidores de Nome',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'ilimitado',
     '1 account'  => '1 conta',
     '%s accounts'  => '%s contas',
@@ -364,6 +415,8 @@ $LANG['pt-BR'] = array(
     '%s cron jobs'  => '%s tarefas',
     '1 archive'  => '1 arquivo',
     '%s archives'  => '%s aquivos',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 pacote',
     '%s packages'  => '%s pacotes',
     '1 IP address'  => '1 endereço IP',
@@ -391,6 +444,7 @@ $LANG['pt-BR'] = array(
     'PACKAGE_CREATED_OK'  => 'Pacote <a href="/edit/package/?package=%s"><b>%s</b></a> criado com sucesso.',
     'SSL_GENERATED_OK' => 'Certificado SSL criado sucesso.',
     'RULE_CREATED_OK' => 'Regra criada com sucesso.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Atualização automática ativada com sucesso',
     'Autoupdate has been successfully disabled' => 'Atualização automática desativado com sucesso',
     'Cronjob email reporting has been successfully enabled' => 'Relatórios de tarefas ativado com sucesso',
@@ -441,12 +495,12 @@ $LANG['pt-BR'] = array(
     'RESTORE_SCHEDULED'  => 'A tarefa foi adicionada à fila. Você receberá um email de confirmação.',
     'RESTORE_EXISTS'  => 'Uma tarefa de restauração já está em execução. Por favor aguarde até que a mesma termine.',
 
-    'WEB_EXCLUSIONS' => "Digite o nome de domínio, um por linha. Para excluir todos os domínios use *. Para excluir diretórios específicos use o seguinte formato: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Digite o nome de domínio, um por linha. Para excluir todos os domínios use *",
-    'MAIL_EXCLUSIONS' => "Digite o nome de domínio, um por linha. Para excluir todos os domínios use *. Para excluir contas específicas use o seguinte formato: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Digite o nome completo do banco de dados, um por linha. Para excluir todos os bancos de dados use *",
-    'CRON_EXCLUSIONS' => "Para excluir todas as tarefas *",
-    'USER_EXCLUSIONS' => "Digite o nome do diretório, um por linha. Para excluir todos os diretórios use *",
+    'WEB_EXCLUSIONS' => 'Digite o nome de domínio, um por linha. Para excluir todos os domínios use *. Para excluir diretórios específicos use o seguinte formato: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Digite o nome de domínio, um por linha. Para excluir todos os domínios use *',
+    'MAIL_EXCLUSIONS' => 'Digite o nome de domínio, um por linha. Para excluir todos os domínios use *. Para excluir contas específicas use o seguinte formato: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Digite o nome completo do banco de dados, um por linha. Para excluir todos os bancos de dados use *',
+    'CRON_EXCLUSIONS' => 'Para excluir todas as tarefas *',
+    'USER_EXCLUSIONS' => 'Digite o nome do diretório, um por linha. Para excluir todos os diretórios use *',
 
     'Welcome to Vesta Control Panel'  => 'Bem vindo ao Painel de Controle Vesta',
     'MAIL_FROM'  => 'Painel de Controle Vesta <noreply@%s>',
@@ -466,7 +520,7 @@ $LANG['pt-BR'] = array(
     'Confirm Password'  => 'Confirmar senha',
     'Reset'  => 'Redefinir',
     'Reset Code'  => 'Código de Redefinição',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'O código de redefinição de senha foi enviado para o seu email<br>',
     'MAIL_RESET_SUBJECT'  => 'Senha Redefinida em %s',
     'PASSWORD_RESET_REQUEST' => "Para redefinir sua senha do Painel de Controle, por favor use o seguinte link:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nComo alternativa, você pode visitar https://%s/reset/?action=code&user=%s e digitar o seguinte código de redefinição:\n%s\n\nSe você não solicitou uma redefinição de senha, por favor ignore esse mensagem e aceite nossas desculpas.\n\n--\nPainel de Controle Vesta\n",
@@ -488,6 +542,29 @@ $LANG['pt-BR'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Fuso Horário',
     'Default Language' => 'Linguagem Padrão',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'Cota de Disco',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'pré-visualizar',
@@ -503,8 +580,8 @@ $LANG['pt-BR'] = array(
     'Starred' => 'Estreado',
     'Name' => 'Nome',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'tipo',
     'size' => 'tamanho',
     'date' => 'data',
     'name' => 'nome',
@@ -514,10 +591,12 @@ $LANG['pt-BR'] = array(
     'NEW DIR' => 'NOVO DIR',
     'DELETE' => 'DELETAR',
     'RENAME' => 'RENOMEAR',
+    'RIGHTS' => 'RIGHTS',
     'COPY' => 'COPIAR',
     'ARCHIVE' => 'ARQUIVAR',
     'EXTRACT' => 'EXTAIR',
     'DOWNLOAD' => 'BAIXAR',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Acertar',
     'to reload the page' => 'recarregar a página',
     'Directory name cannot be empty' => 'Nome do diretório não pode estar vazio',
@@ -532,11 +611,16 @@ $LANG['pt-BR'] = array(
     'Copy' => 'Copiar',
     'Cancel' => 'Cancelar',
     'Rename' => 'Renomear',
+    'Change Rights' => 'Change Rights',
     'Delete' => 'Deletar',
     'Extract' => 'Extrair',
     'Create' => 'Criar',
     'Compress' => 'Comprimir',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Tem certeza que deseja copiar',
     'Are you sure you want to delete' => 'Tem certeza que deseja deletar',
     'into' => 'dentro',
@@ -546,7 +630,17 @@ $LANG['pt-BR'] = array(
     'already exists' => 'já existe',
     'Create file' => 'Criar arquivo',
     'Create directory' => 'Criar diretório',
+    'read by owner' => 'read by owner',
+    'write by owner' => 'write by owner',
+    'execute/search by owner' => 'execute/search by owner',
+    'read by group' => 'read by group',
+    'write by group' => 'write by group',
+    'execute/search by group' => 'execute/search by group',
+    'read by others' => 'read by others',
+    'write by others' => 'write by others',
+    'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Adicionar novo objeto',
     'Save Form' => 'Salvar formulário',
     'Cancel saving form' => 'Cancelar salvamento do formulário',
@@ -562,29 +656,28 @@ $LANG['pt-BR'] = array(
     'Move backward through top menu' => 'Mover para trás através do menu superior',
     'Move forward through top menu' => 'Mover para frente através do menu superior',
     'Enter focused element' => 'Enter focused element',
+    'Move up through elements list' => 'Move up through elements list',
+    'Move down through elements list' => 'Move down through elements list',
 
     'Upload' => 'Enviar',
     'New File' => 'Novo Arquivo',
     'New Folder' => 'Novo Diretório',
     'Download' => 'Baixar',
-    'Rename' => 'Renomear',
-    'Copy' => 'Copiar',
     'Archive' => 'Arquivar',
-    'Delete' => 'Deletar',
     'Save File (in text editor)' => 'Salvar Arquivo (no editor de texto)',
     'Close Popup / Cancel' => 'Fechar Popup / Cancelar',
     'Move Cursor Up' => 'Mover o Cursor para Cima',
-    'Move Cursor Dow' => 'Mover o Cursor para Baixo',
+    'Move Cursor Down' => 'Mover o Cursor para Baixo',
     'Switch to Left Tab' => 'Alternar para a Guia à Esquerda',
     'Switch to Right Tab' => 'Alternar para a Guia à Direita',
     'Switch Tab' => 'Alternar Guia',
-    'Go to the Top of File List' => 'Ir para o Início da Lista de Arquivo',
+    'Go to the Top of the File List' => 'Ir para o Início da Lista de Arquivo',
     'Go to the Last File' => 'Ir para o último Arquivo',
-    'Open File/Enter Directory' => 'Abrir Arquivo/Digitar Diretório',
+    'Open File / Enter Directory' => 'Abrir Arquivo/Digitar Diretório',
     'Go to Parent Directory' => 'Ir para o diretório principal',
     'Select Current File' => 'Selecionar o Arquivo Atual',
     'Select Bunch of Files' => 'Selecionar Vários Arquivos',
-    'Append File to the Current Selection' => 'Acrescentar Arquivo à Seleção Atual',
+    'Add File to the Current Selection' => 'Acrescentar Arquivo à Seleção Atual',
     'Select All Files' => 'Selecionar Todos os Arquivos',
     'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' =>
         'atalhos são inspirados pela magnífica GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> Gerenciador de Arquivos',
@@ -598,6 +691,34 @@ $LANG['pt-BR'] = array(
     'Licence Deactivated' => 'Licença Desativada',
     'Restrict users so that they cannot use SSH and access only their home directory.' => 'Restringir usuários para que eles não possam usar SSH e acessar apenas seu diretório home.',
     'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'Browse, copiar, editar, ver, e recuperar todos os arquivos de seu domínio web usando o completo Gerenciador de Arquivos.',
-    'This is a commercial module, you would need to purchace license key to enable it.' => 'Éste é um módulo comercial que você poderia comprar uma chave de licença para habilita-lo.'
+    'This is a commercial module, you would need to purchace license key to enable it.' => 'Éste é um módulo comercial que você poderia comprar uma chave de licença para habilita-lo.',
+
+    'Minutes' => 'Minutes',
+    'Hourly' => 'Hourly',
+    'Run Command' => 'Run Command',
+    'every month' => 'every month',
+    'every odd month' => 'every odd month',
+    'every even month' => 'every even month',
+    'every day' => 'every day',
+    'every odd day' => 'every odd day',
+    'every even day' => 'every even day',
+    'weekdays (5 days)' => 'weekdays (5 days)',
+    'weekend (2 days)' => 'weekend (2 days)',
+    'Monday' => 'Monday',
+    'Tuesday' => 'Tuesday',
+    'Wednesday' => 'Wednesday',
+    'Thursday' => 'Thursday',
+    'Friday' => 'Friday',
+    'Saturday' => 'Saturday',
+    'Sunday' => 'Sunday',
+    'every hour' => 'every hour',
+    'every two hours' => 'every two hours',
+    'every minute' => 'every minute',
+    'every two minutes' => 'every two minutes',
+    'every' => 'every',
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 126 - 32
web/inc/i18n/pt.php

@@ -25,6 +25,21 @@ $LANG['pt'] = array(
     'CRON'  => 'TAREFA',
     'BACKUP'  => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Adicionar Usuário',
     'Add Domain'  => 'Adicionar Domínio',
     'Add Web Domain'  => 'Adicionar Domínio Web',
@@ -160,13 +175,14 @@ $LANG['pt'] = array(
     'Web Aliases'  => 'Apelidos Web',
     'per domain'  => 'por domínio',
     'DNS Domains'  => 'Domínios DNS',
-    'DNS Domains'  => 'Domínios DNS',
+    'DNS domains'  => 'Domínios DNS',
     'DNS records'   => 'Registros DNS',
     'Name Servers'  => 'Servidores de Nome',
     'Mail Domains'  => 'Domínios de Email',
     'Mail Accounts'  => 'Contas de Email',
     'Cron Jobs'  => 'Tarefas',
     'SSH Access'  => 'Acesso SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'Endereços IP',
     'Backups'  => 'Backups',
     'Backup System'  => 'Sistema de Backup',
@@ -178,10 +194,12 @@ $LANG['pt'] = array(
     'Proxy Extensions'  => 'Extenções do Proxy',
     'Web Statistics'  => 'Estatísticas Web',
     'Additional FTP Account'  => 'Contas FTP Adicionais',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Expira',
     'Records'  => 'registros',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Pegar todos os emails',
     'AntiVirus Support'  => 'Suporte a Antivírus',
     'AntiSpam Support'  => 'Suporte a Antispam',
@@ -191,6 +209,16 @@ $LANG['pt'] = array(
     'Autoreply'  => 'Auto resposta',
     'Forward to'  => 'Encaminhar para',
     'Do not store forwarded mail' => 'Não armazenar email encaminhado',
+    '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'  => 'banco de dados',
     'User'  => 'Usuário',
     'Host'  => 'Host',
@@ -212,11 +240,13 @@ $LANG['pt'] = array(
     'Users'  => 'Usuários',
     'Load Average'  => 'Carga Média',
     'Memory Usage'  => 'Uso de Memória',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'Uso do HTTPD',
     'NGINX Usage'  => 'Uso do NGINX',
     'MySQL Usage on localhost'  => 'Uso do MySQL MySQL em localhost',
     'PostgreSQL Usage on localhost'  => 'Uso do PostgreSQL em localhost',
     'Bandwidth Usage eth0'  => 'Uso de Banda em eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'Uso do FTP',
     'SSH Usage'  => 'Uso do SSH',
     'reverse proxy'  => 'proxy reverso',
@@ -229,6 +259,8 @@ $LANG['pt'] = array(
     'database server'  => 'servidor de banco de dados',
     'ftp server'  => 'servidor ftp',
     'job scheduler'  => 'agendador de tarefas',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Memória',
     'Uptime'  => 'Tempo em Atividade',
@@ -239,7 +271,6 @@ $LANG['pt'] = array(
     'Release'  => 'Release',
     'Architecture'  => 'Arquitetura',
     'Object'  => 'Objeto',
-    'Owner'  => 'Dono',
     'Username'  => 'Usuário',
     'Password'  => 'Senha',
     'Email'  => 'Email',
@@ -333,6 +364,8 @@ $LANG['pt'] = array(
     'ftp user password'  => 'ftp usuário senha',
     'ftp user'  => 'ftp usuário',
     'Last 70 lines of %s.%s.log' => 'Últimas 70 linhas de %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Baixar AccessLog',
     'Download ErrorLog' => 'Baixar ErrorLog',
     'Country' => 'País',
@@ -347,8 +380,26 @@ $LANG['pt'] = array(
     'Banlist' => 'Lista Negra',
     'ranges are acceptable' => 'variações são permitidas',
     'CIDR format is supported' => 'formato CIDR é suportado',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Adicionar um ou mais Servidores de Nome',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'ilimitado',
     '1 account'  => '1 conta',
     '%s accounts'  => '%s contas',
@@ -364,6 +415,8 @@ $LANG['pt'] = array(
     '%s cron jobs'  => '%s tarefas',
     '1 archive'  => '1 arquivo',
     '%s archives'  => '%s aquivos',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 pacote',
     '%s packages'  => '%s pacotes',
     '1 IP address'  => '1 endereço IP',
@@ -391,6 +444,7 @@ $LANG['pt'] = array(
     'PACKAGE_CREATED_OK'  => 'Pacote <a href="/edit/package/?package=%s"><b>%s</b></a> criado com sucesso.',
     'SSL_GENERATED_OK' => 'Certificado SSL criado sucesso.',
     'RULE_CREATED_OK' => 'Regra criada com sucesso.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Atualização automática ativada com sucesso',
     'Autoupdate has been successfully disabled' => 'Atualização automática desativado com sucesso',
     'Cronjob email reporting has been successfully enabled' => 'Relatórios de tarefas ativado com sucesso',
@@ -441,12 +495,12 @@ $LANG['pt'] = array(
     'RESTORE_SCHEDULED'  => 'A tarefa foi adicionada à fila. Você receberá um email de confirmação.',
     'RESTORE_EXISTS'  => 'Uma tarefa de restauração já está em execução. Por favor aguarde até que a mesma termine.',
 
-    'WEB_EXCLUSIONS' => "Digite o nome de domínio, um por linha. Para excluir todos os domínios use *. Para excluir diretórios específicos use o seguinte formato: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Digite o nome de domínio, um por linha. Para excluir todos os domínios use *",
-    'MAIL_EXCLUSIONS' => "Digite o nome de domínio, um por linha. Para excluir todos os domínios use *. Para excluir contas específicas use o seguinte formato: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Digite o nome completo do banco de dados, um por linha. Para excluir todos os bancos de dados use *",
-    'CRON_EXCLUSIONS' => "Para excluir todas as tarefas *",
-    'USER_EXCLUSIONS' => "Digite o nome do diretório, um por linha. Para excluir todos os diretórios use *",
+    'WEB_EXCLUSIONS' => 'Digite o nome de domínio, um por linha. Para excluir todos os domínios use *. Para excluir diretórios específicos use o seguinte formato: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Digite o nome de domínio, um por linha. Para excluir todos os domínios use *',
+    'MAIL_EXCLUSIONS' => 'Digite o nome de domínio, um por linha. Para excluir todos os domínios use *. Para excluir contas específicas use o seguinte formato: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Digite o nome completo do banco de dados, um por linha. Para excluir todos os bancos de dados use *',
+    'CRON_EXCLUSIONS' => 'Para excluir todas as tarefas *',
+    'USER_EXCLUSIONS' => 'Digite o nome do diretório, um por linha. Para excluir todos os diretórios use *',
 
     'Welcome to Vesta Control Panel'  => 'Bem vindo ao Painel de Controle Vesta',
     'MAIL_FROM'  => 'Painel de Controle Vesta <noreply@%s>',
@@ -466,7 +520,7 @@ $LANG['pt'] = array(
     'Confirm Password'  => 'Confirmar senha',
     'Reset'  => 'Redefinir',
     'Reset Code'  => 'Código de Redefinição',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'O código de redefinição de senha foi enviado para o seu email<br>',
     'MAIL_RESET_SUBJECT'  => 'Senha Redefinida em %s',
     'PASSWORD_RESET_REQUEST' => "Para redefinir sua senha do Painel de Controle, por favor use o seguinte link:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nComo alternativa, você pode visitar https://%s/reset/?action=code&user=%s e digitar o seguinte código de redefinição:\n%s\n\nSe você não solicitou uma redefinição de senha, por favor ignore esse mensagem e aceite nossas desculpas.\n\n--\nPainel de Controle Vesta\n",
@@ -488,6 +542,29 @@ $LANG['pt'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Fuso Horário',
     'Default Language' => 'Linguagem Padrão',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'Cota de Disco',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'pré-visualizar',
@@ -503,8 +580,8 @@ $LANG['pt'] = array(
     'Starred' => 'Estreado',
     'Name' => 'Nome',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'tipo',
     'size' => 'tamanho',
     'date' => 'data',
     'name' => 'nome',
@@ -514,10 +591,12 @@ $LANG['pt'] = array(
     'NEW DIR' => 'NOVO DIR',
     'DELETE' => 'DELETAR',
     'RENAME' => 'RENOMEAR',
+    'RIGHTS' => 'RIGHTS',
     'COPY' => 'COPIAR',
     'ARCHIVE' => 'ARQUIVAR',
     'EXTRACT' => 'EXTAIR',
     'DOWNLOAD' => 'BAIXAR',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Acertar',
     'to reload the page' => 'recarregar a página',
     'Directory name cannot be empty' => 'Nome do diretório não pode estar vazio',
@@ -532,11 +611,16 @@ $LANG['pt'] = array(
     'Copy' => 'Copiar',
     'Cancel' => 'Cancelar',
     'Rename' => 'Renomear',
+    'Change Rights' => 'Change Rights',
     'Delete' => 'Deletar',
     'Extract' => 'Extrair',
     'Create' => 'Criar',
     'Compress' => 'Comprimir',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Tem certeza que deseja copiar',
     'Are you sure you want to delete' => 'Tem certeza que deseja deletar',
     'into' => 'dentro',
@@ -546,6 +630,17 @@ $LANG['pt'] = array(
     'already exists' => 'já existe',
     'Create file' => 'Criar arquivo',
     'Create directory' => 'Criar diretório',
+    'read by owner' => 'read by owner',
+    'write by owner' => 'write by owner',
+    'execute/search by owner' => 'execute/search by owner',
+    'read by group' => 'read by group',
+    'write by group' => 'write by group',
+    'execute/search by group' => 'execute/search by group',
+    'read by others' => 'read by others',
+    'write by others' => 'write by others',
+    'execute/search by others' => 'execute/search by others',
+
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Adicionar novo objeto',
     'Save Form' => 'Salvar formulário',
     'Cancel saving form' => 'Cancelar salvamento do formulário',
@@ -568,32 +663,38 @@ $LANG['pt'] = array(
     'New File' => 'Novo Arquivo',
     'New Folder' => 'Novo Diretório',
     'Download' => 'Baixar',
-    'Rename' => 'Renomear',
-    'Copy' => 'Copiar',
     'Archive' => 'Arquivar',
-    'Delete' => 'Deletar',
     'Save File (in text editor)' => 'Salvar Arquivo (no editor de texto)',
     'Close Popup / Cancel' => 'Fechar Popup / Cancelar',
     'Move Cursor Up' => 'Mover o Cursor para Cima',
-    'Move Cursor Dow' => 'Mover o Cursor para Baixo',
+    'Move Cursor Down' => 'Mover o Cursor para Baixo',
     'Switch to Left Tab' => 'Alternar para a Guia à Esquerda',
     'Switch to Right Tab' => 'Alternar para a Guia à Direita',
     'Switch Tab' => 'Alternar Guia',
-    'Go to the Top of File List' => 'Ir para o Início da Lista de Arquivo',
+    'Go to the Top of the File List' => 'Ir para o Início da Lista de Arquivo',
     'Go to the Last File' => 'Ir para o último Arquivo',
-    'Open File/Enter Directory' => 'Abrir Arquivo/Digitar Diretório',
+    'Open File / Enter Directory' => 'Abrir Arquivo/Digitar Diretório',
     'Go to Parent Directory' => 'Ir para o diretório principal',
     'Select Current File' => 'Selecionar o Arquivo Atual',
     'Select Bunch of Files' => 'Selecionar Vários Arquivos',
-    'Append File to the Current Selection' => 'Acrescentar Arquivo à Seleção Atual',
+    'Add File to the Current Selection' => 'Acrescentar Arquivo à Seleção Atual',
     'Select All Files' => 'Selecionar Todos os Arquivos',
     'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' =>
         'atalhos são inspirados pela magnífica GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> Gerenciador de Arquivos',
+
+    'Licence Key' => 'Chave de Licença',
+    'Enter License Key' => 'Digite a Chave de Licença',
+    'Buy Licence' => 'Comprar Licença',
+    'Buy Lifetime License' => 'Comprar Licença Vitalícia',
+    'Disable and Cancel Licence' => 'Desativar e Cancelar a Licença',
+    'Licence Activated' => 'Lisença Ativada',
+    'Licence Deactivated' => 'Licença Desativada',
+    'Restrict users so that they cannot use SSH and access only their home directory.' => 'Restringir usuários para que eles não possam usar SSH e acessar apenas seu diretório home.',
+    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'Browse, copiar, editar, ver, e recuperar todos os arquivos de seu domínio web usando o completo Gerenciador de Arquivos.',
+    'This is a commercial module, you would need to purchace license key to enable it.' => 'Éste é um módulo comercial que você poderia comprar uma chave de licença para habilita-lo.',
+
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -615,16 +716,9 @@ $LANG['pt'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute',
-    'Licence Key' => 'Chave de Licença',
-    'Enter License Key' => 'Digite a Chave de Licença',
-    'Buy Licence' => 'Comprar Licença',
-    'Buy Lifetime License' => 'Comprar Licença Vitalícia',
-    'Disable and Cancel Licence' => 'Desativar e Cancelar a Licença',
-    'Licence Activated' => 'Lisença Ativada',
-    'Licence Deactivated' => 'Licença Desativada',
-    'Restrict users so that they cannot use SSH and access only their home directory.' => 'Restringir usuários para que eles não possam usar SSH e acessar apenas seu diretório home.',
-    'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'Browse, copiar, editar, ver, e recuperar todos os arquivos de seu domínio web usando o completo Gerenciador de Arquivos.',
-    'This is a commercial module, you would need to purchace license key to enable it.' => 'Éste é um módulo comercial que você poderia comprar uma chave de licença para habilita-lo.'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
 );

+ 106 - 26
web/inc/i18n/ro.php

@@ -6,7 +6,6 @@
  */
 
 $LANG['ro'] = array(
-
     'Packages' => 'Pachete',
     'IP' => 'IP',
     'Graphs' => 'Graficele',
@@ -27,6 +26,21 @@ $LANG['ro'] = array(
     'CRON' => 'CRON',
     'BACKUP' => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User' => 'Adăugare utilizator',
     'Add Domain' => 'Adăugare domeniu',
     'Add Web Domain' => 'Adăugare domeniu',
@@ -94,6 +108,7 @@ $LANG['ro'] = array(
     'disable autoupdate' => 'dezactivează actualizarea automată',
     'turn on notifications' => 'activează notificările',
     'turn off notifications' => 'dezactivează notificările',
+
     'Adding User' => 'Adăugare utilizator',
     'Editing User' => 'Editare utilizator',
     'Adding Domain' => 'Adăugare domeniu',
@@ -107,9 +122,9 @@ $LANG['ro'] = array(
     'Adding Mail Account' => 'Adăugare contul de poștă electronică',
     'Editing Mail Account' => 'Editare contul de poștă electronică',
     'Adding database' => 'Adăugare baze de date',
-    'Editing Database' => 'Editare baze de date',
-    'Adding Cron Job' => 'Adăugare sarcina cron',
     'Editing Cron Job' => 'Editare sarcina cron',
+    'Adding Cron Job' => 'Adăugare sarcina cron',
+    'Editing Database' => 'Editare baze de date',
     'Adding Package' => 'Adăugare pachetul',
     'Editing Package' => 'Editare pachetul',
     'Adding IP address' => 'Adăugare adresă IP',
@@ -161,13 +176,14 @@ $LANG['ro'] = array(
     'Web Aliases' => 'Aliasuri web',
     'per domain' => 'per domeniu',
     'DNS Domains' => 'Domenii DNS',
-    'DNS Domains' => 'Domenii DNS',
+    'DNS domains' => 'Domenii DNS',
     'DNS records'  => 'Înregistrări DNS',
     'Name Servers' => 'Servere NS',
     'Mail Domains' => 'Domenii de poștă',
     'Mail Accounts' => 'Conturi de poștă',
     'Cron Jobs' => 'Sarcini cron',
     'SSH Access' => 'Acces SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses' => 'Adrese IP',
     'Backups' => 'Copii de rezervă',
     'Backup System'  => 'Sistem de backup',
@@ -179,10 +195,12 @@ $LANG['ro'] = array(
     'Proxy Extensions' => 'Extensii Proxy',
     'Web Statistics' => 'Statistici web',
     'Additional FTP Account' => 'Cont suplimentar FTP',
+    'Path'  => 'Path',
     'SOA' => 'SOA',
     'TTL' => 'TTL',
     'Expire' => 'Expiră',
     'Records' => 'DNS înregistrări',
+    'Serial'  => 'Serial',
     'Catchall email' => 'E-mail catchall',
     'AntiVirus Support' => 'Antivirus',
     'AntiSpam Support' => 'Antispam',
@@ -192,6 +210,16 @@ $LANG['ro'] = array(
     'Autoreply' => 'Răspuns automat',
     'Forward to' => 'Redirectare către',
     'Do not store forwarded mail' => 'Redirectare fără stocare email',
+    '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' => 'bază de date',
     'User' => 'Utilizator',
     'Host' => 'Host',
@@ -213,11 +241,13 @@ $LANG['ro'] = array(
     'Users' => 'Utilizatori',
     'Load Average' => 'Load Average',
     'Memory Usage' => 'Utilizare de memorie',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage' => 'HTTPD',
     'NGINX Usage' => 'Proxy',
     'MySQL Usage on localhost' => 'MySQL',
     'PostgreSQL Usage on localhost' => 'PostgreSQL',
     'Bandwidth Usage eth0' => 'Utilizare rețelei eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage' => 'FTP ',
     'SSH Usage' => 'SSH',
     'reverse proxy' => 'proxy inversă',
@@ -230,6 +260,8 @@ $LANG['ro'] = array(
     'database server' => 'server de baze de date',
     'ftp server' => 'server ftp',
     'job scheduler' => 'job scheduler',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU' => 'CPU',
     'Memory' => 'Memorie',
     'Uptime' => 'Uptime',
@@ -240,7 +272,6 @@ $LANG['ro'] = array(
     'Release' => 'Release',
     'Architecture' => 'Arhitectură',
     'Object' => 'Obiect',
-    'Owner' => 'Proprietar',
     'Username' => 'Nume utilizator',
     'Password' => 'Parolă',
     'Email' => 'E-mail',
@@ -334,6 +365,8 @@ $LANG['ro'] = array(
     'ftp user password' => 'parola de FTP',
     'ftp user' => 'cont FTP',
     'Last 70 lines of %s.%s.log' => 'Ultimele 70 linii de %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Descarcă AccessLog',
     'Download ErrorLog' => 'Descarcă ErrorLog',
     'Country' => 'Țară',
@@ -348,8 +381,26 @@ $LANG['ro'] = array(
     'Banlist' => 'Banlist',
     'ranges are acceptable' => 'intervale sunt acceptabile',
     'CIDR format is supported' => 'format CIDR este suportat',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account' => '1 utilizator',
     '%s accounts' => '%s utilizatori',
@@ -365,6 +416,8 @@ $LANG['ro'] = array(
     '%s cron jobs' => '%s sarcini',
     '1 archive' => '1 arhiva',
     '%s archives' => '%s arhive',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package' => '1 pachet',
     '%s packages' => '%s pachete',
     '1 IP address' => '1 IP adresa',
@@ -392,6 +445,7 @@ $LANG['ro'] = array(
     'PACKAGE_CREATED_OK' => 'Pachet <a href="/edit/package/?package=%s"><b>%s</b></a> a fost creat cu succes.',
     'SSL_GENERATED_OK' => 'SSL certificat a fost generat cu succes.',
     'RULE_CREATED_OK' => 'Regula a fost creata cu succes.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Autoupdate a fost activat cu succes',
     'Autoupdate has been successfully disabled' => 'Autoupdate a fost deactivat cu success',
     'Cronjob email reporting has been successfully enabled' => 'Raportare cron a fost activată cu succes',
@@ -441,12 +495,13 @@ $LANG['ro'] = array(
     'BACKUP_EXISTS'  => 'Un backup este în progres. Te rog să aștepți finalizarea acestuia.',
     'RESTORE_SCHEDULED'  => 'Sarcina a fost adăugată la coadă. Vei primi o notificare prin e-mail atunci cand restaurarea va fi gata.',
     'RESTORE_EXISTS'  => 'O restaurare este în progres. Te rog să aștepți finalizarea acesteia.',
-    'WEB_EXCLUSIONS' => "Adauga domeniu câte unul pe linie. Pentru a exclude toate domeniile bagă *. Format pentru a exclude directoare specifice: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Adauga domeniu câte unul pe linie. Pentru a exclude toate domeniile bagă *",
-    'MAIL_EXCLUSIONS' => "Adauga domeniu câte unul pe linie. Pentru a exclude toate domeniile bagă *. Format pentru a exclude conturile specifice: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Adauga câte o baza pe linie. Pentru a exclude toate baze bagă *",
-    'CRON_EXCLUSIONS' => "Pentru a exclude toate sarcinile bagă *",
-    'USER_EXCLUSIONS' => "Adauga câte o directoria pe linie. Pentru a exclude toate bagă *",
+
+    'WEB_EXCLUSIONS' => 'Adauga domeniu câte unul pe linie. Pentru a exclude toate domeniile bagă *. Format pentru a exclude directoare specifice: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Adauga domeniu câte unul pe linie. Pentru a exclude toate domeniile bagă *',
+    'MAIL_EXCLUSIONS' => 'Adauga domeniu câte unul pe linie. Pentru a exclude toate domeniile bagă *. Format pentru a exclude conturile specifice: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Adauga câte o baza pe linie. Pentru a exclude toate baze bagă *',
+    'CRON_EXCLUSIONS' => 'Pentru a exclude toate sarcinile bagă *',
+    'USER_EXCLUSIONS' => 'Adauga câte o directoria pe linie. Pentru a exclude toate bagă *',
 
     'Welcome to Vesta Control Panel' => 'Bine ați venit la panoul de control Vesta',
     'MAIL_FROM' => 'Vesta Control Panel <noreply@%s>',
@@ -466,7 +521,7 @@ $LANG['ro'] = array(
     'Confirm Password' => 'Repetarea parolei',
     'Reset' => 'Reseta',
     'Reset Code' => 'Cod de resetare',
-    'RESET_NOTICE' => '',
+    'RESET_NOTICE' => '',    // should we add something here?
     'RESET_CODE_SENT' => 'Cod de resetare a fost trimis la email dvs..<br>',
     'MAIL_RESET_SUBJECT' => 'Schimbarea parolei %s',
     'PASSWORD_RESET_REQUEST'=>"Pentru a shimba parolei, vă rugăm faceți clic aici:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\n\n\nDacă nu ați solicitat o procedură de resetarea parolei, vă rugăm să ignorați această scrisoare.\n\n--\nPanoul de control Vesta\n",
@@ -488,6 +543,29 @@ $LANG['ro'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -503,8 +581,8 @@ $LANG['ro'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -519,6 +597,7 @@ $LANG['ro'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -539,6 +618,10 @@ $LANG['ro'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -558,6 +641,7 @@ $LANG['ro'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -580,26 +664,23 @@ $LANG['ro'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -615,9 +696,6 @@ $LANG['ro'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -639,7 +717,9 @@ $LANG['ro'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 108 - 30
web/inc/i18n/ru.php

@@ -6,7 +6,6 @@
  */
 
 $LANG['ru'] = array(
-
     'Packages' => 'Пакеты',
     'IP' => 'IP',
     'Graphs' => 'Графики',
@@ -27,6 +26,21 @@ $LANG['ru'] = array(
     'CRON' => 'CRON',
     'BACKUP' => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User' => 'Добавить аккаунт',
     'Add Domain' => 'Добавить домен',
     'Add Web Domain' => 'Добавить домен',
@@ -46,9 +60,9 @@ $LANG['ru'] = array(
     'Search' => 'Поиск',
     'Add one more FTP Account' => 'Добавить еще один FTP аккаунт',
     'Overall Statistics' => 'Сводная статистика',
-    'Daily' => 'Ежедневые',
-    'Weekly' => 'Еженедельные',
-    'Monthly' => 'Ежемесячные',
+    'Daily' => 'по дням',
+    'Weekly' => 'по дням недели',
+    'Monthly' => 'по месяцам',
     'Yearly' => 'Ежегодные',
     'Add' => 'Добавить',
     'Back' => 'Назад',
@@ -116,9 +130,9 @@ $LANG['ru'] = array(
     'Adding IP address' => 'Добавление IP адреса',
     'Editing IP Address' => 'Редактирование IP адреса',
     'Editing Backup Exclusions' => 'Редактирование исключений',
+    'Generating CSR' => 'Генерирование CSR запроса',
     'Listing' => 'Просмотр',
     'Search Results' => 'Результаты поиска',
-    'Generating CSR' => 'Генерирование CSR запроса',
     'Adding Firewall Rule' => 'Добавление правила фаервола',
     'Editing Firewall Rule' => 'Редактирование правила фаервола',
     'Adding IP Address to Banlist' => 'Блокирование IP адреса',
@@ -162,13 +176,14 @@ $LANG['ru'] = array(
     'Web Aliases' => 'Веб алиасы',
     'per domain' => 'на домен',
     'DNS Domains' => 'DNS домены',
-    'DNS Domains' => 'DNS домены',
+    'DNS domains' => 'DNS домены',
     'DNS records'  => 'DNS записи',
     'Name Servers' => 'Сервер имен',
     'Mail Domains' => 'Почтовые домены',
     'Mail Accounts' => 'Почтовые аккаунты',
     'Cron Jobs' => 'Cron задания',
     'SSH Access' => 'Доступ по SSH',
+    'IP Address'  => 'IP Address',
     'IP Addresses' => 'IP адреса',
     'Backups' => 'Резервные копии',
     'Backup System'  => 'Система резервного копирования',
@@ -180,10 +195,12 @@ $LANG['ru'] = array(
     'Proxy Extensions' => 'Обработка Proxy',
     'Web Statistics' => 'Статистика сайта',
     'Additional FTP Account' => 'Дополнительный ftp',
+    'Path'  => 'Path',
     'SOA' => 'SOA',
     'TTL' => 'TTL',
     'Expire' => 'Истекает',
     'Records' => 'DNS записи',
+    'Serial'  => 'Serial',
     'Catchall email' => 'Ловушка почты',
     'AntiVirus Support' => 'Антивирус',
     'AntiSpam Support' => 'Антиспам',
@@ -193,12 +210,22 @@ $LANG['ru'] = array(
     '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'  => 'Normal password',
     'database' => 'база данных',
     'User' => 'Пользователь',
     'Host' => 'Сервер',
     'Charset' => 'Кодировка',
     'Min' => 'Мин',
-    'Hour' => 'Час',
+    'Hour' => 'Часы',
     'Day' => 'День',
     'Month' => 'Месяц',
     'Day of week' => 'День недели',
@@ -214,11 +241,13 @@ $LANG['ru'] = array(
     'Users' => 'Пользователи',
     'Load Average' => 'Общая нагрузка',
     'Memory Usage' => 'Использование памяти',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage' => 'Веб сервер',
     'NGINX Usage' => 'Proxy',
     'MySQL Usage on localhost' => 'Сервер базы данных MySQL',
     'PostgreSQL Usage on localhost' => 'Сервер базы данных PostgreSQL',
     'Bandwidth Usage eth0' => 'Использование cети: eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage' => 'FTP сервер',
     'SSH Usage' => 'SSH сервер',
     'reverse proxy' => 'обратный прокси',
@@ -231,6 +260,8 @@ $LANG['ru'] = array(
     'database server' => 'сервер баз данных',
     'ftp server' => 'ftp сервер',
     'job scheduler' => 'планировщик заданий',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU' => 'Процессор',
     'Memory' => 'Память',
     'Uptime' => 'Запущен',
@@ -241,7 +272,6 @@ $LANG['ru'] = array(
     'Release' => 'Релиз',
     'Architecture' => 'Архитектура',
     'Object' => 'Объект',
-    'Owner' => 'Владелец',
     'Username' => 'Аккаунт',
     'Password' => 'Пароль',
     'Email' => 'E-mail',
@@ -282,7 +312,7 @@ $LANG['ru'] = array(
     'Prefix will be automaticaly added to database name and database user' => 'Префикс %s будет автоматически добавлен к БД и пользователю БД',
     'Database' => 'База данных',
     'Type' => 'Тип',
-    'Minute' => 'Минута',
+    'Minute' => 'Минуты',
     'Command' => 'Команда',
     'Package Name' => 'Название пакета',
     'Netmask' => 'Маска подсети',
@@ -335,6 +365,8 @@ $LANG['ru'] = array(
     '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' => 'Страна',
@@ -349,8 +381,26 @@ $LANG['ru'] = array(
     'Banlist' => 'Черный список',
     'ranges are acceptable' => 'можно использовать диапазоны',
     'CIDR format is supported' => 'поддерживается формат CIDR',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Добавить ещё один Сервер Имён',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'неограничено',
     '1 account' => ' пользователей на странице: 1',
     '%s accounts' => 'пользователей на странице: %s',
@@ -366,6 +416,8 @@ $LANG['ru'] = array(
     '%s cron jobs' => 'заданий на странице: %s',
     '1 archive' => 'архивов на странице: 1',
     '%s archives' => 'архивов на странице: %s',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package' => 'пакетов на странице: 1',
     '%s packages' => 'пакетов на странице: %s',
     '1 IP address' => 'IP адресов на странице: 1',
@@ -393,6 +445,7 @@ $LANG['ru'] = array(
     'PACKAGE_CREATED_OK' => 'Пакет <a href="/edit/package/?package=%s"><b>%s</b></a> успешно создан.',
     'SSL_GENERATED_OK' => 'SSL cертификат был успешно сгенерирован.',
     'RULE_CREATED_OK' => 'Правило было успешно добавлено',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Автообновление было успешно включено',
     'Autoupdate has been successfully disabled' => 'Автобновление было успешно выключено',
     'Cronjob email reporting has been successfully enabled' => 'Cron уведомления были успешно включены',
@@ -443,12 +496,12 @@ $LANG['ru'] = array(
     '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' => "Укажите папки по одной в строке. Для того чтобы исключить все, используйте *",
+    '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 Control Panel <noreply@%s>',
@@ -468,7 +521,7 @@ $LANG['ru'] = array(
     'Confirm Password' => 'Подтверждение пароля',
     'Reset' => 'Сбросить',
     'Reset Code' => 'Код восстановления',
-    'RESET_NOTICE' => '',
+    'RESET_NOTICE' => '',    // should we add something here?
     '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--\nПанель управления Vesta\n",
@@ -490,6 +543,29 @@ $LANG['ru'] = array(
     '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Плагины',
     'preview' => 'превью',
@@ -505,8 +581,8 @@ $LANG['ru'] = array(
     'Starred' => 'Избранные',
     'Name' => 'Имя',
 
+
     'File Manager' => 'Файлы',
-    'type' => 'тип',
     'size' => 'размер',
     'date' => 'дата',
     'name' => 'имя',
@@ -521,6 +597,7 @@ $LANG['ru'] = array(
     'ARCHIVE' => 'АРХИВ',
     'EXTRACT' => 'РАСПАКОВАТЬ',
     'DOWNLOAD' => 'СКАЧАТЬ',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Нажмите',
     'to reload the page' => 'чтобы перегрузить страницу',
     'Directory name cannot be empty' => 'Название директории не может быть пустым',
@@ -541,6 +618,10 @@ $LANG['ru'] = array(
     'Create' => 'Создать',
     'Compress' => 'Запаковать',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Вы уверены, что хотите скопировать',
     'Are you sure you want to delete' => 'Вы уверены, что хотите удалить',
     'into' => 'в',
@@ -560,6 +641,7 @@ $LANG['ru'] = array(
     'write by others' => 'запись для остальных',
     'execute/search by others' => 'запуск/поиск для остальных',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Перейти к Форме Добавления',
     'Save Form' => 'Сохрнанить Форму',
     'Cancel saving form' => 'Отменить Сохранение',
@@ -582,26 +664,23 @@ $LANG['ru'] = array(
     'New File' => 'Создать Файл',
     'New Folder' => 'Создать  Папку',
     'Download' => 'Скачать',
-    'Rename' => 'Переименовать',
-    'Copy' => 'Скопировать',
     'Archive' => 'Заархивировать',
-    'Delete' => 'Удалить',
     'Save File (in text editor)' => 'Сохранить Файл (в рамках текстового редактора)',
     'Close Popup / Cancel' => 'Закрыть Попап / Отмена',
     'Move Cursor Up' => 'Переместить курсор вверх',
-    'Move Cursor Dow' => 'Переместить курсор вниз',
+    'Move Cursor Down' => 'Переместить курсор вниз',
     'Switch to Left Tab' => 'Переключиться на таб слева',
     'Switch to Right Tab' => 'Переключиться на таб справа',
     'Switch Tab' => 'Переключить активный таб',
-    'Go to the Top of File List' => 'Перейти к первому файлу',
+    'Go to the Top of the File List' => 'Перейти к первому файлу',
     'Go to the Last File' => 'Перейти к последнему файлу',
-    'Open File/Enter Directory' => 'Открыть Файл/Папку',
+    'Open File / Enter Directory' => 'Открыть Файл/Папку',
     'Go to Parent Directory' => 'Перейти в родительскую директорию',
     'Select Current File' => 'Выбрать активный файл',
     'Select Bunch of Files' => 'Выбрать блок файлов',
-    'Append File to the Current Selection' => 'Добавить файл к выбранным',
+    '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' =>
         'горячие клавиши заимствованы из великолепного файл менеджера GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a>',
 
     'Licence Key' => 'Лицензионный Ключ',
@@ -617,9 +696,6 @@ $LANG['ru'] = array(
 
     'Minutes' => 'по минутам',
     'Hourly' => 'по часам',
-    'Daily' => 'по дням',
-    'Weekly' => 'по дням недели',
-    'Monthly' => 'по месяцам',
     'Run Command' => 'Выполнять',
     'every month' => 'каждый месяц',
     'every odd month' => 'каждый нечётный месяц',
@@ -641,7 +717,9 @@ $LANG['ru'] = array(
     'every minute' => 'каждую минуту',
     'every two minutes' => 'каждые 2 минуты',
     'every' => 'каждые',
-    'Hour' => 'Часы',
-    'Minute' => 'Минуты'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 106 - 25
web/inc/i18n/se.php

@@ -10,6 +10,7 @@ $LANG['se'] = array(
     'Graphs'  => 'Grafer',
     'Statistics'  => 'Statistik',
     'Log'  => 'Loggar',
+    'Server'  => 'Server',
     'Services'  => 'Tjänster',
     'Firewall' => 'Brandvägg',
     'Updates'  => 'Uppdateringar',
@@ -24,6 +25,21 @@ $LANG['se'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'BACKUPER',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Lägg till användare',
     'Add Domain'  => 'Lägg till domän',
     'Add Web Domain'  => 'Lägg till Webbhotellsdomän',
@@ -151,6 +167,7 @@ $LANG['se'] = array(
     'User Directories'  => 'Användarkataloger',
     'Template'  => 'Mall',
     'Web Template'  => 'Apache-mall',
+    'Backend Template'  => 'Backend Template',
     'Proxy Template'  => 'Nginx-mall',
     'DNS Template'  => 'DNS-mall',
     'Web Domains'  => 'Webb-domäner',
@@ -158,13 +175,14 @@ $LANG['se'] = array(
     'Web Aliases'  => 'Webb-alias',
     'per domain'  => 'per domän',
     'DNS Domains'  => 'DNS-domäner',
-    'DNS Domains'  => 'DNS-domäner',
-    'DNS records'   => 'DNS-poster'  ,
+    'DNS domains'  => 'DNS-domäner',
+    'DNS records'   => 'DNS-poster',
     'Name Servers'  => 'Namnservrar',
     'Mail Domains'  => 'Mail-domäner',
     'Mail Accounts'  => 'Mailkonto',
     'Cron Jobs'  => 'Cron-uppdrag',
     'SSH Access'  => 'SSH-tillgång',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP-adresser',
     'Backups'  => 'Säkerhetskopieringar',
     'Backup System'  => 'Backup-systemet',
@@ -176,10 +194,12 @@ $LANG['se'] = array(
     'Proxy Extensions'  => 'Nginx-tillägg',
     'Web Statistics'  => 'Webbstatistik',
     'Additional FTP Account'  => 'Ytterligare FTP-konto',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Utgår',
     'Records'  => 'Poster',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Fånga-allt-adress',
     'AntiVirus Support'  => 'Antivirus-stöd',
     'AntiSpam Support'  => 'Antispam-stöd',
@@ -189,6 +209,16 @@ $LANG['se'] = array(
     'Autoreply'  => 'Automatsvar',
     'Forward to'  => 'Vidarebefordra till',
     'Do not store forwarded mail' => 'Lagra inte vidarebefordrad 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'  => 'Normal password',
     'database'  => 'databas',
     'User'  => 'Användare',
     'Host'  => 'Värd',
@@ -210,11 +240,13 @@ $LANG['se'] = array(
     'Users'  => 'Användare',
     'Load Average'  => 'Genomsnittsbelastning',
     'Memory Usage'  => 'Minnesanvändande',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD-användning',
     'NGINX Usage'  => 'NGINX-användande',
     'MySQL Usage on localhost'  => 'MySQL-användande på localhost',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL-användande på localhost',
     'Bandwidth Usage eth0'  => 'Bandbreddsanvändande på eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP-användande',
     'SSH Usage'  => 'SSH-användande',
     'reverse proxy'  => 'omvänd proxy',
@@ -227,6 +259,8 @@ $LANG['se'] = array(
     'database server'  => 'databasserver',
     'ftp server'  => 'ftp-server',
     'job scheduler'  => 'schemaläggare för uppdrag',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'Processor',
     'Memory'  => 'Minne',
     'Uptime'  => 'Upptid',
@@ -237,7 +271,6 @@ $LANG['se'] = array(
     'Release'  => 'Utgåva',
     'Architecture'  => 'Arkitektur',
     'Object'  => 'Objekt',
-    'Owner'  => 'Ägare',
     'Username'  => 'Användarnamn',
     'Password'  => 'Lösenord',
     'Email'  => 'Email',
@@ -331,6 +364,8 @@ $LANG['se'] = array(
     'ftp user password'  => 'lösenord för ftp-användare',
     'ftp user'  => 'ftp-användare',
     'Last 70 lines of %s.%s.log' => 'Sista 70 raderna av %s.%s.-loggen',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Ladda ned åtkomst-loggen',
     'Download ErrorLog' => 'Ladda ned fel-loggen',
     'Country' => 'Land',
@@ -345,8 +380,26 @@ $LANG['se'] = array(
     'Banlist' => 'Blockeringslista',
     'ranges are acceptable' => 'spannet är acceptabelt',
     'CIDR format is supported' => 'Stöd finns för CIDR-format',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'unlimited',
     '1 account'  => '1 konto',
     '%s accounts'  => '%s konton',
@@ -362,6 +415,8 @@ $LANG['se'] = array(
     '%s cron jobs'  => '%s cron-uppdrag',
     '1 archive'  => '1 arkiv',
     '%s archives'  => '%s arkiv',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 webhotell-paket',
     '%s packages'  => '%s webhotell-paket',
     '1 IP address'  => '1 IP-adress',
@@ -389,6 +444,7 @@ $LANG['se'] = array(
     'PACKAGE_CREATED_OK'  => 'Webbhotell-paketet <a href="/edit/package/?package=%s"><b>%s</b></a> har skapats.',
     'SSL_GENERATED_OK' => 'Certifikat genererat.',
     'RULE_CREATED_OK' => 'Regel skapad.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Automatisk uppdatering har aktiverats.',
     'Autoupdate has been successfully disabled' => 'Automatisk uppdatering har avaktiverats.',
     'Cronjob email reporting has been successfully enabled' => 'emailrapport för cron-uppdrag har aktiverats',
@@ -439,12 +495,12 @@ $LANG['se'] = array(
     'RESTORE_SCHEDULED'  => 'Uppdraget har lagts till i kön. Du kommer att erhålla ett mail när det är klart.',
     'RESTORE_EXISTS'  => 'Det finns redan ett pågående återskapar-uppdrag. Var god vänta tills det är klart innan du försöker igen.',
 
-    'WEB_EXCLUSIONS' => "Ange domännamn, ett per rad. För att utesluta alla domäner - använd *. För att utesluta specifika kataloger - använd följande format: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Ange domännamn, ett per rad. För att utesluta alla domäner - använd *",
-    'MAIL_EXCLUSIONS' => "Ange domännamn, ett per rad. För att utesluta alla domäner - använd *. För att utesluta specifika konton - använd följande format: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Ange hela databasnamnet, ett per rad. För att utesluta alla databaser, använd *",
-    'CRON_EXCLUSIONS' => "För att utesluta alla cronuppdrag, använd *",
-    'USER_EXCLUSIONS' => "Ange katalognamn, ett per rad. För att utesluta alla kataloger, använd *",
+    'WEB_EXCLUSIONS' => 'Ange domännamn, ett per rad. För att utesluta alla domäner - använd *. För att utesluta specifika kataloger - använd följande format: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Ange domännamn, ett per rad. För att utesluta alla domäner - använd *',
+    'MAIL_EXCLUSIONS' => 'Ange domännamn, ett per rad. För att utesluta alla domäner - använd *. För att utesluta specifika konton - använd följande format: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Ange hela databasnamnet, ett per rad. För att utesluta alla databaser, använd *',
+    'CRON_EXCLUSIONS' => 'För att utesluta alla cronuppdrag, använd *',
+    'USER_EXCLUSIONS' => 'Ange katalognamn, ett per rad. För att utesluta alla kataloger, använd *',
 
     'Welcome to Vesta Control Panel'  => 'Välkommen till Kontrollpanelen Vesta',
     'MAIL_FROM'  => 'Kontrollpanelen Vesta <noreply@%s>',
@@ -464,7 +520,7 @@ $LANG['se'] = array(
     'Confirm Password'  => 'Bekräfta lösenordet',
     'Reset'  => 'Återställ',
     'Reset Code'  => 'Återställ kod',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Koden för lösenordsåterställning har skickats till din emailadress<br>',
     'MAIL_RESET_SUBJECT'  => 'Lösenord återställt %s',
     'PASSWORD_RESET_REQUEST' => "För att återställa lösenordet till kontrollpanelen, vänligen följ denna länk:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nEller så kan du gåt till https://%s/reset/?action=code&user=%s och ange följande återställningskod:\n%s\n\nOm du inte har begärt lösenordsåterställning, var god ignorera detta meddelande och acceptera vår ödmjuka ursäkt.\n\n--\nKontrollpanelen Vesta\n",
@@ -486,6 +542,29 @@ $LANG['se'] = array(
     'Hostname' => 'Hostname',
     'Time Zone' => 'Time Zone',
     'Default Language' => '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'preview',
@@ -501,8 +580,8 @@ $LANG['se'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -517,6 +596,7 @@ $LANG['se'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -537,6 +617,10 @@ $LANG['se'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -556,6 +640,7 @@ $LANG['se'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -578,26 +663,23 @@ $LANG['se'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -613,9 +695,6 @@ $LANG['se'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -637,7 +716,9 @@ $LANG['se'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 109 - 30
web/inc/i18n/tr.php

@@ -26,6 +26,21 @@ $LANG['tr'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'YEDEK',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Kullanıcı Ekle',
     'Add Domain'  => 'Alan Adı Ekle',
     'Add Web Domain'  => 'Alan Adı Ekle',
@@ -40,9 +55,9 @@ $LANG['tr'] = array(
     'Restore All'  => 'Hepsini Restore Et',
     'Add Package'  => 'Paket Ekle',
     'Add IP'  => 'IP Ekle',
-    'Search'  => 'Ara',
     'Add Rule' => 'Kural Ekle',
     'Ban IP Address' => 'IP adresini banla',
+    'Search'  => 'Ara',
     'Add one more FTP Account' => 'Bir FTP hesabı daha ekle',
     'Overall Statistics'  => 'Tüm İstatistikler',
     'Daily'  => 'Günlük',
@@ -57,11 +72,11 @@ $LANG['tr'] = array(
     'toggle all'  => 'hepsini seç',
     'apply to selected'  => 'seçimi uygula',
     'rebuild'  => 'yeniden oluştur',
-    'rebuild web'  => 'web\'i yeniden oluştur',
-    'rebuild dns'  => 'dns\'i yeniden oluştur',
-    'rebuild mail'  => 'mail\'i yeniden oluştur',
-    'rebuild db'  => 'db\'yi yeniden oluştur',
-    'rebuild cron'  => 'cron\'u yeniden oluştur',
+    'rebuild web'  => "web'i yeniden oluştur",
+    'rebuild dns'  => "dns'i yeniden oluştur",
+    'rebuild mail'  => "mail'i yeniden oluştur",
+    'rebuild db'  => "db'yi yeniden oluştur",
+    'rebuild cron'  => "cron'u yeniden oluştur",
     'update counters'  => 'sayaçları güncelle',
     'suspend'  => 'askıya al',
     'unsuspend'  => 'devam ettir',
@@ -160,14 +175,15 @@ $LANG['tr'] = array(
     'SSL Domains'  => 'SSL Domainleri',
     'Web Aliases'  => 'Web Takma Adları (Aliases)',
     'per domain'  => 'domain başına',
-    'DNS domains'  => 'DNS Alan Adları',
+    'DNS Domains'  => 'DNS Alan Adları',
     'DNS domains'  => 'DNS alan adları',
-    'DNS records'   => 'DNS kayıtları' ,
+    'DNS records'   => 'DNS kayıtları',
     'Name Servers'  => 'Alan Adı Sunucuları',
     'Mail Domains'  => 'Posta Alan Adları',
     'Mail Accounts'  => 'Posta Hesapları',
     'Cron Jobs'  => 'Zamanlanmış Görevler',
     'SSH Access'  => 'SSH Erişimi',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP Adresleri',
     'Backups'  => 'Yedekler',
     'Backup System'  => 'Yedekleme Sistemi',
@@ -179,10 +195,12 @@ $LANG['tr'] = array(
     'Proxy Extensions'  => 'Proxy Uzantıları',
     'Web Statistics'  => 'Web İstatistikleri',
     'Additional FTP Account'  => 'İlave FTP Hesabı',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Sonlanış',
     'Records'  => 'Kayıtlar',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Yönlendirilmemiş postaların toplanacağı adres',
     'AntiVirus Support'  => 'AntiVirus Desteği',
     'AntiSpam Support'  => 'AntiSpam Desteği',
@@ -192,6 +210,16 @@ $LANG['tr'] = array(
     'Autoreply'  => 'Otomatik Cevap',
     'Forward to'  => 'Şuraya yönlendir',
     'Do not store forwarded mail' => 'Yönlendirilmiş postaları depolama',
+    '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'  => 'veritabanı',
     'User'  => 'Kullanıcı',
     'Host'  => 'Host',
@@ -213,11 +241,13 @@ $LANG['tr'] = array(
     'Users'  => 'Kullanıcılar',
     'Load Average'  => 'Sistem Yükü',
     'Memory Usage'  => 'Hafıza Kullanımı',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD Kullanımı',
     'NGINX Usage'  => 'NGINX Kullanımı',
     'MySQL Usage on localhost'  => 'Localhost Üzerindeki MySQL Kullanımı',
     'PostgreSQL Usage on localhost'  => 'Localhost Üzerindeki PostgreSQL Kullanımı',
     'Bandwidth Usage eth0'  => 'eth0 Trafik Kullanımı',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP Kullanımı',
     'SSH Usage'  => 'SSH Kullanımı',
     'reverse proxy'  => 'reverse proxy',
@@ -230,6 +260,8 @@ $LANG['tr'] = array(
     'database server'  => 'database sunucusu',
     'ftp server'  => 'ftp sunucusu',
     'job scheduler'  => 'job zamanlayıcısı',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Hafıza',
     'Uptime'  => 'Uptime',
@@ -240,7 +272,6 @@ $LANG['tr'] = array(
     'Release'  => 'Yayınlanma',
     'Architecture'  => 'Yapı',
     'Object'  => 'Nesne',
-    'Owner'  => 'Sahip',
     'Username'  => 'Kullanıcı Adı',
     'Password'  => 'Şifre',
     'Email'  => 'Email',
@@ -310,7 +341,7 @@ $LANG['tr'] = array(
     'jobs'  => 'görevler',
     'username'  => 'kullanıcı adı',
     'password'  => 'şifre',
-    'type'  => 'tür',
+    'type'  => 'tip',
     'charset'  => 'karakter seti',
     'domain'  => 'alan adı',
     'ip'  => 'ip',
@@ -334,6 +365,8 @@ $LANG['tr'] = array(
     'ftp user password'  => 'ftp kullanıcı şifresi',
     'ftp user'  => 'ftp kullanıcısı',
     'Last 70 lines of %s.%s.log' => '%s.%s.log dosyasının son 70 Satırı',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'AccessLog İndir',
     'Download ErrorLog' => 'ErrorLog İndir',
     'Country' => 'Ülke',
@@ -348,8 +381,26 @@ $LANG['tr'] = array(
     'Banlist' => 'Yasaklı Listesi',
     'ranges are acceptable' => 'kabul edilebilir aralıklar',
     'CIDR format is supported' => 'CIDR formatı destekleniyor',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'sınırsız',
     '1 account'  => '1 hesap',
     '%s accounts'  => '%s hesap',
@@ -365,6 +416,8 @@ $LANG['tr'] = array(
     '%s cron jobs'  => '%s zamanlanmış görev',
     '1 archive'  => '1 arşiv',
     '%s archives'  => '%s arşiv',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 paket',
     '%s packages'  => '%s paket',
     '1 IP address'  => '1 IP adresi',
@@ -392,6 +445,7 @@ $LANG['tr'] = array(
     'PACKAGE_CREATED_OK'  => '<a href="/edit/package/?package=%s"><b>%s</b></a> paketi başarıyla oluşturuldu.',
     'SSL_GENERATED_OK' => 'Sertifika başarıyla oluşturuldu.',
     'RULE_CREATED_OK' => 'Kural başarıyla oluşturuldu.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Otomatik güncelleme başarıyla aktifleştirildi',
     'Autoupdate has been successfully disabled' => 'Otomatik güncelleme başarıyla pasifleştirildi',
     'Cronjob email reporting has been successfully enabled' => 'Zamanlanmış görev e-posta raporlama başarıyla aktif hale getirildi',
@@ -442,12 +496,12 @@ $LANG['tr'] = array(
     'RESTORE_SCHEDULED'  => 'Görev sıraya eklendi. Yedek indirilebilir olduğu zaman bir bilgilendirme e-postası alacaksınız.',
     'RESTORE_EXISTS'  => 'Zaten restorasyon işlemi sürüyor. Bunu çalıştırmak için lütfen önceki işlemin bitmesini bekleyin.',
 
-    'WEB_EXCLUSIONS' => "Her satıra bir alan adı yazın. Tüm alan adlarını hariç tutmak için * kullanın. Özel bir klasör için şu formatta yazın: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Her satıra bir alan adı yazın. Tüm alan adlarını hariç tutmak için * kullanın",
-    'MAIL_EXCLUSIONS' => "Her satıra bir alan adı yazın. Tüm alan adlarını hariç tutmak için * kullanın. Özel bir hesap belirtmek için şu formatta yazın: domain.com:info:destek:postmaster",
-    'DB_EXCLUSIONS' => "Her satıra bir veritabanının tam adını yazın. Hepsi için * kullanın. ",
-    'CRON_EXCLUSIONS' => "Tüm zamanlanmış görevleri hariç tutmak için * kullanın",
-    'USER_EXCLUSIONS' => "Her satıra bir klasör adı yazın. Tüm dizinleri hariç tutmak için * kullanın",
+    'WEB_EXCLUSIONS' => 'Her satıra bir alan adı yazın. Tüm alan adlarını hariç tutmak için * kullanın. Özel bir klasör için şu formatta yazın: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Her satıra bir alan adı yazın. Tüm alan adlarını hariç tutmak için * kullanın',
+    'MAIL_EXCLUSIONS' => 'Her satıra bir alan adı yazın. Tüm alan adlarını hariç tutmak için * kullanın. Özel bir hesap belirtmek için şu formatta yazın: domain.com:info:destek:postmaster',
+    'DB_EXCLUSIONS' => 'Her satıra bir veritabanının tam adını yazın. Hepsi için * kullanın. ',
+    'CRON_EXCLUSIONS' => 'Tüm zamanlanmış görevleri hariç tutmak için * kullanın',
+    'USER_EXCLUSIONS' => 'Her satıra bir klasör adı yazın. Tüm dizinleri hariç tutmak için * kullanın',
 
     'Welcome to Vesta Control Panel'  => 'Vesta Kontrol Paneline Hoşgeldiniz',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
@@ -467,7 +521,7 @@ $LANG['tr'] = array(
     'Confirm Password'  => 'Şifreyi Onayla',
     'Reset'  => 'Sıfırla',
     'Reset Code'  => 'Sıfırlama Kodu',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Şifre sıfırlama kodu e-posta adresinize gönderildi.<br>',
     'MAIL_RESET_SUBJECT'  => 'Şifre Sıfırlama - %s',
     'PASSWORD_RESET_REQUEST' => "Şifrenizi sıfırlamak için lütfen linki takip edin:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternatif olarak https://%s/reset/?action=code&user=%s linkine tıklayıp devamında şu reset kodunuzu gerekli alana girebilirsiniz:\n%s\n\nEğer şifre sıfırlama isteğinde bulunmadıysanız lütfen bu mesajı görmezden gelin ve özrümüzü kabul edin.\n\n--\nVesta Control Panel\n",
@@ -489,6 +543,29 @@ $LANG['tr'] = array(
     'Hostname' => 'Hostadı',
     'Time Zone' => 'Zaman Dilimi',
     'Default Language' => 'Varsayılan Dil',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'DosyaSistemi Disk Kotası',
     'Vesta Control Panel Plugins' => 'Vesta Kontrol Paneli Eklentileri',
     'preview' => 'önizleme',
@@ -504,8 +581,8 @@ $LANG['tr'] = array(
     'Starred' => 'Yıldızlı',
     'Name' => 'İsim',
 
+
     'File Manager' => 'Dosya Yöneticisi',
-    'type' => 'tip',
     'size' => 'boyut',
     'date' => 'tarih',
     'name' => 'isim',
@@ -520,6 +597,7 @@ $LANG['tr'] = array(
     'ARCHIVE' => 'ARŞİVLE',
     'EXTRACT' => 'ÇIKART',
     'DOWNLOAD' => 'İNDİR',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'sayfayı yenilemek için',
     'Directory name cannot be empty' => 'Dizin adı boş olamaz',
@@ -540,6 +618,10 @@ $LANG['tr'] = array(
     'Create' => 'Oluştur',
     'Compress' => 'Sıkıştır',
     'OK' => 'TAMAM',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Kopyalamak istediğinizden emin misiniz',
     'Are you sure you want to delete' => 'Silmek istediğinizden emin misiniz',
     'into' => 'into',
@@ -559,6 +641,7 @@ $LANG['tr'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Yeni Nesne Ekle',
     'Save Form' => 'Formu Kaydet',
     'Cancel saving form' => 'Formu kaydetmekten vazgeç',
@@ -581,24 +664,21 @@ $LANG['tr'] = array(
     'New File' => 'Yeni Dosya',
     'New Folder' => 'Yeni Klasör',
     'Download' => 'İndir',
-    'Rename' => 'Yeniden Adlandır',
-    'Copy' => 'Kopyala',
     'Archive' => 'Arşivle',
-    'Delete' => 'Sil',
     'Save File (in text editor)' => 'Dosyayı Kaydet (metin editöründe)',
     'Close Popup / Cancel' => 'Popup Kapat / Vazgeç',
     'Move Cursor Up' => 'İmleci Yukarı Hareket Ettir',
-    'Move Cursor Dow' => 'İmleci Aşağı Hareket Ettir',
+    'Move Cursor Down' => 'İmleci Aşağı Hareket Ettir',
     'Switch to Left Tab' => 'Sol Sekmeye geçin',
     'Switch to Right Tab' => 'Sağ Sekmeye geçin',
     'Switch Tab' => 'Sekmeye geç',
-    'Go to the Top of File List' => 'Dosya Listesinin Tepesine git',
+    'Go to the Top of the File List' => 'Dosya Listesinin Tepesine git',
     'Go to the Last File' => 'Son Dosyaya git',
-    'Open File/Enter Directory' => 'Dosya Aç/Dizin Gir',
+    'Open File / Enter Directory' => 'Dosya Aç/Dizin Gir',
     'Go to Parent Directory' => 'Üst Dizine Git',
     'Select Current File' => 'Şuanki Dosyayı Seç',
     'Select Bunch of Files' => 'Dosya Demetini Seç',
-    'Append File to the Current Selection' => 'Şuanki Seçime Dosya Ekle',
+    'Add File to the Current Selection' => 'Şuanki Seçime Dosya Ekle',
     'Select All Files' => 'Tüm Dosyaları Seç',
     'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' =>
         'kısayollar muhteşem dosya yöneticisi <a href="https://www.midnight-commander.org/">Midnight Commander</a> arayüzünden esinlenilmiştir',
@@ -616,9 +696,6 @@ $LANG['tr'] = array(
 
     'Minutes' => 'Dakikalık',
     'Hourly' => 'Saatlik',
-    'Daily' => 'Günlük',
-    'Weekly' => 'Haftalık',
-    'Monthly' => 'Aylık',
     'Run Command' => 'Komutu Çalıştır',
     'every month' => 'her ay',
     'every odd month' => 'her tek ay',
@@ -640,7 +717,9 @@ $LANG['tr'] = array(
     'every minute' => 'her dakika',
     'every two minutes' => 'her iki dakikada bir',
     'every' => 'her',
-    'Hour' => 'Saat',
-    'Minute' => 'Dakika'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 160 - 86
web/inc/i18n/tw.php

@@ -13,12 +13,13 @@ $LANG['tw'] = array(
     'Graphs'  => '資源使用圖表',
     'Statistics'  => '統計資料',
     'Log'  => '系統紀錄',
+    'Server' => '伺服器',
     'Services'  => '服務',
     'Firewall' => '防火牆',
-    'Server' => '伺服器',
     'Updates'  => '系統更新',
     'Log in'  => '登入',
     'Log out'  => '登出',
+
     'USER'  => '使用者管理',
     'WEB'  => '網站管理',
     'DNS'  => 'DNS管理',
@@ -26,6 +27,22 @@ $LANG['tw'] = array(
     'DB'  => '資料庫',
     'CRON'  => '任務排程',
     'BACKUP'  => '備份',
+
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => '記憶體',
+    'DISK' => '磁碟',
+    'NETWORK' => '網路',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => '新增使用者',
     'Add Domain'  => '新增網域',
     'Add Web Domain'  => '新增網站網域',
@@ -53,6 +70,7 @@ $LANG['tw'] = array(
     'Back'  => '返回',
     'Save'  => '儲存',
     'Submit'  => '送出',
+
     'toggle all'  => '批次執行',
     'apply to selected'  => '套用到所有已選擇的',
     'rebuild'  => '重建',
@@ -92,6 +110,7 @@ $LANG['tw'] = array(
     'disable autoupdate' => '停用自動更新',
     'turn on notifications' => '啟用通知',
     'turn off notifications' => '停用通知',
+
     'Adding User'  => '新增使用者',
     'Editing User'  => '編輯使用者',
     'Adding Domain'  => '新增網域',
@@ -119,6 +138,7 @@ $LANG['tw'] = array(
     'Adding Firewall Rule' => '新增防火牆規則',
     'Editing Firewall Rule' => '編輯防火牆規則',
     'Adding IP Address to Banlist' => '新增IP至黑名單',
+
     'active'  => '正常',
     'spnd'  => '封鎖',
     'suspended'  => '已封鎖',
@@ -126,6 +146,7 @@ $LANG['tw'] = array(
     'stopped'  => '已停止',
     'outdated'  => '有新版本可升級',
     'updated'  => '已是最新版本',
+
     'yes'  => '是',
     'no'  => '否',
     'none'  => '無',
@@ -149,12 +170,14 @@ $LANG['tw'] = array(
     'User Directories'  => '使用者目錄',
     'Template'  => '模板',
     'Web Template'  => 'Apache模板',
+    'Backend Template'  => 'Backend Template',
     'Proxy Template'  => 'Nginx模板',
     'DNS Template'  => 'DNS模板',
     'Web Domains'  => '網站網域',
     'SSL Domains'  => 'SSL網域',
     'Web Aliases'  => '網站次網域',
     'per domain'  => '(每網域)',
+    'DNS Domains'  => 'DNS網域',
     'DNS domains'  => 'DNS網域',
     'DNS records'   => 'DNS紀錄',
     'Name Servers'  => '域名服務器',
@@ -162,6 +185,7 @@ $LANG['tw'] = array(
     'Mail Accounts'  => '信箱使用者',
     'Cron Jobs'  => '任務排程',
     'SSH Access'  => 'SSH權限',
+    'IP Address'  => 'IP Address',
     'IP Addresses'  => 'IP位置',
     'Backups'  => '備份',
     'Backup System'  => '備份系統',
@@ -173,10 +197,12 @@ $LANG['tw'] = array(
     'Proxy Extensions'  => 'Nginx擴充',
     'Web Statistics'  => '網站統計',
     'Additional FTP Account'  => '其他FTP帳號',
+    'Path' => '路徑',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => '過期',
     'Records'  => '紀錄',
+    'Serial'  => 'Serial',
     'Catchall email'  => '收到所有郵件',
     'AntiVirus Support'  => '防毒支援',
     'AntiSpam Support'  => '防垃圾郵件支援',
@@ -186,6 +212,16 @@ $LANG['tw'] = array(
     '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'  => 'Normal password',
     'database'  => '資料庫',
     'User'  => '使用者',
     'Host'  => '主機',
@@ -207,24 +243,15 @@ $LANG['tw'] = array(
     'Users'  => '使用者',
     'Load Average'  => '平均負載量',
     'Memory Usage'  => '記憶體使用量',
-    'Bandwidth Usage p2p1' => '流量使用量 (p2p1)',
-    'Bandwidth Usage ppp0' => '流量使用量 (ppp0)',
-    'Bandwidth Usage ppp1' => '流量使用量 (ppp1)',
-    'Bandwidth Usage eth0' => '流量使用量 (eth0)',
-    'Bandwidth Usage eth1' => '流量使用量 (eth1)',
-    'Bandwidth Usage sit0' => '流量使用量 (sit0)',
-    'Bandwidth Usage sit1' => '流量使用量 (sit1)',
-    'Bandwidth Usage he-ipv6' => '流量使用量 (he-ipv6)',
-    'HTTPD Usage'  => 'Apache使用量',
     'APACHE2 Usage' => 'Apache2使用量',
+    'HTTPD Usage'  => 'Apache使用量',
     'NGINX Usage'  => 'NGINX使用量',
-    'Exim Usage' => 'Exim使用量',
     'MySQL Usage on localhost'  => 'MySQL使用量 (localhost)',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL使用量 (localhost)',
+    'Bandwidth Usage eth0' => '流量使用量 (eth0)',
+    'Exim Usage' => 'Exim使用量',
     'FTP Usage'  => 'FTP使用量',
     'SSH Usage'  => 'SSH使用量',
-    'ACCEPT' => '允許',
-    'DROP' => '封鎖',
     'reverse proxy'  => '代理伺服器',
     'web server'  => '網站主機',
     'dns server'  => 'DNS主機',
@@ -237,11 +264,7 @@ $LANG['tw'] = array(
     'job scheduler'  => '任務排程指令',
     'firewall' => '防火牆',
     'brute-force monitor' => '防止暴力破解',
-    'LoadAverage' => '平均負載量',
     'CPU'  => '處理器負載',
-    'MEMORY'  => '記憶體',
-    'DISK' => '磁碟',
-    'NETWORK' => '網路',
     'Memory'  => '記憶體',
     'Uptime'  => '已啟動時間',
     'core package'  => '核心系統',
@@ -251,7 +274,6 @@ $LANG['tw'] = array(
     'Release'  => '發佈號碼',
     'Architecture'  => '架構',
     'Object'  => 'Object',
-    'Owner'  => '擁有者',
     'Username'  => '使用者名稱',
     'Password'  => '密碼',
     'Email'  => '電子信箱',
@@ -277,7 +299,6 @@ $LANG['tw'] = array(
     'Statistics Auth'  => '統計驗證',
     'Account'  => '帳號',
     'Prefix will be automaticaly added to username'  => '前綴 %s 將會自動加到使用者名稱',
-    'Path' => '路徑',
     'Send FTP credentials to email'  => '將FTP登入資料傳送到使用者信箱',
     'Expiration Date'  => '到期日期',
     'YYYY-MM-DD'  => 'YYYY-MM-DD',
@@ -306,7 +327,6 @@ $LANG['tw'] = array(
     'web domains'  => '網站網域',
     'web aliases'  => '網站次網域',
     'dns records'  => 'DNS記錄',
-    'DNS Domains' => 'DNS網域',
     'mail domains'  => '信箱網域',
     'mail accounts'  => '信箱帳號',
     'accounts'  => '帳號',
@@ -359,27 +379,31 @@ $LANG['tw'] = array(
     'Action' => '動作',
     'Protocol' => '協議',
     'Port' => '端口',
-    'Proxy Server' => '代理伺服器',
-    'Web Server' => '網頁伺服器',
-    'DNS Server' => 'DNS伺服器',
-    'MAIL Server' => '郵件伺服器',
-    'Antivirus' => '防毒系統',
-    'AntiSpam' => '防垃圾郵件',
-    'Webmail URL' => '網路信箱網址',
-    'MySQL Support' => 'MySQL支援',
-    'phpMyAdmin URL' => 'phpMyAdmin網址',
-    'Maximum Number Of Databases' => '資料庫最高可使用數量',
-    'Current Number Of Databases' => '資料庫目前已使用數量',
-    'PostgreSQL Support' => 'PostgreSQL支援',
-    'Local backup' => '本機備份',
-    'Compression level' => '壓縮程度',
-    'Directory' => '路徑',
-    'Remote backup' => '異地備份',
     'Comment' => '備註',
     'Banlist' => '黑名單',
     'ranges are acceptable' => '可使用範圍(例如:21-22)',
     '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' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
+    'unlimited'  => 'unlimited',
     '1 account'  => '1 帳號',
     '%s accounts'  => '%s 帳號',
     '1 domain'  => '1 網域',
@@ -394,6 +418,8 @@ $LANG['tw'] = array(
     '%s cron jobs'  => '%s 任務排程',
     '1 archive'  => '1 壓縮',
     '%s archives'  => '%s 壓縮',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 方案',
     '%s packages'  => '%s 方案',
     '1 IP address'  => '1 IP位置',
@@ -408,6 +434,7 @@ $LANG['tw'] = array(
     '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> has been 已加入成功!',
     '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> 已加入成功!',
@@ -420,6 +447,7 @@ $LANG['tw'] = array(
     'PACKAGE_CREATED_OK'  => '方案 <a href="/edit/package/?package=%s"><b>%s</b></a> 已加入成功!',
     'SSL_GENERATED_OK' => 'SSL憑證 已加入成功!',
     'RULE_CREATED_OK' => 'Rule 已加入成功!',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => '自動更新已成功啟動',
     'Autoupdate has been successfully disabled' => '自動更新已成功關閉',
     'Cronjob email reporting has been successfully enabled' => '任務排程 電子郵件回報已成功啟動',
@@ -451,6 +479,7 @@ $LANG['tw'] = array(
     'DELETE_RULE_CONFIRMATION' => '確定要刪除規則 #%s 嗎?',
     'SUSPEND_RULE_CONFIRMATION' => '確定要封鎖規則  #%s 嗎?',
     'UNSUSPEND_RULE_CONFIRMATION' => '確定要解除封鎖規則 #%s 嗎?',
+    'LEAVE_PAGE_CONFIRMATION' => 'Leave Page?',
     'RESTART_CONFIRMATION' => '確定要重新啟動 %s 嗎?',
     'Welcome'  => '歡迎',
     'LOGGED_IN_AS'  => '以使用者身份 %s 登入',
@@ -468,60 +497,37 @@ $LANG['tw'] = array(
     'BACKUP_EXISTS'  => '已經有一個備份正在執行中,請等待備份完成後在操作',
     'RESTORE_SCHEDULED'  => '您的要求已加入隊列中,回復完成後會再以電子郵件通知您',
     'RESTORE_EXISTS'  => '已經有一個回復正在執行中,請等待備份完成後在操作',
-    'WEB_EXCLUSIONS' => "輸入網域名稱,每行一個網域。如要排除備份所有網域請使用*。排除特定的資料夾請依照這個格式: Example.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "輸入網域名稱,每行一個網域。如要排除備份所有網域請使用*",
-    'MAIL_EXCLUSIONS' => "輸入網域名稱,每行一個網域。如要排除備份所有網域請使用*。要排除特定使用者請依照這個格式: Example.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "輸入完整資料庫名城,每行一個資料庫。如要排除備份所有資料庫請使用*",
-    'CRON_EXCLUSIONS' => "要排除備份所有任務排程請使用*",
-    'USER_EXCLUSIONS' => "輸入要排除備份的資料夾名稱,每行一個資料夾。如要排除備份所有資料夾請使用*",
+
+    'WEB_EXCLUSIONS' => '輸入網域名稱,每行一個網域。如要排除備份所有網域請使用*。排除特定的資料夾請依照這個格式: Example.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => '輸入網域名稱,每行一個網域。如要排除備份所有網域請使用*',
+    'MAIL_EXCLUSIONS' => '輸入網域名稱,每行一個網域。如要排除備份所有網域請使用*。要排除特定使用者請依照這個格式: Example.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 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 Credentials'  => '資料庫 登入資料',
     'DATABASE_READY' => "資料庫已加入成功!\n\n資料庫名稱: %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_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => '密買重設代碼已發送到您的信箱<br>',
     'MAIL_RESET_SUBJECT'  => '密碼重置在 %s',
-
-    'Minutes' => 'Minutes',
-    'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
-    'Run Command' => 'Run Command',
-    'every month' => 'every month',
-    'every odd month' => 'every odd month',
-    'every even month' => 'every even month',
-    'every day' => 'every day',
-    'every odd day' => 'every odd day',
-    'every even day' => 'every even day',
-    'weekdays (5 days)' => 'weekdays (5 days)',
-    'weekend (2 days)' => 'weekend (2 days)',
-    'Monday' => 'Monday',
-    'Tuesday' => 'Tuesday',
-    'Wednesday' => 'Wednesday',
-    'Thursday' => 'Thursday',
-    'Friday' => 'Friday',
-    'Saturday' => 'Saturday',
-    'Sunday' => 'Sunday',
-    'every hour' => 'every hour',
-    'every two hours' => 'every two hours',
-    'every minute' => 'every minute',
-    'every two minutes' => 'every two minutes',
-    'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute',
     '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 Control Panel\n",
+
     'Jan' => '1月',
     'Feb' => '2月',
     'Mar' => '3月',
@@ -534,10 +540,34 @@ $LANG['tw'] = array(
     'Oct' => '10月',
     'Nov' => '11月',
     'Dec' => '12月',
+
     'Configuring Server' => '配置主機',
     'Hostname' => '主機名稱',
     'Time Zone' => '時區',
     'Default Language' => '預設語言',
+    'Proxy Server' => '代理伺服器',
+    'Web Server' => '網頁伺服器',
+    'Backend Server' => 'Backend Server',
+    'Backend Pool Mode' => 'Backend Pool Mode',
+    'DNS Server' => 'DNS伺服器',
+    'DNS Cluster' => 'DNS Cluster',
+    'MAIL Server' => '郵件伺服器',
+    'Antivirus' => '防毒系統',
+    'AntiSpam' => '防垃圾郵件',
+    'Webmail URL' => '網路信箱網址',
+    'MySQL Support' => 'MySQL支援',
+    'phpMyAdmin URL' => 'phpMyAdmin網址',
+    'PostgreSQL Support' => 'PostgreSQL支援',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    '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 Control Panel 外掛',
     'preview' => '預覽',
@@ -547,26 +577,29 @@ $LANG['tw'] = array(
     'Backup Migration Manager' => '備份轉移管理器',
     'FileManager' => '檔案管理器',
     'show: CPU / MEM / NET / DISK' => '顯示: 處理器 / 記憶體 / 網路 / 硬碟',
+
     'sort by' => '排序按照',
     'Date' => '日期',
     'Starred' => '加註星號',
     'Name' => '名稱',
+
+
     'File Manager' => '檔案管理器',
-    'type' => '類型',
     'size' => '大小',
     'date' => '日期',
     'name' => '名稱',
     'Initializing' => '正在初始化',
     'UPLOAD' => '上傳',
-    'RIGHTS' => '權限',
     'NEW FILE' => '新增檔案',
     'NEW DIR' => '新增資料夾',
     'DELETE' => '刪除',
     'RENAME' => '重新命名',
+    'RIGHTS' => '權限',
     'COPY' => '複製',
     'ARCHIVE' => '壓縮',
     'EXTRACT' => '解壓縮',
     'DOWNLOAD' => '下載',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => '重新整理頁面',
     'Directory name cannot be empty' => '資料夾名稱不能為空白',
@@ -581,11 +614,16 @@ $LANG['tw'] = array(
     'Copy' => '複製',
     'Cancel' => '取消',
     'Rename' => '重新命名',
+    'Change Rights' => '修改權限',
     'Delete' => '刪除',
     'Extract' => '解壓縮',
     'Create' => '新增',
     'Compress' => '壓縮',
     'OK' => '確定',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => '確定要複製',
     'Are you sure you want to delete' => '確定要刪除',
     'into' => '資訊',
@@ -595,10 +633,6 @@ $LANG['tw'] = array(
     'already exists' => '已經存在',
     'Create file' => '新增檔案',
     'Create directory' => '新增資料夾',
-    'Add New object' => '新增',
-    'Save Form' => '儲存設定',
-    'Cancel saving form' => '不要儲存設定',
-    'Change Rights' => '修改權限',
     'read by owner' => '擁有者可讀',
     'write by owner' => '擁有者可寫',
     'execute/search by owner' => '擁有者可執行',
@@ -608,6 +642,11 @@ $LANG['tw'] = array(
     '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列表',
@@ -622,15 +661,12 @@ $LANG['tw'] = array(
     'Enter focused element' => '進入選擇的選項',
     'Move up through elements list' => '往上查看列表',
     'Move down through elements list' => '往下查看列表',
+
     'Upload' => '上傳',
     'New File' => '新增檔案',
     'New Folder' => '新增資料夾',
     'Download' => '下載',
-    'Rename' => '重新命名',
-    'Copy' => '複製',
     'Archive' => '壓縮',
-    'Delete' => '刪除',
-    'Shortcuts' => '快捷鍵',
     'Save File (in text editor)' => '儲存檔案 (在目前的文字編輯器)',
     'Close Popup / Cancel' => '關閉快顯視窗 / 取消',
     'Move Cursor Up' => '選項往上移',
@@ -646,9 +682,9 @@ $LANG['tw'] = array(
     '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' =>
         "快捷鍵是的想法是由 magnificent GNU <a href='https://www.midnight-commander.org/'>Midnight Commander</a> 檔案管理器 啟發的<br> 繁體中文翻譯是由 <a href='https://host.clark-chen.com'>Clark's 虛擬主機服務</a> 總工程師 <a href='https://www.clark-chen.com/'>Clark Chen</a> 提供。",
-    'Save' => '儲存',
+
     'Licence Key' => '授權金鑰',
     'Enter License Key' => '輸入授權金鑰',
     'Buy Licence' => '購買授權',
@@ -658,5 +694,43 @@ $LANG['tw'] = array(
     '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.' => '這是一個付費模組,您需要購買授權金鑰才能啟動它。'
+    'This is a commercial module, you would need to purchace license key to enable it.' => '這是一個付費模組,您需要購買授權金鑰才能啟動它。',
+
+    'Minutes' => 'Minutes',
+    'Hourly' => 'Hourly',
+    'Run Command' => 'Run Command',
+    'every month' => 'every month',
+    'every odd month' => 'every odd month',
+    'every even month' => 'every even month',
+    'every day' => 'every day',
+    'every odd day' => 'every odd day',
+    'every even day' => 'every even day',
+    'weekdays (5 days)' => 'weekdays (5 days)',
+    'weekend (2 days)' => 'weekend (2 days)',
+    'Monday' => 'Monday',
+    'Tuesday' => 'Tuesday',
+    'Wednesday' => 'Wednesday',
+    'Thursday' => 'Thursday',
+    'Friday' => 'Friday',
+    'Saturday' => 'Saturday',
+    'Sunday' => 'Sunday',
+    'every hour' => 'every hour',
+    'every two hours' => 'every two hours',
+    'every minute' => 'every minute',
+    'every two minutes' => 'every two minutes',
+    'every' => 'every',
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
+
+
+// Texts below doesn't exist in en.php
+    'Bandwidth Usage p2p1' => '流量使用量 (p2p1)',
+    'Bandwidth Usage ppp0' => '流量使用量 (ppp0)',
+    'Bandwidth Usage ppp1' => '流量使用量 (ppp1)',
+    'Bandwidth Usage eth1' => '流量使用量 (eth1)',
+    'Bandwidth Usage sit0' => '流量使用量 (sit0)',
+    'Bandwidth Usage sit1' => '流量使用量 (sit1)',
+    'Bandwidth Usage he-ipv6' => '流量使用量 (he-ipv6)',
 );

+ 114 - 36
web/inc/i18n/ua.php

@@ -6,7 +6,6 @@
  */
 
 $LANG['ua'] = array(
-
     'Packages' => 'Пакети',
     'IP' => 'IP',
     'Graphs' => 'Графіки',
@@ -27,6 +26,21 @@ $LANG['ua'] = array(
     'CRON' => 'CRON',
     'BACKUP' => 'BACKUP',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User' => 'Додати користувача',
     'Add Domain' => 'Додати домен',
     'Add Web Domain' => 'Додати WEB домен',
@@ -43,8 +57,8 @@ $LANG['ua'] = array(
     'Add IP' => 'Додати IP',
     'Add Rule' => 'Додати правило',
     'Ban IP Address' => 'Заблокувати IP',
-    'Add one more FTP Account' => 'Додати ще один FTP акаунт',
     'Search' => 'Пошук',
+    'Add one more FTP Account' => 'Додати ще один FTP акаунт',
     'Overall Statistics' => 'Загальна статистика',
     'Daily' => 'Щоденний',
     'Weekly' => 'Щотижневий',
@@ -162,13 +176,14 @@ $LANG['ua'] = array(
     'Web Aliases' => 'Web аліаси',
     'per domain' => 'на домен',
     'DNS Domains' => 'DNS домени',
-    'DNS Domains' => 'DNS домени',
+    'DNS domains' => 'DNS домени',
     'DNS records'  => 'DNS записи',
     'Name Servers' => 'Сервери імен',
     'Mail Domains' => 'Поштові домени',
     'Mail Accounts' => 'Поштові акаунти',
     'Cron Jobs' => 'Cron завдання',
     'SSH Access' => 'SSH Доступ',
+    'IP Address'  => 'IP Address',
     'IP Addresses' => 'IP адреси',
     'Backups' => 'Резервні копії',
     'Backup System'  => 'Система резервного копіювання',
@@ -180,10 +195,12 @@ $LANG['ua'] = array(
     'Proxy Extensions' => 'Розширення Proxy',
     'Web Statistics' => 'Веб статистика',
     'Additional FTP Account' => 'Додатковий FTP акаунт',
+    'Path'  => 'Path',
     'SOA' => 'SOA',
     'TTL' => 'TTL',
     'Expire' => 'Спливає',
     'Records' => 'Записи',
+    'Serial'  => 'Serial',
     'Catchall email' => 'E-mail',
     'AntiVirus Support' => 'Підтримка антивірусу',
     'AntiSpam Support' => 'Підтримка антиспаму',
@@ -193,6 +210,16 @@ $LANG['ua'] = array(
     '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'  => 'Normal password',
     'database' => 'база даних',
     'User' => 'Користувач',
     'Host' => 'Сервер',
@@ -213,12 +240,14 @@ $LANG['ua'] = array(
     'Owner' => 'Власник',
     'Users' => 'Користувачі',
     'Load Average' => 'Загальне Навантаження',
-    'Memory Usage' => 'Використання Пам\'яті',
+    'Memory Usage' => "Використання Пам'яті",
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage' => 'Використання HTTPd',
     'NGINX Usage' => 'Використання Proxy',
     'MySQL Usage on localhost' => 'Локальний сервер бази даних MySQL',
     'PostgreSQL Usage on localhost' => 'Локальний сервер бази даних PostgreSQL',
     'Bandwidth Usage eth0' => 'Використання мережі eth0',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage' => 'Використання FTP',
     'SSH Usage' => 'Використання SSH',
     'reverse proxy' => 'зворотній проксі',
@@ -231,8 +260,10 @@ $LANG['ua'] = array(
     'database server' => 'сервер баз даних',
     'ftp server' => 'FTP сервер',
     'job scheduler' => 'планувальник завдань',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU' => 'Процесор',
-    'Memory' => 'Пам\'ять',
+    'Memory' => "Пам'ять",
     'Uptime' => 'Запущений',
     'core package' => 'головний пакет',
     'php interpreter' => 'PHP інтерпретатор',
@@ -240,14 +271,13 @@ $LANG['ua'] = array(
     'Version' => 'Версія',
     'Release' => 'Реліз',
     'Architecture' => 'Архітектура',
-    'Object' => 'Об\'єкт',
-    'Owner' => 'Власник',
+    'Object' => "Об'єкт",
     'Username' => 'Акаунт',
     'Password' => 'Пароль',
     'Email' => 'E-mail',
     'Package' => 'Пакет',
     'Language' => 'Мова',
-    'First Name' => 'Ім\'я',
+    'First Name' => "Ім'я",
     'Last Name' => 'Прізвище',
     'Send login credentials to email address' => 'Відправити дані акаунту за адресою',
     'Default Template' => 'Шаблон за замовчуванням',
@@ -324,17 +354,19 @@ $LANG['ua'] = array(
     'ns2' => 'сервер імен #2',
     'user' => 'користувач',
     'email' => 'пошта',
-    'first name' => 'Ім\'я',
+    'first name' => "Ім'я",
     'last name' => 'Прізвище',
     'account' => 'акаунт',
     'ssl certificate' => 'SSL сертификат',
     'ssl key' => 'ключ SSL сертифікату',
     'stats user password' => 'пароль користувача статистики',
-    'stats username' => 'ім\'я користувача статистики',
+    'stats username' => "ім'я користувача статистики",
     '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' => 'Країна',
@@ -349,8 +381,26 @@ $LANG['ua'] = array(
     'Banlist' => 'Чорний список',
     'ranges are acceptable' => 'дозволені діапазони',
     'CIDR format is supported' => 'формат CIDR підтримується',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
     'unlimited'  => 'безлімітний',
     '1 account' => ' 1 акаунт',
     '%s accounts' => '%s акаунтів',
@@ -366,6 +416,8 @@ $LANG['ua'] = array(
     '%s cron jobs' => '%s завдань',
     '1 archive' => '1 архів',
     '%s archives' => '%s архівів',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package' => '1 пакет',
     '%s packages' => '%s пакет',
     '1 IP address' => '1 IP адреса',
@@ -374,8 +426,8 @@ $LANG['ua'] = array(
     '%s months' => '%s місяців',
     '1 log record' => '1 журнальний запис',
     '%s log records' => '%s журнальних записів',
-    '1 object' => '1 об\'єкт',
-    '%s objects' => '%s об\'єктів',
+    '1 object' => "1 об'єкт",
+    '%s objects' => "%s об'єктів",
     'no exclusions' => 'немає виключень',
     '1 rule' => '1 правило',
     '%s rules' => '%s правил',
@@ -393,6 +445,7 @@ $LANG['ua'] = array(
     'PACKAGE_CREATED_OK' => 'Пакет <a href="/edit/package/?package=%s"><b>%s</b></a> успішно створено.',
     'SSL_GENERATED_OK' => 'SSL cертификат успішно згенеровано.',
     'RULE_CREATED_OK' => 'Правило успішно створено.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Aвтооновлення було успішно увімкнено',
     'Autoupdate has been successfully disabled' => 'Aвтооновлення було успішно вимкнено',
     'Cronjob email reporting has been successfully enabled' => 'Cronjob звітування було успішно увімкнено',
@@ -443,12 +496,12 @@ $LANG['ua'] = array(
     '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' => "Вкажіть теки по одній на рядок. Для того, щоб виключити всі, використовуйте *",
+    '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 Control Panel <noreply@%s>',
@@ -468,7 +521,7 @@ $LANG['ua'] = array(
     'Confirm Password' => 'Підтвердження паролю',
     'Reset' => 'Скинути',
     'Reset Code' => 'Код скидання',
-    'RESET_NOTICE' => '',
+    'RESET_NOTICE' => '',    // should we add something here?
     '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--\nПанель керування Vesta\n",
@@ -487,12 +540,35 @@ $LANG['ua'] = array(
     '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'FileSystem Disk Quota',
     'Vesta Control Panel Plugins' => 'Плагіни Vesta Control Panel',
-    'preview' => 'прев\'ю',
+    'preview' => "прев'ю",
     'Reseller Role' => 'Реселер',
     'Web Config Editor' => 'Веб Редактор Конфігів',
     'Template Manager' => 'Менеджер Шаблонів',
@@ -505,8 +581,8 @@ $LANG['ua'] = array(
     'Starred' => 'Starred',
     'Name' => 'Name',
 
+
     'File Manager' => 'File Manager',
-    'type' => 'type',
     'size' => 'size',
     'date' => 'date',
     'name' => 'name',
@@ -521,6 +597,7 @@ $LANG['ua'] = array(
     'ARCHIVE' => 'ARCHIVE',
     'EXTRACT' => 'EXTRACT',
     'DOWNLOAD' => 'DOWNLOAD',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Hit',
     'to reload the page' => 'to reload the page',
     'Directory name cannot be empty' => 'Directory name cannot be empty',
@@ -541,6 +618,10 @@ $LANG['ua'] = array(
     'Create' => 'Create',
     'Compress' => 'Compress',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     'Are you sure you want to copy' => 'Are you sure you want to copy',
     'Are you sure you want to delete' => 'Are you sure you want to delete',
     'into' => 'into',
@@ -560,6 +641,7 @@ $LANG['ua'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Add New object',
     'Save Form' => 'Save Form',
     'Cancel saving form' => 'Cancel saving form',
@@ -582,26 +664,23 @@ $LANG['ua'] = array(
     'New File' => 'New File',
     'New Folder' => 'New Folder',
     'Download' => 'Download',
-    'Rename' => 'Rename',
-    'Copy' => 'Copy',
     'Archive' => 'Archive',
-    'Delete' => 'Delete',
     'Save File (in text editor)' => 'Save File (in text editor)',
     'Close Popup / Cancel' => 'Close Popup / Cancel',
     'Move Cursor Up' => 'Move Cursor Up',
-    'Move Cursor Dow' => 'Move Cursor Dow',
+    'Move Cursor Down' => 'Move Cursor Down',
     'Switch to Left Tab' => 'Switch to Left Tab',
     'Switch to Right Tab' => 'Switch to Right Tab',
     'Switch Tab' => 'Switch Tab',
-    'Go to the Top of File List' => 'Go to the Top of File List',
+    'Go to the Top of the File List' => 'Go to the Top of the File List',
     'Go to the Last File' => 'Go to the Last File',
-    'Open File/Enter Directory' => 'Open File/Enter Directory',
+    'Open File / Enter Directory' => 'Open File / Enter Directory',
     'Go to Parent Directory' => 'Go to Parent Directory',
     'Select Current File' => 'Select Current File',
     'Select Bunch of Files' => 'Select Bunch of Files',
-    'Append File to the Current Selection' => 'Append File to the Current Selection',
+    'Add File to the Current Selection' => 'Add File to the Current Selection',
     'Select All Files' => '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' =>
         'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
 
     'Licence Key' => 'Licence Key',
@@ -617,9 +696,6 @@ $LANG['ua'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -641,7 +717,9 @@ $LANG['ua'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
-);
+);

+ 108 - 25
web/inc/i18n/vi.php

@@ -10,6 +10,7 @@ $LANG['vi'] = array(
     'Graphs'  => 'Theo dõi',
     'Statistics'  => 'Thống kê',
     'Log'  => 'Lịch sử',
+    'Server'  => 'Server',
     'Services'  => 'Dịch vụ',
     'Firewall' => 'Tường lửa',
     'Updates'  => 'Cập nhật',
@@ -24,6 +25,21 @@ $LANG['vi'] = array(
     'CRON'  => 'CRON',
     'BACKUP'  => 'Sao lưu',
 
+    'LOGIN'  => 'LOGIN',
+    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'SEARCH'  => 'SEARCH',
+    'PACKAGE'  => 'PACKAGE',
+    'RRD'  => 'RRD',
+    'STATS'  => 'STATS',
+    'LOG'  => 'LOG',
+    'UPDATES'  => 'UPDATES',
+    'FIREWALL'  => 'FIREWALL',
+    'SERVER'  => 'SERVER',
+    'MEMORY'  => 'MEMORY',
+    'DISK'  => 'DISK',
+    'NETWORK'  => 'NETWORK',
+    'Web Log Manager'  => 'Web Log Manager',
+
     'Add User'  => 'Thêm tài khoản',
     'Add Domain'  => 'Thêm tên miền',
     'Add Web Domain'  => 'Thêm website',
@@ -151,6 +167,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',
     'Proxy Template'  => 'Mẫu Nginx',
     'DNS Template'  => 'Mẫu DNS',
     'Web Domains'  => 'Tên miền web',
@@ -158,13 +175,14 @@ $LANG['vi'] = array(
     'Web Aliases'  => 'Ánh xạ web',
     'per domain'  => 'mỗi tên miền',
     'DNS Domains'  => 'Miền DNS',
-    'DNS Domains'  => 'Miên DNS',
-    'DNS records'   => 'Bản ghi DNS'  ,
+    'DNS domains'  => 'Miên DNS',
+    'DNS records'   => 'Bản ghi DNS',
     'Name Servers'  => 'Name Servers',
     'Mail Domains'  => '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',
@@ -176,10 +194,12 @@ $LANG['vi'] = array(
     'Proxy Extensions'  => 'Phần mở rộng Nginx',
     'Web Statistics'  => 'Thống kê Web',
     'Additional FTP Account'  => 'Tài khoản FTP',
+    'Path'  => 'Path',
     'SOA'  => 'SOA',
     'TTL'  => 'TTL',
     'Expire'  => 'Hết hạn',
     'Records'  => 'Bản ghi',
+    'Serial'  => 'Serial',
     'Catchall email'  => 'Lấy tất cả email',
     'AntiVirus Support'  => 'Hỗ trợ chống virus',
     'AntiSpam Support'  => 'Hỗ trợ chống spam',
@@ -189,6 +209,16 @@ $LANG['vi'] = array(
     'Autoreply'  => 'Tự động trả lời',
     'Forward to'  => 'Chuyển tiếp đến',
     'Do not store forwarded mail' => 'Không lưu thư chuyển tiếp',
+    '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'  => 'csdl',
     'User'  => 'Người dùng',
     'Host'  => 'Host',
@@ -210,11 +240,13 @@ $LANG['vi'] = array(
     'Users'  => 'Người dùng',
     'Load Average'  => 'Tải trung bình',
     'Memory Usage'  => 'Sử dụng ram',
+    'APACHE2 Usage'  => 'APACHE2 Usage',
     'HTTPD Usage'  => 'HTTPD sử dụng',
     'NGINX Usage'  => 'NGINX sử dụng',
     'MySQL Usage on localhost'  => 'MySQL sử dụng tại localhost',
     'PostgreSQL Usage on localhost'  => 'PostgreSQL sử dụng tại localhost',
     'Bandwidth Usage eth0'  => 'Băng thông eth0 sử dụng',
+    'Exim Usage'  => 'Exim Usage',
     'FTP Usage'  => 'FTP sử dụng',
     'SSH Usage'  => 'SSH sử dụng',
     'reverse proxy'  => 'reverse proxy',
@@ -227,6 +259,8 @@ $LANG['vi'] = array(
     'database server'  => 'máy chủ CSDL',
     'ftp server'  => 'máy chủ FTP',
     'job scheduler'  => 'việc lập lịch',
+    'firewall'  => 'firewall',
+    'brute-force monitor'  => 'brute-force monitor',
     'CPU'  => 'CPU',
     'Memory'  => 'Ram',
     'Uptime'  => 'Thời gian sống',
@@ -237,7 +271,6 @@ $LANG['vi'] = array(
     'Release'  => 'Bản phát hành',
     'Architecture'  => 'Kiến trúc',
     'Object'  => 'Đối tượng',
-    'Owner'  => 'Chủ sở hữu',
     'Username'  => 'Tên đăng nhập',
     'Password'  => 'Mật khẩu',
     'Email'  => 'Email',
@@ -331,6 +364,8 @@ $LANG['vi'] = array(
     'ftp user password'  => 'mật khẩu người dùng ftp',
     'ftp user'  => 'người dùng ftp',
     'Last 70 lines of %s.%s.log' => '70 dòng cuối của %s.%s.log',
+    'AccessLog' => 'AccessLog',
+    'ErrorLog' => 'ErrorLog',
     'Download AccessLog' => 'Tải lịch sử truy cập',
     'Download ErrorLog' => 'Tải lịch sử lỗi',
     'Country' => 'quốc gia',
@@ -345,8 +380,27 @@ $LANG['vi'] = array(
     'Banlist' => 'Danh sách chặn',
     'ranges are acceptable' => 'chấp nhận phạm vi',
     'CIDR format is supported' => 'định dạng CIDR được hỗ trợ',
+    'ACCEPT' => 'ACCEPT',
+    'DROP' => 'DROP',
+    'TCP' => 'TCP',
+    'UDP' => 'UDP',
+    'ICMP' => 'ICMP',
+    'SSH' => 'SSH',
+    'FTP' => 'FTP',
+    'VESTA' => 'VESTA',
     'Add one more Name Server' => 'Add one more Name Server',
 
+    'web domain' => 'web domain',
+    'dns domain' => 'dns domain',
+    'dns record' => 'dns record',
+    'mail domain' => 'mail domain',
+    'mail account' => 'mail account',
+    'cron job' => 'cron job',
+
+    'cron' => 'cron',
+    'user dir' => 'user dir',
+
+    'unlimited'  => 'unlimited',
     '1 account'  => '1 tài khoản',
     '%s accounts'  => '%s tài khoản',
     '1 domain'  => '1 tên miền',
@@ -361,6 +415,8 @@ $LANG['vi'] = array(
     '%s cron jobs'  => '%s Tiến trình tự động',
     '1 archive'  => '1 lưu trữ',
     '%s archives'  => '%s lưu trữ',
+    '1 item'  => '1 item',
+    '%s items'  => '%s items',
     '1 package'  => '1 gói hosting',
     '%s packages'  => '%s gói hosting',
     '1 IP address'  => '1 địa chỉ IP',
@@ -388,6 +444,7 @@ $LANG['vi'] = array(
     'PACKAGE_CREATED_OK'  => 'Gói hosting <a href="/edit/package/?package=%s"><b>%s</b></a> đã được tạo thành công.',
     'SSL_GENERATED_OK' => 'Tạo thành công chứng chỉ.',
     'RULE_CREATED_OK' => 'Tạo thành công luật tường lửa.',
+    'BANLIST_CREATED_OK' => 'IP address has been banned successfully',    // I'm not sure about this text
     'Autoupdate has been successfully enabled' => 'Bật thành công chế độ tự động cập nhật.',
     'Autoupdate has been successfully disabled' => 'Tắt thành công chế độ tự động cập nhật.',
     'Cronjob email reporting has been successfully enabled' => 'Bật thành công tiến trình tự động báo cáo email',
@@ -419,6 +476,7 @@ $LANG['vi'] = array(
     'DELETE_RULE_CONFIRMATION' => 'Bạn có chắc chắn muốn xóa luật #%s?',
     'SUSPEND_RULE_CONFIRMATION' => 'Bạn có chắc chắn muốn đình chỉ luật  #%s?',
     'UNSUSPEND_RULE_CONFIRMATION' => 'Bạn có chắc chắn muốn kích hoạt luật #%s?',
+    'LEAVE_PAGE_CONFIRMATION' => 'Leave Page?',
     'RESTART_CONFIRMATION' => 'Bạn có chắc chắn muốn khởi động lại %s?',
     'Welcome'  => 'Xin chào',
     'LOGGED_IN_AS'  => 'Đăng nhập với tài khoản %s',
@@ -437,12 +495,12 @@ $LANG['vi'] = array(
     'RESTORE_SCHEDULED'  => 'Tiến trình đã được thêm vào hàng đợi. Bạn sẽ nhận được email thông báo khi tiến trình khôi phục hoàn thành.',
     'RESTORE_EXISTS'  => 'Một tiến trình khôi phục đang được chạy. Vui lòng chờ kết thúc trước khi thực hiện lại.',
 
-    'WEB_EXCLUSIONS' => "Điền tên miền, mỗi dòng một tên miền. Để loại bỏ tất cả tên miền, sử dụng ký tự *. Để loại bỏ một thư mục đặc biệt vui lòng sử dụng định sạng sau: domain.com:public_html/cache:public_html/tmp",
-    'DNS_EXCLUSIONS' => "Điền tên miền, mỗi dòng một tên miền. Để loại bỏ tất cả tên miền, sử dụng ký tự *",
-    'MAIL_EXCLUSIONS' => "Điền tên miền, mỗi dòng một tên miền. Để loại bỏ tất cả tên miền, sử dụng ký tự *. Để loại bỏ một thư mục đặc biệt vui lòng sử dụng định sạng sau: domain.com:info:support:postmaster",
-    'DB_EXCLUSIONS' => "Điền đầy đủ tên CSDL, mỗi CSDL một dòng. Để loại bỏ tất cả CSDL, sử dụng ký tự *",
-    'CRON_EXCLUSIONS' => "Để loại bỏ tất cả tiến trình, sử dụng ký tự *",
-    'USER_EXCLUSIONS' => "Điền tên thư mục, mỗi thư mục một dòng. Để loại bỏ tất cả thư mục, sử dụng ký tự *",
+    'WEB_EXCLUSIONS' => 'Điền tên miền, mỗi dòng một tên miền. Để loại bỏ tất cả tên miền, sử dụng ký tự *. Để loại bỏ một thư mục đặc biệt vui lòng sử dụng định sạng sau: domain.com:public_html/cache:public_html/tmp',
+    'DNS_EXCLUSIONS' => 'Điền tên miền, mỗi dòng một tên miền. Để loại bỏ tất cả tên miền, sử dụng ký tự *',
+    'MAIL_EXCLUSIONS' => 'Điền tên miền, mỗi dòng một tên miền. Để loại bỏ tất cả tên miền, sử dụng ký tự *. Để loại bỏ một thư mục đặc biệt vui lòng sử dụng định sạng sau: domain.com:info:support:postmaster',
+    'DB_EXCLUSIONS' => 'Điền đầy đủ tên CSDL, mỗi CSDL một dòng. Để loại bỏ tất cả CSDL, sử dụng ký tự *',
+    'CRON_EXCLUSIONS' => 'Để loại bỏ tất cả tiến trình, sử dụng ký tự *',
+    'USER_EXCLUSIONS' => 'Điền tên thư mục, mỗi thư mục một dòng. Để loại bỏ tất cả thư mục, sử dụng ký tự *',
 
     'Welcome to Vesta Control Panel'  => 'Chào mứng đến Vesta Control Panel',
     'MAIL_FROM'  => 'Vesta Control Panel <noreply@%s>',
@@ -462,7 +520,7 @@ $LANG['vi'] = array(
     'Confirm Password'  => 'Xác nhận mật khẩu',
     'Reset'  => 'Thiết lập lại',
     'Reset Code'  => 'Thiết lập lại mã',
-    'RESET_NOTICE'  => '',
+    'RESET_NOTICE'  => '',    // should we add something here?
     'RESET_CODE_SENT'  => 'Mã thiết lập lại mật khẩu đã được gửi đến địa chỉ email<br>',
     'MAIL_RESET_SUBJECT'  => 'Khôi phục mật khẩu tại %s',
     'PASSWORD_RESET_REQUEST' => "Để thiết lập lại mật khẩu quản trị, vui lòng truy cập vào địa chỉ:\nhttps://%s/reset/?action=confirm&user=%s&code=%s\n\nAlternatively, you may go to https://%s/reset/?action=code&user=%s và nhập mã sau:\n%s\n\nNếu bạn không thực hiện khôi phục mật khẩu, vui lòng bỏ qua email này.\n\n--\nVesta Control Panel\n",
@@ -479,11 +537,34 @@ $LANG['vi'] = array(
     'Oct' => 'Tháng 10',
     'Nov' => 'Tháng 11',
     'Dec' => 'Tháng 12',
-    
+
     'Configuring Server' => 'Cài đặt máy chủ',
     'Hostname' => 'Tên miền',
     'Time Zone' => 'Múi giờ',
     'Default Language' => 'Ngôn ngữ mặc đinhk',
+    '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 Support',
+    'phpMyAdmin URL' => 'phpMyAdmin URL',
+    'PostgreSQL Support' => 'PostgreSQL Support',
+    'phpPgAdmin URL' => 'phpPgAdmin URL',
+    'Maximum Number Of Databases' => 'Maximum Number Of Databases',
+    'Current Number Of Databases' => 'Current Number Of Databases',
+    'Local backup' => 'Local backup',
+    'Compression level' => 'Compression level',
+    'Directory' => 'Directory',
+    'Remote backup' => 'Remote backup',
+    'ftp' => 'FTP',
+    'sftp' => 'SFTP',
+    'SFTP Chroot' => 'SFTP Chroot',
     'FileSystem Disk Quota' => 'Hạn mức dung lượng đĩa hệ thống',
     'Vesta Control Panel Plugins' => 'Vesta Control Panel Plugins',
     'preview' => 'xem trước',
@@ -493,14 +574,14 @@ $LANG['vi'] = array(
     'Backup Migration Manager' => 'Quản lý tích hợp sao lưu',
     'FileManager' => 'FileManager',
     'show: CPU / MEM / NET / DISK' => 'hiển thị: CPU / MEM / NET / DISK',
-    
+
     'sort by' => 'xếp theo',
     'Date' => 'Ngày',
     'Starred' => 'Đánh dấu',
     'Name' => 'Tên',
 
+
     'File Manager' => 'Quản lý tệp',
-    'type' => 'loại',
     'size' => 'size',
     'date' => 'ngày',
     'name' => 'tên',
@@ -515,6 +596,7 @@ $LANG['vi'] = array(
     'ARCHIVE' => 'Nén',
     'EXTRACT' => 'Giải nén',
     'DOWNLOAD' => 'Tải về',
+    'Are you sure?' => 'Are you sure?',    // unused?
     'Hit' => 'Lượt',
     'to reload the page' => 'để tải lại trang',
     'Directory name cannot be empty' => 'Tên thư mục không thể để trống',
@@ -535,6 +617,10 @@ $LANG['vi'] = array(
     'Create' => 'Tạo mới',
     'Compress' => 'Nén',
     'OK' => 'OK',
+    'YOU ARE COPYING' => 'YOU ARE COPYING',    // unused?
+    'YOU ARE REMOVING' => 'YOU ARE REMOVING',
+    'Delete items' => 'Delete items',
+    'Copy files' => 'Copy files',
     '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 delete' => 'Bạn có chắc chắn muốn xóa',
     'into' => 'into',
@@ -554,6 +640,7 @@ $LANG['vi'] = array(
     'write by others' => 'write by others',
     'execute/search by others' => 'execute/search by others',
 
+    'Shortcuts' => 'Shortcuts',
     'Add New object' => 'Thêm đối tượng mới',
     'Save Form' => 'Lưu form',
     'Cancel saving form' => 'Hủy lưu form',
@@ -576,24 +663,21 @@ $LANG['vi'] = array(
     'New File' => 'Tạo tệp',
     'New Folder' => 'Tạo thư mục',
     'Download' => 'Tải về',
-    'Rename' => 'Đổi tên',
-    'Copy' => 'Sao chép',
     'Archive' => 'Lưu trữ',
-    'Delete' => 'Xóa',
     'Save File (in text editor)' => 'Lưu tệp (Trong trình chỉnh sửa văn bản)',
     'Close Popup / Cancel' => 'Đóng Popup / Hủy',
     'Move Cursor Up' => 'Di chuyển chuột lên',
-    'Move Cursor Dow' => 'Di chuyển chuột xuống',
+    'Move Cursor Down' => 'Di chuyển chuột xuống',
     'Switch to Left Tab' => 'Chuyển sang tab trái',
     'Switch to Right Tab' => 'Chuyển sang tab phải',
     'Switch Tab' => 'Chuyển đổi Tab',
-    'Go to the Top of File List' => 'Lên đầu danh sách tệp',
+    'Go to the Top of the File List' => 'Lên đầu danh sách tệp',
     'Go to the Last File' => 'Di chuyển đến tệp cuối cùng',
-    'Open File/Enter Directory' => 'Mở tệp/Truy cập thư mục',
+    'Open File / Enter Directory' => 'Mở tệp/Truy cập thư mục',
     'Go to Parent Directory' => 'Về thư mục cha',
     'Select Current File' => 'Chọn tệp hiện tại',
     'Select Bunch of Files' => 'Chọn nhiều tệp',
-    'Append File to the Current Selection' => 'Thêm tệp vào lựa chọn hiện tại',
+    'Add File to the Current Selection' => 'Thêm tệp vào lựa chọn hiện tại',
     'Select All Files' => 'Chọn tất cả các tệp',
     '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',
 
@@ -610,9 +694,6 @@ $LANG['vi'] = array(
 
     'Minutes' => 'Minutes',
     'Hourly' => 'Hourly',
-    'Daily' => 'Daily',
-    'Weekly' => 'Weekly',
-    'Monthly' => 'Monthly',
     'Run Command' => 'Run Command',
     'every month' => 'every month',
     'every odd month' => 'every odd month',
@@ -634,7 +715,9 @@ $LANG['vi'] = array(
     'every minute' => 'every minute',
     'every two minutes' => 'every two minutes',
     'every' => 'every',
-    'Hour' => 'Hour',
-    'Minute' => 'Minute'
+    'Generate' => 'Generate',
+
+    'webalizer' => 'webalizer',
+    'awstats' => 'awstats',
 
 );

+ 9 - 4
web/inc/main.php

@@ -3,6 +3,8 @@
 session_start();
 
 define('VESTA_CMD', '/usr/bin/sudo /usr/local/vesta/bin/');
+define('JS_LATEST_UPDATE', '1467758417');
+
 $i = 0;
 
 require_once(dirname(__FILE__).'/i18n.php');
@@ -95,12 +97,9 @@ function check_return_code($return_var,$output) {
     }
 }
 
-function insert_scripts() {
-    @include_once(dirname(__DIR__) . '/templates/scripts.html');
-}
-
 function render_page($user, $TAB, $page) {
     $__template_dir = dirname(__DIR__) . '/templates/';
+    $__pages_js_dir = dirname(__DIR__) . '/js/pages/';
 
     // Header
     include($__template_dir . 'header.html');
@@ -126,6 +125,12 @@ function render_page($user, $TAB, $page) {
         @include($__template_dir . "admin/$page.html");
     }
 
+    // Including common js files
+    @include_once(dirname(__DIR__) . '/templates/scripts.html');
+    // Including page specific js file
+    if(file_exists($__pages_js_dir.$page.'.js'))
+       echo '<script type="text/javascript" src="/js/pages/'.$page.'.js?'.JS_LATEST_UPDATE.'"></script>';
+
     // Footer
     include($__template_dir . 'footer.html');
 }

+ 4 - 619
web/js/app.js

@@ -668,14 +668,6 @@ var _DEBUG_LEVEL = 'ALL';
 // possible levels: ALL, IMPORTANT
 var Error = {FATAL: 1, WARNING: 0, NORMAL: -1};
 
-//
-//  GLOBAL SETTINGS
-//
-GLOBAL = {};
-GLOBAL.FTP_USER_PREFIX  = 'admin_';
-GLOBAL.DB_USER_PREFIX   = 'admin_';
-GLOBAL.DB_DBNAME_PREFIX = 'admin_';
-GLOBAL.AJAX_URL = '';
 
 /**
  * Init debug, grabs console object if accessible, or makes dummy debugger
@@ -1069,615 +1061,8 @@ function doSearch(url) {
 }
 
 
-
-$(document).ready(function(){
-    if($('.body-login')[0]){
-        $('input').first().focus();
-    }
-
-    $(".submenu-select-dropdown").each(function(){
-        $(this).wrap("<span class='submenu-select-wrapper'></span>");
-        $(this).after("<span class='holder'></span>");
-    });
-    $(".submenu-select-dropdown").change(function(){
-        var selectedOption = $(this).find(":selected").text();
-        $(this).next(".holder").text(selectedOption);
-    }).trigger('change');
-    $('.to-top').bind('click', function(evt) {
-        $("html, body").animate({ scrollTop: 0 }, "normal");
-    });
-
-
-            var isMobile = false; //initiate as false
-            // device detection
-            if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
-                || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))){
-                 isMobile = true;
-                $('body').addClass('mobile');
-            }
-
-            $(window).scroll(function(){hover_menu()});
-
-            $('.l-sort-toolbar .sort-by').click(function(){
-              $('.context-menu.sort-order').toggle().css({left: $(this).position().left - 10});
-            });
-
-
-            // CREATE BUTTON
-              
-            $('.l-sort__create-btn').hover(function(){
-              $(".l-sort__create-btn").append("<div id='add-icon'></div>");
-              $(".l-sort__create-btn").append("<div id='tooltip'>"+$('.l-sort__create-btn').attr('title').replace(' ','&nbsp;')+"</div>");
-            }, function(){
-              $("#add-icon").remove();
-              $("#tooltip").remove();
-            });
-            
-              
-            // SEARCH BOX
-                
-            $('.l-sort-toolbar__search, .l-sort-toolbar__search-box .search-input').hover(function(){
-              clearTimeout(VE.tmp.search_display_interval);
-              clearTimeout(VE.tmp.search_hover_interval);
-              VE.tmp.search_display_interval = setTimeout(function(){$('.search-input').addClass('activated');}, 150);
-            }, function(){
-              clearTimeout(VE.tmp.search_display_interval);
-              clearTimeout(VE.tmp.search_hover_interval);
-              VE.tmp.search_hover_interval = setTimeout(function(){
-                if(!VE.tmp.search_activated && !$(".search-input").val().length){
-                  $(".search-input").removeClass('activated');
-                }
-              }, 600);
-            });
-
-            $('.search-input').focus(function(){
-              VE.tmp.search_activated = 1;
-              clearTimeout(VE.tmp.search_hover_interval);
-            });
-            $('.search-input').blur(function(){
-              VE.tmp.search_activated = 0;
-              clearTimeout(VE.tmp.search_hover_interval);
-              VE.tmp.search_hover_interval = setTimeout(function(){
-                if(!$(".search-input").val().length){
-                  $(".search-input").removeClass('activated');
-                }
-              }, 600);
-            });
-
-
-            // TIMER
-
-            if($('.movement.left').length){
-              VE.helpers.refresh_timer.right = $('.movement.right');
-              VE.helpers.refresh_timer.left = $('.movement.left');
-              VE.helpers.refresh_timer.start();
-
-              $('.pause').click(function(){
-                VE.helpers.refresh_timer.stop();
-                $('.pause').addClass('hidden');
-                $('.play').removeClass('hidden');
-                $('.refresh-timer').addClass('paused');
-              });
-
-              $('.play').click(function(){
-                VE.helpers.refresh_timer.start();
-                $('.pause').removeClass('hidden');
-                $('.play').addClass('hidden');
-                $('.refresh-timer').removeClass('paused');
-              });
-            }
-            
-            
-            // SORTING
-
-            $('#vstobjects input, #vstobjects select, #vstobjects textarea').change(function(){VE.tmp.form_changed=1});
-
-            $('.sort-order span').click(function(){
-              $('.context-menu.sort-order').toggle();
-              if($(this).hasClass('active'))
-                return;
-
-              $('.sort-order span').removeClass('active');
-              $(this).addClass('active');
-              VE.tmp.sort_par = $(this).parent('li').attr('entity');
-              VE.tmp.sort_as_int = $(this).parent('li').attr('sort_as_int');
-              VE.tmp.sort_direction = $(this).hasClass('up')*1 || -1;
-
-              $('.l-sort .sort-by span b').html($(this).parent('li').find('.name').html());
-              $('.l-sort .sort-by i').removeClass('l-icon-up-arrow l-icon-down-arrow');
-              $(this).hasClass('up') ? $('.l-sort .sort-by i').addClass('l-icon-up-arrow') : $('.l-sort .sort-by i').addClass('l-icon-down-arrow');
-              $('.units .l-unit').sort(function (a, b) {
-                if(VE.tmp.sort_as_int)
-                  return parseInt($(a).attr(VE.tmp.sort_par)) >= parseInt($(b).attr(VE.tmp.sort_par)) ? VE.tmp.sort_direction : VE.tmp.sort_direction * -1;
-                else
-                  return $(a).attr(VE.tmp.sort_par) <= $(b).attr(VE.tmp.sort_par) ? VE.tmp.sort_direction : VE.tmp.sort_direction * -1;
-                }).appendTo(".l-center.units");
-              });
-
-
-
-            // STARS
-
-              $('.l-unit .l-icon-star').click(function(){
-                var l_unit = $(this).parents('.l-unit');
-
-                if(l_unit.hasClass('l-unit--starred')){
-                  // removing star
-
-                  $.ajax({
-                    method: "POST",
-                    url: "/delete/favorite/index.php",
-                    data: { v_section: l_unit.attr('v_section'), v_unit_id: l_unit.attr('v_unit_id') }
-                  });
-
-                  l_unit.attr({'sort-star': 0});
-                  l_unit.removeClass('l-unit--starred');
-                }
-                else{
-                  $.ajax({
-                    method: "POST",
-                    url: "/add/favorite/index.php",
-                    data: { v_unit_id: l_unit.attr('v_unit_id'), v_section: l_unit.attr('v_section') }
-                  });
-
-                  l_unit.attr({'sort-star': 1});
-                  l_unit.addClass('l-unit--starred');
-                }
-              });
-
-
-
-              // Shortcuts
-
-              shortcut.add("Ctrl+Enter", function(){
-                $('form#vstobjects').submit();
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': false,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("Ctrl+Backspace", function(){
-                if(VE.tmp.form_changed && $('form#vstobjects .button.cancel')[0]){
-                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('form#vstobjects input.cancel').attr('onclick').replace("location.href='", "").replace("'",""));
-                } else if($('form#vstobjects .button.cancel')[0]){
-                  location.href=$('form#vstobjects input.cancel').attr('onclick').replace("location.href='", "").replace("'","");
-                } else if($('#vstobjects a.button.cancel')[0]){
-                  location.href=$('#vstobjects a.button.cancel').attr('href');
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': false,
-                  'target':           document
-                  }
-              );
-
-
-              shortcut.add("f", function(){
-                $('.search-input').addClass('activated').focus();
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              $(window).bind('keypress', function(evt) {
-                  var tag = evt.target.tagName.toLowerCase();
-                  if (evt.charCode == 97 && tag != 'input' && tag != 'textarea' && tag != 'selectbox') {
-                      evt.preventDefault();
-                      if (!evt.ctrlKey && !evt.shiftKey) {
-                          if ($('.l-sort__create-btn')[0]) {
-                              location.href=$('.l-sort__create-btn').attr('href');
-                          }
-                      }
-                      else {
-                          if ($('.l-unit .ch-toggle:eq(0)').attr('checked')) {
-                                $('.l-unit').removeClass('selected');
-                                $('.l-unit .ch-toggle').attr('checked', false);
-                          }
-                          else {
-                               $('.l-unit').addClass('selected');
-                               $('.l-unit .ch-toggle').attr('checked', true);
-                          }
-                      }
-                }
-              });
-
-              shortcut.add("1", function(){
-                if(VE.tmp.form_changed){
-                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(1) a').attr('href'));
-                } else {
-                  location.href=$('.l-stat .l-stat__col:nth-of-type(1) a').attr('href');
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("2", function(){
-                if(VE.tmp.form_changed){
-                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(2) a').attr('href'));
-                } else {
-                  location.href=$('.l-stat .l-stat__col:nth-of-type(2) a').attr('href');
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("3", function(){
-                if(VE.tmp.form_changed){
-                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(3) a').attr('href'));
-                } else {
-                  location.href=$('.l-stat .l-stat__col:nth-of-type(3) a').attr('href');
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("4", function(){
-                if(VE.tmp.form_changed){
-                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(4) a').attr('href'));
-                } else {
-                  location.href=$('.l-stat .l-stat__col:nth-of-type(4) a').attr('href');
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("5", function(){
-                if(VE.tmp.form_changed){
-                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(5) a').attr('href'));
-                } else {
-                  location.href=$('.l-stat .l-stat__col:nth-of-type(5) a').attr('href');
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("6", function(){
-                if(VE.tmp.form_changed){
-                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(6) a').attr('href'));
-                } else {
-                  location.href=$('.l-stat .l-stat__col:nth-of-type(6) a').attr('href');
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("7", function(){
-                if(VE.tmp.form_changed){
-                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(7) a').attr('href'));
-                } else {
-                  location.href=$('.l-stat .l-stat__col:nth-of-type(7) a').attr('href');
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("h", function(){
-                $('.shortcuts').toggle();
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("Esc", function(){
-                $('.shortcuts').hide();
-                $('input, checkbox, textarea, select').blur();
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': false,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("Left", function(){
-                VE.navigation.move_focus_left();
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("Right", function(){
-                VE.navigation.move_focus_right();
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-
-
-              shortcut.add("down", function(){
-                VE.navigation.move_focus_down();
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("up", function(){
-                VE.navigation.move_focus_up();
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("l", function(){
-                var elm = $('.units.active .l-unit.focus .shortcut-l');
-                if(elm.length){
-                  VE.navigation.shortcut(elm);
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("s", function(){
-                var elm = $('.units.active .l-unit.focus .shortcut-s');
-                if(elm.length){
-                  VE.navigation.shortcut(elm);
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("w", function(){
-                var elm = $('.units.active .l-unit.focus .shortcut-w');
-                if(elm.length){
-                  VE.navigation.shortcut(elm);
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("d", function(){
-                var elm = $('.units.active .l-unit.focus .shortcut-d');
-                if(elm.length){
-                  VE.navigation.shortcut(elm);
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("r", function(){
-                var elm = $('.units.active .l-unit.focus .shortcut-r');
-                if(elm.length){
-                  VE.navigation.shortcut(elm);
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("n", function(){
-                var elm = $('.units.active .l-unit.focus .shortcut-n');
-                if(elm.length){
-                  VE.navigation.shortcut(elm);
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("u", function(){
-                var elm = $('.units.active .l-unit.focus .shortcut-u');
-                if(elm.length){
-                  VE.navigation.shortcut(elm);
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-
-              shortcut.add("Delete", function(){
-                var elm = $('.units.active .l-unit.focus .shortcut-delete');
-                if(elm.length){
-                  VE.navigation.shortcut(elm);
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-              shortcut.add("Enter", function(){
-                if(VE.tmp.form_changed){
-                  if(!$('.ui-dialog').is(':visible')){
-                    VE.helpers.createConfirmationDialog($('.confirmation-text-redirect')[0], '', $(VE.navigation.state.menu_selector + '.focus a').attr('href'));
-                  } else { // if dialog is opened - submitting confirm box by "enter" shortcut
-                    $('.ui-dialog button.submit').click();
-                  }
-                } else {
-                    if(!$('.ui-dialog').is(':visible')){
-                      var elm = $('.units.active .l-unit.focus .shortcut-enter');
-                      if(elm.length){
-                        VE.navigation.shortcut(elm);
-                      } else {
-                        VE.navigation.enter_focused();
-                      }
-                    } else { // if dialog is opened - submitting confirm box by "enter" shortcut
-                      $('.ui-dialog button.submit').click();
-                    }
-                }
-              }, {
-                  'type':             'keydown',
-                  'propagate':        false,
-                  'disable_in_input': true,
-                  'target':           document
-                  }
-              );
-
-
-
-              $('.shortcuts .close').click(function(){
-                $('.shortcuts').hide();
-              });
-
-              $('.to-shortcuts').click(function(){
-                $('.shortcuts').toggle();
-              });
-
-              $(document).click(function(evt){
-                //close notification popup
-                if(!$(evt.target).hasClass('l-profile__notifications') && $(evt.target).parents('ul.notification-container').length == 0){
-                  $('.notification-container').hide();
-                  $('.l-profile__notifications').removeClass('active');
-                }
-              });
-
-
-              // focusing on the first input at form
-              if( location.href.indexOf('lead=') == -1 && !$('.ui-dialog').is(':visible') ){
-                $('#vstobjects .vst-input:not([disabled]), #vstobjects .vst-list:not([disabled])').first().focus();
-              }
-
-              $('.l-profile__notifications').click(function(){
-                if(!$('.l-profile__notifications').hasClass('active')){
-                  VE.notifications.get_list();
-                  $('.l-profile__notifications').addClass('active');
-                  left = $('.l-profile__notifications').offset().left - $('.notification-container').outerWidth() + 28;
-                  $('.notification-container').css({left: left+'px'});
-
-                } else {
-                  $('.notification-container').hide();
-                  $('.l-profile__notifications').removeClass('active');
-                }
-              });
-
-            VE.navigation.init();
-
-            VE.core.register();
-            if (location.href.search(/list/) != -1) {
-                var shift_select_ref = $('body').finderSelect({
-                    children: '.l-unit', 
-                    'onFinish': function(evt) {
-                        var ref = $(evt.target);
-                        $('.l-content').find('.l-unit .ch-toggle').attr('checked', false);
-                        $('.l-content').find('.l-unit.selected .ch-toggle').attr('checked', true);
-
-
-                        if ($('.l-content').find('.l-unit.selected').length == $('.l-content').find('.l-unit').length) {
-                            $('.toggle-all').addClass('clicked-on');
-                        }
-
-                    },
-                    'toggleAllHook': function() {
-                        if ($('.l-unit').length == $('.ch-toggle:checked').length) {
-                            $('.l-unit.selected').removeClass('selected');
-                            $('.ch-toggle').attr('checked', false);
-                            $('#toggle-all').attr('checked', false);
-                        }
-                        else {
-                            $('.ch-toggle').attr('checked', true);
-                            $('#toggle-all').attr('checked', true);
-                        }
-                    }
-                });
-
-                $('table').on('mousedown', 'td', function(e) {
-                    if (e.ctrlKey) {
-                        e.preventDefault();
-                    }
-                });
-            }
-
-            // 
-            $('form#objects').bind('submit', function(evt) {
-                $('.l-unit.selected').find('.ch-toggle').attr('checked', true);
-            });
-
-
-    // CRON HELPER 
-    $( "#tabs" ).tabs();
-    $('.context-helper').click(function(){ $('#tabs').toggle(); $('.context-helper').toggle();  });
-    $('.context-helper-close').click(function(){ $('#tabs').toggle(); $('.context-helper').toggle(); });
-
-    $('.helper-container form').submit(function(){
-      $('#vstobjects input[name=v_min]').val($(this).find(':input[name=h_min]').val()).effect('highlight');
-      $('#vstobjects input[name=v_hour]').val($(this).find(':input[name=h_hour]').val()).effect('highlight');
-      $('#vstobjects input[name=v_day]').val($(this).find(':input[name=h_day]').val()).effect('highlight');
-      $('#vstobjects input[name=v_month]').val($(this).find(':input[name=h_month]').val()).effect('highlight');
-      $('#vstobjects input[name=v_wday]').val($(this).find(':input[name=h_wday]').val()).effect('highlight');
-
-      return false;
-    });
-
-
-
-
-    });
+function elementHideShow(elementToHideOrShow){
+    var el = document.getElementById(elementToHideOrShow);
+    el.style.display = el.style.display === 'none' ? 'block' : 'none';
+}
 

+ 591 - 0
web/js/init.js

@@ -0,0 +1,591 @@
+$(document).ready(function(){
+    if($('.body-login')[0]){
+        $('input').first().focus();
+    }
+
+    $(".submenu-select-dropdown").each(function(){
+        $(this).wrap("<span class='submenu-select-wrapper'></span>");
+        $(this).after("<span class='holder'></span>");
+    });
+    $(".submenu-select-dropdown").change(function(){
+        var selectedOption = $(this).find(":selected").text();
+        $(this).next(".holder").text(selectedOption);
+    }).trigger('change');
+    $('.to-top').bind('click', function(evt) {
+        $("html, body").animate({ scrollTop: 0 }, "normal");
+    });
+
+
+            var isMobile = false; //initiate as false
+            // device detection
+            if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
+                || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))){
+                 isMobile = true;
+                $('body').addClass('mobile');
+            }
+
+            $(window).scroll(function(){hover_menu()});
+
+            $('.l-sort-toolbar .sort-by').click(function(){
+              $('.context-menu.sort-order').toggle().css({left: $(this).position().left - 10});
+            });
+
+
+            // CREATE BUTTON
+              
+            $('.l-sort__create-btn').hover(function(){
+              $(".l-sort__create-btn").append("<div id='add-icon'></div>");
+              $(".l-sort__create-btn").append("<div id='tooltip'>"+$('.l-sort__create-btn').attr('title').replace(' ','&nbsp;')+"</div>");
+            }, function(){
+              $("#add-icon").remove();
+              $("#tooltip").remove();
+            });
+            
+              
+            // SEARCH BOX
+                
+            $('.l-sort-toolbar__search, .l-sort-toolbar__search-box .search-input').hover(function(){
+              clearTimeout(VE.tmp.search_display_interval);
+              clearTimeout(VE.tmp.search_hover_interval);
+              VE.tmp.search_display_interval = setTimeout(function(){$('.search-input').addClass('activated');}, 150);
+            }, function(){
+              clearTimeout(VE.tmp.search_display_interval);
+              clearTimeout(VE.tmp.search_hover_interval);
+              VE.tmp.search_hover_interval = setTimeout(function(){
+                if(!VE.tmp.search_activated && !$(".search-input").val().length){
+                  $(".search-input").removeClass('activated');
+                }
+              }, 600);
+            });
+
+            $('.search-input').focus(function(){
+              VE.tmp.search_activated = 1;
+              clearTimeout(VE.tmp.search_hover_interval);
+            });
+            $('.search-input').blur(function(){
+              VE.tmp.search_activated = 0;
+              clearTimeout(VE.tmp.search_hover_interval);
+              VE.tmp.search_hover_interval = setTimeout(function(){
+                if(!$(".search-input").val().length){
+                  $(".search-input").removeClass('activated');
+                }
+              }, 600);
+            });
+
+
+            // TIMER
+
+            if($('.movement.left').length){
+              VE.helpers.refresh_timer.right = $('.movement.right');
+              VE.helpers.refresh_timer.left = $('.movement.left');
+              VE.helpers.refresh_timer.start();
+
+              $('.pause').click(function(){
+                VE.helpers.refresh_timer.stop();
+                $('.pause').addClass('hidden');
+                $('.play').removeClass('hidden');
+                $('.refresh-timer').addClass('paused');
+              });
+
+              $('.play').click(function(){
+                VE.helpers.refresh_timer.start();
+                $('.pause').removeClass('hidden');
+                $('.play').addClass('hidden');
+                $('.refresh-timer').removeClass('paused');
+              });
+            }
+            
+            
+            // SORTING
+
+            $('#vstobjects input, #vstobjects select, #vstobjects textarea').change(function(){VE.tmp.form_changed=1});
+
+            $('.sort-order span').click(function(){
+              $('.context-menu.sort-order').toggle();
+              if($(this).hasClass('active'))
+                return;
+
+              $('.sort-order span').removeClass('active');
+              $(this).addClass('active');
+              VE.tmp.sort_par = $(this).parent('li').attr('entity');
+              VE.tmp.sort_as_int = $(this).parent('li').attr('sort_as_int');
+              VE.tmp.sort_direction = $(this).hasClass('up')*1 || -1;
+
+              $('.l-sort .sort-by span b').html($(this).parent('li').find('.name').html());
+              $('.l-sort .sort-by i').removeClass('l-icon-up-arrow l-icon-down-arrow');
+              $(this).hasClass('up') ? $('.l-sort .sort-by i').addClass('l-icon-up-arrow') : $('.l-sort .sort-by i').addClass('l-icon-down-arrow');
+              $('.units .l-unit').sort(function (a, b) {
+                if(VE.tmp.sort_as_int)
+                  return parseInt($(a).attr(VE.tmp.sort_par)) >= parseInt($(b).attr(VE.tmp.sort_par)) ? VE.tmp.sort_direction : VE.tmp.sort_direction * -1;
+                else
+                  return $(a).attr(VE.tmp.sort_par) <= $(b).attr(VE.tmp.sort_par) ? VE.tmp.sort_direction : VE.tmp.sort_direction * -1;
+                }).appendTo(".l-center.units");
+              });
+
+
+
+            // STARS
+
+              $('.l-unit .l-icon-star').click(function(){
+                var l_unit = $(this).parents('.l-unit');
+
+                if(l_unit.hasClass('l-unit--starred')){
+                  // removing star
+
+                  $.ajax({
+                    method: "POST",
+                    url: "/delete/favorite/index.php",
+                    data: { v_section: l_unit.attr('v_section'), v_unit_id: l_unit.attr('v_unit_id') }
+                  });
+
+                  l_unit.attr({'sort-star': 0});
+                  l_unit.removeClass('l-unit--starred');
+                }
+                else{
+                  $.ajax({
+                    method: "POST",
+                    url: "/add/favorite/index.php",
+                    data: { v_unit_id: l_unit.attr('v_unit_id'), v_section: l_unit.attr('v_section') }
+                  });
+
+                  l_unit.attr({'sort-star': 1});
+                  l_unit.addClass('l-unit--starred');
+                }
+              });
+
+
+
+              // Shortcuts
+
+              shortcut.add("Ctrl+Enter", function(){
+                $('form#vstobjects').submit();
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': false,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("Ctrl+Backspace", function(){
+                if(VE.tmp.form_changed && $('form#vstobjects .button.cancel')[0]){
+                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('form#vstobjects input.cancel').attr('onclick').replace("location.href='", "").replace("'",""));
+                } else if($('form#vstobjects .button.cancel')[0]){
+                  location.href=$('form#vstobjects input.cancel').attr('onclick').replace("location.href='", "").replace("'","");
+                } else if($('#vstobjects a.button.cancel')[0]){
+                  location.href=$('#vstobjects a.button.cancel').attr('href');
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': false,
+                  'target':           document
+                  }
+              );
+
+
+              shortcut.add("f", function(){
+                $('.search-input').addClass('activated').focus();
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              $(window).bind('keypress', function(evt) {
+                  var tag = evt.target.tagName.toLowerCase();
+                  if (evt.charCode == 97 && tag != 'input' && tag != 'textarea' && tag != 'selectbox') {
+                      evt.preventDefault();
+                      if (!evt.ctrlKey && !evt.shiftKey) {
+                          if ($('.l-sort__create-btn')[0]) {
+                              location.href=$('.l-sort__create-btn').attr('href');
+                          }
+                      }
+                      else {
+                          if ($('.l-unit .ch-toggle:eq(0)').attr('checked')) {
+                                $('.l-unit').removeClass('selected');
+                                $('.l-unit .ch-toggle').attr('checked', false);
+                          }
+                          else {
+                               $('.l-unit').addClass('selected');
+                               $('.l-unit .ch-toggle').attr('checked', true);
+                          }
+                      }
+                }
+              });
+
+              shortcut.add("1", function(){
+                if(VE.tmp.form_changed){
+                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(1) a').attr('href'));
+                } else {
+                  location.href=$('.l-stat .l-stat__col:nth-of-type(1) a').attr('href');
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("2", function(){
+                if(VE.tmp.form_changed){
+                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(2) a').attr('href'));
+                } else {
+                  location.href=$('.l-stat .l-stat__col:nth-of-type(2) a').attr('href');
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("3", function(){
+                if(VE.tmp.form_changed){
+                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(3) a').attr('href'));
+                } else {
+                  location.href=$('.l-stat .l-stat__col:nth-of-type(3) a').attr('href');
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("4", function(){
+                if(VE.tmp.form_changed){
+                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(4) a').attr('href'));
+                } else {
+                  location.href=$('.l-stat .l-stat__col:nth-of-type(4) a').attr('href');
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("5", function(){
+                if(VE.tmp.form_changed){
+                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(5) a').attr('href'));
+                } else {
+                  location.href=$('.l-stat .l-stat__col:nth-of-type(5) a').attr('href');
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("6", function(){
+                if(VE.tmp.form_changed){
+                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(6) a').attr('href'));
+                } else {
+                  location.href=$('.l-stat .l-stat__col:nth-of-type(6) a').attr('href');
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("7", function(){
+                if(VE.tmp.form_changed){
+                  VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(7) a').attr('href'));
+                } else {
+                  location.href=$('.l-stat .l-stat__col:nth-of-type(7) a').attr('href');
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("h", function(){
+                $('.shortcuts').toggle();
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("Esc", function(){
+                $('.shortcuts').hide();
+                $('input, checkbox, textarea, select').blur();
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': false,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("Left", function(){
+                VE.navigation.move_focus_left();
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("Right", function(){
+                VE.navigation.move_focus_right();
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+
+
+              shortcut.add("down", function(){
+                VE.navigation.move_focus_down();
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("up", function(){
+                VE.navigation.move_focus_up();
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("l", function(){
+                var elm = $('.units.active .l-unit.focus .shortcut-l');
+                if(elm.length){
+                  VE.navigation.shortcut(elm);
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("s", function(){
+                var elm = $('.units.active .l-unit.focus .shortcut-s');
+                if(elm.length){
+                  VE.navigation.shortcut(elm);
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("w", function(){
+                var elm = $('.units.active .l-unit.focus .shortcut-w');
+                if(elm.length){
+                  VE.navigation.shortcut(elm);
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("d", function(){
+                var elm = $('.units.active .l-unit.focus .shortcut-d');
+                if(elm.length){
+                  VE.navigation.shortcut(elm);
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("r", function(){
+                var elm = $('.units.active .l-unit.focus .shortcut-r');
+                if(elm.length){
+                  VE.navigation.shortcut(elm);
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("n", function(){
+                var elm = $('.units.active .l-unit.focus .shortcut-n');
+                if(elm.length){
+                  VE.navigation.shortcut(elm);
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("u", function(){
+                var elm = $('.units.active .l-unit.focus .shortcut-u');
+                if(elm.length){
+                  VE.navigation.shortcut(elm);
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+
+              shortcut.add("Delete", function(){
+                var elm = $('.units.active .l-unit.focus .shortcut-delete');
+                if(elm.length){
+                  VE.navigation.shortcut(elm);
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+              shortcut.add("Enter", function(){
+                if(VE.tmp.form_changed){
+                  if(!$('.ui-dialog').is(':visible')){
+                    VE.helpers.createConfirmationDialog($('.confirmation-text-redirect')[0], '', $(VE.navigation.state.menu_selector + '.focus a').attr('href'));
+                  } else { // if dialog is opened - submitting confirm box by "enter" shortcut
+                    $('.ui-dialog button.submit').click();
+                  }
+                } else {
+                    if(!$('.ui-dialog').is(':visible')){
+                      var elm = $('.units.active .l-unit.focus .shortcut-enter');
+                      if(elm.length){
+                        VE.navigation.shortcut(elm);
+                      } else {
+                        VE.navigation.enter_focused();
+                      }
+                    } else { // if dialog is opened - submitting confirm box by "enter" shortcut
+                      $('.ui-dialog button.submit').click();
+                    }
+                }
+              }, {
+                  'type':             'keydown',
+                  'propagate':        false,
+                  'disable_in_input': true,
+                  'target':           document
+                  }
+              );
+
+
+
+              $('.shortcuts .close').click(function(){
+                $('.shortcuts').hide();
+              });
+
+              $('.to-shortcuts').click(function(){
+                $('.shortcuts').toggle();
+              });
+
+              $(document).click(function(evt){
+                //close notification popup
+                if(!$(evt.target).hasClass('l-profile__notifications') && $(evt.target).parents('ul.notification-container').length == 0){
+                  $('.notification-container').hide();
+                  $('.l-profile__notifications').removeClass('active');
+                }
+              });
+
+
+              // focusing on the first input at form
+              if( location.href.indexOf('lead=') == -1 && !$('.ui-dialog').is(':visible') ){
+                $('#vstobjects .vst-input:not([disabled]), #vstobjects .vst-list:not([disabled])').first().focus();
+              }
+
+              $('.l-profile__notifications').click(function(){
+                if(!$('.l-profile__notifications').hasClass('active')){
+                  VE.notifications.get_list();
+                  $('.l-profile__notifications').addClass('active');
+                  left = $('.l-profile__notifications').offset().left - $('.notification-container').outerWidth() + 28;
+                  $('.notification-container').css({left: left+'px'});
+
+                } else {
+                  $('.notification-container').hide();
+                  $('.l-profile__notifications').removeClass('active');
+                }
+              });
+
+            VE.navigation.init();
+
+            VE.core.register();
+            if (location.href.search(/list/) != -1) {
+                var shift_select_ref = $('body').finderSelect({
+                    children: '.l-unit', 
+                    'onFinish': function(evt) {
+                        var ref = $(evt.target);
+                        $('.l-content').find('.l-unit .ch-toggle').attr('checked', false);
+                        $('.l-content').find('.l-unit.selected .ch-toggle').attr('checked', true);
+
+
+                        if ($('.l-content').find('.l-unit.selected').length == $('.l-content').find('.l-unit').length) {
+                            $('.toggle-all').addClass('clicked-on');
+                        }
+
+                    },
+                    'toggleAllHook': function() {
+                        if ($('.l-unit').length == $('.ch-toggle:checked').length) {
+                            $('.l-unit.selected').removeClass('selected');
+                            $('.ch-toggle').attr('checked', false);
+                            $('#toggle-all').attr('checked', false);
+                        }
+                        else {
+                            $('.ch-toggle').attr('checked', true);
+                            $('#toggle-all').attr('checked', true);
+                        }
+                    }
+                });
+
+                $('table').on('mousedown', 'td', function(e) {
+                    if (e.ctrlKey) {
+                        e.preventDefault();
+                    }
+                });
+            }
+
+            // 
+            $('form#objects').bind('submit', function(evt) {
+                $('.l-unit.selected').find('.ch-toggle').attr('checked', true);
+            });
+    });
+

+ 16 - 0
web/js/pages/add_cron.js

@@ -0,0 +1,16 @@
+$(document).ready(function(){
+    $( "#tabs" ).tabs();
+    $('.context-helper').click(function(){ $('#tabs').toggle(); $('.context-helper').toggle();  });
+    $('.context-helper-close').click(function(){ $('#tabs').toggle(); $('.context-helper').toggle(); });
+
+    $('.helper-container form').submit(function(){
+        $('#vstobjects input[name=v_min]').val($(this).find(':input[name=h_min]').val()).effect('highlight');
+        $('#vstobjects input[name=v_hour]').val($(this).find(':input[name=h_hour]').val()).effect('highlight');
+        $('#vstobjects input[name=v_day]').val($(this).find(':input[name=h_day]').val()).effect('highlight');
+        $('#vstobjects input[name=v_month]').val($(this).find(':input[name=h_month]').val()).effect('highlight');
+        $('#vstobjects input[name=v_wday]').val($(this).find(':input[name=h_wday]').val()).effect('highlight');
+
+        return false;
+    });
+})
+

+ 11 - 0
web/js/pages/add.db.js → web/js/pages/add_db.js

@@ -68,3 +68,14 @@ App.Listeners.DB.keypress_db_databasename = function() {
 // Trigger listeners
 App.Listeners.DB.keypress_db_username();
 App.Listeners.DB.keypress_db_databasename();
+
+randomString = function() {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var randomstring = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        randomstring += chars.substr(rnum, 1);
+    }
+    document.v_add_db.v_password.value = randomstring;
+}

+ 27 - 0
web/js/pages/add_dns.js

@@ -0,0 +1,27 @@
+$(document).ready(function(){
+    $('.add-ns-button').click(function(){
+        var n = $('input[name^=v_ns]').length;
+        if(n < 8){
+            var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
+            t.find('input').attr({value:'', name:'v_ns'+(n+1)});
+            t.find('span').show();
+            $('tr.add-ns').before(t);
+        }
+        if( n == 7 ) {
+            $('.add-ns').hide();
+        }
+    });
+
+    $('.remove-ns').click(function(){
+        $(this).parents('tr')[0].remove();
+        $('input[name^=v_ns]').each(function(i, ns){
+            $(ns).attr({name: 'v_ns'+(i+1)});
+            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
+        })
+        $('.add-ns').show()
+    });
+
+    $('input[name^=v_ns]').each(function(i, ns){
+        i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
+    });
+});

+ 0 - 0
web/js/pages/add.dns.record.js → web/js/pages/add_dns_rec.js


+ 38 - 0
web/js/pages/add.mail_acc.js → web/js/pages/add_mail_acc.js

@@ -77,3 +77,41 @@ $('form[name="v_quota"]').bind('submit', function(evt) {
 });
 
 
+randomString = function() {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var randomstring = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        randomstring += chars.substr(rnum, 1);
+    }
+    document.v_add_mail_acc.v_password.value = randomstring;
+
+    if($('input[name=v_password]').attr('type') == 'text')
+        $('#v_password').text(randomstring);
+    else
+        $('#v_password').text(Array(randomstring.length+1).join('*'));
+}
+
+$(document).ready(function() {
+    $('#v_account').text($('input[name=v_account]').val());
+    $('#v_password').text($('input[name=v_password]').val());
+
+    $('input[name=v_account]').change(function(){
+        $('#v_account').text($(this).val());
+    });
+
+    $('input[name=v_password]').change(function(){
+        if($('input[name=v_password]').attr('type') == 'text')
+            $('#v_password').text($(this).val());
+        else
+            $('#v_password').text(Array($(this).val().length+1).join('*'));
+    });
+
+    $('.toggle-psw-visibility-icon').click(function(){
+        if($('input[name=v_password]').attr('type') == 'text')
+            $('#v_password').text($('input[name=v_password]').val());
+        else
+            $('#v_password').text(Array($('input[name=v_password]').val().length+1).join('*'));
+     });
+});

+ 27 - 0
web/js/pages/add.package.js → web/js/pages/add_package.js

@@ -77,3 +77,30 @@ $('form[name="v_add_package"]').bind('submit', function(evt) {
 });
 
 
+$(document).ready(function(){
+    $('.add-ns-button').click(function(){
+        var n = $('input[name^=v_ns]').length;
+        if(n < 8){
+            var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
+            t.find('input').attr({value:'', name:'v_ns'+(n+1)});
+            t.find('span').show();
+            $('tr.add-ns').before(t);
+        }
+        if( n == 7 ) {
+            $('.add-ns').hide();
+        }
+    });
+
+    $('.remove-ns').click(function(){
+        $(this).parents('tr')[0].remove();
+        $('input[name^=v_ns]').each(function(i, ns){
+            $(ns).attr({name: 'v_ns'+(i+1)});
+            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
+        });
+        $('.add-ns').show();
+    });
+
+    $('input[name^=v_ns]').each(function(i, ns){
+        i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
+    });
+});

+ 17 - 0
web/js/pages/add_user.js

@@ -0,0 +1,17 @@
+$(function() {
+    $('#v_email').change(function() {
+        document.getElementById('v_notify').value = document.getElementById('v_email').value;
+    });
+});
+
+
+randomString = function() {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var randomstring = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        randomstring += chars.substr(rnum, 1);
+    }
+    document.v_add_user.v_password.value = randomstring;
+}

+ 36 - 0
web/js/pages/add.web.js → web/js/pages/add_web.js

@@ -156,3 +156,39 @@ App.Actions.WEB.toggle_additional_ftp_accounts = function(elm) {
 App.Listeners.WEB.keypress_ftp_username();
 App.Listeners.WEB.keypress_ftp_path();
 App.Listeners.WEB.keypress_domain_name();
+
+
+$(function() {
+    $('#v_domain').change(function() {
+        var prefix = 'www.';
+        document.getElementById('v_aliases').value = prefix + document.getElementById('v_domain').value;
+    });
+});
+
+function WEBrandom() {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var webrandom = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        webrandom += chars.substr(rnum, 1);
+    }
+        document.v_add_web.v_stats_password.value = webrandom;
+}
+
+function FTPrandom(elm) {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var ftprandomstring = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        ftprandomstring += chars.substr(rnum, 1);
+    }
+    $(elm).parents('.ftptable').find('.v-ftp-user-psw').val(ftprandomstring);
+}
+
+$('#vstobjects').bind('submit', function(evt) {
+    $('input[disabled]').each(function(i, elm) {
+        $(elm).removeAttr('disabled');
+    });
+});

+ 16 - 0
web/js/pages/edit_cron.js

@@ -0,0 +1,16 @@
+$(document).ready(function(){
+    $( "#tabs" ).tabs();
+    $('.context-helper').click(function(){ $('#tabs').toggle(); $('.context-helper').toggle();  });
+    $('.context-helper-close').click(function(){ $('#tabs').toggle(); $('.context-helper').toggle(); });
+
+    $('.helper-container form').submit(function(){
+        $('#vstobjects input[name=v_min]').val($(this).find(':input[name=h_min]').val()).effect('highlight');
+        $('#vstobjects input[name=v_hour]').val($(this).find(':input[name=h_hour]').val()).effect('highlight');
+        $('#vstobjects input[name=v_day]').val($(this).find(':input[name=h_day]').val()).effect('highlight');
+        $('#vstobjects input[name=v_month]').val($(this).find(':input[name=h_month]').val()).effect('highlight');
+        $('#vstobjects input[name=v_wday]').val($(this).find(':input[name=h_wday]').val()).effect('highlight');
+
+        return false;
+    });
+})
+

+ 12 - 0
web/js/pages/edit.db.js → web/js/pages/edit_db.js

@@ -68,3 +68,15 @@ App.Listeners.DB.keypress_db_databasename = function() {
 // Trigger listeners
 App.Listeners.DB.keypress_db_username();
 App.Listeners.DB.keypress_db_databasename();
+
+randomString = function() {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var randomstring = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        randomstring += chars.substr(rnum, 1);
+    }
+    document.v_edit_db.v_password.value = randomstring;
+}
+     

+ 33 - 0
web/js/pages/edit.mail_acc.js → web/js/pages/edit_mail_acc.js

@@ -77,3 +77,36 @@ $('form[name="v_quota"]').bind('submit', function(evt) {
 });
 
 
+randomString = function() {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var randomstring = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        randomstring += chars.substr(rnum, 1);
+    }
+    document.v_edit_mail_acc.v_password.value = randomstring;
+}
+
+$(document).ready(function() {
+    $('#v_account').text($('input[name=v_account]').val());
+    $('#v_password').text($('input[name=v_password]').val());
+
+    $('input[name=v_account]').change(function(){
+        $('#v_account').text($(this).val());
+    });
+  
+    $('input[name=v_password]').change(function(){
+        if($('input[name=v_password]').attr('type') == 'text')
+            $('#v_password').text($(this).val());
+        else
+            $('#v_password').text(Array($(this).val().length+1).join('*'));
+    });
+                                       
+    $('.toggle-psw-visibility-icon').click(function(){
+        if($('input[name=v_password]').attr('type') == 'text')
+            $('#v_password').text($('input[name=v_password]').val());
+        else
+            $('#v_password').text(Array($('input[name=v_password]').val().length+1).join('*'));
+     });
+});

+ 27 - 0
web/js/pages/edit.package.js → web/js/pages/edit_package.js

@@ -77,3 +77,30 @@ $('form[name="v_edit_package"]').bind('submit', function(evt) {
 });
 
 
+$(document).ready(function(){
+    $('.add-ns-button').click(function(){
+        var n = $('input[name^=v_ns]').length;
+        if(n < 8){
+            var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
+            t.find('input').attr({value:'', name:'v_ns'+(n+1)});
+            t.find('span').show();
+            $('tr.add-ns').before(t);
+        }
+        if( n == 7 ) {
+            $('.add-ns').hide();
+        }
+    });
+
+    $('.remove-ns').click(function(){
+        $(this).parents('tr')[0].remove();
+        $('input[name^=v_ns]').each(function(i, ns){
+            $(ns).attr({name: 'v_ns'+(i+1)});
+            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
+        });
+        $('.add-ns').show();
+    });
+
+    $('input[name^=v_ns]').each(function(i, ns){
+        i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
+    });
+});

+ 17 - 0
web/js/pages/edit_server.js

@@ -0,0 +1,17 @@
+$(document).ready(function(){
+    $('select[name=v_filemanager]').change(function(){
+        if($(this).val() == 'yes'){
+            $('.filemanager.description').show();
+        } else {
+            $('.filemanager.description').hide();
+        }
+    });
+
+    $('select[name=v_sftp]').change(function(){
+        if($(this).val() == 'yes'){
+            $('.sftp.description').show();
+        } else {
+            $('.sftp.description').hide();
+        }
+    });
+});

+ 39 - 0
web/js/pages/edit_user.js

@@ -0,0 +1,39 @@
+function randomString() {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var randomstring = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        randomstring += chars.substr(rnum, 1);
+    }
+    document.v_edit_user.v_password.value = randomstring;
+}
+
+$(document).ready(function(){
+    $('.add-ns-button').click(function(){
+        var n = $('input[name^=v_ns]').length;
+        if(n < 8){
+            var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
+            t.find('input').attr({value:'', name:'v_ns'+(n+1)});
+            t.find('span').show();
+            $('tr.add-ns').before(t);
+        }
+        if( n == 7 ) {
+            $('.add-ns').hide();
+        }
+    });
+
+    $('.remove-ns').click(function(){
+        $(this).parents('tr')[0].remove();
+        $('input[name^=v_ns]').each(function(i, ns){
+            $(ns).attr({name: 'v_ns'+(i+1)});
+            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
+        });
+        $('.add-ns').show();
+    });
+
+    $('input[name^=v_ns]').each(function(i, ns){
+        i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
+    });
+
+});

+ 39 - 0
web/js/pages/edit.web.js → web/js/pages/edit_web.js

@@ -163,3 +163,42 @@ $('.v-ftp-user-psw').on('keypress', function(evt) {
     var elm = $(evt.target);
     App.Actions.WEB.passwordChanged(elm);
 });
+
+
+function WEBrandom() {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var webrandom = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        webrandom += chars.substr(rnum, 1);
+    }
+    document.v_edit_web.v_stats_password.value = webrandom;
+}
+
+function FTPrandom(elm) {
+    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
+    var string_length = 10;
+    var ftprandomstring = '';
+    for (var i = 0; i < string_length; i++) {
+        var rnum = Math.floor(Math.random() * chars.length);
+        ftprandomstring += chars.substr(rnum, 1);
+    }
+
+    $(elm).parents('.ftptable').find('.v-ftp-user-psw').val(ftprandomstring);
+    App.Actions.WEB.randomPasswordGenerated && App.Actions.WEB.randomPasswordGenerated(elm);
+}
+
+function elementHideShow(elementToHideOrShow){
+    var el = document.getElementById(elementToHideOrShow);
+    el.style.display = el.style.display === 'none' ? 'block' : 'none';
+}
+
+$('#vstobjects').bind('submit', function(evt) {
+    $('input[disabled]').each(function(i, elm) {
+        var copy_elm = $(elm).clone(true);
+        $(copy_elm).attr('type', 'hidden');
+        $(copy_elm).removeAttr('disabled');
+        $(elm).after(copy_elm);
+    });
+});

+ 0 - 1
web/phpinfo.php

@@ -1 +0,0 @@
-<?php phpinfo();

+ 4 - 22
web/templates/admin/add_db.html

@@ -104,10 +104,10 @@
                                 <td>
                                     <select class="vst-list" name="v_host">
                                         <?php
-                                            foreach ($db_hosts as $key => $value) {
-                                                echo "\n\t\t\t\t\t\t\t\t\t\t<option value=\"".htmlentities($key)."\"";
-                                                if ((!empty($v_host)) && ( $key == $v_host )) echo ' selected';
-                                                echo ">".htmlentities($key)."</option>";
+                                            foreach ($db_hosts as $value) {
+                                                echo "\n\t\t\t\t\t\t\t\t\t\t<option value=\"".htmlentities($value)."\"";
+                                                if ((!empty($v_host)) && ( $value == $v_host )) echo ' selected';
+                                                echo ">".htmlentities($value)."</option>";
                                             }
                                         ?>
                                     </select>
@@ -187,25 +187,7 @@
         </form>
     </div>
 
-<?php insert_scripts(); ?>
     <script>
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      function randomString() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var randomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          randomstring += chars.substr(rnum, 1);
-        }
-        document.v_add_db.v_password.value = randomstring;
-      }
-
       GLOBAL.DB_USER_PREFIX = <?=json_encode($user.'_')?>;
       GLOBAL.DB_DBNAME_PREFIX = <?=json_encode($user.'_')?>;
     </script>
-    <script src="/js/pages/add.db.js"></script>

+ 1 - 38
web/templates/admin/add_dns.html

@@ -177,41 +177,4 @@
                 </tr>
             </table>
         </form>
-    </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      $(document).ready(function(){
-        $('.add-ns-button').click(function(){
-          var n = $('input[name^=v_ns]').length;
-          if(n < 8){
-          var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
-          t.find('input').attr({value:'', name:'v_ns'+(n+1)});
-          t.find('span').show();
-          $('tr.add-ns').before(t);
-          }
-          if( n == 7 ) {
-          $('.add-ns').hide();
-          }
-        });
-
-        $('.remove-ns').click(function(){
-          $(this).parents('tr')[0].remove();
-          $('input[name^=v_ns]').each(function(i, ns){
-            $(ns).attr({name: 'v_ns'+(i+1)});
-            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-          })
-          $('.add-ns').show()
-        });
-
-        $('input[name^=v_ns]').each(function(i, ns){
-          i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-        });
-
-      });
-    </script>
+    </div>

+ 0 - 2
web/templates/admin/add_dns_rec.html

@@ -120,8 +120,6 @@
         </form>
       </div>
 
-<?php insert_scripts(); ?>
     <script>
       GLOBAL.DNS_REC_PREFIX = <?=json_encode($_GET['domain'])?>;
     </script>
-    <script src="/js/pages/add.dns.record.js"></script>

+ 6 - 14
web/templates/admin/add_firewall.html

@@ -48,8 +48,8 @@
                             <tr>
                                 <td>
                                     <select class="vst-list" name="v_action">
-                                        <option value="DROP" <?php if ((!empty($v_action)) && ( $v_action == "'DROP'" )) echo 'selected'?>><?php print __('DROP') ?></option>
-                                        <option value="ACCEPT" <?php if ((!empty($v_action)) && ( $v_action == "'ACCEPT'" )) echo 'selected'?>><?php print __('ACCEPT') ?></option>
+                                        <option value="DROP" <?php if ((!empty($v_action)) && ( $v_action == "'DROP'" )) echo 'selected'?>><?=__('DROP')?></option>
+                                        <option value="ACCEPT" <?php if ((!empty($v_action)) && ( $v_action == "'ACCEPT'" )) echo 'selected'?>><?=__('ACCEPT')?></option>
                                     </select>
                                 </td>
                             </tr>
@@ -61,9 +61,9 @@
                             <tr>
                                 <td>
                                     <select class="vst-list" name="v_protocol">
-                                        <option value="TCP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "'TCP'" )) echo 'selected'?>><?php print __('TCP') ?></option>
-                                        <option value="UDP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "'UDP'" )) echo 'selected'?>><?php print __('UDP') ?></option>
-                                        <option value="ICMP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "'ICMP'" )) echo 'selected'?>><?php print __('ICMP') ?></option>
+                                        <option value="TCP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "'TCP'" )) echo 'selected'?>><?=__('TCP')?></option>
+                                        <option value="UDP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "'UDP'" )) echo 'selected'?>><?=__('UDP')?></option>
+                                        <option value="ICMP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "'ICMP'" )) echo 'selected'?>><?=__('ICMP')?></option>
                                     </select>
                                 </td>
                             </tr>
@@ -116,12 +116,4 @@
             </table>
         </from>
 
-    </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow) {
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-    </script>
+    </div>

+ 8 - 16
web/templates/admin/add_firewall_banlist.html

@@ -48,19 +48,19 @@
                             <tr>
                                 <td>
                                     <select class="vst-list" name="v_chain">
-                                        <option value="SSH" <?php if ((!empty($v_chain)) && ( $v_chain == "'SSH'" )) echo 'selected'?>><?php print __('SSH') ?></option>
-                                        <option value="WEB" <?php if ((!empty($v_chain)) && ( $v_chain == "'WEB'" )) echo 'selected'?>><?php print __('WEB') ?></option>
-                                        <option value="FTP" <?php if ((!empty($v_chain)) && ( $v_chain == "'FTP'" )) echo 'selected'?>><?php print __('FTP') ?></option>
-                                        <option value="DNS" <?php if ((!empty($v_chain)) && ( $v_chain == "'DNS'" )) echo 'selected'?>><?php print __('DNS') ?></option>
-                                        <option value="MAIL" <?php if ((!empty($v_chain)) && ( $v_chain == "'MAIL'" )) echo 'selected'?>><?php print __('MAIL') ?></option>
-                                        <option value="DB" <?php if ((!empty($v_chain)) && ( $v_chain == "'DB'" )) echo 'selected'?>><?php print __('DB') ?></option>
-                                        <option value="VESTA" <?php if ((!empty($v_chain)) && ( $v_chain == "'VESTA'" )) echo 'selected'?>><?php print __('VESTA') ?></option>
+                                        <option value="SSH" <?php if ((!empty($v_chain)) && ( $v_chain == "'SSH'" )) echo 'selected'?>><?=__('SSH')?></option>
+                                        <option value="WEB" <?php if ((!empty($v_chain)) && ( $v_chain == "'WEB'" )) echo 'selected'?>><?=__('WEB')?></option>
+                                        <option value="FTP" <?php if ((!empty($v_chain)) && ( $v_chain == "'FTP'" )) echo 'selected'?>><?=__('FTP')?></option>
+                                        <option value="DNS" <?php if ((!empty($v_chain)) && ( $v_chain == "'DNS'" )) echo 'selected'?>><?=__('DNS')?></option>
+                                        <option value="MAIL" <?php if ((!empty($v_chain)) && ( $v_chain == "'MAIL'" )) echo 'selected'?>><?=__('MAIL')?></option>
+                                        <option value="DB" <?php if ((!empty($v_chain)) && ( $v_chain == "'DB'" )) echo 'selected'?>><?=__('DB')?></option>
+                                        <option value="VESTA" <?php if ((!empty($v_chain)) && ( $v_chain == "'VESTA'" )) echo 'selected'?>><?=__('VESTA')?></option>
                                     </select>
                                 </td>
                             </tr>
                             <tr>
                                 <td class="vst-text input-label">
-                                    <?php print __('IP address');?> <span class="optional">(<?php print __('CDIR format is supported');?>)</span>
+                                    <?=__('IP address')?> <span class="optional">(<?=__('CIDR format is supported')?>)</span>
                                 </td>
                             </tr>
                             <tr>
@@ -84,11 +84,3 @@
             </table>
         </from>
       </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow) {
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-    </script>

+ 1 - 9
web/templates/admin/add_ip.html

@@ -144,12 +144,4 @@
                 </tr>
             </table>
         </form>
-      </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow) {
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-    </script>
+      </div>

+ 15 - 63
web/templates/admin/add_mail_acc.html

@@ -133,44 +133,44 @@
                 <div class="mail-infoblock">
                 <table>
                     <tr>
-                        <td>Username:</td>
+                        <td><?=__('Username')?>:</td>
                         <td><span id="v_account">william.cage</span>@<?=htmlentities($v_domain)?></td>
                     </tr>
                     <tr>
-                        <td>Password:</td>
+                        <td><?=__('Password')?>:</td>
                         <td id="v_password">******</td>
                     </tr>
                     <tr>
-                        <td>IMAP hostname:</td>
+                        <td><?=__('IMAP hostname')?>:</td>
                         <td><?=htmlentities($v_domain)?></td>
                     </tr>
                     <tr>
-                        <td>IMAP port:</td>
+                        <td><?=__('IMAP port')?>:</td>
                         <td>143</td>
                     </tr>
                     <tr>
-                        <td>IMAP security:</td>
-                        <td>STARTTLS</td>
+                        <td><?=__('IMAP security')?>:</td>
+                        <td><?=__('STARTTLS')?></td>
                     </tr>
                     <tr>
-                        <td>IMAP auth method:</td>
-                        <td>Normal password</td>
+                        <td><?=__('IMAP auth method')?>:</td>
+                        <td><?=__('Normal password')?></td>
                     </tr>
                     <tr>
-                        <td>SMTP hostname</td>
+                        <td><?=__('SMTP hostname')?></td>
                         <td><?=htmlentities($v_domain)?></td>
                     </tr>
                     <tr>
-                        <td>SMTP port:</td>
+                        <td><?=__('SMTP port')?>:</td>
                         <td>587</td>
                     </tr>
                     <tr>
-                        <td>SMTP security:</td>
-                        <td>STARTTLS</td>
+                        <td><?=__('SMTP security')?>:</td>
+                        <td><?=__('STARTTLS')?></td>
                     </tr>
                     <tr>
-                        <td>SMTP auth method:</td>
-                        <td>Normal password</td>
+                        <td><?=__('SMTP auth method')?>:</td>
+                        <td><?=__('Normal password')?></td>
                     </tr>
                 </table>
                 </div>
@@ -179,52 +179,4 @@
         </tr>
     </table>
     </form>
-  </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow) {
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      function randomString() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var randomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          randomstring += chars.substr(rnum, 1);
-        }
-        document.v_add_mail_acc.v_password.value = randomstring;
-
-        if($('input[name=v_password]').attr('type') == 'text')
-          $('#v_password').text(randomstring);
-        else
-          $('#v_password').text(Array(randomstring.length+1).join('*'));
-      }
-
-      $(document).ready(function() {
-        $('#v_account').text($('input[name=v_account]').val());
-        $('#v_password').text($('input[name=v_password]').val());
-
-        $('input[name=v_account]').change(function(){
-          $('#v_account').text($(this).val());
-        });
-
-        $('input[name=v_password]').change(function(){
-          if($('input[name=v_password]').attr('type') == 'text')
-          $('#v_password').text($(this).val());
-          else
-          $('#v_password').text(Array($(this).val().length+1).join('*'));
-        });
-
-        $('.toggle-psw-visibility-icon').click(function(){
-          if($('input[name=v_password]').attr('type') == 'text')
-          $('#v_password').text($('input[name=v_password]').val());
-          else
-          $('#v_password').text(Array($('input[name=v_password]').val().length+1).join('*'));
-        });
-      });
-    </script>
-    <script src="/js/pages/edit.package.js"></script>
+  </div>

+ 11 - 43
web/templates/admin/add_package.html

@@ -92,7 +92,7 @@
                                                 if ((!empty($v_backend_template)) && ( $value == $_POST['v_backend_template'])){
                                                     echo 'selected' ;
                                                 }
-                                                echo ">".$value."</option>\n";
+                                                echo ">".htmlentities($value)."</option>\n";
                                             }
                                         ?>
                                     </select>
@@ -300,20 +300,20 @@
                             <tr>
                                 <td>
                                     <input type="text" size="20" class="vst-input" name="v_ns1" <?php if (!empty($v_ns1)) echo "value=".htmlentities($v_ns1); ?>>
-                                    <span class="remove-ns additional-control delete">delete</span>
+                                    <span class="remove-ns additional-control delete"><?=__('delete')?></span>
                                 </td>
                             </tr>
                             <tr>
                                 <td>
                                     <input type="text" size="20" class="vst-input" name="v_ns2" <?php if (!empty($v_ns2)) echo "value=".htmlentities($v_ns2); ?>>
-                                    <span class="remove-ns additional-control delete">delete</span>
+                                    <span class="remove-ns additional-control delete"><?=__('delete')?></span>
                                 </td>
                             </tr>
                             <?  if($v_ns3)
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns3" value="'.htmlentities($v_ns3).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -321,7 +321,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns4" value="'.htmlentities($v_ns4).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -329,7 +329,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns5" value="'.htmlentities($v_ns5).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -337,7 +337,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns6" value="'.htmlentities($v_ns6).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -345,7 +345,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns7" value="'.htmlentities($v_ns7).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -353,13 +353,13 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns8" value="'.htmlentities($v_ns8).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
                             ?>
                                 <tr class="add-ns" <? if($v_ns8) echo 'style="display:none;"'; ?> >
                                     <td class="step-top-small">
-                                      <span class="add-ns-button additional-control add">Add one more Name Server</span>
+                                      <span class="add-ns-button additional-control add"><?=__('Add one more Name Server')?></span>
                                     </td>
                                 </tr>
                         </table>
@@ -377,36 +377,4 @@
                 </tr>
             </table>
         </form>
-      </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      $(document).ready(function(){
-        $('.add-ns-button').click(function(){
-          var n = $('input[name^=v_ns]').length;
-          if(n < 8){
-          var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
-          t.find('input').attr({value:'', name:'v_ns'+(n+1)});
-          t.find('span').show();
-          $('tr.add-ns').before(t);
-          }
-          if( n == 7 ) {
-          $('.add-ns').hide();
-          }
-        });
-
-        $('.remove-ns').click(function(){
-          $(this).parents('tr')[0].remove();
-          $('input[name^=v_ns]').each(function(i, ns){
-            $(ns).attr({name: 'v_ns'+(i+1)});
-            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-          });
-          $('.add-ns').show();
-        });
-
-        $('input[name^=v_ns]').each(function(i, ns){
-          i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-        });
-      });
-    </script>
-    <script src="/js/pages/add.package.js"></script>
+      </div>

+ 0 - 20
web/templates/admin/add_user.html

@@ -169,23 +169,3 @@
             </table>
         </form>
     </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      $(function() {
-        $('#v_email').change(function() {
-          document.getElementById('v_notify').value = document.getElementById('v_email').value;
-        });
-      });
-
-      function randomString() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var randomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          randomstring += chars.substr(rnum, 1);
-        }
-        document.v_add_user.v_password.value = randomstring;
-      }
-    </script>

+ 1 - 43
web/templates/admin/add_web.html

@@ -113,7 +113,7 @@
                                 <table style="display:<?php if ($v_proxy == 'off') { echo 'none';} else {echo 'block';}?>;" id="proxytable" >
                                     <tr>
                                         <td class="vst-text input-label step-left">
-                                            <?php print __('Proxy Extentions');?>
+                                            <?php print __('Proxy Extensions');?>
                                         </td>
                                     </tr>
                                     <tr>
@@ -389,49 +389,7 @@
         </div>
       </div>
 
-<?php insert_scripts(); ?>
     <script>
-      $(function() {
-        $('#v_domain').change(function() {
-          var prefix = 'www.';
-          document.getElementById('v_aliases').value = prefix + document.getElementById('v_domain').value;
-        });
-      });
-
-      function WEBrandom() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var webrandom = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          webrandom += chars.substr(rnum, 1);
-        }
-        document.v_add_web.v_stats_password.value = webrandom;
-      }
-
-      function FTPrandom(elm) {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var ftprandomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          ftprandomstring += chars.substr(rnum, 1);
-        }
-        $(elm).parents('.ftptable').find('.v-ftp-user-psw').val(ftprandomstring);
-      }
-
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      $('#vstobjects').bind('submit', function(evt) {
-        $('input[disabled]').each(function(i, elm) {
-          $(elm).removeAttr('disabled');
-        });
-      });
-
       GLOBAL.FTP_USER_PREFIX  = <?=json_encode($user)?>;
       GLOBAL.FTP_USER_PREPATH = <?=json_encode($v_ftp_user_prepath)?>;
     </script>
-    <script src="/js/pages/add.web.js"></script>

+ 1 - 1
web/templates/admin/edit_cron.html

@@ -442,4 +442,4 @@
                 </tr>
             </table>
         </form>
-    </div>
+    </div>

+ 0 - 18
web/templates/admin/edit_db.html

@@ -125,25 +125,7 @@
         </form>
     </div>
 
-<?php insert_scripts(); ?>
     <script>
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      function randomString() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var randomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          randomstring += chars.substr(rnum, 1);
-        }
-        document.v_edit_db.v_password.value = randomstring;
-      }
-
       GLOBAL.DB_USER_PREFIX = <?=json_encode($user.'_')?>;
       GLOBAL.DB_DBNAME_PREFIX = <?=json_encode($user.'_')?>;
     </script>
-    <script src="/js/pages/edit.db.js"></script>

+ 5 - 13
web/templates/admin/edit_firewall.html

@@ -54,8 +54,8 @@
                             <tr>
                                 <td>
                                     <select class="vst-list" name="v_action">
-                                        <option value="DROP" <?php if ((!empty($v_action)) && ( $v_action == "DROP" )) echo 'selected'?>><?php print __('DROP') ?></option>
-                                        <option value="ACCEPT" <?php if ((!empty($v_action)) && ( $v_action == "ACCEPT" )) echo 'selected'?>><?php print __('ACCEPT') ?></option>
+                                        <option value="DROP" <?php if ((!empty($v_action)) && ( $v_action == "DROP" )) echo 'selected'?>><?=__('DROP')?></option>
+                                        <option value="ACCEPT" <?php if ((!empty($v_action)) && ( $v_action == "ACCEPT" )) echo 'selected'?>><?=__('ACCEPT')?></option>
                                     </select>
                                 </td>
                             </tr>
@@ -67,9 +67,9 @@
                             <tr>
                                 <td>
                                     <select class="vst-list" name="v_protocol">
-                                        <option value="TCP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "TCP" )) echo 'selected'?>><?php print __('TCP') ?></option>
-                                        <option value="UDP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "UDP" )) echo 'selected'?>><?php print __('UDP') ?></option>
-                                        <option value="ICMP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "ICMP" )) echo 'selected'?>><?php print __('ICMP') ?></option>
+                                        <option value="TCP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "TCP" )) echo 'selected'?>><?=__('TCP')?></option>
+                                        <option value="UDP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "UDP" )) echo 'selected'?>><?=__('UDP')?></option>
+                                        <option value="ICMP" <?php if ((!empty($v_protocol)) && ( $v_protocol == "ICMP" )) echo 'selected'?>><?=__('ICMP')?></option>
                                     </select>
                                 </td>
                             </tr>
@@ -119,11 +119,3 @@
             </table>
         </form>
     </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-    </script>

+ 0 - 8
web/templates/admin/edit_ip.html

@@ -142,11 +142,3 @@
             </table>
         </form>
     </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-    </script>

+ 2 - 22
web/templates/admin/edit_mail_acc.html

@@ -41,7 +41,7 @@
                                     <a class="data-date"><?=$v_time?></a>
                                 </td>
                             </tr>
-                            <tr><td class="data-<?php echo $v_status ?>"><b><?php echo $v_status ?></b></td></tr>
+                            <tr><td class="data-<?=$v_status?>"><b><?=__($v_status)?></b></td></tr>
                         </table>
                     </td>
                     <td class="data-dotted">
@@ -140,24 +140,4 @@
             </tr>
         </table>
     </form>
-</div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      function randomString() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var randomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          randomstring += chars.substr(rnum, 1);
-        }
-        document.v_edit_mail_acc.v_password.value = randomstring;
-      }
-    </script>
-    <script src="/js/pages/edit.mail_acc.js"></script>
+</div>

+ 12 - 45
web/templates/admin/edit_package.html

@@ -35,7 +35,7 @@
                                     <a class="data-date"><?=$v_time?></a>
                                 </td>
                             </tr>
-                            <tr><td class="data-<?php echo $v_status ?>"><b><?php echo $v_status ?></b></td></tr>
+                            <tr><td class="data-<?=$v_status?>"><b><?=__($v_status)?></b></td></tr>
                         </table>
                     </td>
                     <td class="data-dotted">
@@ -92,7 +92,7 @@
                                                 if ((!empty($v_backend_template)) && ( $value == $_POST['v_backend_template'])){
                                                     echo ' selected' ;
                                                 }
-                                                echo ">".$value."</option>\n";
+                                                echo ">".htmlentities($value)."</option>\n";
                                             }
                                         ?>
                                     </select>
@@ -298,13 +298,13 @@
                             <tr>
                                 <td>
                                     <input type="text" size="20" class="vst-input" name="v_ns1" <?php if (!empty($v_ns1)) echo "value=".htmlentities($v_ns1); ?>>
-                                    <span class="remove-ns additional-control delete">delete</span>
+                                    <span class="remove-ns additional-control delete"><?=__('delete')?></span>
                                 </td>
                             </tr>
                             <tr>
                                 <td>
                                     <input type="text" size="20" class="vst-input" name="v_ns2" <?php if (!empty($v_ns2)) echo "value=".htmlentities($v_ns2); ?>>
-                                    <span class="remove-ns additional-control delete">delete</span>
+                                    <span class="remove-ns additional-control delete"><?=__('delete')?></span>
                                 </td>
                             </tr>
 
@@ -312,7 +312,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns3" value="'.htmlentities($v_ns3).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -320,7 +320,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns4" value="'.htmlentities($v_ns4).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -328,7 +328,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns5" value="'.htmlentities($v_ns5).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -336,7 +336,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns6" value="'.htmlentities($v_ns6).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -344,7 +344,7 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns7" value="'.htmlentities($v_ns7).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
 
@@ -352,14 +352,14 @@
                                   echo '<tr>
                                     <td>
                                         <input type="text" size="20" class="vst-input" name="v_ns8" value="'.htmlentities($v_ns8).'">
-                                        <span class="remove-ns additional-control delete">delete</span>
+                                        <span class="remove-ns additional-control delete">'.__('delete').'</span>
                                     </td>
                                 </tr>';
                                 ?>
 
                                 <tr class="add-ns" <? if($v_ns8) echo 'style="display:none;"'; ?> >
                                     <td class="step-top-small">
-                                      <span class="add-ns-button additional-control add">Add one more Name Server</span>
+                                      <span class="add-ns-button additional-control add"><?=__('Add one more Name Server')?></span>
                                     </td>
                                 </tr>
 
@@ -378,37 +378,4 @@
                 </tr>
             </table>
         </form>
-    </div>
-
-<?php insert_scripts(); ?>
-    <script>
-        $(document).ready(function(){
-        $('.add-ns-button').click(function(){
-          var n = $('input[name^=v_ns]').length;
-          if(n < 8){
-          var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
-          t.find('input').attr({value:'', name:'v_ns'+(n+1)});
-          t.find('span').show();
-          $('tr.add-ns').before(t);
-          }
-          if( n == 7 ) {
-          $('.add-ns').hide();
-          }
-        });
-
-        $('.remove-ns').click(function(){
-          $(this).parents('tr')[0].remove();
-          $('input[name^=v_ns]').each(function(i, ns){
-            $(ns).attr({name: 'v_ns'+(i+1)});
-            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-          });
-          $('.add-ns').show();
-        });
-
-        $('input[name^=v_ns]').each(function(i, ns){
-          i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-        });
-
-      });
-    </script>
-    <script src="/js/pages/edit.package.js"></script>
+    </div>

+ 5 - 31
web/templates/admin/edit_server.html

@@ -325,7 +325,7 @@
                                         <?php } ?>
                                         <?php if ($v_mysql == 'yes') {
                                                   $i = 0;
-                                                  foreach ($v_mysql_hosts as $key => $value) {
+                                                  foreach ($v_mysql_hosts as $value) {
                                                       $i++;
                                          ?>
                                         <tr>
@@ -335,7 +335,7 @@
                                         </tr>
                                         <tr>
                                             <td class="step-left">
-                                                <input type="text" size="20" class="vst-input" name="v_mysql_host" value="<?php echo $key; ?>" disabled>
+                                                <input type="text" size="20" class="vst-input" name="v_mysql_host" value="<?=$value['HOST']?>" disabled>
                                                 <br><br>
                                             </td>
                                         </tr>
@@ -405,7 +405,7 @@
                                         <?php } ?>
                                         <?php if ($v_pgsql == 'yes') {
                                                   $i = 0;
-                                                  foreach ($v_pgsql_hosts as $key => $value) {
+                                                  foreach ($v_pgsql_hosts as $value) {
                                                       $i++;
                                          ?>
                                         <tr>
@@ -415,7 +415,7 @@
                                         </tr>
                                         <tr>
                                             <td class="step-left">
-                                                <input type="text" size="20" class="vst-input" name="v_pgsql_host" value="<?php echo $key; ?>" disabled>
+                                                <input type="text" size="20" class="vst-input" name="v_pgsql_host" value="<?=$value['HOST']?>" disabled>
                                                 <br><br>
                                             </td>
                                         </tr>
@@ -766,30 +766,4 @@
                 </tr>
             </table>
         </form>
-    </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      $(document).ready(function(){
-        $('select[name=v_filemanager]').change(function(){
-          if($(this).val() == 'yes'){
-            $('.filemanager.description').show();
-          } else {
-            $('.filemanager.description').hide();
-          }
-        });
-
-        $('select[name=v_sftp]').change(function(){
-          if($(this).val() == 'yes'){
-            $('.sftp.description').show();
-          } else {
-            $('.sftp.description').hide();
-          }
-        });
-       });
-    </script>
+    </div>

+ 1 - 44
web/templates/admin/edit_user.html

@@ -250,47 +250,4 @@
                 </tr>
             </table>
         </form>
-    </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function randomString() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var randomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          randomstring += chars.substr(rnum, 1);
-        }
-        document.v_edit_user.v_password.value = randomstring;
-      }
-
-      $(document).ready(function(){
-        $('.add-ns-button').click(function(){
-          var n = $('input[name^=v_ns]').length;
-          if(n < 8){
-          var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
-          t.find('input').attr({value:'', name:'v_ns'+(n+1)});
-          t.find('span').show();
-          $('tr.add-ns').before(t);
-          }
-          if( n == 7 ) {
-          $('.add-ns').hide();
-          }
-        });
-
-        $('.remove-ns').click(function(){
-          $(this).parents('tr')[0].remove();
-          $('input[name^=v_ns]').each(function(i, ns){
-            $(ns).attr({name: 'v_ns'+(i+1)});
-            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-          });
-          $('.add-ns').show();
-        });
-
-        $('input[name^=v_ns]').each(function(i, ns){
-          i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-        });
-
-      });
-    </script>
+    </div>

+ 1 - 42
web/templates/admin/edit_web.html

@@ -129,7 +129,7 @@
                                                 if ((empty($v_backend_template)) && ($value == 'default')){
                                                     echo ' selected' ;
                                                 }
-                                                echo ">".$value."</option>\n";
+                                                echo ">".htmlentities($value)."</option>\n";
                                             }
                                         ?>
                                     </select>
@@ -450,47 +450,6 @@
         </table>
         </div>
     </div>
-
-<?php insert_scripts(); ?>
     <script>
-      function WEBrandom() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var webrandom = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          webrandom += chars.substr(rnum, 1);
-        }
-        document.v_edit_web.v_stats_password.value = webrandom;
-      }
-
-      function FTPrandom(elm) {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var ftprandomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          ftprandomstring += chars.substr(rnum, 1);
-        }
-
-        $(elm).parents('.ftptable').find('.v-ftp-user-psw').val(ftprandomstring);
-        App.Actions.WEB.randomPasswordGenerated && App.Actions.WEB.randomPasswordGenerated(elm);
-      }
-
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      $('#vstobjects').bind('submit', function(evt) {
-        $('input[disabled]').each(function(i, elm) {
-          var copy_elm = $(elm).clone(true);
-          $(copy_elm).attr('type', 'hidden');
-          $(copy_elm).removeAttr('disabled');
-          $(elm).after(copy_elm);
-        });
-      });
-
       GLOBAL.FTP_USER_PREFIX = <?=json_encode($user.'_')?>;
     </script>
-    <script src="/js/pages/edit.web.js"></script>

+ 1 - 1
web/templates/admin/list_backup_detail.html

@@ -389,7 +389,7 @@
             ?>
           </div>
           <div class="data-count l-unit__col l-unit__col--right back clearfix">
-            <a class="button cancel" href="/list/backup/">back</a>
+            <a class="button cancel" href="/list/backup/"><?=__('Back')?></a>
           </div>
         </div>
       </div>

+ 1 - 1
web/templates/admin/list_backup_exclusions.html

@@ -107,7 +107,7 @@
           <!-- /form -->
           <div class="l-unit__col l-unit__col--left clearfix"></div>
           <div class="data-count l-unit__col l-unit__col--right total clearfix">
-            <a class="button cancel" href="/list/backup/">back</a>
+            <a class="button cancel" href="/list/backup/"><?=__('Back')?></a>
           </div>
       </div>
     </div>

+ 1 - 1
web/templates/admin/list_dns_rec.html

@@ -135,7 +135,7 @@ v_unit_id="<?=$key?>" v_section="dns_rec">
             ?>
           </div>
           <div class="data-count l-unit__col l-unit__col--right back clearfix">
-            <a class="button cancel" href="/list/dns/">back</a>
+            <a class="button cancel" href="/list/dns/"><?=__('Back')?></a>
           </div>
       </div>
     </div>

+ 4 - 4
web/templates/admin/list_firewall.html

@@ -117,11 +117,11 @@ sort-ip="<?=str_replace('.', '', $data[$key]['IP'])?>" sort-comment="<?=$data[$k
         <!-- /.l-unit__col -->
         <div class="l-unit__col l-unit__col--right">
           <div class="l-unit__stats">
-            <div class="clearfix l-unit__stat-col--left"><b><?=$data[$key]['ACTION'] ?></b></div>
-            <div class="clearfix l-unit__stat-col--left compact"><b><?=$data[$key]['PROTOCOL']?></b></div>
+            <div class="clearfix l-unit__stat-col--left"><b><?=__($data[$key]['ACTION'])?></b></div>
+            <div class="clearfix l-unit__stat-col--left compact"><b><?=__($data[$key]['PROTOCOL'])?></b></div>
             <div class="clearfix l-unit__stat-col--left wide-2"><? if(!empty($data[$key]['COMMENT'])) echo '/ ' . $data[$key]['COMMENT']; else echo "&nbsp;"; ?></div>
-            <div class="clearfix l-unit__stat-col--left wide"><b><?=$data[$key]['PORT'] ?></b></div>
-            <div class="clearfix l-unit__stat-col--left"><b><?=$data[$key]['IP'] ?></b></div>
+            <div class="clearfix l-unit__stat-col--left wide"><b><?=$data[$key]['PORT']?></b></div>
+            <div class="clearfix l-unit__stat-col--left"><b><?=$data[$key]['IP']?></b></div>
           </div>
           <!-- /.l-unit__stats -->
         </div>

+ 2 - 2
web/templates/admin/list_firewall_banlist.html

@@ -79,7 +79,7 @@
           <div class="l-unit__stats">
             <div class="clearfix l-unit__stat-col--left wide"><b><?=$data[$key]['DATE']?></b> &nbsp; <?=$data[$key]['TIME']?> </div>
             <div class="clearfix l-unit__stat-col--left"></div>
-            <div class="clearfix l-unit__stat-col--left wide-3"><b><?=$value['CHAIN']?></b></div>
+            <div class="clearfix l-unit__stat-col--left wide-3"><b><?=__($value['CHAIN'])?></b></div>
             <div class="clearfix l-unit__stat-col--left"><b><?=$ip?></b></div>
           </div>
           <!-- /.l-unit__stats -->
@@ -114,7 +114,7 @@
             ?>
           </div>
           <div class="data-count l-unit__col l-unit__col--right back clearfix">
-            <a class="button cancel" href="/list/firewall/">back</a>
+            <a class="button cancel" href="/list/firewall/"><?=__('Back')?></a>
           </div>
       </div>
     </div>

+ 3 - 3
web/templates/admin/list_ip.html

@@ -58,8 +58,8 @@
 
       <div class="l-unit <? if($data[$key]['SUSPENDED'] == 'yes') echo 'l-unit--suspended'; if($_SESSION['favourites']['IP'][$key] == 1) echo ' l-unit--starred'; ?>" v_unit_id="<?=$key?>"
 v_section="ip" sort-ip="<?=str_replace('.', '', $key)?>" sort-date="<?=strtotime($data[$key]['DATE'] .' '. $data[$key]['TIME'] )?>"
-sort-netmask="<?=str_replace('.', '', $data[$key]['NETMASK'])?>" sort-interface="<?=__($data[$key]['INTERFACE'])?>" sort-domains="<?=$data[$key]['U_WEB_DOMAINS']?>"
-sort-owner="<?=__($data[$key]['OWNER'])?>" sort-star="<? if($_SESSION['favourites']['IP'][$key] == 1) echo '1'; else echo '0'; ?>">
+sort-netmask="<?=str_replace('.', '', $data[$key]['NETMASK'])?>" sort-interface="<?=$data[$key]['INTERFACE']?>" sort-domains="<?=$data[$key]['U_WEB_DOMAINS']?>"
+sort-owner="<?=$data[$key]['OWNER']?>" sort-star="<? if($_SESSION['favourites']['IP'][$key] == 1) echo '1'; else echo '0'; ?>">
         <div class="l-unit-toolbar clearfix">
           <div class="l-unit-toolbar__col l-unit-toolbar__col--left">
             <input id="check<?php echo $i ?>" class="ch-toggle" type="checkbox" name="ip[]" value="<?=$key?>">
@@ -128,7 +128,7 @@ sort-owner="<?=__($data[$key]['OWNER'])?>" sort-star="<? if($_SESSION['favourite
                   <div class="l-unit__stat-cols clearfix last">
                     <div class="l-unit__stat-col l-unit__stat-col--left compact-2"><?=__('Owner')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=__($data[$key]['OWNER'])?></b>
+                      <b><?=$data[$key]['OWNER']?></b>
                     </div>
                   </div>
                 </td>

+ 1 - 1
web/templates/admin/list_mail_acc.html

@@ -212,7 +212,7 @@ sort-star="<? if($_SESSION['favourites']['MAIL_ACC'][$key."@".$_GET['domain']] =
             ?>
           </div>
           <div class="data-count l-unit__col l-unit__col--right back clearfix">
-            <a class="button cancel" href="/list/mail/">back</a>
+            <a class="button cancel" href="/list/mail/"><?=__('Back')?></a>
           </div>
         </div>
       </div>

+ 15 - 5
web/templates/admin/list_packages.html

@@ -106,7 +106,7 @@ sort-star="<?if($_SESSION['favourites']['PACKAGE'][$key] == 1) echo '1'; else ec
                   <div class="l-unit__stat-cols clearfix">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Web Template')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=__($data[$key]['WEB_TEMPLATE'])?></b>
+                      <b><?=$data[$key]['WEB_TEMPLATE']?></b>
                     </div>
                   </div>
                 </td>
@@ -122,7 +122,7 @@ sort-star="<?if($_SESSION['favourites']['PACKAGE'][$key] == 1) echo '1'; else ec
                   <div class="l-unit__stat-cols clearfix last">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Backups')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=__($data[$key]['BACKUPS'])?></b>
+                      <b><?=$data[$key]['BACKUPS']?></b>
                     </div>
                   </div>
                 </td>
@@ -134,7 +134,7 @@ sort-star="<?if($_SESSION['favourites']['PACKAGE'][$key] == 1) echo '1'; else ec
                   <div class="l-unit__stat-cols clearfix">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Proxy Template')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=__($data[$key]['PROXY_TEMPLATE'])?></b>
+                      <b><?=$data[$key]['PROXY_TEMPLATE']?></b>
                     </div>
                   </div>
                   <? } ?>
@@ -151,7 +151,12 @@ sort-star="<?if($_SESSION['favourites']['PACKAGE'][$key] == 1) echo '1'; else ec
                   <div class="l-unit__stat-cols clearfix last">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Bandwidth')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
+<?php if (preg_match('/[a-z]/i', $data[$key]['BANDWIDTH'])): ?>
+                      <b><?=__($data[$key]['BANDWIDTH'])?></b>
+<?php else: ?>
                       <b><?=humanize_usage_size($data[$key]['BANDWIDTH'])?></b> <?=humanize_usage_measure($data[$key]['BANDWIDTH'])?>
+
+<?php endif; ?>
                     </div>
                   </div>
                 </td>
@@ -162,7 +167,7 @@ sort-star="<?if($_SESSION['favourites']['PACKAGE'][$key] == 1) echo '1'; else ec
                   <div class="l-unit__stat-cols clearfix">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('DNS Template')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=__($data[$key]['DNS_TEMPLATE'])?></b>
+                      <b><?=$data[$key]['DNS_TEMPLATE']?></b>
                     </div>
                   </div>
                 </td>
@@ -178,7 +183,12 @@ sort-star="<?if($_SESSION['favourites']['PACKAGE'][$key] == 1) echo '1'; else ec
                   <div class="l-unit__stat-cols clearfix last">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Disk')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
+<?php if (preg_match('/[a-z]/i', $data[$key]['DISK_QUOTA'])): ?>
+                      <b><?=__($data[$key]['DISK_QUOTA'])?></b>
+<?php else: ?>
                       <b><?=humanize_usage_size($data[$key]['DISK_QUOTA'])?></b> <?=humanize_usage_measure($data[$key]['DISK_QUOTA'])?>
+
+<?php endif; ?>
                     </div>
                   </div>
                 </td>
@@ -189,7 +199,7 @@ sort-star="<?if($_SESSION['favourites']['PACKAGE'][$key] == 1) echo '1'; else ec
                   <div class="l-unit__stat-cols clearfix">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('SSH Access')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=__($data[$key]['SHELL'])?></b>
+                      <b><?=$data[$key]['SHELL']?></b>
                     </div>
                   </div>
                 </td>

+ 47 - 47
web/templates/admin/list_search.html

@@ -36,28 +36,28 @@
       <?
         foreach ($data as $key => $value) {
           ++$i;
-          if ($data[$key]['SUSPENDED'] == 'yes') {
+          if ($value['SUSPENDED'] == 'yes') {
             $status = 'suspended';
-            $spnd_action = 'unsuspend' ;
+            $spnd_action = 'unsuspend';
           } else {
             $status = 'active';
             $spnd_action = 'suspend';
           }
-            if ($data[$key]['TYPE'] == 'db') {
+          if ($value['TYPE'] == 'db') {
             $object = 'database';
           } else {
-            $object = strtolower($data[$key]['TYPE']." ".$data[$key]['KEY']);
+            $object = strtolower($value['TYPE'] . ' ' . $value['KEY']);
           }
 
-          $uniq_id = $data[$key]['TYPE'].'-';
-          if($data[$key]['KEY'] == 'ACCOUNT'){
+          $uniq_id = $value['TYPE'] . '-';
+          if ($value['KEY'] == 'ACCOUNT'){
             $uniq_id .= 'acc-';
           }
-          $uniq_id .= sha1($data[$key]['RESULT']);
+          $uniq_id .= sha1($value['RESULT']);
         ?>
 
 
-      <div class="l-unit <? if($status == 'suspended') echo 'l-unit--suspended'; if($_COOKIE[$uniq_id] == 1) echo ' l-unit--starred'; ?>" id="web-unit-<?=$i?>" uniq-id="<?=$uniq_id?>" sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>" sort-name="<?=$data[$key]['RESULT']?>">
+      <div class="l-unit <? if($status == 'suspended') echo 'l-unit--suspended'; if($_COOKIE[$uniq_id] == 1) echo ' l-unit--starred'; ?>" id="web-unit-<?=$i?>" uniq-id="<?=$uniq_id?>" sort-date="<?=strtotime($value['DATE'].' '.$value['TIME'])?>" sort-name="<?=$value['RESULT']?>">
         <div class="l-unit-toolbar clearfix">
           <!--div class="l-unit-toolbar__col l-unit-toolbar__col--left">
             <input id="check<?=$i?>" class="ch-toggle" type="checkbox" name="check" value="check<?=$i?>">
@@ -68,7 +68,7 @@
             <div class="actions-panel clearfix">
 
             <?
-              if ($data[$key]['USER'] != $user && $data[$key]['KEY'] == 'ACCOUNT') {
+              if ($value['USER'] != $user && $value['KEY'] == 'ACCOUNT') {
                 if ($key == $user) {
             ?>
                   <div class="actions-panel__col actions-panel__loginas shortcut-l" key-action="href"><a href="/logout"><?=__('logout')?> <i></i></a><span class="shortcut">&nbsp;L</span></div>
@@ -82,47 +82,47 @@
 
 
             <?
-              if ($data[$key]['KEY'] == 'RECORD') {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&record_id='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+              if ($value['KEY'] == 'RECORD') {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER'];
               }
-              if ($data[$key]['KEY'] == 'ACCOUNT') {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&account='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+              if ($value['KEY'] == 'ACCOUNT') {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER'];
               }
-              if ($data[$key]['KEY'] == 'JOB') {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?job='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+              if ($value['KEY'] == 'JOB') {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER'];
               }
-              if ($data[$key]['KEY'] == 'DATABASE') {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?database='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+              if ($value['KEY'] == 'DATABASE') {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER'];
               }
-              if (($data[$key]['KEY'] != 'RECORD') && ($data[$key]['KEY'] != 'ACCOUNT') && ($data[$key]['KEY'] != 'JOB') && ($data[$key]['KEY'] != 'DATABASE') ) {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?'.strtolower($data[$key]['KEY']).'='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+              if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER'];
               }
             ?>
               <div class="actions-panel__col actions-panel__edit shortcut-enter" key-action="href"><a href="<?=$edit_lnk?>"><?=__('edit')?> <i></i></a><span class="shortcut enter">&nbsp;&#8629;</span></div>
-              <? if (!empty($data[$key]['STATS'])) { ?>
-                  <div class="actions-panel__col actions-panel__logs shortcut-w" key-action="href"><a href="http://<?=$data[$key]['RESULT']?>/vstats/"  target="_blank"><?=__('open webstats')?> <i></i></a><span class="shortcut">&nbsp;w</span></div>
+              <? if (!empty($value['STATS'])) { ?>
+                  <div class="actions-panel__col actions-panel__logs shortcut-w" key-action="href"><a href="http://<?=$value['RESULT']?>/vstats/"  target="_blank"><?=__('open webstats')?> <i></i></a><span class="shortcut">&nbsp;w</span></div>
               <? } ?>
 
 
               <?
-                if ($data[$key]['KEY'] == 'RECORD') {
-                  $spnd_lnk = '/'.$spnd_action.'/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&record_id='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'RECORD') {
+                  $spnd_lnk = '/'.$spnd_action.'/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'SUSPEND_RECORD_CONFIRMATION';
                 }
-                if ($data[$key]['KEY'] == 'ACCOUNT') {
-                  $spnd_lnk = '/'.$spnd_action.'/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&account='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'ACCOUNT') {
+                  $spnd_lnk = '/'.$spnd_action.'/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'SUSPEND_USER_CONFIRMATION';
                 }
-                if ($data[$key]['KEY'] == 'JOB') {
-                  $spnd_lnk = '/'.$spnd_action.'/'.$data[$key]['TYPE'].'/?job='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'JOB') {
+                  $spnd_lnk = '/'.$spnd_action.'/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'SUSPEND_CRON_CONFIRMATION';
                 }
-                  if ($data[$key]['KEY'] == 'DATABASE') {
-                  $spnd_lnk = '/'.$spnd_action.'/'.$data[$key]['TYPE'].'/?database='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+                  if ($value['KEY'] == 'DATABASE') {
+                  $spnd_lnk = '/'.$spnd_action.'/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER'];
                   $cnfrm = 'SUSPEND_DATABASE_CONFIRMATION';
                 }
-                if (($data[$key]['KEY'] != 'RECORD') && ($data[$key]['KEY'] != 'ACCOUNT') && ($data[$key]['KEY'] != 'JOB') && ($data[$key]['KEY'] != 'DATABASE') ) {
-                  $spnd_lnk = '/'.$spnd_action.'/'.$data[$key]['TYPE'].'/?'.strtolower($data[$key]['KEY']).'='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+                if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) {
+                  $spnd_lnk = '/'.$spnd_action.'/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER'];
                   $cnfrm = 'SUSPEND_DOMAIN_CONFIRMATION';
                 }
               ?>
@@ -131,31 +131,31 @@
                   <?=__($spnd_action)?> <i class="do_<?=$spnd_action?>"></i>
                   <input type="hidden" name="<?=$spnd_action?>_url" value="<?=$spnd_lnk?>&token=<?=$_SESSION['token']?>" />
                   <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=__('Confirmation')?>">
-                    <p class="confirmation"><?=__($cnfrm, $data[$key]['RESULT'])?></p>
+                    <p class="confirmation"><?=__($cnfrm, $value['RESULT'])?></p>
                   </div>
                 </a>
                 <span class="shortcut">&nbsp;S</span>
               </div>
 
               <?
-                if ($data[$key]['KEY'] == 'RECORD') {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&record_id='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'RECORD') {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_RECORD_CONFIRMATION';
                 }
-                if ($data[$key]['KEY'] == 'ACCOUNT') {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&account='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'ACCOUNT') {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_USER_CONFIRMATION';
                 }
-                if ($data[$key]['KEY'] == 'JOB') {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?job='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'JOB') {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_CRON_CONFIRMATION';
                 }
-                if ($data[$key]['KEY'] == 'DATABASE') {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?database='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'DATABASE') {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_DATABASE_CONFIRMATION';
                 }
-                if (($data[$key]['KEY'] != 'RECORD') && ($data[$key]['KEY'] != 'ACCOUNT') && ($data[$key]['KEY'] != 'JOB') && ($data[$key]['KEY'] != 'DATABASE') ) {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?'.strtolower($data[$key]['KEY']).'='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+                if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_DOMAIN_CONFIRMATION';
                 }
               ?>
@@ -164,7 +164,7 @@
                   <?=__('delete')?> <i class="do_delete"></i>
                   <input type="hidden" name="delete_url" value="<?=$delete_lnk?>&token=<?=$_SESSION['token']?>" />
                   <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=__('Confirmation')?>">
-                    <p class="confirmation"><?=__($cnfrm, $data[$key]['RESULT'])?></p>
+                    <p class="confirmation"><?=__($cnfrm, $value['RESULT'])?></p>
                   </div>
                 </a>
                 <span class="shortcut delete">&nbsp;Del</span>
@@ -178,7 +178,7 @@
 
         <div class="l-unit__col l-unit__col--left clearfix">
           <div class="l-unit__date">
-            <?=translate_date($data[$key]['DATE'])?>
+            <?=translate_date($value['DATE'])?>
           </div>
           <div class="l-unit__suspended"><?__('suspended')?></div>
           <div class="text-center">
@@ -188,7 +188,7 @@
         <!-- /.l-unit__col -->
         <div class="l-unit__col l-unit__col--right">
           <div class="l-unit__name separate">
-            <?=$data[$key]['RESULT']?> <span><?=str_replace(',', ', ', $data[$key]['ALIAS'])?></span>
+            <?=$value['RESULT']?> <span><?=str_replace(',', ', ', $value['ALIAS'])?></span>
           </div>
           <!-- /.l-unit__name -->
           <div class="l-unit__stats">
@@ -196,14 +196,14 @@
               <tr>
                 <td>
                   <div class="l-unit__stat-cols clearfix">
-                    <div class="l-unit__stat-col l-unit__stat-col--left uppercase"><?=$object?></div>
+                    <div class="l-unit__stat-col l-unit__stat-col--left uppercase"><?=__($object)?></div>
                   </div>
                 </td>
                 <td>
                   <div class="l-unit__stat-cols clearfix">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Owner')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=$data[$key]['USER']?></b>
+                      <b><?=$value['USER']?></b>
                     </div>
                   </div>
                 </td>

+ 2 - 2
web/templates/admin/list_server_info.html

@@ -3,7 +3,7 @@
 <head>
   <meta charset="utf-8">
   <link rel="icon" href="/images/favicon.ico" type="image/x-icon">
-  <title>Vesta - <?=__($TAB)?> </title>
+  <title>Vesta - <?=__($TAB)?></title>
   <link rel="stylesheet" href="/css/styles.min.css">
 
   <link type="text/css" href="/css/jquery-custom-dialogs.css" rel="stylesheet" />
@@ -41,4 +41,4 @@
   <!-- /.l-header -->
 
   <div style="color: #ff6701; padding: 10px 0 20px 20px; background: #fff; ">.</div><div class="l-center">
-  <pre style="color: #555">
+  <pre style="color: #555">

+ 1 - 1
web/templates/admin/list_services.html

@@ -88,7 +88,7 @@
                 </td>
                 <td>
                   <div class="l-unit__stat-cols clearfix">
-                    <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('LoadAverage')?>:</div>
+                    <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Load Average')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right"><b><?=$sys['sysinfo']['LOADAVERAGE']?></b></div>
                   </div>
                 </td>

+ 2 - 2
web/templates/admin/list_updates.html

@@ -50,10 +50,10 @@
 
           if ($data[$key]['UPDATED'] == 'yes') {
             $status = 'active';
-            $upd_status = __('updated');
+            $upd_status = 'updated';
           } else {
             $status = 'suspended';
-            $upd_status = __('outdated');
+            $upd_status = 'outdated';
           }
 
       ?>

+ 1 - 1
web/templates/admin/list_web.html

@@ -202,7 +202,7 @@ sort-name="<?=$key?>"  sort-bandwidth="<?=$data[$key]['U_BANDWIDTH']?>" sort-dis
                   <div class="l-unit__stat-cols clearfix">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Web Template')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=__($data[$key]['TPL'])?></b>
+                      <b><?=$data[$key]['TPL']?></b>
                     </div>
                   </div>
                 </td>

+ 1 - 0
web/templates/file_manager/main.php

@@ -12,6 +12,7 @@
 <!-- link rel="shortcut icon" href="/2008/site/images/favicon.ico" type="image/x-icon" / -->
 <link rel="stylesheet" href="/css/jquery.arcticmodal.css">
 <link rel="stylesheet" href="/css/jquery.fileupload.css">
+<script> GLOBAL = {}; </script>
 </head>
 <body>
     <a href="#" class="to-shortcuts">

+ 1 - 65
web/templates/footer.html

@@ -1,70 +1,5 @@
-<?php
-    // Insert script elements if it isn't loaded yet
-    insert_scripts();
-?>
   </div>
 
-  <script>
-    $(function() {
-      hover_menu();
-    });
-  </script>
-
-<?php
-// Dialogs
-// todo: display all the dialogs?
-
-if (!empty($_SESSION['look_alert'])):
-?>
-  <script>
-    $(function() {
-      $('#dialog:ui-dialog').dialog('destroy');
-      $('#dialog-message').dialog({
-        modal: true,
-        buttons: {
-          Ok: function() {
-            $(this).dialog('close');
-          }
-        }
-      });
-    });
-  </script>
-  <div id="dialog-message" title="<?=__('Welcome')?>">
-    <p class="confirmation"><?=__('LOGGED_IN_AS', $_SESSION['look'])?></p>
-  </div>
-<?php
-  unset($_SESSION['look_alert']);
-elseif (!empty($_SESSION['error_msg'])):
-?>
-  <div>
-    <script>
-      $(function() {
-        $('#dialog:ui-dialog').dialog('destroy');
-        $('#dialog-message').dialog({
-          modal: true,
-          buttons: {
-            Ok: function() {
-              $(this).dialog('close');
-            }
-          },
-          create: function() {
-            $(this)
-            .closest('.ui-dialog')
-            .find('.ui-button:first')
-            .addClass('submit');
-          }
-        });
-      });
-    </script>
-    <div id="dialog-message" title="">
-      <p><?=htmlentities($_SESSION['error_msg'])?></p>
-    </div>
-  </div>
-<?php
-  unset($_SESSION['error_msg']);
-endif;
-?>
-
   <div title="Confirmation" class="confirmation-text-redirect hidden">
     <p class="confirmation"><?=__('LEAVE_PAGE_CONFIRMATION')?></p>
   </div>
@@ -73,6 +8,7 @@ endif;
     <div class="header">
       <div class="title">Shortcuts</div>
       <div class="close"></div>
+
     </div>
     <ul>
       <li><span class="key">a</span><?=__('Add New object')?></li>

+ 12 - 1
web/templates/header.html

@@ -3,8 +3,19 @@
 <head>
   <meta charset="utf-8">
   <link rel="icon" href="/images/favicon.ico" type="image/x-icon">
-  <title>Vesta - <?="$TAB"?> </title>
+  <title>Vesta - <?=__($TAB)?></title>
   <link rel="stylesheet" href="/css/styles.min.css?1446554103">
   <link type="text/css" href="/css/jquery-custom-dialogs.css?1446554103" rel="stylesheet" />
+  <script>
+    //
+    //  GLOBAL SETTINGS
+    //
+    GLOBAL = {};
+    GLOBAL.FTP_USER_PREFIX  = 'admin_';
+    GLOBAL.DB_USER_PREFIX   = 'admin_';
+    GLOBAL.DB_DBNAME_PREFIX = 'admin_';
+    GLOBAL.AJAX_URL = '';
+  </script>
+
 </head>
 <body class="body-<?=strtolower($TAB)?> lang-<?=$_SESSION['language']?>">

+ 70 - 8
web/templates/scripts.html

@@ -1,8 +1,70 @@
-    <script src="/js/jquery-1.7.2.min.js?1446554103"></script>
-    <script src="/js/jquery.cookie.js?1446554103"></script>
-    <script src="/js/jquery-ui-1.8.20.custom.min.js?1467113876"></script>
-    <script src="/js/hotkeys.js?1446554103"></script>
-    <script src="/js/events.js?1446554103"></script>
-    <script src="/js/app.js?1446554103"></script>
-    <script src="/js/templates.js?1446554103"></script>
-    <script src="/js/jquery.finder.js"></script>
+  <script type="text/javascript" src="/js/jquery-1.7.2.min.js?<?=JS_LATEST_UPDATE?>"></script>
+  <script type="text/javascript" src="/js/jquery.cookie.js?<?=JS_LATEST_UPDATE?>"></script>
+  <script type="text/javascript" src="/js/jquery-ui-1.8.20.custom.min.js?<?=JS_LATEST_UPDATE?>"></script>
+  <script type="text/javascript" src="/js/hotkeys.js?<?=JS_LATEST_UPDATE?>"></script>
+  <script type="text/javascript" src="/js/events.js?<?=JS_LATEST_UPDATE?>"></script>
+  <script type="text/javascript" src="/js/app.js?<?=JS_LATEST_UPDATE?>"></script>
+  <script type="text/javascript" src="/js/init.js?<?=JS_LATEST_UPDATE?>"></script>
+  <script type="text/javascript" src="/js/templates.js?<?=JS_LATEST_UPDATE?>"></script>
+  <script type="text/javascript" src="/js/jquery.finder.js?<?=JS_LATEST_UPDATE?>"></script>
+
+  <script>
+    $(function() {
+      hover_menu();
+    });
+  </script>
+
+<?php
+// Dialogs
+// todo: display all the dialogs?
+
+if (!empty($_SESSION['look_alert'])):
+?>
+  <script>
+    $(function() {
+      $('#dialog:ui-dialog').dialog('destroy');
+      $('#dialog-message').dialog({
+        modal: true,
+        buttons: {
+          Ok: function() {
+            $(this).dialog('close');
+          }
+        }
+      });
+    });
+  </script>
+  <div id="dialog-message" title="<?=__('Welcome')?>">
+    <p class="confirmation"><?=__('LOGGED_IN_AS', $_SESSION['look'])?></p>
+  </div>
+<?php
+  unset($_SESSION['look_alert']);
+elseif (!empty($_SESSION['error_msg'])):
+?>
+  <div>
+    <script>
+      $(function() {
+        $('#dialog:ui-dialog').dialog('destroy');
+        $('#dialog-message').dialog({
+          modal: true,
+          buttons: {
+            Ok: function() {
+              $(this).dialog('close');
+            }
+          },
+          create: function() {
+            $(this)
+            .closest('.ui-dialog')
+            .find('.ui-button:first')
+            .addClass('submit');
+          }
+        });
+      });
+    </script>
+    <div id="dialog-message" title="">
+      <p><?=htmlentities($_SESSION['error_msg'])?></p>
+    </div>
+  </div>
+<?php
+  unset($_SESSION['error_msg']);
+endif;
+?>

+ 1 - 44
web/templates/user/edit_user.html

@@ -218,47 +218,4 @@
                 </tr>
             </table>
         </form>
-    </div>
-
-<?php insert_scripts(); ?>
-    <script>
-      function randomString() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var randomstring = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          randomstring += chars.substr(rnum, 1);
-        }
-        document.v_edit_user.v_password.value = randomstring;
-      }
-
-      $(document).ready(function(){
-        $('.add-ns-button').click(function(){
-          var n = $('input[name^=v_ns]').length;
-          if(n < 8){
-          var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
-          t.find('input').attr({value:'', name:'v_ns'+(n+1)});
-          t.find('span').show();
-          $('tr.add-ns').before(t);
-          }
-          if( n == 7 ) {
-          $('.add-ns').hide();
-          }
-        });
-
-        $('.remove-ns').click(function(){
-          $(this).parents('tr')[0].remove();
-          $('input[name^=v_ns]').each(function(i, ns){
-            $(ns).attr({name: 'v_ns'+(i+1)});
-            i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-          });
-          $('.add-ns').show();
-        });
-
-        $('input[name^=v_ns]').each(function(i, ns){
-          i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
-        });
-
-      });
-    </script>
+    </div>

+ 0 - 40
web/templates/user/edit_web.html

@@ -380,46 +380,6 @@
         </div>
     </div>
 
-<?php insert_scripts(); ?>
     <script>
-      function WEBrandom() {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var webrandom = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          webrandom += chars.substr(rnum, 1);
-        }
-        document.v_edit_web.v_stats_password.value = webrandom;
-      }
-
-      function FTPrandom(elm) {
-        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
-        var string_length = 10;
-        var webrandom = '';
-        for (var i = 0; i < string_length; i++) {
-          var rnum = Math.floor(Math.random() * chars.length);
-          webrandom += chars.substr(rnum, 1);
-        }
-
-        $(elm).parents('.ftptable').find('.v-ftp-user-psw').val(ftprandomstring);
-        App.Actions.WEB.randomPasswordGenerated && App.Actions.WEB.randomPasswordGenerated(elm);
-      }
-
-      function elementHideShow(elementToHideOrShow){
-        var el = document.getElementById(elementToHideOrShow);
-        el.style.display = el.style.display === 'none' ? 'block' : 'none';
-      }
-
-      $('#vstobjects').bind('submit', function(evt) {
-        $('input[disabled]').each(function(i, elm) {
-          var copy_elm = $(elm).clone(true);
-          $(copy_elm).attr('type', 'hidden');
-          $(copy_elm).removeAttr('disabled');
-          $(elm).after(copy_elm);
-        });
-      });
-
       GLOBAL.FTP_USER_PREFIX = <?=json_encode($user.'_')?>;
     </script>
-    <script src="/js/pages/edit.web.js"></script>

+ 1 - 1
web/templates/user/list_dns_rec.html

@@ -132,7 +132,7 @@
             ?>
           </div>
           <div class="data-count l-unit__col l-unit__col--right back clearfix">
-            <a class="button cancel" href="/list/dns/">back</a>
+            <a class="button cancel" href="/list/dns/"><?=__('Back')?></a>
           </div>
       </div>
     </div>

+ 1 - 1
web/templates/user/list_mail_acc.html

@@ -200,7 +200,7 @@ sort-star="<? if($_SESSION['favourites']['MAIL_ACC'][$key."@".$_GET['domain']] =
             ?>
           </div>
           <div class="data-count l-unit__col l-unit__col--right back clearfix">
-            <a class="button cancel" href="/list/mail/">back</a>
+            <a class="button cancel" href="/list/mail/"><?=__('Back')?></a>
           </div>
         </div>
       </div>

+ 37 - 37
web/templates/user/list_search.html

@@ -36,27 +36,27 @@
       <?
         foreach ($data as $key => $value) {
           ++$i;
-          if ($data[$key]['SUSPENDED'] == 'yes') {
+          if ($value['SUSPENDED'] == 'yes') {
             $status = 'suspended';
             $spnd_action = 'unsuspend' ;
           } else {
             $status = 'active';
             $spnd_action = 'suspend';
           }
-            if ($data[$key]['TYPE'] == 'db') {
+            if ($value['TYPE'] == 'db') {
             $object = 'database';
           } else {
-            $object = strtolower($data[$key]['TYPE']." ".$data[$key]['KEY']);
+            $object = strtolower($value['TYPE']." ".$value['KEY']);
           }
 
-          $uniq_id = $data[$key]['TYPE'].'-';
-          if($data[$key]['KEY'] == 'ACCOUNT'){
+          $uniq_id = $value['TYPE'].'-';
+          if($value['KEY'] == 'ACCOUNT'){
             $uniq_id .= 'acc-';
           }
-          $uniq_id .= sha1($data[$key]['RESULT']);
+          $uniq_id .= sha1($value['RESULT']);
         ?>
 
-      <div class="l-unit <? if($status == 'suspended') echo 'l-unit--suspended'; if($_COOKIE[$uniq_id] == 1) echo ' l-unit--starred';?>" id="web-unit-<?=$i?>" uniq-id="<?=$uniq_id?>" sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>" sort-name="<?=$data[$key]['RESULT']?>">
+      <div class="l-unit <? if($status == 'suspended') echo 'l-unit--suspended'; if($_COOKIE[$uniq_id] == 1) echo ' l-unit--starred';?>" id="web-unit-<?=$i?>" uniq-id="<?=$uniq_id?>" sort-date="<?=strtotime($value['DATE'].' '.$value['TIME'])?>" sort-name="<?=$value['RESULT']?>">
         <div class="l-unit-toolbar clearfix">
           <!--div class="l-unit-toolbar__col l-unit-toolbar__col--left">
             <input id="check<?=$i?>" class="ch-toggle" type="checkbox" name="check" value="check<?=$i?>">
@@ -67,7 +67,7 @@
             <div class="actions-panel clearfix">
 
             <?
-              if ($data[$key]['USER'] != $user && $data[$key]['KEY'] == 'ACCOUNT') {
+              if ($value['USER'] != $user && $value['KEY'] == 'ACCOUNT') {
                 if ($key == $user) {
             ?>
                   <div class="actions-panel__col actions-panel__loginas shortcut-l" key-action="href"><a href="/logout"><?=__('logout')?> <i></i></a><span class="shortcut">&nbsp;L</span></div>
@@ -81,46 +81,46 @@
 
 
             <?
-              if ($data[$key]['KEY'] == 'RECORD') {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&record_id='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+              if ($value['KEY'] == 'RECORD') {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER'];
               }
-              if ($data[$key]['KEY'] == 'ACCOUNT') {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&account='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+              if ($value['KEY'] == 'ACCOUNT') {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER'];
               }
-              if ($data[$key]['KEY'] == 'JOB') {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?job='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+              if ($value['KEY'] == 'JOB') {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER'];
               }
-              if ($data[$key]['KEY'] == 'DATABASE') {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?database='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+              if ($value['KEY'] == 'DATABASE') {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER'];
               }
-              if (($data[$key]['KEY'] != 'RECORD') && ($data[$key]['KEY'] != 'ACCOUNT') && ($data[$key]['KEY'] != 'JOB') && ($data[$key]['KEY'] != 'DATABASE') ) {
-                $edit_lnk = '/edit/'.$data[$key]['TYPE'].'/?'.strtolower($data[$key]['KEY']).'='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+              if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) {
+                $edit_lnk = '/edit/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER'];
               }
             ?>
               <div class="actions-panel__col actions-panel__edit shortcut-enter" key-action="href"><a href="<?=$edit_lnk?>"><?=__('edit')?> <i></i></a><span class="shortcut enter">&nbsp;&#8629;</span></div>
-              <? if (!empty($data[$key]['STATS'])) { ?>
-                  <div class="actions-panel__col actions-panel__logs shortcut-w" key-action="href"><a href="http://<?=$data[$key]['RESULT']?>/vstats/"  target="_blank"><?=__('open webstats')?> <i></i></a><span class="shortcut">&nbsp;W</span></div>
+              <? if (!empty($value['STATS'])) { ?>
+                  <div class="actions-panel__col actions-panel__logs shortcut-w" key-action="href"><a href="http://<?=$value['RESULT']?>/vstats/"  target="_blank"><?=__('open webstats')?> <i></i></a><span class="shortcut">&nbsp;W</span></div>
               <? } ?>
 
               <?
-                if ($data[$key]['KEY'] == 'RECORD') {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&record_id='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'RECORD') {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_RECORD_CONFIRMATION';
                 }
-                if ($data[$key]['KEY'] == 'ACCOUNT') {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?domain='.$data[$key]['PARENT'].'&account='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'ACCOUNT') {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_USER_CONFIRMATION';
                 }
-                if ($data[$key]['KEY'] == 'JOB') {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?job='.$data[$key]['LINK'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'JOB') {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_CRON_CONFIRMATION';
                 }
-                if ($data[$key]['KEY'] == 'DATABASE') {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?database='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+                if ($value['KEY'] == 'DATABASE') {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_DATABASE_CONFIRMATION';
                 }
-                if (($data[$key]['KEY'] != 'RECORD') && ($data[$key]['KEY'] != 'ACCOUNT') && ($data[$key]['KEY'] != 'JOB') && ($data[$key]['KEY'] != 'DATABASE') ) {
-                  $delete_lnk = '/delete/'.$data[$key]['TYPE'].'/?'.strtolower($data[$key]['KEY']).'='.$data[$key]['RESULT'].'&user='.$data[$key]['USER'];
+                if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) {
+                  $delete_lnk = '/delete/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER'];
                   $cnfrm = 'DELETE_DOMAIN_CONFIRMATION';
                 }
               ?>
@@ -129,7 +129,7 @@
                   <?=__('delete')?> <i class="do_delete"></i>
                   <input type="hidden" name="delete_url" value="<?=$delete_lnk?>&token=<?=$_SESSION['token']?>" />
                   <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=__('Confirmation')?>">
-                    <p class="confirmation"><?=__($cnfrm, $data[$key]['RESULT'])?></p>
+                    <p class="confirmation"><?=__($cnfrm, $value['RESULT'])?></p>
                   </div>
                 </a>
                 <span class="shortcut delete">&nbsp;Del</span>
@@ -142,8 +142,8 @@
         <!-- /.l-unit-toolbar -->
 
         <div class="l-unit__col l-unit__col--left clearfix">
-          <div class="l-unit__date" u_date="<?=strtotime($data[$key]['DATE'])?>">
-            <?=translate_date($data[$key]['DATE'])?>
+          <div class="l-unit__date" u_date="<?=strtotime($value['DATE'])?>">
+            <?=translate_date($value['DATE'])?>
           </div>
           <div class="l-unit__suspended"><?__('suspended')?></div>
           <div class="text-center">
@@ -152,8 +152,8 @@
         </div>
         <!-- /.l-unit__col -->
         <div class="l-unit__col l-unit__col--right">
-          <div class="l-unit__name separate" u_name="<?=$data[$key]['RESULT']?>">
-            <?=$data[$key]['RESULT']?> <span><?=str_replace(',', ', ', $data[$key]['ALIAS'])?></span>
+          <div class="l-unit__name separate" u_name="<?=$value['RESULT']?>">
+            <?=$value['RESULT']?> <span><?=str_replace(',', ', ', $value['ALIAS'])?></span>
           </div>
           <!-- /.l-unit__name -->
           <div class="l-unit__stats">
@@ -161,14 +161,14 @@
               <tr>
                 <td>
                   <div class="l-unit__stat-cols clearfix">
-                    <div class="l-unit__stat-col l-unit__stat-col--left uppercase"><?=$object?></div>
+                    <div class="l-unit__stat-col l-unit__stat-col--left uppercase"><?=__($object)?></div>
                   </div>
                 </td>
                 <td>
                   <div class="l-unit__stat-cols clearfix">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Owner')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=$data[$key]['USER']?></b>
+                      <b><?=$value['USER']?></b>
                     </div>
                   </div>
                 </td>

+ 1 - 1
web/templates/user/list_web.html

@@ -192,7 +192,7 @@ sort-bandwidth="<?=$data[$key]['U_BANDWIDTH']?>" sort-disk="<?=$data[$key]['U_DI
                   <div class="l-unit__stat-cols clearfix">
                     <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Web Template')?>:</div>
                     <div class="l-unit__stat-col l-unit__stat-col--right">
-                      <b><?=__($data[$key]['TPL'])?></b>
+                      <b><?=$data[$key]['TPL']?></b>
                     </div>
                   </div>
                 </td>

+ 6 - 7
web/upload/UploadHandler.php

@@ -1078,7 +1078,6 @@ class UploadHandler
     protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
         $index = null, $content_range = null) {
 
-
         $file = new \stdClass();
         $file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error,
             $index, $content_range);
@@ -1103,7 +1102,7 @@ class UploadHandler
                     );
                 } else {
                     chmod($uploaded_file, 0644);
-                    //move_uploaded_file($uploaded_file, $file_path);
+//                    move_uploaded_file($uploaded_file, $file_path);
                     exec (VESTA_CMD . "v-copy-fs-file ". USERNAME ." {$uploaded_file} {$file_path}", $output, $return_var);
 
                     $error = check_return_code($return_var, $output);
@@ -1111,11 +1110,11 @@ class UploadHandler
                         //var_dump(VESTA_CMD . "v-copy-fs-file {$user} {$fn} {$path}");
                         //var_dump($path);
                         //var_dump($output);
-                        $file->error = 'Error while saving file';
-                        /*var_dump(VESTA_CMD . "v-copy-fs-file ". USERNAME ." {$uploaded_file} {$file_path}");
-                        var_dump($return_var);
-                        var_dump($output);
-                        die();*/
+                        $file->error = 'Error while saving file ';
+//                        var_dump(VESTA_CMD . "v-copy-fs-file ". USERNAME ." {$uploaded_file} {$file_path}");
+//                        var_dump($return_var);
+//                        var_dump($output);
+//                        exit();
                     }
                 }
             } else {