Просмотр исходного кода

Merge branch 'staging/fixes' into main

Kristan Kenney 5 лет назад
Родитель
Сommit
f0eaa05a86

+ 2 - 0
CHANGELOG.md

@@ -16,6 +16,8 @@ All notable changes to this project will be documented in this file.
 - Fixed an issue where malformed JSON output was returned when custom theme files are present. (#967)
 - Fixed an error that would occur when running `v-change-user-php-cli` for the first time if .bash_aliases did not exist. (#960)
 - Corrected an issue where tooltips were not displayed when hovering over the top level menu items.
+- Improved handling of APT repository keys during installation.
+- Reworked the Let's Encrypt renew functionality to skip removed aliases.
  
 ## [1.2.1] - Service Release
 ### Features

+ 22 - 1
bin/v-update-letsencrypt-ssl

@@ -58,6 +58,27 @@ for user in $($HESTIA/bin/v-list-sys-users plain); do
             aliases=$(echo "$aliases" |tr ' ' '\n' |sed "/^$/d")
             aliases=$(echo "$aliases" |egrep -v "^$domain,?$")
             aliases=$(echo "$aliases" |sed -e ':a;N;$!ba;s/\n/,/g')
+
+            # Source domain.conf
+            source <(cat $HESTIA/data/users/$user/web.conf | grep "DOMAIN='$domain'")
+
+            # Split aliases into array
+            IFS=',' read -r -a ALIASES <<< "$ALIAS"
+
+            # Loop through all crt aliases
+            for alias in ${aliases//,/ } ; do
+                # Validate if the alias still exists in web.conf
+                if [[ " ${ALIASES[@]} " =~ " ${alias} " ]]; then
+                    f_aliases+="$alias,"
+                fi
+            done
+
+            # Remove leading comma
+            if [[ ${f_aliases: -1} = ',' ]] ; then f_aliases=${f_aliases::-1}; fi
+
+            # Write the filtered alias list to the default var
+            aliases=$f_aliases
+
             msg=$($BIN/v-add-letsencrypt-domain $user $domain $aliases)
             if [ $? -ne 0 ]; then
                 log_event $E_INVALID "$domain $msg"
@@ -114,4 +135,4 @@ done
 # No Logging
 #log_event "$OK" "$EVENT"
 
-exit
+exit

+ 5 - 10
func/main.sh

@@ -165,19 +165,14 @@ get_user_owner() {
 # Random password generator
 generate_password() {
     matrix=$1
-    lenght=$2
+    length=$2
     if [ -z "$matrix" ]; then
-        matrix=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+        matrix=[:alnum:]
     fi
-    if [ -z "$lenght" ]; then
-        lenght=10
+    if [ -z "$length" ]; then
+        length=10
     fi
-    i=1
-    while [ $i -le $lenght ]; do
-        pass="$pass${matrix:$(($RANDOM%${#matrix})):1}"
-       ((i++))
-    done
-    echo "$pass"
+    cat /dev/urandom | tr -dc $matrix | head -c$length
 }
 
 # Package existence check

+ 10 - 55
install/hst-install-debian.sh

@@ -107,13 +107,7 @@ download_file() {
 
 # Defining password-gen function
 gen_pass() {
-    MATRIX='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
-    LENGTH=16
-    while [ ${n:=1} -le $LENGTH ]; do
-        PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
-        let n+=1
-    done
-    echo "$PASS"
+    cat /dev/urandom | tr -dc [:alnum:] | head -c16
 }
 
 # Defining return code check function
@@ -586,53 +580,39 @@ echo
 # Installing Nginx repo
 if [ "$nginx" = 'yes' ]; then
     echo "[ * ] NGINX"
-    echo "deb [arch=amd64] http://nginx.org/packages/mainline/$VERSION/ $codename nginx" > $apt/nginx.list
-    wget --quiet http://nginx.org/keys/nginx_signing.key -O /tmp/nginx_signing.key
-    APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add /tmp/nginx_signing.key > /dev/null 2>&1
+    echo "deb [arch=amd64] https://nginx.org/packages/mainline/$VERSION/ $codename nginx" > $apt/nginx.list
+    apt-key adv --fetch-keys 'https://nginx.org/keys/nginx_signing.key' > /dev/null 2>&1
 fi
 
 # Installing sury PHP repo
 echo "[ * ] PHP"
 echo "deb https://packages.sury.org/php/ $codename main" > $apt/php.list
-wget --quiet https://packages.sury.org/php/apt.gpg -O /tmp/php_signing.key
-APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add /tmp/php_signing.key > /dev/null 2>&1
+apt-key adv --fetch-keys 'https://packages.sury.org/php/apt.gpg' > /dev/null 2>&1
 
 # Installing sury Apache2 repo
 if [ "$apache" = 'yes' ]; then
     echo "[ * ] Apache2"
     echo "deb https://packages.sury.org/apache2/ $codename main" > $apt/apache2.list
-    wget --quiet https://packages.sury.org/apache2/apt.gpg -O /tmp/apache2_signing.key
-    APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add /tmp/apache2_signing.key > /dev/null 2>&1
+    apt-key adv --fetch-keys 'https://packages.sury.org/apache2/apt.gpg' > /dev/null 2>&1
 fi
 
 # Installing MariaDB repo
 if [ "$mysql" = 'yes' ]; then
     echo "[ * ] MariaDB"
-    echo "deb [arch=amd64] http://ams2.mirrors.digitalocean.com/mariadb/repo/$mariadb_v/$VERSION $codename main" > $apt/mariadb.list
-    if [ "$release" -eq 8 ]; then
-        APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --recv-keys --keyserver keyserver.ubuntu.com CBCB082A1BB943DB > /dev/null 2>&1
-    else
-        APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F1656F24C74CD1D8 > /dev/null 2>&1
-    fi
-fi
-
-# Installing Backport repo for Debian 8
-if [ "$release" -eq 8 ]; then
-    echo "deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
+    echo "deb [arch=amd64] https://mirror.mva-n.net/mariadb/repo/$mariadb_v/$VERSION $codename main" > $apt/mariadb.list
+    apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' > /dev/null 2>&1
 fi
 
 # Installing HestiaCP repo
 echo "[ * ] Hestia Control Panel"
 echo "deb https://$RHOST/ $codename main" > $apt/hestia.list
-APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A189E93654F0B0E5 > /dev/null 2>&1
+apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A189E93654F0B0E5 > /dev/null 2>&1
 
 # Installing PostgreSQL repo
 if [ "$postgresql" = 'yes' ]; then
     echo "[ * ] PostgreSQL"
-    echo "deb http://apt.postgresql.org/pub/repos/apt/ $codename-pgdg main" > $apt/postgresql.list
-    wget --quiet https://www.postgresql.org/media/keys/ACCC4CF8.asc -O /tmp/psql_signing.key
-    APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add /tmp/psql_signing.key > /dev/null 2>&1
-    rm /tmp/psql_signing.key
+    echo "deb https://apt.postgresql.org/pub/repos/apt/ $codename-pgdg main" > $apt/postgresql.list
+    apt-key adv --fetch-keys 'https://www.postgresql.org/media/keys/ACCC4CF8.asc' > /dev/null 2>&1
 fi
 
 # Echo for a new line
@@ -1587,31 +1567,6 @@ if [ "$dovecot" = 'yes' ] && [ "$exim" = 'yes' ] && [ "$mysql" = 'yes' ]; then
     sed -i "s/%des_key%/$rcDesKey/g" /etc/roundcube/config.inc.php
     sed -i "s/localhost/$servername/g" /etc/roundcube/plugins/password/config.inc.php
     mysql roundcube < /usr/share/dbconfig-common/data/roundcube/install/mysql
-
-    if [ "$release" -eq 8 ]; then
-        # RoundCube tinyMCE fix
-        tinymceFixArchiveURL=$HESTIA_INSTALL_DIR/roundcube/roundcube-tinymce.tar.gz
-        tinymceParentFolder=/usr/share/roundcube/program/js
-        tinymceFolder=$tinymceParentFolder/tinymce
-        tinymceBadJS=$tinymceFolder/tiny_mce.js
-        tinymceFixArchive=$tinymceParentFolder/roundcube-tinymce.tar.gz
-        if [[ -L "$tinymceFolder" && -d "$tinymceFolder" ]]; then
-            if [ -f "$tinymceBadJS" ]; then
-                wget $tinymceFixArchiveURL -O $tinymceFixArchive
-                if [[ -f "$tinymceFixArchive" && -s "$tinymceFixArchive" ]]
-                then
-                    rm $tinymceFolder
-                    tar -xzf $tinymceFixArchive -C $tinymceParentFolder
-                    rm $tinymceFixArchive
-                    chown -R root:root $tinymceFolder
-                else
-                    echo -n "File roundcube-tinymce.tar.gz is not downloaded,"
-                    echo "RoundCube tinyMCE fix is not applied"
-                    rm $tinymceFixArchive
-                fi
-            fi
-        fi
-    fi
     
     # Enable Roundcube plugins
     cp -f $HESTIA_INSTALL_DIR/roundcube/plugins/config_newmail_notifier.inc.php /etc/roundcube/plugins/newmail_notifier/config.inc.php

+ 8 - 18
install/hst-install-ubuntu.sh

@@ -89,13 +89,7 @@ download_file() {
 
 # Defining password-gen function
 gen_pass() {
-    MATRIX='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
-    LENGTH=16
-    while [ ${n:=1} -le $LENGTH ]; do
-        PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
-        let n+=1
-    done
-    echo "$PASS"
+    cat /dev/urandom | tr -dc [:alnum:] | head -c16
 }
 
 # Defining return code check function
@@ -561,10 +555,8 @@ echo
 # Installing Nginx repo
 if [ "$nginx" = 'yes' ]; then
     echo "[ * ] NGINX"
-    echo "deb [arch=amd64] http://nginx.org/packages/mainline/$VERSION/ $codename nginx" \
-    > $apt/nginx.list
-    wget --quiet http://nginx.org/keys/nginx_signing.key -O /tmp/nginx_signing.key
-    APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add /tmp/nginx_signing.key > /dev/null 2>&1
+    echo "deb [arch=amd64] https://nginx.org/packages/mainline/$VERSION/ $codename nginx" > $apt/nginx.list
+    apt-key adv --fetch-keys 'https://nginx.org/keys/nginx_signing.key' > /dev/null 2>&1
 fi
 
 # Installing sury PHP repo
@@ -580,22 +572,20 @@ fi
 # Installing MariaDB repo
 if [ "$mysql" = 'yes' ]; then
     echo "[ * ] MariaDB"
-    echo "deb [arch=amd64] http://ams2.mirrors.digitalocean.com/mariadb/repo/$mariadb_v/$VERSION $codename main" > $apt/mariadb.list
-    APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 > /dev/null 2>&1
+    echo "deb [arch=amd64] https://mirror.mva-n.net/mariadb/repo/$mariadb_v/$VERSION $codename main" > $apt/mariadb.list
+    apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' > /dev/null 2>&1
 fi
 
 # Installing HestiaCP repo
 echo "[ * ] Hestia Control Panel"
 echo "deb https://$RHOST/ $codename main" > $apt/hestia.list
-APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A189E93654F0B0E5 > /dev/null 2>&1
+apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A189E93654F0B0E5 > /dev/null 2>&1
 
 # Installing PostgreSQL repo
 if [ "$postgresql" = 'yes' ]; then
     echo "[ * ] PostgreSQL"
-    echo "deb http://apt.postgresql.org/pub/repos/apt/ $codename-pgdg main" > $apt/postgresql.list
-    wget --quiet https://www.postgresql.org/media/keys/ACCC4CF8.asc -O /tmp/psql_signing.key
-    APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add /tmp/psql_signing.key > /dev/null 2>&1
-    rm /tmp/psql_signing.key
+    echo "deb https://apt.postgresql.org/pub/repos/apt/ $codename-pgdg main" > $apt/postgresql.list
+    apt-key adv --fetch-keys 'https://www.postgresql.org/media/keys/ACCC4CF8.asc' > /dev/null 2>&1
 fi
 
 # Echo for a new line

+ 32 - 0
install/upgrade/versions/latest.sh

@@ -24,3 +24,35 @@ if [ "$FTP_SYSTEM" = "vsftpd" ]; then
     cp -f $HESTIA_INSTALL_DIR/vsftpd/vsftpd.conf /etc/
     chmod 644 /etc/vsftpd.conf
 fi
+
+
+# Rework apt repositories
+apt="/etc/apt/sources.list.d"
+echo "[ * ] Hardening APT repositories..."
+if [ -f "$apt/nginx.list" ]; then
+    if grep -q "http://nginx.org/packages/mainline/" $apt/nginx.list; then
+        echo "  ----- NGINX"
+        sed -i "s/http\:\/\/nginx.org/https\:\/\/nginx.org/g" $apt/nginx.list
+    fi
+fi
+
+if [ -f "$apt/php.list" ]; then
+    if grep -q "http://packages.sury.org/" $apt/php.list; then
+        echo "  ----- PHP"
+        sed -i "s/http\:\/\/packages.sury.org/https\:\/\/packages.sury.org/g" $apt/php.list
+    fi
+fi
+
+if [ -f "$apt/mariadb.list" ]; then
+    if grep -q "http://ams2.mirrors.digitalocean.com" $apt/mariadb.list; then
+        echo "  ----- MariaDB"
+        sed -i "s/http\:\/\/ams2.mirrors.digitalocean.com/https\:\/\/mirror.mva-n.net/g" $apt/mariadb.list
+    fi
+fi
+
+if [ -f "$apt/postgresql.list" ]; then
+    if grep -q "http://apt.postgresql.org" $apt/postgresql.list; then
+        echo "  ----- PostgreSQL"
+        sed -i "s/http\:\/\/apt.postgresql.org/https\:\/\/apt.postgresql.org/g" $apt/postgresql.list
+    fi
+fi

+ 1 - 7
test/test.bats

@@ -6,13 +6,7 @@ load 'test_helper/bats-file/load'
 
 
 function random() {
-    MATRIX='0123456789'
-    LENGTH=$1
-    while [ ${n:=1} -le $LENGTH ]; do
-        rand="$rand${MATRIX:$(($RANDOM%${#MATRIX})):1}"
-        let n+=1
-    done
-    echo "$rand"
+    cat /dev/urandom | tr -dc [:digit:] | head -c$1
 }
 
 function setup() {

+ 1 - 7
test/test_actions.sh

@@ -7,13 +7,7 @@ V_TEST="$HESTIA/test"
 
 # Define functions
 random() {
-    MATRIX='0123456789'
-    LENGTH=$1
-    while [ ${n:=1} -le $LENGTH ]; do
-        rand="$rand${MATRIX:$(($RANDOM%${#MATRIX})):1}"
-        let n+=1
-    done
-    echo "$rand"
+    cat /dev/urandom | tr -dc [:digit:] | head -c$1
 }
 
 echo_result() {

+ 1 - 0
web/css/src/styles.css

@@ -639,6 +639,7 @@ a {
 .l-center {
   margin: 0 auto;
   max-width: 1020px;
+  min-width: 1020px;
 }
 
 .l-logo {

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
web/css/styles.min.css


+ 20 - 20
web/inc/i18n/ar.php

@@ -858,42 +858,42 @@ $LANG['ar'] = array(
     '2FA Reset Code:' => 'رمز استرداد الحساب:',
     
     //list user 
-    'Name' => 'Name',
+    'Name' => 'اسم',
     //Add / Edit user
-    'Contact' => 'Name',
+    'Contact' => 'اسم',
     'GREETINGS_GORDON' => "Hello, %s,\n",
     
     //List Mail Accounts
-    'Forwarding' => 'Forwarding',
+    'Forwarding' => 'الشحن',
 
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'مضيف',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 نسخ احتياطية',
+    '%s backups' => '%s نسخ احتياطية',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 قاعدة جدار الحماية',
+    '%s firewall rules' => '%s قواعد جدار الحماية',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 عنوان IP المحظور',
+    '%s banned IP addresses' => '%s عناوين IP المحظورة', 
     //list DNS
-    'Records_DNS' => 'Records',
+    'Records_DNS' => 'السجلات',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
-    'backend server' =>  'Backend Server',
-    'traffic' => 'Traffic',
-    'disk' => 'Disk',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'تمت جدولة تنزيل ملف النسخ الاحتياطي عن بعد.',
+    'backend server' =>  'خادم الخلفية',
+    'traffic' => 'حركة المرور',
+    'disk' => 'القرص',
 
     // Notifications
-    'Notifications' => 'Notifications',
+    'Notifications' => 'إشعارات',
 
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => 'مساعدة',
+    'Documentation' => 'توثيق',
+    'Support' => 'الدعم',
+    'Submit an issue report' => 'إرسال تقرير بالمشكلة',
 );

+ 19 - 19
web/inc/i18n/az.php

@@ -821,43 +821,43 @@ $LANG['az'] = array(
     'Please scan the code below in your 2FA application:' => 'İki faktorlu identifikasiyanı qurmağı başa çatdırmaq üçün aşağıdakı qr kodu yoxlayın <br /> bir identifikasiya tətbiqindən istifadə edərəkp (kimi <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a>):',
     '2FA Reset Code:' => 'Hesab bərpa kodu:',
     
-        //list user 
-    'Name' => 'Name',
+    //list user 
+    'Name' => 'Adı',
     //Add / Edit user
-    'Contact' => 'Name',
+    'Contact' => 'Adı',
     'GREETINGS_GORDON' => "Hello, %s,\n",
     
     //List Mail Accounts
-    'Forwarding' => 'Forwarding',
+    'Forwarding' => 'İstiqamətləndirmə',
 
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'Ev sahibi',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 ehtiyat nüsxələri',
+    '%s backups' => '%s ehtiyat nüsxələri',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 firewall qaydası',
+    '%s firewall rules' => '%s firewall qaydaları',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 qadağan olunmuş IP ünvanı',
+    '%s banned IP addresses' => '%s qadağan edilmiş IP ünvanları', 
     //list DNS
-    'Records_DNS' => 'Records',
+    'Records_DNS' => 'Qeydlər',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Uzaqdan yedek faylının yüklənməsi planlaşdırıldı.',
     'backend server' =>  'Backend Server',    
-    'traffic' => 'Traffic',
+    'traffic' => 'Trafik',
     'disk' => 'Disk',
 
     // Notifications
-    'Notifications' => 'Notifications',
+    'Notifications' => 'Bildirişlər',
 
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => 'Kömək edin',
+    'Documentation' => 'Sənədlər',
+    'Support' => 'Dəstək',
+    'Submit an issue report' => 'Bir problem hesabatı təqdim edin',
 );

+ 19 - 19
web/inc/i18n/bg.php

@@ -847,10 +847,10 @@ $LANG['bg'] = array(
     'Please scan the code below in your 2FA application:' => 'за да завършите настройката на двуфакторната автентификация, сканирайте QR кода по-долу <br /> с помощта на приложение за удостоверяване (като <a href = "https://play.google.com/store/apps/details?id=com"). google.android.apps.authenticator2 "> Google Удостоверител </a>):',
     '2FA Reset Code:' => 'Код за възстановяване на акаунта:',
     
-        //list user 
-    'Name' => 'Name',
+    //list user 
+    'Name' => 'име',
     //Add / Edit user
-    'Contact' => 'Name',
+    'Contact' => 'име',
     'GREETINGS_GORDON' => "Hello, %s,\n",
     
     //List Mail Accounts
@@ -859,32 +859,32 @@ $LANG['bg'] = array(
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'домакин',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 архивиране',
+    '%s backups' => '%s архивиране',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 правило за защитна стена',
+    '%s firewall rules' => '%s правила за защитна стена',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 забранен IP адрес',
+    '%s banned IP addresses' => '%s забранени IP адреси', 
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
-    'backend server' =>  'Backend Server',
-    'traffic' => 'Traffic',
-    'disk' => 'Disk',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Изтеглянето на отдалечен архивен файл е насрочено.',
+    'backend server' =>  'Бекенд сървър',
+    'traffic' => 'Трафик',
+    'disk' => 'диск',
 
     // Notifications
-    'Notifications' => 'Notifications',
+    'Notifications' => 'Известия',
     
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => 'Помогне',
+    'Documentation' => 'документация',
+    'Support' => 'поддържа',
+    'Submit an issue report' => 'Изпратете доклад за проблем',
 );
 

+ 18 - 45
web/inc/i18n/bs.php

@@ -850,69 +850,42 @@ $LANG['bs'] = array(
     '2FA Reset Code:' => 'Kôd za povrat računa:',
     
     //list user 
-    'Name' => 'Name',
-    //Add / Edit user
-    'Contact' => 'Name',
-    'GREETINGS_GORDON' => "Hello, %s,\n",
-    
-    //List Mail Accounts
-    'Forwarding' => 'Forwarding',
-
-    //Cron Jobs
-    'Cron Job' => 'Cron Job',
-    //Edit server 
-    'Host' => 'Host',
-  
-      //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
-    //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
-    //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
-    //list DNS
-    'Records_DNS' => 'Records',
-    //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
-        //list user 
-    'Name' => 'Name',
+    'Name' => 'Ime',
     //Add / Edit user
-    'Contact' => 'Name',
+    'Contact' => 'Ime',
     'GREETINGS_GORDON' => "Hello, %s,\n",
     
     //List Mail Accounts
-    'Forwarding' => 'Forwarding',
+    'Forwarding' => 'Prosleđivanje',
 
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'Domaćin',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 sigurnosne kopije',
+    '%s backups' => '%s sigurnosne kopije',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 pravilo vatrozida',
+    '%s firewall rules' => '%s pravila zaštitnog zida',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 zabranjena IP adresa',
+    '%s banned IP addresses' => '%s zabranjene IP adrese', 
     //list DNS
-    'Records_DNS' => 'Records',
+    'Records_DNS' => 'Zapisi',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.';
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Zakazano je preuzimanje udaljene datoteke sigurnosne kopije.',
     'backend server' =>  'Backend Server',
-    'traffic' => 'Traffic',
+    'traffic' => 'Saobraćaj',
     'disk' => 'Disk',
   
     // Notifications
-    'Notifications' => 'Notifications',
+    'Notifications' => 'Obavijesti',
     
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => 'Pomoć',
+    'Documentation' => 'Dokumentacija',
+    'Support' => 'Podrška',
+    'Submit an issue report' => 'Pošaljite prijavu problema',
 );

+ 6 - 6
web/inc/i18n/cn.php

@@ -862,7 +862,7 @@ $LANG['cn'] = array(
     'Please scan the code below in your 2FA application:' => '要完成两因素身份验证的设置,请扫描以下QR码<br />使用身份验证应用程序,例如 <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google身份验证器</a>):',
     '2FA Reset Code:' => '帐户恢复代码:',
     
-        //list user 
+    //list user 
     'Name' => '名称',
     //Add / Edit user
     'Contact' => '联系',
@@ -895,11 +895,11 @@ $LANG['cn'] = array(
     'disk' => '磁盘',
 
     // Notifications
-    'Notifications' => 'Notifications',
+    'Notifications' => '通知事项',
     
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => '救命',
+    'Documentation' => '文献资料',
+    'Support' => '支持',
+    'Submit an issue report' => '提交问题报告',
 );

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

@@ -849,7 +849,8 @@ $LANG['cz'] = array(
     'Enable 2FA' => 'Enable two-factor authentication',
     'Please scan the code below in your 2FA application:' => 'To finish setting up two-factor authentication, scan the QR code below<br />using an authentication app (such as <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a>):',
     '2FA Reset Code:' => 'Account Recovery Code:',
-        //list user 
+    
+    //list user 
     'Name' => 'Name',
     //Add / Edit user
     'Contact' => 'Name',
@@ -875,7 +876,7 @@ $LANG['cz'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',

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

@@ -876,7 +876,7 @@ $LANG['da'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

+ 18 - 18
web/inc/i18n/de.php

@@ -847,42 +847,42 @@ $LANG['de'] = array(
     '2FA Reset Code' => 'Kontowiederherstellungscode',
     'Invalid or missing token' => 'Ungültiger oder fehlender Kontowiederherstellungscode',  
     
-        //list user 
+    //list user 
     'Name' => 'Name',
     //Add / Edit user
     'Contact' => 'Name',
-    'GREETINGS_GORDON' => "Hello, %s,\n",
+    'GREETINGS_GORDON' => "Hallo, %s,\n",
     
     //List Mail Accounts
-    'Forwarding' => 'Forwarding',
+    'Forwarding' => 'Weiterleitung',
 
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'Gastgeber',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 Backups',
+    '%s backups' => '%s Backups',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 Firewall-Regel',
+    '%s firewall rules' => '%s Firewall-Regeln',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 gesperrte IP-Adresse',
+    '%s banned IP addresses' => '%s gesperrte IP-Adressen', 
     //list DNS
-    'Records_DNS' => 'Records',
+    'Records_DNS' => 'Aufzeichnungen',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Der Download der Remote-Sicherungsdatei wurde geplant.',
     
-    'backend server' =>  'Backend Server',
+    'backend server' =>  'Backend-Server',
 
     // Notifications
-    'Notifications' => 'Notifications',
+    'Notifications' => 'Benachrichtigungen',
     
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => 'Hilfe',
+    'Documentation' => 'Dokumentation',
+    'Support' => 'Unterstützung',
+    'Submit an issue report' => 'Senden Sie einen Problembericht',
 );

+ 22 - 23
web/inc/i18n/el.php

@@ -851,44 +851,43 @@ $LANG['el'] = array(
     'Please scan the code below in your 2FA application:' => 'Για να ολοκληρώσετε τη ρύθμιση ελέγχου ταυτότητας δύο παραγόντων, σαρώστε τον κωδικό QR παρακάτω<br />χρησιμοποιώντας μια εφαρμογή ελέγχου ταυτότητας (όπως <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Επαληθευτής Google</a>):',
     '2FA Reset Code:' => 'Κωδικός ανάκτησης λογαριασμού:',
     
-    
-            //list user 
-    'Name' => 'Name',
+    //list user 
+    'Name' => 'Ονομα',
     //Add / Edit user
-    'Contact' => 'Name',
-    'GREETINGS_GORDON' => "Hello, %s,\n",
+    'Contact' => 'Ονομα',
+    'GREETINGS_GORDON' => "Χαίρετε, %s,\n",
     
     //List Mail Accounts
-    'Forwarding' => 'Forwarding',
+    'Forwarding' => 'Προώθηση',
 
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'Πλήθος',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 αντίγραφα ασφαλείας',
+    '%s backups' => '%s αντίγραφα ασφαλείας',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 κανόνας τείχους προστασίας',
+    '%s firewall rules' => '%s κανόνες τείχους προστασίας',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 απαγορευμένη διεύθυνση IP',
+    '%s banned IP addresses' => '%s απαγορευμένες διευθύνσεις IP', 
     //list DNS
-    'Records_DNS' => 'Records',
+    'Records_DNS' => 'Εγγραφές',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
-    'backend server' =>  'Backend Server',
-    'traffic' => 'Traffic',
-    'disk' => 'Disk',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Έχει προγραμματιστεί η λήψη του απομακρυσμένου εφεδρικού αρχείου.',
+    'backend server' =>  'Διακομιστής Backend',
+    'traffic' => 'κυκλοφορία',
+    'disk' => 'Δίσκος',
 
     // Notifications
-        'Notifications' => 'Notifications',
+    'Notifications' => 'Ειδοποιήσεις',
     
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => 'Βοήθεια',
+    'Documentation' => 'Τεκμηρίωση',
+    'Support' => 'Υποστήριξη',
+    'Submit an issue report' => 'Υποβολή αναφοράς προβλήματος',
 );

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

@@ -877,7 +877,7 @@ $LANG['en'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'traffic' => 'Traffic',
     'disk' => 'Disk',
 

+ 1 - 1
web/inc/i18n/fa.php

@@ -845,7 +845,7 @@ $LANG['fa'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -880,7 +880,7 @@ $LANG['fi'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
 
     // Notifications

+ 20 - 20
web/inc/i18n/fr.php

@@ -852,44 +852,44 @@ $LANG['fr'] = array(
     '2FA Reset Code' => 'Code de récupération de compte',
     'Invalid or missing token' => 'Jeton non valide ou manquant',
     
-        //list user 
-    'Name' => 'Name',
+    //list user 
+    'Name' => 'Nom',
     //Add / Edit user
-    'Contact' => 'Name',
-    'GREETINGS_GORDON' => "Hello, %s,\n",
+    'Contact' => 'Nom',
+    'GREETINGS_GORDON' => "Bonjour, %s,\n",
     
     //List Mail Accounts
-    'Forwarding' => 'Forwarding',
+    'Forwarding' => 'Expéditeur',
 
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'Hôte',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 sauvegardes',
+    '%s backups' => '%s sauvegardes',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 règle de pare-feu',
+    '%s firewall rules' => '%s règles de pare-feu',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 adresse IP interdite',
+    '%s banned IP addresses' => '%s adresses IP interdites', 
     //list DNS
-    'Records_DNS' => 'Records',
+    'Records_DNS' => 'Registres',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
-    'backend server' =>  'Backend Server',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Le téléchargement du fichier de sauvegarde à distance a été planifié.',
+    'backend server' =>  'Serveur backend',
 
-    'traffic' => 'Traffic',
-    'disk' => 'Disk',
+    'traffic' => 'Circulation',
+    'disk' => 'Disque',
 
     // Notifications
     'Notifications' => 'Notifications',
     
     // Help
-    'Help' => 'Help',
+    'Help' => 'Aidez-moi',
     'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Support' => 'Soutien',
+    'Submit an issue report' => 'Soumettre un rapport de problème',
 );

+ 1 - 1
web/inc/i18n/hr.php

@@ -878,7 +878,7 @@ $LANG['hr'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -879,7 +879,7 @@ $LANG['hu'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -876,7 +876,7 @@ $LANG['id'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

+ 20 - 20
web/inc/i18n/it.php

@@ -849,42 +849,42 @@ $LANG['it'] = array(
     'Invalid or missing token' => 'Codice non valido o mancante',
     
     //list user 
-    'Name' => 'Name',
+    'Name' => 'Nome',
     //Add / Edit user
-    'Contact' => 'Name',
-    'GREETINGS_GORDON' => "Hello, %s,\n",
+    'Contact' => 'Nome',
+    'GREETINGS_GORDON' => "Ciao, %s,\n",
     
     //List Mail Accounts
-    'Forwarding' => 'Forwarding',
+    'Forwarding' => 'Inoltro',
 
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'Ospite',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 backup',
+    '%s backups' => '%s backup',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 regola del firewall',
+    '%s firewall rules' => '%s regole del firewall',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 indirizzo IP vietato',
+    '%s banned IP addresses' => '%s indirizzi IP vietati', 
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
-    'backend server' =>  'Backend Server',
-    'traffic' => 'Traffic',
-    'disk' => 'Disk',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Il download del file di backup remoto è stato programmato.',
+    'backend server' =>  'Server back-end',
+    'traffic' => 'Traffico',
+    'disk' => 'Disco',
 
     // Notifications
-    'Notifications' => 'Notifications',
+    'Notifications' => 'Notifiche',
     
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => 'Aiuto',
+    'Documentation' => 'Documentazione',
+    'Support' => 'Supporto',
+    'Submit an issue report' => 'Invia una segnalazione di problemi',
 );

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

@@ -875,7 +875,7 @@ $LANG['ja'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -873,7 +873,7 @@ $LANG['ka'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

+ 1 - 1
web/inc/i18n/ko.php

@@ -875,7 +875,7 @@ $LANG['ko'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -876,7 +876,7 @@ $LANG['no'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -878,7 +878,7 @@ $LANG['pl'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -871,7 +871,7 @@ $LANG['pt-BR'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -874,7 +874,7 @@ $LANG['pt'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -875,7 +875,7 @@ $LANG['ro'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

+ 21 - 50
web/inc/i18n/ru.php

@@ -851,73 +851,44 @@ $LANG['ru'] = array(
 
     'Force SSL/HTTPS' => 'Включить автоматическое перенаправление HTTP-HTTPS',
     'Enable SSL HSTS' => 'Включить HTTP Strict Transport Security (HSTS) <a href="https://ru.wikipedia.org/wiki/HTTP_Strict_Transport_Security" target="_blank"><i class="fas fa-question-circle"></i></a>',
-    
-        //list user 
-    'Name' => 'Name',
-    //Add / Edit user
-    'Contact' => 'Name',
-    'GREETINGS_GORDON' => "Hello, %s,\n",
-    
-    //List Mail Accounts
-    'Forwarding' => 'Forwarding',
 
-    //Cron Jobs
-    'Cron Job' => 'Cron Job',
-    //Edit server 
-    'Host' => 'Host',
-  
-      //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
-    //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
-    //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
-    //list DNS
-    'Records_DNS' => 'Records',
-    //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
-    'backend server' =>  'Backend Server',
-    
     //list user 
-    'Name' => 'Name',
+    'Name' => 'название',
     //Add / Edit user
-    'Contact' => 'Name',
-    'GREETINGS_GORDON' => "Hello, %s,\n",
+    'Contact' => 'название',
+    'GREETINGS_GORDON' => "Привет, %s,\n",
     
     //List Mail Accounts
-    'Forwarding' => 'Forwarding',
+    'Forwarding' => 'пересылка',
 
     //Cron Jobs
     'Cron Job' => 'Cron Job',
     //Edit server 
-    'Host' => 'Host',
+    'Host' => 'хозяин',
   
       //list Backups
-    '1 backups' => '1 backups',
-    '%s backups' => '%s backups',
+    '1 backups' => '1 резервное копирование',
+    '%s backups' => '%s резервное копирование',
     //list Firewall Rules
-    '1 firewall rule' => '1 firewall rule',
-    '%s firewall rules' => '%s firewall rules',
+    '1 firewall rule' => '1 правило брандмауэра',
+    '%s firewall rules' => '%s правила брандмауэра',
     //list ip
-    '1 banned IP address' => '1 banned IP address',
-    '%s banned IP addresses' => '%s banned IP addresses', 
+    '1 banned IP address' => '1 забаненный IP-адрес',
+    '%s banned IP addresses' => '%s запрещенные IP-адреса', 
     //list DNS
-    'Records_DNS' => 'Records',
+    'Records_DNS' => 'документация',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
-    'backend server' =>  'Backend Server',
-    'traffic' => 'Traffic',
-    'disk' => 'Disk',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Загрузка файла удаленной резервной копии запланирована.',
+    'backend server' =>  'Бэкэнд-сервер',
+    'traffic' => 'Трафик',
+    'disk' => 'диск',
 
     // Notifications
-    'Notifications' => 'Notifications',
+    'Notifications' => 'Уведомления',
     
     // Help
-    'Help' => 'Help',
-    'Documentation' => 'Documentation',
-    'Support' => 'Support',
-    'Submit an issue report' => 'Submit an issue report',
+    'Help' => 'Помогите',
+    'Documentation' => 'Документация',
+    'Support' => 'Служба поддержки',
+    'Submit an issue report' => 'Отправить отчет о проблеме',
 );

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

@@ -874,7 +874,7 @@ $LANG['se'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

+ 1 - 1
web/inc/i18n/sr.php

@@ -875,7 +875,7 @@ $LANG['sr'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

+ 1 - 1
web/inc/i18n/th.php

@@ -878,7 +878,7 @@ $LANG['th'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -876,7 +876,7 @@ $LANG['tr'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -876,7 +876,7 @@ $LANG['tw'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

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

@@ -848,7 +848,7 @@ $LANG['ua'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
 
     // Notifications

+ 1 - 1
web/inc/i18n/ur.php

@@ -855,7 +855,7 @@ $LANG['ur'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

+ 1 - 1
web/inc/i18n/vi.php

@@ -876,7 +876,7 @@ $LANG['vi'] = array(
     //list DNS
     'Records_DNS' => 'Records',
     //Dowload Backup
-    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download for Backup has been scheduled.',
+    'BACKUP_DOWNLOAD_SCHEDULED' => 'Download of remote backup file has been scheduled.',
     'backend server' =>  'Backend Server',
     'traffic' => 'Traffic',
     'disk' => 'Disk',

Некоторые файлы не были показаны из-за большого количества измененных файлов