diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 0e0dbe84461e0db9186fff8c4afcf59bfd0bbd11..95be196417fd2a0e47aa9c9b9decdfd5b08af8e1 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1169,6 +1169,9 @@ class installer_base {
 		    $postconf_commands = array_merge($postconf_commands, array_filter(explode("\n", $content)));
 		}
 
+		// Remove comment lines, these would give fatal errors when passed to postconf.
+		$postconf_commands = array_filter($postconf_commands, function($line) { return preg_match('/^[^#]/', $line); });
+
 		//* These postconf commands will be executed on installation only
 		if($this->is_update == false) {
 			$postconf_commands = array_merge($postconf_commands, array(
diff --git a/interface/web/admin/form/firewall.tform.php b/interface/web/admin/form/firewall.tform.php
index e136b345be40b4cc6e48d0c16d1f98d1ef48a104..7c5a29b016023a26a5a88fd4492300a96ac654ef 100644
--- a/interface/web/admin/form/firewall.tform.php
+++ b/interface/web/admin/form/firewall.tform.php
@@ -76,7 +76,7 @@ $form["tabs"]['firewall'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'validators' => array (  0 => array ( 'type' => 'REGEX',
-					'regex' => '/^[\s0-9\,\:]{0,255}$/',
+					'regex' => '/^\d{1,5}(?::\d{1,5})?(?:,\d{1,5}(?::\d{1,5})?)*$/',
 					'errmsg'=> 'tcp_ports_error_regex'),
 			),
 			'default' => '20,21,22,25,53,80,110,143,443,465,587,993,995,3306,8080,8081,10000',
@@ -88,8 +88,8 @@ $form["tabs"]['firewall'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'validators' => array (  0 => array ( 'type' => 'REGEX',
-					'regex' => '/^[\s0-9\,\:]{0,255}$/',
-					'errmsg'=> 'tcp_ports_error_regex'),
+					'regex' => '/^\d{1,5}(?::\d{1,5})?(?:,\d{1,5}(?::\d{1,5})?)*$/',
+					'errmsg'=> 'udp_ports_error_regex'),
 			),
 			'default' => '53,3306',
 			'value'  => '',
diff --git a/interface/web/admin/lib/lang/ar_firewall.lng b/interface/web/admin/lib/lang/ar_firewall.lng
index e626345d3c1ee3bbce74ffd70c36fcc7ff3297c2..4b1efe7540a4d997bb0a814a68f437082f768122 100644
--- a/interface/web/admin/lib/lang/ar_firewall.lng
+++ b/interface/web/admin/lib/lang/ar_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Separated by comma';
 $wb['udp_port_help_txt'] = 'Separated by comma';
 $wb['active_txt'] = 'Active';
 $wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, : and ,.';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, : and ,.';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in TCP port definition. Allowed characters are numbers, colons (:) and commas.';
+$wb['udp_ports_error_regex'] = 'Character not allowed in UDP port definition. Allowed characters are numbers, colons (:) and commas.';
 ?>
diff --git a/interface/web/admin/lib/lang/br_firewall.lng b/interface/web/admin/lib/lang/br_firewall.lng
index da0936b007ed9c79766690839374599ecd208e37..3fd7f77d3e4f0c651d7dffaf10231649ccab6e0f 100644
--- a/interface/web/admin/lib/lang/br_firewall.lng
+++ b/interface/web/admin/lib/lang/br_firewall.lng
@@ -1,7 +1,7 @@
 <?php
 $wb['server_id_txt'] = 'Servidor';
-$wb['tcp_port_txt'] = 'Portas tcp abertas';
-$wb['udp_port_txt'] = 'Portas udp abertas';
+$wb['tcp_port_txt'] = 'Portas TCP abertas';
+$wb['udp_port_txt'] = 'Portas UDP abertas';
 $wb['tcp_port_help_txt'] = 'Separado por vírgula';
 $wb['udp_port_help_txt'] = 'Separado por vírgula';
 $wb['active_txt'] = 'Ativo';
diff --git a/interface/web/admin/lib/lang/br_firewall_list.lng b/interface/web/admin/lib/lang/br_firewall_list.lng
index 94ef3aab7d61e48ec2d428211bb97357bb00072a..d90ee33d4e5b969bb8fbb1cf0f8c0bebf6755bf8 100644
--- a/interface/web/admin/lib/lang/br_firewall_list.lng
+++ b/interface/web/admin/lib/lang/br_firewall_list.lng
@@ -2,7 +2,7 @@
 $wb['list_head_txt'] = 'Firewall';
 $wb['active_txt'] = 'Ativo';
 $wb['server_id_txt'] = 'Servidor';
-$wb['tcp_port_txt'] = 'Portas tcp abertas';
-$wb['udp_port_txt'] = 'Portas udp abertas';
+$wb['tcp_port_txt'] = 'Portas TCP abertas';
+$wb['udp_port_txt'] = 'Portas UDP abertas';
 $wb['add_new_record_txt'] = 'Adicionar nova regra';
 ?>
diff --git a/interface/web/admin/lib/lang/ca_firewall.lng b/interface/web/admin/lib/lang/ca_firewall.lng
index 06a51c80cfded45c5d62e1a3618ec061033ae025..b81149e1c063da036681d55103a3430bb445fadd 100644
--- a/interface/web/admin/lib/lang/ca_firewall.lng
+++ b/interface/web/admin/lib/lang/ca_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Separated by comma';
 $wb['udp_port_help_txt'] = 'Separated by comma';
 $wb['active_txt'] = 'Active';
 $wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in TCP port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
+$wb['udp_ports_error_regex'] = 'Character not allowed in UDP port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
 ?>
diff --git a/interface/web/admin/lib/lang/dk_firewall.lng b/interface/web/admin/lib/lang/dk_firewall.lng
index 96608b2830ad4e755d195023c45083f03f658b7d..8137f0560a66a098ecceb5bb307a34144a0ab31e 100644
--- a/interface/web/admin/lib/lang/dk_firewall.lng
+++ b/interface/web/admin/lib/lang/dk_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Adskilt af komma';
 $wb['udp_port_help_txt'] = 'Adskilt af komma';
 $wb['active_txt'] = 'Aktiv';
 $wb['firewall_error_unique'] = 'Der er allerede en firewall post for denne server.';
-$wb['tcp_ports_error_regex'] = 'Tegn ikke tilladt i tcp port definition. Tilladt tegn er tal, \\":\\" og \\",\\".';
-$wb['udp_ports_error_regex'] = 'Tegn ikke tilladt i udp port definition. Tilladt tegn er tal, \\":\\" og \\",\\".';
+$wb['tcp_ports_error_regex'] = 'Tegn ikke tilladt i TCP port definition. Tilladt tegn er tal, \\":\\" og \\",\\".';
+$wb['udp_ports_error_regex'] = 'Tegn ikke tilladt i UDP port definition. Tilladt tegn er tal, \\":\\" og \\",\\".';
 ?>
diff --git a/interface/web/admin/lib/lang/en_firewall.lng b/interface/web/admin/lib/lang/en_firewall.lng
index 94529325a14b88a8f7d59233a885e70866f16ccd..4b1efe7540a4d997bb0a814a68f437082f768122 100644
--- a/interface/web/admin/lib/lang/en_firewall.lng
+++ b/interface/web/admin/lib/lang/en_firewall.lng
@@ -6,7 +6,6 @@ $wb['tcp_port_help_txt'] = 'Separated by comma';
 $wb['udp_port_help_txt'] = 'Separated by comma';
 $wb['active_txt'] = 'Active';
 $wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
-$wb['active_txt'] = 'Active';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, ":" and ",".';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, ":" and ",".';
-?>
\ No newline at end of file
+$wb['tcp_ports_error_regex'] = 'Character not allowed in TCP port definition. Allowed characters are numbers, colons (:) and commas.';
+$wb['udp_ports_error_regex'] = 'Character not allowed in UDP port definition. Allowed characters are numbers, colons (:) and commas.';
+?>
diff --git a/interface/web/admin/lib/lang/hu_firewall.lng b/interface/web/admin/lib/lang/hu_firewall.lng
index 461c16d324eda9154ddf9ef35fe07ca27f7ecf8e..1346d37657e86c288f3713f34795a623e7a0230e 100644
--- a/interface/web/admin/lib/lang/hu_firewall.lng
+++ b/interface/web/admin/lib/lang/hu_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Vesszővel elválasztva';
 $wb['udp_port_help_txt'] = 'Vesszővel elválasztva';
 $wb['active_txt'] = 'Aktív';
 $wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, : and ,.';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, : and ,.';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in TCP port definition. Allowed characters are numbers, colons (:) and commas.';
+$wb['udp_ports_error_regex'] = 'Character not allowed in UDP port definition. Allowed characters are numbers, colons (:) and commas.';
 ?>
diff --git a/interface/web/admin/lib/lang/id_firewall.lng b/interface/web/admin/lib/lang/id_firewall.lng
index 34e13422593ac323a2383909417eececf6b899d8..f335c3f94f806f4151d32786f3eb098036825e74 100644
--- a/interface/web/admin/lib/lang/id_firewall.lng
+++ b/interface/web/admin/lib/lang/id_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Dipisahkan oleh koma';
 $wb['udp_port_help_txt'] = 'Dipisahkan oleh koma';
 $wb['active_txt'] = 'Aktif';
 $wb['firewall_error_unique'] = 'Telah ada record firewall untuk server ini.';
-$wb['tcp_ports_error_regex'] = 'Karakter di definisi port tcp tidak diperbolehkan. Karakter yang diizinkan adalah angka, : dan ,.';
-$wb['udp_ports_error_regex'] = 'Karakter di definisi port udp tidak diperbolehkan. Karakter yang diizinkan adalah angka, : dan ,.';
+$wb['tcp_ports_error_regex'] = 'Karakter di definisi port TCP tidak diperbolehkan. Karakter yang diizinkan adalah angka, : dan ,.';
+$wb['udp_ports_error_regex'] = 'Karakter di definisi port UDP tidak diperbolehkan. Karakter yang diizinkan adalah angka, : dan ,.';
 ?>
diff --git a/interface/web/admin/lib/lang/it_firewall.lng b/interface/web/admin/lib/lang/it_firewall.lng
index 95a4336dae81c06b19c7dfb7d869311085780c71..d523ea79f7bf2a66efa47f9d093efff87a56a49f 100644
--- a/interface/web/admin/lib/lang/it_firewall.lng
+++ b/interface/web/admin/lib/lang/it_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Separate dalla virgola';
 $wb['udp_port_help_txt'] = 'Separate dalle virgola';
 $wb['active_txt'] = 'Attivo';
 $wb['firewall_error_unique'] = 'Esiste già  un record firewall per questo server.';
-$wb['tcp_ports_error_regex'] = 'Carattere non ammesso nella definizione di tcp port. Caratteri ammessi sono numeri, : e ,.';
-$wb['udp_ports_error_regex'] = 'Carattere non ammesso nella definizione di udp port. Caratteri ammessi sono numeri, : and ,.';
+$wb['tcp_ports_error_regex'] = 'Carattere non ammesso nella definizione di TCP port. Caratteri ammessi sono numeri, : e ,.';
+$wb['udp_ports_error_regex'] = 'Carattere non ammesso nella definizione di UDP port. Caratteri ammessi sono numeri, : and ,.';
 ?>
diff --git a/interface/web/admin/lib/lang/ro_firewall.lng b/interface/web/admin/lib/lang/ro_firewall.lng
index e626345d3c1ee3bbce74ffd70c36fcc7ff3297c2..4b1efe7540a4d997bb0a814a68f437082f768122 100644
--- a/interface/web/admin/lib/lang/ro_firewall.lng
+++ b/interface/web/admin/lib/lang/ro_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Separated by comma';
 $wb['udp_port_help_txt'] = 'Separated by comma';
 $wb['active_txt'] = 'Active';
 $wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, : and ,.';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, : and ,.';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in TCP port definition. Allowed characters are numbers, colons (:) and commas.';
+$wb['udp_ports_error_regex'] = 'Character not allowed in UDP port definition. Allowed characters are numbers, colons (:) and commas.';
 ?>
diff --git a/interface/web/admin/lib/lang/ru_firewall.lng b/interface/web/admin/lib/lang/ru_firewall.lng
index 70beb30437001e94beb6109e8c518019a5d6059f..179ad739bad695d6b349d19177273cc8f2c2c75f 100644
--- a/interface/web/admin/lib/lang/ru_firewall.lng
+++ b/interface/web/admin/lib/lang/ru_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Перечислить порты TCP через з
 $wb['udp_port_help_txt'] = 'Перечислить порты UDP через запятую';
 $wb['active_txt'] = 'Активно';
 $wb['firewall_error_unique'] = 'Уже есть такая запись брандмауэра для этого сервера.';
-$wb['tcp_ports_error_regex'] = 'Недопустимый символ в указании tcp порта. Корректные сиволы - цифры, \\":\\" и \\",\\"';
+$wb['tcp_ports_error_regex'] = 'Недопустимый символ в указании TCP порта. Корректные сиволы - цифры, \\":\\" и \\",\\"';
 $wb['udp_ports_error_regex'] = 'Некорректный символ в указании UDP порта. Допустимые сиволы - цифры, \\":\\" и \\",\\"';
 ?>
diff --git a/interface/web/admin/lib/lang/se_firewall.lng b/interface/web/admin/lib/lang/se_firewall.lng
index 123a648300bc9d158e2ca319a1819619f4f96c52..fdbfa5ee14b33f90408c356e6d6868b6e3d8d030 100644
--- a/interface/web/admin/lib/lang/se_firewall.lng
+++ b/interface/web/admin/lib/lang/se_firewall.lng
@@ -6,6 +6,6 @@ $wb['tcp_port_help_txt'] = 'Kommaseparerade';
 $wb['udp_port_help_txt'] = 'Kommaseparerade';
 $wb['active_txt'] = 'Aktiv';
 $wb['firewall_error_unique'] = 'Det finns redan ett brandväggsinlägg för den här servern';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, : and ,.';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, : and ,.';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in TCP port definition. Allowed characters are numbers, colons (:) and commas.';
+$wb['udp_ports_error_regex'] = 'Character not allowed in UDP port definition. Allowed characters are numbers, colons (:) and commas.';
 ?>
diff --git a/interface/web/admin/templates/system_config_misc_edit.htm b/interface/web/admin/templates/system_config_misc_edit.htm
index 356d2e1b252e6803a3dd94c6f32f9f3c51e912f0..ea8386c224608c07fbe199e295da2c944dc1dba1 100644
--- a/interface/web/admin/templates/system_config_misc_edit.htm
+++ b/interface/web/admin/templates/system_config_misc_edit.htm
@@ -144,13 +144,15 @@
   </div>
 </tmpl_if>
 <tmpl_if name="error">
-  <div id="errorMsg">
-    <h3>
-      <tmpl_var name="error_txt">
-    </h3>
-    <ol>
-      <tmpl_var name="error">
-    </ol>
+  <div class='alert alert-danger clear'>
+    <div class='alert-label'>
+      <strong><tmpl_var name="error_txt"></strong>
+      </div>
+    <div class='alert-content'>
+      <ul style="list-style-type:none">
+        <tmpl_var name="error">
+      </ul>
+    </div>
   </div>
 </tmpl_if>
 <input type="hidden" name="id" id="id" value="{tmpl_var name='id'}">
diff --git a/interface/web/client/templates/client_message.htm b/interface/web/client/templates/client_message.htm
index b546181fa71a5a77edee9ae936cafb80e4e31756..d934d5f6d2f82f3524433f64562238c98cbda219 100644
--- a/interface/web/client/templates/client_message.htm
+++ b/interface/web/client/templates/client_message.htm
@@ -5,7 +5,16 @@
                 <div id="OKMsg"><p><tmpl_var name="okmsg"></p></div>
             </tmpl_if>
             <tmpl_if name="error">
-                <div id="errorMsg"><h3><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
+							<div class='alert alert-danger clear'>
+								<div class='alert-label'>
+									<strong><tmpl_var name="error_txt"></strong>
+									</div>
+								<div class='alert-content'>
+									<ul style="list-style-type:none">
+										<tmpl_var name="error">
+									</ul>
+								</div>
+							</div>
             </tmpl_if>
             <div class="form-group">
                 <label for="sender" class="col-sm-3 control-label">{tmpl_var name='sender_txt'}</label>
@@ -24,7 +33,7 @@
                 <div class="col-sm-9"><textarea class="form-control" name="message" id="message" rows="10">{tmpl_var name='message'}</textarea></div>
 				<div class="col-sm-3 col-text"></div><div class="col-sm-9 col-text">{tmpl_var name='variables_txt'}: {tmpl_var name="message_variables"} <br />{tmpl_var name='variables_description_txt'}</div>
             </div>
-        
+
         <div class="clear"><div class="right">
             <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_send_txt'}" data-submit-form="pageForm" data-form-action="client/client_message.php">{tmpl_var name='btn_send_txt'}</button>
             <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="client/client_list.php">{tmpl_var name='btn_cancel_txt'}</button>
diff --git a/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng
index 92168811936d835f41d660899cfea011015efa1f..1e69b5777b620c0514fb58c067d15908f7843ce3 100644
--- a/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng
+++ b/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng
@@ -1,5 +1,5 @@
 <?php
-$wb['mailquota_txt'] = 'Mailbox-Speicherplatz';
+$wb['mailquota_txt'] = 'E-Mail-Speicherplatz';
 $wb['email_txt'] = 'E-Mail-Adresse';
 $wb['name_txt'] = 'Name';
 $wb['used_txt'] = 'Verwendet';
diff --git a/interface/web/dns/dns_a_edit.php b/interface/web/dns/dns_a_edit.php
index 595ebcc92c4c0bfad88970f31f1b9be830be81fd..ae5be448c5b6bbbb042cc839918be9b057a6dfeb 100644
--- a/interface/web/dns/dns_a_edit.php
+++ b/interface/web/dns/dns_a_edit.php
@@ -48,7 +48,7 @@ class page_action extends dns_page_action {
 	protected function checkDuplicate() {
 		global $app;
 		//* Check for duplicates where IP and hostname are the same
-		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'A' AND name = ? AND zone = ? and data = ? and id != ?) OR (type = 'CNAME' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->dataRecord["data"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
+		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'A' AND name = ? AND zone = ? and data = ? and id != ?) OR (type = 'CNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'ALIAS' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->dataRecord["data"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
 		if($tmp['number'] > 0) return true;
 		return false;
 	}
diff --git a/interface/web/dns/dns_aaaa_edit.php b/interface/web/dns/dns_aaaa_edit.php
index 780fbcc80efca2386b2e1a9ca76776b4f592c284..07bddeb0504dfa55df17dca1a6a23a513d750f84 100644
--- a/interface/web/dns/dns_aaaa_edit.php
+++ b/interface/web/dns/dns_aaaa_edit.php
@@ -48,7 +48,7 @@ class page_action extends dns_page_action {
 	protected function checkDuplicate() {
 		global $app;
 		//* Check for duplicates where IP and hostname are the same
-		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'AAAA' AND name = ? AND zone = ? and data = ? and id != ?) OR (type = 'CNAME' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->dataRecord["data"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
+		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'AAAA' AND name = ? AND zone = ? and data = ? and id != ?) OR (type = 'CNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'ALIAS' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->dataRecord["data"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
 		if($tmp['number'] > 0) return true;
 		return false;
 	}
diff --git a/interface/web/dns/dns_alias_edit.php b/interface/web/dns/dns_alias_edit.php
index 68f2743fe16dfc02dd7a7d5bd4a8aa0878bf074d..20bbc38d8646db029cc0ab6993ee89340eac85a8 100644
--- a/interface/web/dns/dns_alias_edit.php
+++ b/interface/web/dns/dns_alias_edit.php
@@ -44,7 +44,13 @@ require_once './dns_edit_base.php';
 
 // Loading classes
 class page_action extends dns_page_action {
-
+  protected function checkDuplicate() {
+		global $app;
+		//* Check for duplicates where IP and hostname are the same
+		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'A' AND name = ? AND zone = ? and id != ?) OR (type = 'AAAA' AND name = ? AND zone = ? and id != ?) OR (type = 'CNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'DNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'ALIAS' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
+		if($tmp['number'] > 0) return true;
+		return false;
+	}
 }
 
 $page = new page_action;
diff --git a/interface/web/dns/dns_cname_edit.php b/interface/web/dns/dns_cname_edit.php
index 4013b72ea804ace405b42f31f42df350517fd07f..38bb8140c47f06b5b144a57b980ead18768c63ed 100644
--- a/interface/web/dns/dns_cname_edit.php
+++ b/interface/web/dns/dns_cname_edit.php
@@ -48,7 +48,7 @@ class page_action extends dns_page_action {
 	protected function checkDuplicate() {
 		global $app;
 		//* Check for duplicates where IP and hostname are the same
-		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'A' AND name = ? AND zone = ? and id != ?) OR (type = 'AAAA' AND name = ? AND zone = ? and id != ?) OR (type = 'CNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'DNAME' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
+		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'A' AND name = ? AND zone = ? and id != ?) OR (type = 'AAAA' AND name = ? AND zone = ? and id != ?) OR (type = 'CNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'DNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'ALIAS' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
 		if($tmp['number'] > 0) return true;
 		return false;
 	}
diff --git a/interface/web/dns/dns_dname_edit.php b/interface/web/dns/dns_dname_edit.php
index b4cd8ffaeafeb56aec1f2ca2b7350f3a6e11a53d..a1e1cb6c073cc9313e2c6d1b9952c5221a5ba486 100644
--- a/interface/web/dns/dns_dname_edit.php
+++ b/interface/web/dns/dns_dname_edit.php
@@ -48,7 +48,7 @@ class page_action extends dns_page_action {
 	protected function checkDuplicate() {
 		global $app;
 		//* Check for duplicates where IP and hostname are the same
-		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'CNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'DNAME' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
+		$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE (type = 'CNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'DNAME' AND name = ? AND zone = ? and id != ?) OR (type = 'ALIAS' AND name = ? AND zone = ? and id != ?)", $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id, $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
 		if($tmp['number'] > 0) return true;
 		return false;
 	}
diff --git a/interface/web/dns/lib/lang/ar_dns_a.lng b/interface/web/dns/lib/lang/ar_dns_a.lng
index 577bb47d5b7211129dedb2eea6e0072fd3843187..36e5b50eb3836c822c58565386d260e5b581476d 100644
--- a/interface/web/dns/lib/lang/ar_dns_a.lng
+++ b/interface/web/dns/lib/lang/ar_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ar_dns_aaaa.lng b/interface/web/dns/lib/lang/ar_dns_aaaa.lng
index da7eeb8a0f5f34a45e23a7b92b363cef03cc0f39..41b0d2202127712b17c8517b1f2a5a8f64e6bea9 100644
--- a/interface/web/dns/lib/lang/ar_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/ar_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'You do not have the permission to add a record to this DN
 $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ar_dns_alias.lng b/interface/web/dns/lib/lang/ar_dns_alias.lng
index bd4be9f219e66a4e78a408cc6cc5bd06f06c28e7..bf56c86fbe61a4713599eefd0cc739b153c78389 100644
--- a/interface/web/dns/lib/lang/ar_dns_alias.lng
+++ b/interface/web/dns/lib/lang/ar_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ar_dns_cname.lng b/interface/web/dns/lib/lang/ar_dns_cname.lng
index 382397abf7194ea1dcc92ad7fa1162856e65e197..bf56c86fbe61a4713599eefd0cc739b153c78389 100644
--- a/interface/web/dns/lib/lang/ar_dns_cname.lng
+++ b/interface/web/dns/lib/lang/ar_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/bg_dns_a.lng b/interface/web/dns/lib/lang/bg_dns_a.lng
index fbf4ac377722367f1894bf9f1b8d0a372d7eaa47..a6fb74d118351aca801c88fe7a954fa2f0b2fd84 100644
--- a/interface/web/dns/lib/lang/bg_dns_a.lng
+++ b/interface/web/dns/lib/lang/bg_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Полето за хост име е празно.';
 $wb['name_error_regex'] = 'Избраното име на хост е в грешен формат.';
 $wb['data_error_empty'] = 'Полето за IP адреса е празно';
 $wb['ip_error_wrong'] = 'Формата на IP адреса е грешен';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Минималния TTL е 60 секунди.';
 ?>
diff --git a/interface/web/dns/lib/lang/bg_dns_aaaa.lng b/interface/web/dns/lib/lang/bg_dns_aaaa.lng
index 5858552d104bc35f4f84ff860dc08f384da7f259..2bf4d2c1de064a5eff65a10b4571bb89f2ad7e6e 100644
--- a/interface/web/dns/lib/lang/bg_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/bg_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Вие нямате право да добавяте за
 $wb['name_error_empty'] = 'Полето с имейла е празно.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 $wb['ttl_range_error'] = 'Минималния TTL е 60 секунди.';
 ?>
diff --git a/interface/web/dns/lib/lang/bg_dns_alias.lng b/interface/web/dns/lib/lang/bg_dns_alias.lng
index 33fb63ffab6643ddf00f6f2ba5ee69ed219937b2..7733eb75bf2b91243a3ace1c59632d20893c1d5a 100644
--- a/interface/web/dns/lib/lang/bg_dns_alias.lng
+++ b/interface/web/dns/lib/lang/bg_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Полето с имейла е празно.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Минималния TTL е 60 секунди.';
 ?>
diff --git a/interface/web/dns/lib/lang/bg_dns_cname.lng b/interface/web/dns/lib/lang/bg_dns_cname.lng
index 66f41ba34ce0aab831644bfec3c88f116cf10b20..c1b8d155e65a143a74704974c7606d8dd02624aa 100644
--- a/interface/web/dns/lib/lang/bg_dns_cname.lng
+++ b/interface/web/dns/lib/lang/bg_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Полето с имейла е празно.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Минималния TTL е 60 секунди.';
 ?>
diff --git a/interface/web/dns/lib/lang/br_dns_a.lng b/interface/web/dns/lib/lang/br_dns_a.lng
index deb66ec97a1ebcb9b0bb6466670d659a35169493..130480ee8f253fafa12e0adaabfbf9e3b147bb41 100644
--- a/interface/web/dns/lib/lang/br_dns_a.lng
+++ b/interface/web/dns/lib/lang/br_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'O nome do host está em branco.';
 $wb['name_error_regex'] = 'O nome do host possui formato inválido (somente nomes canônicos são suportados).';
 $wb['data_error_empty'] = 'Endereço IP está em branco.';
 $wb['ip_error_wrong'] = 'Endereço IP inválido.';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'O TTL mínimo são 60 segundos.';
 ?>
diff --git a/interface/web/dns/lib/lang/br_dns_aaaa.lng b/interface/web/dns/lib/lang/br_dns_aaaa.lng
index b4274c7b51abe56bf7740c396af7ba3bf3dcead5..74f6ca957eb158e86798498a4ac976b23656deb8 100644
--- a/interface/web/dns/lib/lang/br_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/br_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Você não tem permissão para adicionar registros dns ne
 $wb['name_error_empty'] = 'O nome do host está em branco.';
 $wb['name_error_regex'] = 'O nome do host possui formato inválido (somente nomes canônicos são suportados).';
 $wb['data_error_empty'] = 'Endereço IPv6 está em branco.';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'O endereço IPv6 possui formato inválido.';
 $wb['ttl_range_error'] = 'O TTL mínimo são 60 segundos.';
 ?>
diff --git a/interface/web/dns/lib/lang/br_dns_alias.lng b/interface/web/dns/lib/lang/br_dns_alias.lng
index 46821ee1ae5aeb548a3bc926b0d86d5d82245348..c9ce9498ca52bb5624211018963ed4d3fcf88720 100644
--- a/interface/web/dns/lib/lang/br_dns_alias.lng
+++ b/interface/web/dns/lib/lang/br_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'O nome do host está em branco.';
 $wb['name_error_regex'] = 'O nome do host possui formato inválido (somente nomes canônicos são suportados).';
 $wb['data_error_empty'] = 'O alvo do host está em branco.';
 $wb['data_error_regex'] = 'O formato do alvo do host é inválido.';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'O TTL mínimo são 60 segundos.';
 ?>
diff --git a/interface/web/dns/lib/lang/br_dns_cname.lng b/interface/web/dns/lib/lang/br_dns_cname.lng
index 4a8f98cb02a02737d423369c4a4ebfc0b4e44fd8..5f52aa14fb01486060a00fec675ae270b1644973 100644
--- a/interface/web/dns/lib/lang/br_dns_cname.lng
+++ b/interface/web/dns/lib/lang/br_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'O nome do host está em branco.';
 $wb['name_error_regex'] = 'O nome do host possui formato inválido (somente nomes canônicos são suportados).';
 $wb['data_error_empty'] = 'O alvo do host está em branco.';
 $wb['data_error_regex'] = 'O alvo do host possui formato inválido.';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'O TTL mínimo são 60 segundos.';
 ?>
diff --git a/interface/web/dns/lib/lang/ca_dns_a.lng b/interface/web/dns/lib/lang/ca_dns_a.lng
index f486bb6d49bc3f0c4cfe047cce5d561c498ccf6f..339efc73fe5eee8d40cbe454797b4cfba97eaf33 100644
--- a/interface/web/dns/lib/lang/ca_dns_a.lng
+++ b/interface/web/dns/lib/lang/ca_dns_a.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Vous n\'avez pas la permission d\'ajouter un enregistreme
 $wb['name_error_empty'] = 'Le nom d\'hôte est vide.';
 $wb['name_error_regex'] = 'Le format du nom d\'hôte est invalide.';
 $wb['data_error_empty'] = 'L\'adresse IP est vide.';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 ?>
diff --git a/interface/web/dns/lib/lang/ca_dns_aaaa.lng b/interface/web/dns/lib/lang/ca_dns_aaaa.lng
index 0aed36e11962f86e2f6a90ac59dac2085793b07b..778ea7cb0e181a63c41892a9028db0027e8a6573 100644
--- a/interface/web/dns/lib/lang/ca_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/ca_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Vous n\'avez pas la permission d\'ajouter un enregistreme
 $wb['name_error_empty'] = 'Le nom d\'hôte est vide.';
 $wb['name_error_regex'] = 'Le format du nom d\'hôte est invalide.';
 $wb['data_error_empty'] = 'L\'adresse IP est vide.';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 ?>
diff --git a/interface/web/dns/lib/lang/ca_dns_alias.lng b/interface/web/dns/lib/lang/ca_dns_alias.lng
index 4071d430b9ac5a400ba1286fa49af15a4057b021..be2d96ff2352cfbc4987fd7450c6c26769ea4a66 100644
--- a/interface/web/dns/lib/lang/ca_dns_alias.lng
+++ b/interface/web/dns/lib/lang/ca_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Le nom d\'hôte est vide.';
 $wb['name_error_regex'] = 'Le format du nom d\'hôte est invalide.';
 $wb['data_error_empty'] = 'Le nom d\'hôte cible est vide.';
 $wb['data_error_regex'] = 'Le format du nom d\'hôte est invalide.';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ca_dns_cname.lng b/interface/web/dns/lib/lang/ca_dns_cname.lng
index 480f1ddd4da17fcf03ea94d820070e64d985b7df..3dedd525c781334959a997262962f8e193dbe74a 100644
--- a/interface/web/dns/lib/lang/ca_dns_cname.lng
+++ b/interface/web/dns/lib/lang/ca_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Le nom d\'hôte est vide.';
 $wb['name_error_regex'] = 'Le format du nom d\'hôte est invalide.';
 $wb['data_error_empty'] = 'Le nom d\'hôte cible est vide.';
 $wb['data_error_regex'] = 'Le format du nom d\'hôte cible invalide.';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/cz_dns_a.lng b/interface/web/dns/lib/lang/cz_dns_a.lng
index 1aa476275c9384c47e0a5a86ab4d325ddecc5c9c..47af668d8af0eb763e89b0387b6e67eefa3505c3 100644
--- a/interface/web/dns/lib/lang/cz_dns_a.lng
+++ b/interface/web/dns/lib/lang/cz_dns_a.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Nemáte oprávnění přidat záznam do této zóny.';
 $wb['name_error_empty'] = 'Název hostitele je prázdný.';
 $wb['name_error_regex'] = 'Název hostitele má chybný formát.';
 $wb['data_error_empty'] = 'IP adresa je prázdná';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL doba je 60 sekund.';
 $wb['ip_error_wrong'] = 'IP - formát adresy neplatný';
 ?>
diff --git a/interface/web/dns/lib/lang/cz_dns_aaaa.lng b/interface/web/dns/lib/lang/cz_dns_aaaa.lng
index 371d3f591b2560fd58a4285a5f322112e9046235..00f7d49745eddf68da0b726bec16f23720085da3 100644
--- a/interface/web/dns/lib/lang/cz_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/cz_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Nemáte oprávnění přidat záznam do této zóny.';
 $wb['name_error_empty'] = 'Název hostitele je prázdný.';
 $wb['name_error_regex'] = 'Název hostitele má chybný formát.';
 $wb['data_error_empty'] = 'IP adresa je prázdná';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL doba je 60 sekund.';
 $wb['ip_error_wrong'] = 'IP - formát adresy neplatný';
 ?>
diff --git a/interface/web/dns/lib/lang/cz_dns_alias.lng b/interface/web/dns/lib/lang/cz_dns_alias.lng
index 9c64d41797686affa958eb853636828bdb05daf3..7eaeba6c9526a1ce14f4dcec721be6e7c49a44e2 100644
--- a/interface/web/dns/lib/lang/cz_dns_alias.lng
+++ b/interface/web/dns/lib/lang/cz_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Název hostitele je prázdný.';
 $wb['name_error_regex'] = 'Název hostitele má chybný formát.';
 $wb['data_error_empty'] = 'Cílový název hostitele je prázdný';
 $wb['data_error_regex'] = 'Cílový název hostitele má chybný formát';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL doba je 60 sekund.';
 ?>
diff --git a/interface/web/dns/lib/lang/cz_dns_cname.lng b/interface/web/dns/lib/lang/cz_dns_cname.lng
index 7003f707c4c48209b64bdec8f24a4a4f024b925d..7eaeba6c9526a1ce14f4dcec721be6e7c49a44e2 100644
--- a/interface/web/dns/lib/lang/cz_dns_cname.lng
+++ b/interface/web/dns/lib/lang/cz_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Název hostitele je prázdný.';
 $wb['name_error_regex'] = 'Název hostitele má chybný formát.';
 $wb['data_error_empty'] = 'Cílový název hostitele je prázdný';
 $wb['data_error_regex'] = 'Cílový název hostitele má chybný formát';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL doba je 60 sekund.';
 ?>
diff --git a/interface/web/dns/lib/lang/de_dns_a.lng b/interface/web/dns/lib/lang/de_dns_a.lng
index c60afbbc1fa2ab89bc1ae74c87f3cccf985d1a95..6a3a5fd8e6e8349e89a10c29ebb558c972104930 100644
--- a/interface/web/dns/lib/lang/de_dns_a.lng
+++ b/interface/web/dns/lib/lang/de_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Der Hostname ist leer.';
 $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.';
 $wb['data_error_empty'] = 'IPv4 Adresse ist leer';
 $wb['ip_error_wrong'] = 'IPv4 Adressen Format ist ungültig';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/de_dns_aaaa.lng b/interface/web/dns/lib/lang/de_dns_aaaa.lng
index 0251a9dc2666583bc62c1afe006814590ce122d0..518820a8fce0021124b811bbfe322007957eaeb4 100644
--- a/interface/web/dns/lib/lang/de_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/de_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Sie haben nicht die Berechtigung, einen Eintrag zu dieser
 $wb['name_error_empty'] = 'Der Hostname ist leer.';
 $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.';
 $wb['data_error_empty'] = 'IPv6 Adresse ist leer';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IPv6 Adressen Format ist ungültig';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/de_dns_alias.lng b/interface/web/dns/lib/lang/de_dns_alias.lng
index 60eec60b601cf81673e80a24a72804081c620be6..3fdac9d68d0ffb834306f9fafad8858d64d280a2 100644
--- a/interface/web/dns/lib/lang/de_dns_alias.lng
+++ b/interface/web/dns/lib/lang/de_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Der Hostname ist leer.';
 $wb['name_error_regex'] = 'Der Hostname hat ein falsches Format.';
 $wb['data_error_empty'] = 'Ziel Hostname ist leer';
 $wb['data_error_regex'] = 'Ziel Hostname Format ist ungültig';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/de_dns_cname.lng b/interface/web/dns/lib/lang/de_dns_cname.lng
index 6aed8fb825f193955df11998902fc490c18e482b..325c1ce3d168270b1e057d987060817b8e658c9f 100644
--- a/interface/web/dns/lib/lang/de_dns_cname.lng
+++ b/interface/web/dns/lib/lang/de_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Der Hostname ist leer.';
 $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.';
 $wb['data_error_empty'] = 'Ziel Hostname ist leer';
 $wb['data_error_regex'] = 'Ziel Hostname Format ist ungültig';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/dk_dns_a.lng b/interface/web/dns/lib/lang/dk_dns_a.lng
index 6ce7aa50728a6afdd33a471d59bc8fdb4244b81a..f89aca476518b2e39cb070b31829671457c44f64 100644
--- a/interface/web/dns/lib/lang/dk_dns_a.lng
+++ b/interface/web/dns/lib/lang/dk_dns_a.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Du har ikke tilladelse til at tilføje en post til denne
 $wb['name_error_empty'] = 'Værtsnavnet er tomt.';
 $wb['name_error_regex'] = 'Værtsnavnet har et forkert format.';
 $wb['data_error_empty'] = 'IP-Adressen er tom';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL tid er 60 sekunder.';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 ?>
diff --git a/interface/web/dns/lib/lang/dk_dns_aaaa.lng b/interface/web/dns/lib/lang/dk_dns_aaaa.lng
index c8d4dac13a02e6ed9ab30071507ce5b8abb9cc57..d6e00bc9d0cb36dc76b9a59e3c727387fbabac70 100644
--- a/interface/web/dns/lib/lang/dk_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/dk_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Du har ikke tilladelse til at tilføje en post til denne
 $wb['name_error_empty'] = 'Værtsnavnet er tomt.';
 $wb['name_error_regex'] = 'Værtsnavnet har et forkert format.';
 $wb['data_error_empty'] = 'IP-Adressen er tom';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL tid er 60 sekunder.';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 ?>
diff --git a/interface/web/dns/lib/lang/dk_dns_alias.lng b/interface/web/dns/lib/lang/dk_dns_alias.lng
index ca21de01eca2b985c7338731344606d786df5abb..a17fab0e2b87343571a54b8cc5ec754f624d8220 100644
--- a/interface/web/dns/lib/lang/dk_dns_alias.lng
+++ b/interface/web/dns/lib/lang/dk_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Værtsnavnet er tomt.';
 $wb['name_error_regex'] = 'Værtsnavnet har forkert format.';
 $wb['data_error_empty'] = 'Mål-værtsnavn er tom';
 $wb['data_error_regex'] = 'Mål-værtsnavn format er ugyldig';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL tid er 60 sekunder.';
 ?>
diff --git a/interface/web/dns/lib/lang/dk_dns_cname.lng b/interface/web/dns/lib/lang/dk_dns_cname.lng
index 1815eab77ac1640054ccad30e66b9da6f5c224c8..e9c4e7658d0b4d72e395ed37e8aa3aac57ed8800 100644
--- a/interface/web/dns/lib/lang/dk_dns_cname.lng
+++ b/interface/web/dns/lib/lang/dk_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Værtsnavnet er tomt.';
 $wb['name_error_regex'] = 'Værtsnavnet har et forkert format.';
 $wb['data_error_empty'] = 'Mål-værtsnavn er tom';
 $wb['data_error_regex'] = 'Mål-værtsnavn format er ugyldigt';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL tid er 60 sekunder.';
 ?>
diff --git a/interface/web/dns/lib/lang/el_dns_a.lng b/interface/web/dns/lib/lang/el_dns_a.lng
index 96667ba7a2db608290023f16f28df8af60cf5e86..fbe429ee25fec29e30b01bc34123366b196e4a5e 100644
--- a/interface/web/dns/lib/lang/el_dns_a.lng
+++ b/interface/web/dns/lib/lang/el_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Το hostname δεν έχει οριστεί.';
 $wb['name_error_regex'] = 'Το hostname δεν έχει σωστή μορφοποίηση.';
 $wb['data_error_empty'] = 'Η διεύθυνση IP είναι κενή';
 $wb['ip_error_wrong'] = 'Διεύθυνση IP με μη έγκυρη μορφοποίηση';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/el_dns_aaaa.lng b/interface/web/dns/lib/lang/el_dns_aaaa.lng
index 5c66fee51dd90b5d47a862e921b0c54329a06b07..64830c58c0d1040f88e6e4807926163279cc2f48 100644
--- a/interface/web/dns/lib/lang/el_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/el_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Δεν έχετε δικαίωμα να προσθέσε
 $wb['name_error_empty'] = 'Το hostname δεν έχει οριστεί.';
 $wb['name_error_regex'] = 'Το hostname δεν έχει σωστή μορφοποίηση.';
 $wb['data_error_empty'] = 'Διεύθυνση IP κενή';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'Διεύθυνση IP με μη έγκυρη μορφοποίηση';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/el_dns_alias.lng b/interface/web/dns/lib/lang/el_dns_alias.lng
index 2e05e475da4aede8e81f17e0bf51dd7028c88725..f45fae103795f91279e7fff017e2021e718a1dc3 100644
--- a/interface/web/dns/lib/lang/el_dns_alias.lng
+++ b/interface/web/dns/lib/lang/el_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Το hostname δεν έχει οριστεί';
 $wb['name_error_regex'] = 'Το hostname έχει λάθος μορφοποίηση';
 $wb['data_error_empty'] = 'Το hostname Προορισμός δεν έχει οριστεί';
 $wb['data_error_regex'] = 'Το hostname Προορισμός έχει λάθος μορφοποίηση';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/el_dns_cname.lng b/interface/web/dns/lib/lang/el_dns_cname.lng
index ba6404887a7030aa7bebbbdcf504c4ed52240879..77d74b43362d7ce4634a86f65463139f6d1dc62d 100644
--- a/interface/web/dns/lib/lang/el_dns_cname.lng
+++ b/interface/web/dns/lib/lang/el_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Το hostname δεν έχει οριστεί.';
 $wb['name_error_regex'] = 'Το hostname δεν έχει σωστή μορφοποίηση.';
 $wb['data_error_empty'] = 'Το hostname Προορισμός δεν έχει οριστεί';
 $wb['data_error_regex'] = 'Hostname Προορισμός με μη έγκυρη μορφοποίηση';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/en_dns_a.lng b/interface/web/dns/lib/lang/en_dns_a.lng
index 577bb47d5b7211129dedb2eea6e0072fd3843187..36e5b50eb3836c822c58565386d260e5b581476d 100644
--- a/interface/web/dns/lib/lang/en_dns_a.lng
+++ b/interface/web/dns/lib/lang/en_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/en_dns_aaaa.lng b/interface/web/dns/lib/lang/en_dns_aaaa.lng
index da7eeb8a0f5f34a45e23a7b92b363cef03cc0f39..41b0d2202127712b17c8517b1f2a5a8f64e6bea9 100644
--- a/interface/web/dns/lib/lang/en_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/en_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'You do not have the permission to add a record to this DN
 $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/en_dns_alias.lng b/interface/web/dns/lib/lang/en_dns_alias.lng
index 4a0f13b33f8b4c3e397bbf8f1c5ce98a0fe9b966..64a5082d6435e5fdb2b1f1bc53834d74144ba9a6 100644
--- a/interface/web/dns/lib/lang/en_dns_alias.lng
+++ b/interface/web/dns/lib/lang/en_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_cname.lng b/interface/web/dns/lib/lang/en_dns_cname.lng
index 382397abf7194ea1dcc92ad7fa1162856e65e197..bf56c86fbe61a4713599eefd0cc739b153c78389 100644
--- a/interface/web/dns/lib/lang/en_dns_cname.lng
+++ b/interface/web/dns/lib/lang/en_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/es_dns_a.lng b/interface/web/dns/lib/lang/es_dns_a.lng
index 6d3c01ebb4816657d08bd61ee4ad01dd934710f5..d2238f0d53250b77652d0d36ec91e86829d01bfe 100644
--- a/interface/web/dns/lib/lang/es_dns_a.lng
+++ b/interface/web/dns/lib/lang/es_dns_a.lng
@@ -1,6 +1,6 @@
 <?php
 $wb['active_txt'] = 'Habilitado';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['data_error_empty'] = 'Dirección IP vacía';
 $wb['data_txt'] = 'Dirección IP';
 $wb['ip_error_wrong'] = 'Formato inválido de dirección IP';
diff --git a/interface/web/dns/lib/lang/es_dns_aaaa.lng b/interface/web/dns/lib/lang/es_dns_aaaa.lng
index 85ff1ba5a74c87800ef139e2fe1d06ab1b37b150..613c02dec754e2026772cdac4e5dbdeded4bb361 100644
--- a/interface/web/dns/lib/lang/es_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/es_dns_aaaa.lng
@@ -1,7 +1,7 @@
 <?php
 $wb['active_txt'] = 'Habilitado';
 $wb['data_error_empty'] = 'Dirección IP vacía';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['data_txt'] = 'Dirección IPv6';
 $wb['ip_error_wrong'] = 'La dirección IP tiene un formato incorrecto';
 $wb['limit_dns_record_txt'] = 'Ha alcanzado el número máx. de registros DNS permitidos para su cuenta.';
diff --git a/interface/web/dns/lib/lang/es_dns_alias.lng b/interface/web/dns/lib/lang/es_dns_alias.lng
index df558bd14b9fa2e9b2ee50c19015cbbae2920af7..f8cf3900dda00aeb50e722898d3689baf4515c58 100644
--- a/interface/web/dns/lib/lang/es_dns_alias.lng
+++ b/interface/web/dns/lib/lang/es_dns_alias.lng
@@ -9,6 +9,7 @@ $wb['name_error_regex'] = 'El nombre del host tiene un formato incorrecto.';
 $wb['name_txt'] = 'Nombre del host';
 $wb['no_zone_perm'] = 'Usted no tiene permisos para agregar un registro a esta zona DNS.';
 $wb['server_id_txt'] = 'Servidor';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'El tiempo mín. de TTL es 60 segundos.';
 $wb['ttl_txt'] = 'TTL';
 $wb['type_txt'] = 'tipo';
diff --git a/interface/web/dns/lib/lang/es_dns_cname.lng b/interface/web/dns/lib/lang/es_dns_cname.lng
index ffc748f106c96346062fe9748823bc9fe2517ce4..d21713b625c7118933c27fe3cfb5e4c5280ee254 100644
--- a/interface/web/dns/lib/lang/es_dns_cname.lng
+++ b/interface/web/dns/lib/lang/es_dns_cname.lng
@@ -1,6 +1,6 @@
 <?php
 $wb['active_txt'] = 'Habilitado';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['data_error_empty'] = 'El nombre del host de destino está vacío.';
 $wb['data_error_regex'] = 'El nombre del host de destino tiene un formato incorrecto.';
 $wb['data_txt'] = 'Nombre del host de destino';
diff --git a/interface/web/dns/lib/lang/fi_dns_a.lng b/interface/web/dns/lib/lang/fi_dns_a.lng
index 701b5281afa45ca7e206ff30c910aef1a5bcf870..4a5cec203828622f8140b67362425597d1b70565 100644
--- a/interface/web/dns/lib/lang/fi_dns_a.lng
+++ b/interface/web/dns/lib/lang/fi_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Verkkotunnus on tyhjä.';
 $wb['name_error_regex'] = 'Verkkotunnus on vääränlainen.';
 $wb['data_error_empty'] = 'IP-osoite tyhjä';
 $wb['ip_error_wrong'] = 'IP-osoite on vääränlainen';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/fi_dns_aaaa.lng b/interface/web/dns/lib/lang/fi_dns_aaaa.lng
index 8c0c607141fc76829948021789addea1f41c7d42..06a8a46b05c4b76e17eb1541e0711f651471dca3 100644
--- a/interface/web/dns/lib/lang/fi_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/fi_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Käyttäjätunnuksella ei ole oikeuksia lisätä tietueit
 $wb['name_error_empty'] = 'Verkkotunnus on tyhjä.';
 $wb['name_error_regex'] = 'Verkkotunnus on väärän muotoinen.';
 $wb['data_error_empty'] = 'Tekstikenttä on tyhjä';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'Tekstikenttä on vääränlainen';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/fi_dns_alias.lng b/interface/web/dns/lib/lang/fi_dns_alias.lng
index 45078dc1f2c8c1837b48540b72360214d4461c37..fc3d922338229e62f3a631a00367b7c3cf5e87eb 100644
--- a/interface/web/dns/lib/lang/fi_dns_alias.lng
+++ b/interface/web/dns/lib/lang/fi_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Aliasverkkotunnus on tyhjä.';
 $wb['name_error_regex'] = 'Aliasverkkotunnus on vääränlainen.';
 $wb['data_error_empty'] = 'Pääverkkotunnus on tyhjä';
 $wb['data_error_regex'] = 'Pääverkkotunnus on vääränlainen';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/fi_dns_cname.lng b/interface/web/dns/lib/lang/fi_dns_cname.lng
index d7483389d436a4dd498e1639449db04184cadc74..5cdf4d5c039aadf9b16906f1ac6ae96f4f230c21 100644
--- a/interface/web/dns/lib/lang/fi_dns_cname.lng
+++ b/interface/web/dns/lib/lang/fi_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Verkkotunnus on tyhjä.';
 $wb['name_error_regex'] = 'Verkkotunnus on vääränlainen.';
 $wb['data_error_empty'] = 'Kohteen verkkotunnus on tyhjä';
 $wb['data_error_regex'] = 'Kohteen verkkotunnus on vääränlainen';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/fr_dns_a.lng b/interface/web/dns/lib/lang/fr_dns_a.lng
index 9e9625ba1c21dd01f9baa43779b523daa2055bfb..395bcd7d627fc45a55b1b76127bdd4dab388c626 100644
--- a/interface/web/dns/lib/lang/fr_dns_a.lng
+++ b/interface/web/dns/lib/lang/fr_dns_a.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Vous n’avez pas la permission d’ajouter un enregistre
 $wb['name_error_empty'] = 'Le nom d’hôte est vide.';
 $wb['name_error_regex'] = 'Le format du nom d’hôte est invalide.';
 $wb['data_error_empty'] = 'L’adresse IP est vide.';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 ?>
diff --git a/interface/web/dns/lib/lang/fr_dns_aaaa.lng b/interface/web/dns/lib/lang/fr_dns_aaaa.lng
index 9f925c32919a8776ba919624ba1623fcd222037a..d5d14386e39a913742d277ae9a52a156aee54a07 100644
--- a/interface/web/dns/lib/lang/fr_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/fr_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Vous n’avez pas la permission d’ajouter un enregistre
 $wb['name_error_empty'] = 'Le nom d’hôte est vide.';
 $wb['name_error_regex'] = 'Le format du nom d’hôte est invalide.';
 $wb['data_error_empty'] = 'L’adresse IP est vide.';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 ?>
diff --git a/interface/web/dns/lib/lang/fr_dns_alias.lng b/interface/web/dns/lib/lang/fr_dns_alias.lng
index 4684ce36ff7c438977b3b4abb49db2c293334c85..8838024a0234e90c926b9b77bd0c5b9d0c3e2dc5 100644
--- a/interface/web/dns/lib/lang/fr_dns_alias.lng
+++ b/interface/web/dns/lib/lang/fr_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Le nom d’hôte est vide.';
 $wb['name_error_regex'] = 'Le format du nom d’hôte est invalide.';
 $wb['data_error_empty'] = 'Le nom d’hôte cible est vide.';
 $wb['data_error_regex'] = 'Le format du nom d’hôte est invalide.';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/fr_dns_cname.lng b/interface/web/dns/lib/lang/fr_dns_cname.lng
index 47779eeffeb6ea4b4b846edd8d40ee1df84f3a5f..43dbf4af0ea1984e14ad47012b2c6d0dc6446f66 100644
--- a/interface/web/dns/lib/lang/fr_dns_cname.lng
+++ b/interface/web/dns/lib/lang/fr_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Le nom d’hôte est vide.';
 $wb['name_error_regex'] = 'Le format du nom d’hôte est invalide.';
 $wb['data_error_empty'] = 'Le nom d’hôte cible est vide.';
 $wb['data_error_regex'] = 'Le format du nom d’hôte cible invalide.';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/hr_dns_a.lng b/interface/web/dns/lib/lang/hr_dns_a.lng
index bcc49eb52b3bee4deaff3b020f8a4844e67ae927..1a9a2fcd980de4e84408f048d8dfde68a51ff81b 100644
--- a/interface/web/dns/lib/lang/hr_dns_a.lng
+++ b/interface/web/dns/lib/lang/hr_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje IP adresa je prazno';
 $wb['ip_error_wrong'] = 'Neispravan format A zapisa';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
diff --git a/interface/web/dns/lib/lang/hr_dns_aaaa.lng b/interface/web/dns/lib/lang/hr_dns_aaaa.lng
index 2be6042aa92f98f0fdb3d3287693190591fe4242..5f388a020686e8a234e3b2bb61bd9f64c355a439 100644
--- a/interface/web/dns/lib/lang/hr_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/hr_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Nemate dozvolu za dodavanja zapisa ovoj domeni.';
 $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje IPv6 adresa je prazno';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'Neispravan format IPv6 adrese';
 $wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
diff --git a/interface/web/dns/lib/lang/hr_dns_alias.lng b/interface/web/dns/lib/lang/hr_dns_alias.lng
index 90bdb35d66487ee30ac06562e14be53b7fc0d30d..e46ba9ac4394a3e3d66da62d626e6d9518fa7239 100644
--- a/interface/web/dns/lib/lang/hr_dns_alias.lng
+++ b/interface/web/dns/lib/lang/hr_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje odredišni host je prazno';
 $wb['data_error_regex'] = 'Neispravan format odredišnog hosta';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
diff --git a/interface/web/dns/lib/lang/hr_dns_cname.lng b/interface/web/dns/lib/lang/hr_dns_cname.lng
index ce334e750e07d4fea3b80f9a5ec5dbe56f12dc58..cc4b32fe222082ed510470d49055e28f54b65616 100644
--- a/interface/web/dns/lib/lang/hr_dns_cname.lng
+++ b/interface/web/dns/lib/lang/hr_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje odredišni host je prazno';
 $wb['data_error_regex'] = 'Neispravan format odredišnog host zapisa';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
diff --git a/interface/web/dns/lib/lang/hu_dns_a.lng b/interface/web/dns/lib/lang/hu_dns_a.lng
index f17ccaa11d2fa46cbbce0d56eb8fe388b6850089..678f6a4c58f51cdfaa5e252267773e6da65e31b1 100644
--- a/interface/web/dns/lib/lang/hu_dns_a.lng
+++ b/interface/web/dns/lib/lang/hu_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/hu_dns_aaaa.lng b/interface/web/dns/lib/lang/hu_dns_aaaa.lng
index 02643fed884368f44a252c7f0ee12cf5f28e740b..180d3a11169eabac56b061079ff1e01a8584617f 100644
--- a/interface/web/dns/lib/lang/hu_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/hu_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'You do not have the permission to add a record to this DN
 $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/hu_dns_alias.lng b/interface/web/dns/lib/lang/hu_dns_alias.lng
index dbb957c9be6fec573b99673c2591177cf6b75201..12da9fe221eea2fd9a0e1e3f530fcac529271765 100644
--- a/interface/web/dns/lib/lang/hu_dns_alias.lng
+++ b/interface/web/dns/lib/lang/hu_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/hu_dns_cname.lng b/interface/web/dns/lib/lang/hu_dns_cname.lng
index 38a64157742553b6ceb575bcd1816e82e8707218..12da9fe221eea2fd9a0e1e3f530fcac529271765 100644
--- a/interface/web/dns/lib/lang/hu_dns_cname.lng
+++ b/interface/web/dns/lib/lang/hu_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/id_dns_a.lng b/interface/web/dns/lib/lang/id_dns_a.lng
index 20d5e9f3557a3eee330181de61761d1de0b960f3..3c5715e3dc1bcf4237d9d542fa291bb6bb74e461 100644
--- a/interface/web/dns/lib/lang/id_dns_a.lng
+++ b/interface/web/dns/lib/lang/id_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Nama Host kosong.';
 $wb['name_error_regex'] = 'Format Nama Host salah.';
 $wb['data_error_empty'] = 'Alamat IP kosong';
 $wb['ip_error_wrong'] = 'Format Alamat IP tidak valid';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/id_dns_aaaa.lng b/interface/web/dns/lib/lang/id_dns_aaaa.lng
index f9b3395995060068513c469f6e78b5f965be3ce8..75ade955302f0cda756f8e9fd3b50b20d3348397 100644
--- a/interface/web/dns/lib/lang/id_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/id_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS
 $wb['name_error_empty'] = 'Nama Host kosong.';
 $wb['name_error_regex'] = 'Format Nama Host salah.';
 $wb['data_error_empty'] = 'Alamat IP kosong';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'Format Alamat IP tidak valid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/id_dns_alias.lng b/interface/web/dns/lib/lang/id_dns_alias.lng
index 497fcba7ddd3f3fea983b04b312abfd5adefafd2..223b3954761ac0fe666c584e820fe4fcc03f3f01 100644
--- a/interface/web/dns/lib/lang/id_dns_alias.lng
+++ b/interface/web/dns/lib/lang/id_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Nama Host kosong.';
 $wb['name_error_regex'] = 'Format Nama Host salah.';
 $wb['data_error_empty'] = 'Nama Host Target kosong';
 $wb['data_error_regex'] = 'Format Nama Host Target tidak valid';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/id_dns_cname.lng b/interface/web/dns/lib/lang/id_dns_cname.lng
index 94134153949c048b21dd0b478545937e47d89574..223b3954761ac0fe666c584e820fe4fcc03f3f01 100644
--- a/interface/web/dns/lib/lang/id_dns_cname.lng
+++ b/interface/web/dns/lib/lang/id_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Nama Host kosong.';
 $wb['name_error_regex'] = 'Format Nama Host salah.';
 $wb['data_error_empty'] = 'Nama Host Target kosong';
 $wb['data_error_regex'] = 'Format Nama Host Target tidak valid';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/it_dns_a.lng b/interface/web/dns/lib/lang/it_dns_a.lng
index eec6ad5b07b3eda79f386bf1fe5fca4ba8be76e3..f45709437ec28c31334a14f652552523cc1b6dc7 100644
--- a/interface/web/dns/lib/lang/it_dns_a.lng
+++ b/interface/web/dns/lib/lang/it_dns_a.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'You do not have the permission to add a record to this DN
 $wb['name_error_empty'] = 'The hostname  vuoto.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 ?>
diff --git a/interface/web/dns/lib/lang/it_dns_aaaa.lng b/interface/web/dns/lib/lang/it_dns_aaaa.lng
index fb1a2a58a677a3fab007cf87743de72c4f186b0e..a54f87a5fa5f711c79f28d489def989a2de4e070 100644
--- a/interface/web/dns/lib/lang/it_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/it_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Non hai il permesso di aggiungere record a questa zona DN
 $wb['name_error_empty'] = 'Nome Host vuoto.';
 $wb['name_error_regex'] = 'Formato errato per Nome Host.';
 $wb['data_error_empty'] = 'Indirizzo Ip vuoto';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'TTL time minimo 60 secondi.';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 ?>
diff --git a/interface/web/dns/lib/lang/it_dns_alias.lng b/interface/web/dns/lib/lang/it_dns_alias.lng
index fef96c9880ded1f37a756313fe5ad3b4db10c635..e2eade0f8a2d93c9ccf844ab013aab6672a5e372 100644
--- a/interface/web/dns/lib/lang/it_dns_alias.lng
+++ b/interface/web/dns/lib/lang/it_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'The hostname  vuoto.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/it_dns_cname.lng b/interface/web/dns/lib/lang/it_dns_cname.lng
index 6d7d135a018e70ed94e673b8f984c77f9c22ba10..ced97b351ae511ecfa512c77eb593f816d8ec801 100644
--- a/interface/web/dns/lib/lang/it_dns_cname.lng
+++ b/interface/web/dns/lib/lang/it_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Nome Host vuoto.';
 $wb['name_error_regex'] = 'Formato errato per Nome Host.';
 $wb['data_error_empty'] = 'Target nome host vuoto';
 $wb['data_error_regex'] = 'Target nome host formato errato';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'TTL time minimo 60 secondi.';
 ?>
diff --git a/interface/web/dns/lib/lang/ja_dns_a.lng b/interface/web/dns/lib/lang/ja_dns_a.lng
index a64a87fc3f882eb6ef56646dcc99b2efa3da8ee6..45d336b9c488936131762c204867399e1f5660f6 100644
--- a/interface/web/dns/lib/lang/ja_dns_a.lng
+++ b/interface/web/dns/lib/lang/ja_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'ホスト名を入力してください。';
 $wb['name_error_regex'] = 'ホスト名の形式が不正です。';
 $wb['data_error_empty'] = 'IPアドレスを入力してください。';
 $wb['ip_error_wrong'] = 'IPアドレスの形式が不正です。';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ja_dns_aaaa.lng b/interface/web/dns/lib/lang/ja_dns_aaaa.lng
index 233cfd71edb65355e798062bd6fb68f2194f7d70..a851d2862e8ed5cd798a90689160e916153d9d3c 100644
--- a/interface/web/dns/lib/lang/ja_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/ja_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'このDNSゾーンにレコードを追加する権限が
 $wb['name_error_empty'] = 'ホスト名を入力してください。';
 $wb['name_error_regex'] = 'ホスト名の形式が不正です。';
 $wb['data_error_empty'] = 'IPアドレスを入力してください。';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IPアドレスの形式が不正です。';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ja_dns_alias.lng b/interface/web/dns/lib/lang/ja_dns_alias.lng
index 5fddc956ef384be001330368c2406bf47ef328cf..52ed4bb12ac3d88b4c680460f74af4ae00181842 100644
--- a/interface/web/dns/lib/lang/ja_dns_alias.lng
+++ b/interface/web/dns/lib/lang/ja_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'ホスト名を入力してください。';
 $wb['name_error_regex'] = 'ホスト名の形式が不正です。';
 $wb['data_error_empty'] = 'ターゲットのホスト名を入力してください。';
 $wb['data_error_regex'] = 'ターゲットのホスト名の形式が不正です。';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ja_dns_cname.lng b/interface/web/dns/lib/lang/ja_dns_cname.lng
index af805c98239a25d864d4cec884f8eb1716ebc7c5..52ed4bb12ac3d88b4c680460f74af4ae00181842 100644
--- a/interface/web/dns/lib/lang/ja_dns_cname.lng
+++ b/interface/web/dns/lib/lang/ja_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'ホスト名を入力してください。';
 $wb['name_error_regex'] = 'ホスト名の形式が不正です。';
 $wb['data_error_empty'] = 'ターゲットのホスト名を入力してください。';
 $wb['data_error_regex'] = 'ターゲットのホスト名の形式が不正です。';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/nl_dns_a.lng b/interface/web/dns/lib/lang/nl_dns_a.lng
index 38e30234c72cc3c9a425cf65eea578fbd7e971a4..a4c6f0cf7e7f687755f99c61ad184aefec9cd5f7 100644
--- a/interface/web/dns/lib/lang/nl_dns_a.lng
+++ b/interface/web/dns/lib/lang/nl_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'De hostnaam is niet ingvuld.';
 $wb['name_error_regex'] = 'De hostnaam heeft een onjuist formaat.';
 $wb['data_error_empty'] = 'IP-adres is niet ingvuld';
 $wb['ip_error_wrong'] = 'IP-adres formaat ongeldig';
-$wb['data_error_duplicate'] = 'Duplicaat A of CNAME record';
+$wb['data_error_duplicate'] = 'Duplicaat A, ALIAS of CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/nl_dns_aaaa.lng b/interface/web/dns/lib/lang/nl_dns_aaaa.lng
index 218799bb4a30a8ccfedb7d46f5769bab9027fb4c..2521ff5b17b115e8d2bc2ca665db884ca61ffda9 100644
--- a/interface/web/dns/lib/lang/nl_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/nl_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'U heeft geen toestemming om een record toe te voegen aan
 $wb['name_error_empty'] = 'De hostnaam is niet ingvuld';
 $wb['name_error_regex'] = 'De hostnaam heeft een onjuist formaat.';
 $wb['data_error_empty'] = 'IP-adres is niet ingevuld';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP-adres formaat ongeldig';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/nl_dns_alias.lng b/interface/web/dns/lib/lang/nl_dns_alias.lng
index 5b8873823d956356237164d1b5ca807f33a6a0d8..f3b2680a89f6c8ceaf56827da3502ff954307a78 100644
--- a/interface/web/dns/lib/lang/nl_dns_alias.lng
+++ b/interface/web/dns/lib/lang/nl_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'De hostname is niet ingvuld.';
 $wb['name_error_regex'] = 'De hostnaam heeft een onjuist formaat.';
 $wb['data_error_empty'] = 'Doel hostnaam is niet ingvuld';
 $wb['data_error_regex'] = 'Doel hostnaam formaat ongeldig';
+$wb['data_error_duplicate'] = 'Duplicaat A, AAAA, ALIAS, CNAME, of DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/nl_dns_cname.lng b/interface/web/dns/lib/lang/nl_dns_cname.lng
index 778a05a5fa5f9bbea96929b1843febd41bc34c0e..91dc0380e0c8a839c689a4f09e153044af82f1a9 100644
--- a/interface/web/dns/lib/lang/nl_dns_cname.lng
+++ b/interface/web/dns/lib/lang/nl_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'De hostnaam is niet ingvuld.';
 $wb['name_error_regex'] = 'De hostname heeft een onjuist formaat.';
 $wb['data_error_empty'] = 'Doel hostnaam is niet ingvuld';
 $wb['data_error_regex'] = 'Doel hostnaam formaat ongeldig';
-$wb['data_error_duplicate'] = 'Duplicaat A, AAAA, CNAME, of DNAME record';
+$wb['data_error_duplicate'] = 'Duplicaat A, AAAA, ALIAS, CNAME, of DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/pl_dns_a.lng b/interface/web/dns/lib/lang/pl_dns_a.lng
index a200ae5cce5057b292f77f7472a07218d64cd33c..8af428f235870856cdf80ae8228cf88522c60b51 100644
--- a/interface/web/dns/lib/lang/pl_dns_a.lng
+++ b/interface/web/dns/lib/lang/pl_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Nazwa serwera jest pusta.';
 $wb['name_error_regex'] = 'Nazwa serwera ma niepoprawny format.';
 $wb['data_error_empty'] = 'Adres IP jest pusty.';
 $wb['ip_error_wrong'] = 'Adres IP ma niepoprawny format.';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/pl_dns_aaaa.lng b/interface/web/dns/lib/lang/pl_dns_aaaa.lng
index 7de382fcbd99cd4892afb253d8dd444b94c258ce..1006ef77b0200bdf080bbba8242b8cbcee7e3d15 100644
--- a/interface/web/dns/lib/lang/pl_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/pl_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Nie masz uprawnień, aby dodać nowy wpis w tej strefie D
 $wb['name_error_empty'] = 'Nazwa serwera jest pusta.';
 $wb['name_error_regex'] = 'Nazwa serwera ma niepoprawny format.';
 $wb['data_error_empty'] = 'Adres IP jest pusty.';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'Adres IP ma niepoprawny format.';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/pl_dns_alias.lng b/interface/web/dns/lib/lang/pl_dns_alias.lng
index abe5c15d121478564656a6df2a4284ef81781f86..05c83945d0284107d3fcd37d325e9a9631ce58f8 100644
--- a/interface/web/dns/lib/lang/pl_dns_alias.lng
+++ b/interface/web/dns/lib/lang/pl_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Nazwa serwera jest pusta.';
 $wb['name_error_regex'] = 'Nazwa serwera ma zły format.';
 $wb['data_error_empty'] = 'Docelowa nazwa serwera jest pusta.';
 $wb['data_error_regex'] = 'Docelowa nazwa serwera ma niepoprawny format.';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/pl_dns_cname.lng b/interface/web/dns/lib/lang/pl_dns_cname.lng
index d4fb5ab8c8b7bc71a85ffacbd0c425655024630d..89ed04f8f1aa4ad4b11e3d62c6a756b633db5e55 100644
--- a/interface/web/dns/lib/lang/pl_dns_cname.lng
+++ b/interface/web/dns/lib/lang/pl_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Nazwa serwera jest pusta.';
 $wb['name_error_regex'] = 'Nazwa serwera ma niepoprawny format.';
 $wb['data_error_empty'] = 'Docelowa nazwa serwera jest pusta.';
 $wb['data_error_regex'] = 'Docelowa nazwa serwera ma niepoprawny format.';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/pt_dns_a.lng b/interface/web/dns/lib/lang/pt_dns_a.lng
index 336c4f477e97c7d983ad9e68ad0fa8835218c17b..7216ef9316ea1f8c47f5931c34ddfa2df26c65d2 100644
--- a/interface/web/dns/lib/lang/pt_dns_a.lng
+++ b/interface/web/dns/lib/lang/pt_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Hostname em branco.';
 $wb['name_error_regex'] = 'Hostname tem um formato inválido.';
 $wb['data_error_empty'] = 'Endereço-IP em branco';
 $wb['ip_error_wrong'] = 'Endereço-IP formato inválido';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/pt_dns_aaaa.lng b/interface/web/dns/lib/lang/pt_dns_aaaa.lng
index 045a818731114dd5e9434690520c4e0c854c9e48..51bb7aa5f1fe990810908c8bd0c22fd37745ee22 100644
--- a/interface/web/dns/lib/lang/pt_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/pt_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona
 $wb['name_error_empty'] = 'O Hostname está em branco.';
 $wb['name_error_regex'] = 'O Hostname está com formato inválido.';
 $wb['data_error_empty'] = 'Endereço-IP em branco';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'Endereço-IP com formato inválido';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/pt_dns_alias.lng b/interface/web/dns/lib/lang/pt_dns_alias.lng
index 85e0268f9dd8a2e7bc4cbf6b2038b064252939c1..94073bf9ba26a21bc50687f803a59090d16341bd 100644
--- a/interface/web/dns/lib/lang/pt_dns_alias.lng
+++ b/interface/web/dns/lib/lang/pt_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Hostname está em branco.';
 $wb['name_error_regex'] = 'O hostname está em um formato inválido.';
 $wb['data_error_empty'] = 'Hostname de destino está em branco';
 $wb['data_error_regex'] = 'O hostname de destino está em um formato inválido.';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/pt_dns_cname.lng b/interface/web/dns/lib/lang/pt_dns_cname.lng
index 124b9e30003433ef3f5dda93560c21849c05e0c6..01cd577fc556b768a57196c6e93501eb581963a7 100644
--- a/interface/web/dns/lib/lang/pt_dns_cname.lng
+++ b/interface/web/dns/lib/lang/pt_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Hostname está em branco.';
 $wb['name_error_regex'] = 'O hostname está em um formato inválido.';
 $wb['data_error_empty'] = 'Hostname de destino está em branco';
 $wb['data_error_regex'] = 'O hostname de destino está em um formato inválido.';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ro_dns_a.lng b/interface/web/dns/lib/lang/ro_dns_a.lng
index 26f8a42f058457d5988bf1d1dbcbe30d7a81137f..db5d2937a41174521fc772e1b60de83d7c6b9dc6 100644
--- a/interface/web/dns/lib/lang/ro_dns_a.lng
+++ b/interface/web/dns/lib/lang/ro_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Hostname necompletat';
 $wb['name_error_regex'] = 'Hostname format gresit';
 $wb['data_error_empty'] = 'IP-Adresa vid';
 $wb['ip_error_wrong'] = 'IP-Adresa format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ro_dns_aaaa.lng b/interface/web/dns/lib/lang/ro_dns_aaaa.lng
index da7eeb8a0f5f34a45e23a7b92b363cef03cc0f39..41b0d2202127712b17c8517b1f2a5a8f64e6bea9 100644
--- a/interface/web/dns/lib/lang/ro_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/ro_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'You do not have the permission to add a record to this DN
 $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ro_dns_alias.lng b/interface/web/dns/lib/lang/ro_dns_alias.lng
index a65a41ad8ee480ea0eef43cebba9b26a0d53fda8..925482e87bb637c346da3f76a4969516e991dfd6 100644
--- a/interface/web/dns/lib/lang/ro_dns_alias.lng
+++ b/interface/web/dns/lib/lang/ro_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Hostname tinta este vid';
 $wb['name_error_regex'] = 'Hostname in format gresit';
 $wb['data_error_empty'] = 'Hostname tinta este vid';
 $wb['data_error_regex'] = 'Hostname tinta format invalid';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ro_dns_cname.lng b/interface/web/dns/lib/lang/ro_dns_cname.lng
index c76d2587a19bd9df697a8d6c2fc3071ce906c302..4f1e842bb3edd6f37a453f842efc74fb966e5bba 100644
--- a/interface/web/dns/lib/lang/ro_dns_cname.lng
+++ b/interface/web/dns/lib/lang/ro_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Rubrica hostname necompletata';
 $wb['name_error_regex'] = 'Hostname cu format gresit';
 $wb['data_error_empty'] = 'Hostname tinta necompletat';
 $wb['data_error_regex'] = 'Hostname tinta cu format gresit';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/ru_dns_a.lng b/interface/web/dns/lib/lang/ru_dns_a.lng
index 5dd1329a1b7350e8eb85e65f73eb8a69af02fff6..254dd3a76772d67c88e50eb578914eb515ceb590 100644
--- a/interface/web/dns/lib/lang/ru_dns_a.lng
+++ b/interface/web/dns/lib/lang/ru_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Имя пустое.';
 $wb['name_error_regex'] = 'Имя узла имеет неправильный формат.';
 $wb['data_error_empty'] = 'IP-адрес пустой';
 $wb['ip_error_wrong'] = 'Неправильный формат IP-адреса';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Мин. время <b>TTL</b> 60 секунд.';
 ?>
diff --git a/interface/web/dns/lib/lang/ru_dns_aaaa.lng b/interface/web/dns/lib/lang/ru_dns_aaaa.lng
index efec59952a0cbf5ffb6d073bb054ae606ecb8a23..9513c8fdc21885899936cf9dd70bfed8526e3296 100644
--- a/interface/web/dns/lib/lang/ru_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/ru_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'У Вас нет прав добавлять эту за
 $wb['name_error_empty'] = 'Имя пустое.';
 $wb['name_error_regex'] = 'Неправильный формат имени хоста.';
 $wb['data_error_empty'] = 'Пустой IP-адрес';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'Неправильный формат IP-адреса';
 $wb['ttl_range_error'] = 'Мин. время <b>TTL</b> 60 секунд.';
 ?>
diff --git a/interface/web/dns/lib/lang/ru_dns_alias.lng b/interface/web/dns/lib/lang/ru_dns_alias.lng
index 32f1e065decc7704cd40065cc5fe00ec4a0cec4b..d80b0e7f9c4ef5a70a5f43c99debc00e30ef565b 100644
--- a/interface/web/dns/lib/lang/ru_dns_alias.lng
+++ b/interface/web/dns/lib/lang/ru_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Имя пустое.';
 $wb['name_error_regex'] = 'Имя узла имеет неправильный формат.';
 $wb['data_error_empty'] = 'Целевое имя узла пустое';
 $wb['data_error_regex'] = 'Целевое имя узла в неправильном формате';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Мин. время <b>TTL</b> 60 секунд.';
 ?>
diff --git a/interface/web/dns/lib/lang/ru_dns_cname.lng b/interface/web/dns/lib/lang/ru_dns_cname.lng
index 8fbddd6799ac93a98c6315bc0e1a442e3656a110..cd624657535fec57f2f8f3e932ce72cd4f277961 100644
--- a/interface/web/dns/lib/lang/ru_dns_cname.lng
+++ b/interface/web/dns/lib/lang/ru_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Имя пустое.';
 $wb['name_error_regex'] = 'Имя узла имеет неправильный формат.';
 $wb['data_error_empty'] = 'Целевое имя узла пустое';
 $wb['data_error_regex'] = 'Целевое имя узла имеет неправильный формат';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Мин. время <b>TTL</b> 60 секунд.';
 ?>
diff --git a/interface/web/dns/lib/lang/se_dns_a.lng b/interface/web/dns/lib/lang/se_dns_a.lng
index 577bb47d5b7211129dedb2eea6e0072fd3843187..36e5b50eb3836c822c58565386d260e5b581476d 100644
--- a/interface/web/dns/lib/lang/se_dns_a.lng
+++ b/interface/web/dns/lib/lang/se_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/se_dns_aaaa.lng b/interface/web/dns/lib/lang/se_dns_aaaa.lng
index da7eeb8a0f5f34a45e23a7b92b363cef03cc0f39..41b0d2202127712b17c8517b1f2a5a8f64e6bea9 100644
--- a/interface/web/dns/lib/lang/se_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/se_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'You do not have the permission to add a record to this DN
 $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'IP-Address empty';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP-Address format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/se_dns_alias.lng b/interface/web/dns/lib/lang/se_dns_alias.lng
index bd4be9f219e66a4e78a408cc6cc5bd06f06c28e7..bf56c86fbe61a4713599eefd0cc739b153c78389 100644
--- a/interface/web/dns/lib/lang/se_dns_alias.lng
+++ b/interface/web/dns/lib/lang/se_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/se_dns_cname.lng b/interface/web/dns/lib/lang/se_dns_cname.lng
index 0d42cac5957e6582805629fa021be50221599e0a..fb10fbc01443fa5feedba9872f0050bda1b2a345 100644
--- a/interface/web/dns/lib/lang/se_dns_cname.lng
+++ b/interface/web/dns/lib/lang/se_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'The hostname is empty.';
 $wb['name_error_regex'] = 'The hostname has the wrong format.';
 $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/sk_dns_a.lng b/interface/web/dns/lib/lang/sk_dns_a.lng
index 9937576f585a2c8b9eff1c16b176e6b32e4ad60c..1362b4624d6b2fe5a4e9b486fe7b8e568b124720 100644
--- a/interface/web/dns/lib/lang/sk_dns_a.lng
+++ b/interface/web/dns/lib/lang/sk_dns_a.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Hostname je prázdny.';
 $wb['name_error_regex'] = 'Hostname má zlý formát.';
 $wb['data_error_empty'] = 'IP Adresa je prázdna';
 $wb['ip_error_wrong'] = 'IP Adresa má zlý formát.';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/sk_dns_aaaa.lng b/interface/web/dns/lib/lang/sk_dns_aaaa.lng
index 2631d325157b5681b892a76bc5c61146c30239c5..0716d157986249d30e8ab27578b652ed28f01a63 100644
--- a/interface/web/dns/lib/lang/sk_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/sk_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Nemáte oprávnenie Pridať záznam do tejto zóny DNS.';
 $wb['name_error_empty'] = 'Hostname je prázdny.';
 $wb['name_error_regex'] = 'Hostname má zlý formát.';
 $wb['data_error_empty'] = 'IP-Adresa prázdna';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP-Adresa má zlý formát';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/sk_dns_alias.lng b/interface/web/dns/lib/lang/sk_dns_alias.lng
index a319049efc26a3b9e97a9c43d6884a82e7943934..ce167c7bcd35858cc2de8f597621de4e968f9d1a 100644
--- a/interface/web/dns/lib/lang/sk_dns_alias.lng
+++ b/interface/web/dns/lib/lang/sk_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Hostname je prázdny.';
 $wb['name_error_regex'] = 'Hostname má zlý formát.';
 $wb['data_error_empty'] = 'Cieľový hostname je prázdny';
 $wb['data_error_regex'] = 'Cieľový hostname má neplatný formát';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/sk_dns_cname.lng b/interface/web/dns/lib/lang/sk_dns_cname.lng
index c15528523432e1633d651ffe84826823f48a45e0..3d06062613ccb80d3992388ade530000262a8320 100644
--- a/interface/web/dns/lib/lang/sk_dns_cname.lng
+++ b/interface/web/dns/lib/lang/sk_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Hostname je prázdny.';
 $wb['name_error_regex'] = 'Hostname má zlý formát.';
 $wb['data_error_empty'] = 'Cieľový hostname je prázdny';
 $wb['data_error_regex'] = 'Target hostname má zlý format';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
diff --git a/interface/web/dns/lib/lang/tr_dns_a.lng b/interface/web/dns/lib/lang/tr_dns_a.lng
index bab67a4646eeb2e7cd2eb707e5c8498ef82b9e3a..06b96a7fd5445b2904a3c06039b3c7eee9b566c9 100644
--- a/interface/web/dns/lib/lang/tr_dns_a.lng
+++ b/interface/web/dns/lib/lang/tr_dns_a.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Bu DNS bölgesine kayıt ekleme izniniz yok.';
 $wb['name_error_empty'] = 'Sunucu adı boş olamaz.';
 $wb['name_error_regex'] = 'Sunucu adı biçimi geçersiz.';
 $wb['data_error_empty'] = 'IP Adresi boÅŸ olamaz';
-$wb['data_error_duplicate'] = 'Duplicate A or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, ALIAS or CNAME record';
 $wb['ttl_range_error'] = 'En düşük TTL süresi 60 saniyedir.';
 $wb['ip_error_wrong'] = 'IP adresi biçimi geçersiz';
 ?>
diff --git a/interface/web/dns/lib/lang/tr_dns_aaaa.lng b/interface/web/dns/lib/lang/tr_dns_aaaa.lng
index 8b31622d57ef2dcef330b1c67621ed4f24893a6f..cfc99307f063d2dc1c93cd4294778995a109f0c1 100644
--- a/interface/web/dns/lib/lang/tr_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/tr_dns_aaaa.lng
@@ -11,7 +11,7 @@ $wb['no_zone_perm'] = 'Bu DNS bölgesine kayıt ekleme izniniz yok.';
 $wb['name_error_empty'] = 'Sunucu adı boş olamaz.';
 $wb['name_error_regex'] = 'Sunucu adının biçimi geçersiz.';
 $wb['data_error_empty'] = 'IP Adresi boÅŸ olamaz';
-$wb['data_error_duplicate'] = 'Duplicate AAAA or CNAME record';
+$wb['data_error_duplicate'] = 'Duplicate AAAA, ALIAS or CNAME record';
 $wb['ip_error_wrong'] = 'IP adresinin biçimi geçersiz';
 $wb['ttl_range_error'] = 'En düşük TTL süresi 60 saniyedir.';
 ?>
diff --git a/interface/web/dns/lib/lang/tr_dns_alias.lng b/interface/web/dns/lib/lang/tr_dns_alias.lng
index ce78fcf3032004a93aa77a3ec5277c945b2bb912..b152a5fbe6fca61ec9f94c06a4881de45cf1d095 100644
--- a/interface/web/dns/lib/lang/tr_dns_alias.lng
+++ b/interface/web/dns/lib/lang/tr_dns_alias.lng
@@ -12,5 +12,6 @@ $wb['name_error_empty'] = 'Sunucu adı boş olamaz.';
 $wb['name_error_regex'] = 'Sunucu adının biçimi geçersiz.';
 $wb['data_error_empty'] = 'Hedef sunucu adı boş olamaz';
 $wb['data_error_regex'] = 'Hedef sunucu adı biçimi geçersiz';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'En düşük TTL süresi 60 saniyedir.';
 ?>
diff --git a/interface/web/dns/lib/lang/tr_dns_cname.lng b/interface/web/dns/lib/lang/tr_dns_cname.lng
index cc8ce3005c76aefd46cb3ec6d5ae4332ce429e05..97c02a4fa5ad0b7ea63f27d8ed08799d3a2ee92f 100644
--- a/interface/web/dns/lib/lang/tr_dns_cname.lng
+++ b/interface/web/dns/lib/lang/tr_dns_cname.lng
@@ -12,6 +12,6 @@ $wb['name_error_empty'] = 'Sunucu adı boş olamaz.';
 $wb['name_error_regex'] = 'Sunucu adı biçimi geçersiz.';
 $wb['data_error_empty'] = 'Hedef sunucu adı boş olamaz';
 $wb['data_error_regex'] = 'Hedef sunucu adı biçimi geçersiz';
-$wb['data_error_duplicate'] = 'Duplicate A, AAAA, CNAME, or DNAME record';
+$wb['data_error_duplicate'] = 'Duplicate A, AAAA, ALIAS, CNAME, or DNAME record';
 $wb['ttl_range_error'] = 'En düşük TTL süresi 60 saniyedir.';
 ?>
diff --git a/interface/web/dns/templates/dns_import.htm b/interface/web/dns/templates/dns_import.htm
index dafb9016a0c3a13e2f3bd2bf0ecc241f9a440912..c461e01ed6d06e3c0ac37e8e4cb9e2da54f0c912 100644
--- a/interface/web/dns/templates/dns_import.htm
+++ b/interface/web/dns/templates/dns_import.htm
@@ -37,21 +37,30 @@
                     <tmpl_else>
                         <div class="col-sm-9"><input type="text" name="domain" id="domain" value="{tmpl_var name='domain'}" class="form-control" onkeydown="keydown(event.which);" /></div></tmpl_if>
 					<div class="col-sm-3 col-text"></div><div class="col-sm-9 col-text"><tmpl_var name='domain_field_desc_txt'}</div>
-            </div>    
+            </div>
             <div class="form-group">
                 <label for="file" class="col-sm-3 control-label">{tmpl_var name='zonefile_to_import_txt'}</label>
                 <div class="col-sm-9 col-text"><input name="file" id="file" size="30" type="file" class="fileUpload" /></div>
             </div>
-                
+
             <tmpl_if name="msg">
                 <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
             </tmpl_if>
             <tmpl_if name="error">
-                <div id="errorMsg"><h3><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
+							<div class='alert alert-danger clear'>
+								<div class='alert-label'>
+									<strong><tmpl_var name="error_txt"></strong>
+									</div>
+								<div class='alert-content'>
+									<ul style="list-style-type:none">
+										<tmpl_var name="error">
+									</ul>
+								</div>
+							</div>
             </tmpl_if>
-                
+
             <input type="hidden" name="id" value="{tmpl_var name='id'}">
-                
+
             <div class="clear"><div class="right">
                 <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="dns/dns_import.php" data-form-upload="true">{tmpl_var name='btn_save_txt'}</button>
                 <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="dns/dns_soa_list.php">{tmpl_var name='btn_cancel_txt'}</button>
diff --git a/interface/web/dns/templates/dns_soa_edit.htm b/interface/web/dns/templates/dns_soa_edit.htm
index 24c9209ccc8035a28a4bd70a0175d1c5103f3c54..2859913f8647c3767898f71f1377e492a24e9d22 100644
--- a/interface/web/dns/templates/dns_soa_edit.htm
+++ b/interface/web/dns/templates/dns_soa_edit.htm
@@ -1,10 +1,19 @@
 <tmpl_if name="config_error_msg">
-  <div style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
+  <!--<div style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
     <p style="font-face:bold">{tmpl_var name='configuration_error_txt'}</p>
     <div>
       <div style="float:left;width:150px;">{tmpl_var name='config_error_tstamp'} :&nbsp;</div>
       <div style="padding-left:150px;">{tmpl_var name='config_error_msg'}</div>
     </div>
+  </div>-->
+  <div class="alert alert-danger">
+    <p>
+      <tmpl_var name="configuration_error_txt">
+        <div>
+          <div style="float:left;width:150px;">{tmpl_var name='config_error_tstamp'} :&nbsp;</div>
+          <div style="padding-left:150px;">{tmpl_var name='config_error_msg'}</div>
+        </div>
+    </p>
   </div>
 </tmpl_if>
 <tmpl_if name="is_admin">
@@ -12,55 +21,55 @@
     <tmpl_if name="edit_disabled">
       <label for="server_id_disabled" class="col-sm-3 control-label">{tmpl_var name='server_id_txt'}</label>
       <div class="col-sm-9"><select name="server_id_disabled" id="server_id_disabled" class="form-control" disabled="disabled">
-        {tmpl_var name='server_id'}
+          {tmpl_var name='server_id'}
         </select>
       </div>
       <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
       <tmpl_else>
-      <label for="server_id" class="col-sm-3 control-label">{tmpl_var name='server_id_txt'}</label>
-      <div class="col-sm-9"><select name="server_id" id="server_id" class="form-control">
-        {tmpl_var name='server_id'}
-        </select>
-      </div>
+        <label for="server_id" class="col-sm-3 control-label">{tmpl_var name='server_id_txt'}</label>
+        <div class="col-sm-9"><select name="server_id" id="server_id" class="form-control">
+            {tmpl_var name='server_id'}
+          </select>
+        </div>
     </tmpl_if>
   </div>
   <tmpl_unless name="domain_option">
     <div class="form-group">
       <label for="client_group_id" class="col-sm-3 control-label">{tmpl_var name='client_txt'}</label>
       <div class="col-sm-9"><select name="client_group_id" id="client_group_id" class="form-control">
-        {tmpl_var name='client_group_id'}
+          {tmpl_var name='client_group_id'}
         </select>
       </div>
     </div>
   </tmpl_unless>
   <tmpl_else>
-  <tmpl_if name="only_one_server">
-    <input type="hidden" id="server_id" name="server_id" value="{tmpl_var name='server_id_value'}" />
-    <tmpl_else>
-    <div class="form-group">
-      <tmpl_if name="edit_disabled">
-        <label for="server_id_disabled" class="col-sm-3 control-label">{tmpl_var name='server_id_txt'}</label>
-        <div class="col-sm-9"><select name="server_id_disabled" id="server_id_disabled" class="form-control" disabled="disabled">
-          {tmpl_var name='client_server_id'}
-          </select>
-        </div>
-        <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
-        <tmpl_else>
-        <label for="server_id" class="col-sm-3 control-label">{tmpl_var name='server_id_txt'}</label>
-        <div class="col-sm-9"><select name="server_id" id="server_id" class="form-control">
-          {tmpl_var name='client_server_id'}
-          </select>
+    <tmpl_if name="only_one_server">
+      <input type="hidden" id="server_id" name="server_id" value="{tmpl_var name='server_id_value'}" />
+      <tmpl_else>
+        <div class="form-group">
+          <tmpl_if name="edit_disabled">
+            <label for="server_id_disabled" class="col-sm-3 control-label">{tmpl_var name='server_id_txt'}</label>
+            <div class="col-sm-9"><select name="server_id_disabled" id="server_id_disabled" class="form-control" disabled="disabled">
+                {tmpl_var name='client_server_id'}
+              </select>
+            </div>
+            <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
+            <tmpl_else>
+              <label for="server_id" class="col-sm-3 control-label">{tmpl_var name='server_id_txt'}</label>
+              <div class="col-sm-9"><select name="server_id" id="server_id" class="form-control">
+                  {tmpl_var name='client_server_id'}
+                </select>
+              </div>
+          </tmpl_if>
         </div>
-      </tmpl_if>
-    </div>
-  </tmpl_if>
+    </tmpl_if>
 </tmpl_if>
 <tmpl_if name="is_reseller">
   <tmpl_unless name="domain_option">
     <div class="form-group">
       <label for="client_group_id" class="col-sm-3 control-label">{tmpl_var name='client_txt'}</label>
       <div class="col-sm-9"><select name="client_group_id" id="client_group_id" class="form-control">
-        {tmpl_var name='client_group_id'}
+          {tmpl_var name='client_group_id'}
         </select>
       </div>
     </div>
@@ -71,15 +80,15 @@
   <tmpl_if name="domain_option">
     <div class="col-sm-9">
       <select name="origin" id="origin" class="form-control">
-      {tmpl_var name='domain_option'}
+        {tmpl_var name='domain_option'}
       </select>
       <p class="formHint">{tmpl_var name='eg_domain_tld'}</p>
     </div>
     <tmpl_else>
-    <div class="col-sm-9">
-      <input type="text" name="origin" id="origin" value="{tmpl_var name='origin'}" class="form-control" />
-      <p class="formHint">{tmpl_var name='eg_domain_tld'}</p>
-    </div>
+      <div class="col-sm-9">
+        <input type="text" name="origin" id="origin" value="{tmpl_var name='origin'}" class="form-control" />
+        <p class="formHint">{tmpl_var name='eg_domain_tld'}</p>
+      </div>
   </tmpl_if>
 </div>
 <div class="form-group">
@@ -178,40 +187,40 @@
 </div>
 <script language="JavaScript" type="text/javascript">
   jQuery('#xfer').ispconfigSearch({
-      dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
-      resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-      ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-      noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-      noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-      minChars: 0,
-      cssPrefix: 'df-',
-      fillSearchField: true,
-      fillSearchFieldWith: 'fill_text',
-      searchFieldWatermark: '',
-      resultBoxPosition: ''
+    dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
+    resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
+    ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
+    noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
+    noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
+    minChars: 0,
+    cssPrefix: 'df-',
+    fillSearchField: true,
+    fillSearchFieldWith: 'fill_text',
+    searchFieldWatermark: '',
+    resultBoxPosition: ''
   });
   jQuery('#also_notify').ispconfigSearch({
-      dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
-      resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-      ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-      noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-      noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-      minChars: 0,
-      cssPrefix: 'df-',
-      fillSearchField: true,
-      fillSearchFieldWith: 'fill_text',
-      searchFieldWatermark: '',
-      resultBoxPosition: ''
+    dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
+    resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
+    ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
+    noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
+    noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
+    minChars: 0,
+    cssPrefix: 'df-',
+    fillSearchField: true,
+    fillSearchFieldWith: 'fill_text',
+    searchFieldWatermark: '',
+    resultBoxPosition: ''
   });
   jQuery('#dnssec_wanted').on('click', function(event) {
-      if ($(this).is(':checked')) {
-          return;
-      }
+    if ($(this).is(':checked')) {
+      return;
+    }
 
-      if (window.confirm('{tmpl_var name="dnssec_wanted_info"}')) {
-          return;
-      }
+    if (window.confirm('{tmpl_var name="dnssec_wanted_info"}')) {
+      return;
+    }
 
-      event.preventDefault();
+    event.preventDefault();
   });
 </script>
diff --git a/interface/web/dns/templates/dns_wizard.htm b/interface/web/dns/templates/dns_wizard.htm
index 2f4f24b4e08266604971ea4d521b7206290b6e48..daaac277eba8a85811e291e9c04e6289f168fd6f 100644
--- a/interface/web/dns/templates/dns_wizard.htm
+++ b/interface/web/dns/templates/dns_wizard.htm
@@ -3,7 +3,16 @@
 </div>
 
 <tmpl_if name="error">
-    <div id="errorMsg"><h3><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
+	<div class='alert alert-danger clear'>
+		<div class='alert-label'><strong>
+				<tmpl_var name="error_txt">
+			</strong></div>
+		<div class='alert-content'>
+			<ul style="list-style-type:none">
+				<tmpl_var name="error">
+			</ul>
+		</div>
+	</div>
 </tmpl_if>
 
 
@@ -96,11 +105,11 @@
 					<label for="dkim" class="col-sm-3 control-label">{tmpl_var name='dnssec_txt'}</label>
                     <div class="col-sm-9"><input type="checkbox" name="dnssec" value="Y"></div></div>
             </tmpl_if>
-			
-        
-            
+
+
+
         <input type="hidden" name="create" value="0" />
-            
+
         <div class="clear"><div class="right">
             <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" name="btn_create" onclick="document.pageForm.create.value=1; ISPConfig.submitForm('pageForm','dns/dns_wizard.php');">{tmpl_var name='btn_save_txt'}</button>
             <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="dns/dns_soa_list.php">{tmpl_var name='btn_cancel_txt'}</button>
@@ -118,7 +127,7 @@
         fillSearchFieldWith: 'fill_text',
         searchFieldWatermark: '',
         resultBoxPosition: ''
-    });	
+    });
 </script>
 <script language="JavaScript" type="text/javascript">
     jQuery('#ipv6').ispconfigSearch({
diff --git a/interface/web/mail/lib/lang/ar_mail_forward.lng b/interface/web/mail/lib/lang/ar_mail_forward.lng
index 95f9a134958206727bcd41e411e2feb63700d21e..3f9cfa956b329bc9f19e1316f32429ea5a5da1c5 100644
--- a/interface/web/mail/lib/lang/ar_mail_forward.lng
+++ b/interface/web/mail/lib/lang/ar_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'There is already a mailbox with this email addre
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/bg_mail_forward.lng b/interface/web/mail/lib/lang/bg_mail_forward.lng
index 538d65dc2a52e5e54172063dbdf616ba89797ab4..b5c80dd89d244a76039b09d25322a3dce8939b19 100644
--- a/interface/web/mail/lib/lang/bg_mail_forward.lng
+++ b/interface/web/mail/lib/lang/bg_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Вече съществува пощенска 
 $wb['domain_txt'] = 'Домейн';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/br_mail_forward.lng b/interface/web/mail/lib/lang/br_mail_forward.lng
index 5a2400e49b9b215f9cfd68b5a9b1b86341e3e852..1402019fdcf6276743b06810ed3555e63077563a 100644
--- a/interface/web/mail/lib/lang/br_mail_forward.lng
+++ b/interface/web/mail/lib/lang/br_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'O limite de encaminhamentos de e-mail para esta
 $wb['duplicate_mailbox_txt'] = 'Já existe um conta de e-mail idêntica.';
 $wb['domain_txt'] = 'Domínio';
 $wb['source_txt'] = 'Endereço de e-mail de origem';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Por favor informe um endereço de e-mail válido.';
 $wb['send_as_txt'] = 'Enviar como';
 $wb['send_as_exp'] = 'Permitir o destino enviar e-mails usando este endereço como origem (se o destino for interno)';
diff --git a/interface/web/mail/lib/lang/ca_mail_forward.lng b/interface/web/mail/lib/lang/ca_mail_forward.lng
index c4a6c1ea260308c1f7017044c3ed259318c3ee9a..7b8feb1e8f1d7bdcd3b58b02dd897f7adaf2fc2b 100644
--- a/interface/web/mail/lib/lang/ca_mail_forward.lng
+++ b/interface/web/mail/lib/lang/ca_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'Le nombre maximal de transferts d\'email pour vo
 $wb['duplicate_mailbox_txt'] = 'Il y a déja une boite courriel avec cette adresse courriel';
 $wb['domain_txt'] = 'Domaine';
 $wb['source_txt'] = 'Source courriel';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/cz_mail_forward.lng b/interface/web/mail/lib/lang/cz_mail_forward.lng
index f471ce97f47bf7d4fb8505ea02263daf6401d216..0685fbbd4946413e072f499b82be5ad8e85bea66 100644
--- a/interface/web/mail/lib/lang/cz_mail_forward.lng
+++ b/interface/web/mail/lib/lang/cz_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'Byl dosažen maximální počet e-mail předáv
 $wb['duplicate_mailbox_txt'] = 'Mailbox s touto adresou již existuje';
 $wb['domain_txt'] = 'Doména';
 $wb['source_txt'] = 'Zdrojový e-mail';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Zadejte prosím platnou e-mailovou adresu.';
 $wb['send_as_txt'] = 'Odeslat jako';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/de_mail_forward.lng b/interface/web/mail/lib/lang/de_mail_forward.lng
index f10d789671ee572ff4f4cdda1acc489c20588480..4825ef781121cf0e4cfea82145863170b505df65 100644
--- a/interface/web/mail/lib/lang/de_mail_forward.lng
+++ b/interface/web/mail/lib/lang/de_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'Die maximale Anzahl an E-Mail Weiterleitungen f
 $wb['duplicate_mailbox_txt'] = 'Es existiert bereits ein E-Mail Konto mit dieser Adresse.';
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Quell E-Mail Adresse';
+$wb['destination_error_empty'] = 'Das Weiterleitungsziel darf nicht leer sein.';
+$wb['destination_error_isemail'] = 'Das Weiterleitungsziel enthält mindestens eine ungültige E-Mail-Adresse.';
 $wb['email_error_isemail'] = 'Bitte geben Sie eine gültige E-Mail Adresse an.';
 $wb['send_as_txt'] = 'Senden als';
 $wb['send_as_exp'] = 'Ziel erlauben, die Adresse als Absender zu nutzen (Nur, falls das Ziel intern ist)';
diff --git a/interface/web/mail/lib/lang/dk_mail_forward.lng b/interface/web/mail/lib/lang/dk_mail_forward.lng
index 144435b7be0cdcfd086df5aa17ffebc80a4c312f..ba47d8421d438cea4b5c29871bd1351c0bca2731 100644
--- a/interface/web/mail/lib/lang/dk_mail_forward.lng
+++ b/interface/web/mail/lib/lang/dk_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'Max. antal af e-mail forwarders for din konto er
 $wb['duplicate_mailbox_txt'] = 'Der er allerede en mailboks med denne e-mail adresse';
 $wb['domain_txt'] = 'Domæne';
 $wb['source_txt'] = 'Kilde E-mail';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/el_mail_forward.lng b/interface/web/mail/lib/lang/el_mail_forward.lng
index 9a316c30188986eaebfa5ba96aaf3f3df94e0ab9..8893b2fa0ffb886cefbceea5ad37f2d7a9ef45d0 100644
--- a/interface/web/mail/lib/lang/el_mail_forward.lng
+++ b/interface/web/mail/lib/lang/el_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Υπάρχει ήδη μια θυρίδα με 
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/en_mail_forward.lng b/interface/web/mail/lib/lang/en_mail_forward.lng
index afa33635608e8f7eb3ac262cdbe2bf0116beaddc..c38e2bf4ffe7c38e3ea4cdce2acf7444e1ae3b8b 100644
--- a/interface/web/mail/lib/lang/en_mail_forward.lng
+++ b/interface/web/mail/lib/lang/en_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'The max. number of email forwarders for your acc
 $wb['duplicate_mailbox_txt'] = 'There is already a mailbox with this email address';
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/es_mail_forward.lng b/interface/web/mail/lib/lang/es_mail_forward.lng
index 2520e06b39b3d8138abb53cecfb42a1066aade6e..7ea99ea61909f1b6388fbe7a0c58454f15f73a73 100644
--- a/interface/web/mail/lib/lang/es_mail_forward.lng
+++ b/interface/web/mail/lib/lang/es_mail_forward.lng
@@ -3,6 +3,8 @@ $wb['active_txt'] = 'Habilitado';
 $wb['destination_txt'] = 'Destino del correo';
 $wb['domain_txt'] = 'Dominio';
 $wb['duplicate_mailbox_txt'] = 'Ya existe un buzón con esta cuenta de correo.';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Por favor, introduzca una dirección de correo válida.';
 $wb['email_txt'] = 'Correo';
 $wb['greylisting_txt'] = 'Habilitar Lista Gris';
diff --git a/interface/web/mail/lib/lang/fi_mail_forward.lng b/interface/web/mail/lib/lang/fi_mail_forward.lng
index 8f201579ec07e6f0dbaa06a9d6720d3e41da4407..80d34b500437108ba8d7300d27dd2af6e561fb5e 100644
--- a/interface/web/mail/lib/lang/fi_mail_forward.lng
+++ b/interface/web/mail/lib/lang/fi_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Edelleenlähetyssääntö osoitteelle on jo olem
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/fr_mail_forward.lng b/interface/web/mail/lib/lang/fr_mail_forward.lng
index 4c40b194193258227cfc625e6b1e0f3204550d72..fd6d13c6bb0d84e4f1917cbc0f368b24d2ae2f5b 100644
--- a/interface/web/mail/lib/lang/fr_mail_forward.lng
+++ b/interface/web/mail/lib/lang/fr_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'Le nombre maximal de transferts d’e-mail pour
 $wb['duplicate_mailbox_txt'] = 'Il y a déja une boîte e-mail avec cette adresse e-mail';
 $wb['domain_txt'] = 'Domaine';
 $wb['source_txt'] = 'Source Email';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/hr_mail_forward.lng b/interface/web/mail/lib/lang/hr_mail_forward.lng
index 3d815230ab90d4b386808c6bd3cb58d175369059..10abd5fe9286fceb3d1f40b3707c369bafcc39f3 100644
--- a/interface/web/mail/lib/lang/hr_mail_forward.lng
+++ b/interface/web/mail/lib/lang/hr_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Već postoji mailbox sa tom email adresom';
 $wb['domain_txt'] = 'Domena';
 $wb['source_txt'] = 'Izvorni email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/hu_mail_forward.lng b/interface/web/mail/lib/lang/hu_mail_forward.lng
index 7d46b784abd3c624f6a6afb186655643f9b32a48..c58ae29d317bd3de03e716cbfe77f76cb068eaaa 100644
--- a/interface/web/mail/lib/lang/hu_mail_forward.lng
+++ b/interface/web/mail/lib/lang/hu_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'There is already a mailbox with this email addre
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/id_mail_forward.lng b/interface/web/mail/lib/lang/id_mail_forward.lng
index 3db6c759c5c28309035951c49bcd4afcbc9d34b0..5f0c788878e3cb5223205438c0cfaa1b47997843 100644
--- a/interface/web/mail/lib/lang/id_mail_forward.lng
+++ b/interface/web/mail/lib/lang/id_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Sudah ada mailbox untuk alamat email ini';
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/it_mail_forward.lng b/interface/web/mail/lib/lang/it_mail_forward.lng
index e71f91b4344a532aac9d3969f23560cb54d8c2ad..3b5210fba1e19d02aa9ae23fcc771937f1910e1e 100644
--- a/interface/web/mail/lib/lang/it_mail_forward.lng
+++ b/interface/web/mail/lib/lang/it_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'Raggiunto il numero massimo di forwarders per il
 $wb['duplicate_mailbox_txt'] = 'Esiste già una casella email per questo indirizzo';
 $wb['domain_txt'] = 'Dominio';
 $wb['source_txt'] = 'Source Email';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/ja_mail_forward.lng b/interface/web/mail/lib/lang/ja_mail_forward.lng
index eb742ce42635357753a5409ab9a3710a58ee971e..f849f7bf18070bb4073d96c1982e26063dac971d 100644
--- a/interface/web/mail/lib/lang/ja_mail_forward.lng
+++ b/interface/web/mail/lib/lang/ja_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'このメールアドレス向けのメールボ
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/nl_mail_forward.lng b/interface/web/mail/lib/lang/nl_mail_forward.lng
index 4fa4422178a9edf261cd41279ee7b632e33b6f5b..6bf586a0d2b849cf643a71d2cae3f7b5e74c5b86 100644
--- a/interface/web/mail/lib/lang/nl_mail_forward.lng
+++ b/interface/web/mail/lib/lang/nl_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Er is al een mailbox met dit e-mailadres';
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/pl_mail_forward.lng b/interface/web/mail/lib/lang/pl_mail_forward.lng
index 42ba61e3738670ccd0655db2aef6cf3756426c3f..ce79e1093894a8698e8d4dd9b3f3e63fa9ef1121 100644
--- a/interface/web/mail/lib/lang/pl_mail_forward.lng
+++ b/interface/web/mail/lib/lang/pl_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Istnieje już skrzynka pocztowa o podanym adresi
 $wb['domain_txt'] = 'Domena';
 $wb['source_txt'] = 'E-mail źródłowy';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/pt_mail_forward.lng b/interface/web/mail/lib/lang/pt_mail_forward.lng
index 784acfa1d33112f1779adb1f4f7bf04194c42bfd..db67461967dd5fa9926bf34ea2dfb0a04d287ad8 100644
--- a/interface/web/mail/lib/lang/pt_mail_forward.lng
+++ b/interface/web/mail/lib/lang/pt_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Já existe uma caixa de correio com este endere
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/ro_mail_forward.lng b/interface/web/mail/lib/lang/ro_mail_forward.lng
index 8e2ed55d74a4909e893dbaa32384370612bcc630..5e00bf05271f58029e2676aad9430019bede7592 100644
--- a/interface/web/mail/lib/lang/ro_mail_forward.lng
+++ b/interface/web/mail/lib/lang/ro_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'There is already a mailbox with this email addre
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/ru_mail_forward.lng b/interface/web/mail/lib/lang/ru_mail_forward.lng
index 94573623af8e1c737cf2efb19bc4d43d64c3df26..6eb11f4f9130677a55bfc428eba2863e143b17b8 100644
--- a/interface/web/mail/lib/lang/ru_mail_forward.lng
+++ b/interface/web/mail/lib/lang/ru_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Почтовый ящик с таким имен
 $wb['domain_txt'] = 'Домен';
 $wb['source_txt'] = 'Источник Email';
 $wb['greylisting_txt'] = 'Включить серый список (Greylisting)';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Некорректный почтовый адрес.';
 $wb['send_as_txt'] = 'Отправить как';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/se_mail_forward.lng b/interface/web/mail/lib/lang/se_mail_forward.lng
index d49fd63ace6d2353df351ed1ac0a240274ff434d..7b0aa2bc163a924bb01a49550cd3ba44c36d8f49 100644
--- a/interface/web/mail/lib/lang/se_mail_forward.lng
+++ b/interface/web/mail/lib/lang/se_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Det finns redan ett epostkonto med denna adress'
 $wb['domain_txt'] = 'Domän';
 $wb['source_txt'] = 'Källadress';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/sk_mail_forward.lng b/interface/web/mail/lib/lang/sk_mail_forward.lng
index 8932dc9ac5270af310f5ddf58f269b63198239b4..399971261aa76a5d0d3bf6c48333b66b7324c94f 100644
--- a/interface/web/mail/lib/lang/sk_mail_forward.lng
+++ b/interface/web/mail/lib/lang/sk_mail_forward.lng
@@ -7,6 +7,8 @@ $wb['duplicate_mailbox_txt'] = 'Existuje už schránku s touto e-mailovou adreso
 $wb['domain_txt'] = 'Domain';
 $wb['source_txt'] = 'Source Email';
 $wb['greylisting_txt'] = 'Enable greylisting';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Please enter a valid email address.';
 $wb['send_as_txt'] = 'Send as';
 $wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)';
diff --git a/interface/web/mail/lib/lang/tr_mail_forward.lng b/interface/web/mail/lib/lang/tr_mail_forward.lng
index 2352cd945f1922157886698000a7d5637f5681d0..bdcd02a8623c212d9bfe7a8045a9d8d302becdaa 100644
--- a/interface/web/mail/lib/lang/tr_mail_forward.lng
+++ b/interface/web/mail/lib/lang/tr_mail_forward.lng
@@ -6,6 +6,8 @@ $wb['limit_mailforward_txt'] = 'Hesabınıza ekleyebileceğiniz en fazla e-posta
 $wb['duplicate_mailbox_txt'] = 'Bu e-posta adresini kullanan bir e-posta kutusu zaten var';
 $wb['domain_txt'] = 'Etki Alanı';
 $wb['source_txt'] = 'Kaynak E-posta';
+$wb['destination_error_empty'] = 'The destination must not be empty.';
+$wb['destination_error_isemail'] = 'The destination contains at least one invalid email address.';
 $wb['email_error_isemail'] = 'Lütfen geçerli bir e-posta adresi yazın.';
 $wb['send_as_txt'] = 'Gönderen';
 $wb['send_as_exp'] = 'Hedef bu adresi kaynak olarak göstererek e-posta gönderebilsin (hedef iç kullanıcı ise)';
diff --git a/interface/web/mail/mail_forward_edit.php b/interface/web/mail/mail_forward_edit.php
index e783ad98a9e390363a8b32c34660027ff4c7203b..3106dc477c58dad075bc550a6c03698c9e7b5b6a 100644
--- a/interface/web/mail/mail_forward_edit.php
+++ b/interface/web/mail/mail_forward_edit.php
@@ -120,6 +120,19 @@ class page_action extends tform_actions {
 		unset($this->dataRecord["email_local_part"]);
 		unset($this->dataRecord["email_domain"]);
 
+		if(trim($this->dataRecord['destination']) == '') {
+			$app->tform->errorMessage .= $app->tform->lng('destination_error_empty') . '<br />';
+		} else {
+			$targets = preg_split('/[,;\s]+/', trim($this->dataRecord['destination']));
+			foreach($targets as $target) {
+				if(!$target || filter_var($target, FILTER_VALIDATE_EMAIL) === false) {
+					$app->tform->errorMessage .= $app->tform->lng('destination_error_isemail') . '<br />';
+					break;
+				}
+			}
+			$this->dataRecord['destination'] = implode(', ', $targets);
+		}
+
 		//* Check if there is no active mailbox with this address
 		$tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE postfix = 'y' AND email = ?", $this->dataRecord["source"]);
 		if($tmp['number'] > 0) $app->tform->errorMessage .= $app->tform->lng("duplicate_mailbox_txt")."<br>";
diff --git a/interface/web/mail/templates/mail_forward_edit.htm b/interface/web/mail/templates/mail_forward_edit.htm
index a5de2a00b73421a23ffb670af039169badba9867..128ad4cd7507ef820cd2b092db74e3f3d2180d02 100644
--- a/interface/web/mail/templates/mail_forward_edit.htm
+++ b/interface/web/mail/templates/mail_forward_edit.htm
@@ -11,7 +11,7 @@
 				</div>
             </div>
             <div class="form-group">
-                <label for="destination" class="col-sm-3 control-label">{tmpl_var name='destination_txt'}</label>
+                <label for="destination" class="col-sm-3 control-label"><em>*</em> {tmpl_var name='destination_txt'}</label>
                 <div class="col-sm-9"><textarea rows="10" cols="40" name="destination" id="destination" class="form-control">{tmpl_var name='destination'}</textarea></div>
             </div>
             <div class="form-group">
diff --git a/interface/web/mail/templates/mail_user_backup_list.htm b/interface/web/mail/templates/mail_user_backup_list.htm
index 87dc2a548fad9b582e4d09dcc4b8bc9c949b2665..95fec378f4507ba5588f29991918dbd7931c56d3 100644
--- a/interface/web/mail/templates/mail_user_backup_list.htm
+++ b/interface/web/mail/templates/mail_user_backup_list.htm
@@ -2,7 +2,16 @@
     <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
 </tmpl_if>
 <tmpl_if name="error">
-    <div id="errorMsg"><h3><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
+  <div class='alert alert-danger clear'>
+    <div class='alert-label'>
+      <strong><tmpl_var name="error_txt"></strong>
+    </div>
+    <div class='alert-content'>
+      <ul style="list-style-type:none">
+        <tmpl_var name="error">
+      </ul>
+    </div>
+  </div>
 </tmpl_if>
 <h3><tmpl_var name="list_head_txt"></h3>
 
diff --git a/interface/web/themes/default/templates/error.tpl.htm b/interface/web/themes/default/templates/error.tpl.htm
index dbb730f59960def03ce504c79db2251f38b55909..20e5dfc2fa877f055423156fdd0379367cf0fb68 100644
--- a/interface/web/themes/default/templates/error.tpl.htm
+++ b/interface/web/themes/default/templates/error.tpl.htm
@@ -1,8 +1,8 @@
 <div class='alert alert-danger clear'>
   <div class='alert-label'><strong><tmpl_var name="error_txt"></strong></div>
   <div class='alert-content'>
-	<ol>
-		<li>###ERRORMSG###</li>
-	</ol>
+    <ul style="list-style-type:none">
+      <li>###ERRORMSG###</li>
+    </ul>
   </div>
 </div>
diff --git a/interface/web/themes/default/templates/tabbed_form.tpl.htm b/interface/web/themes/default/templates/tabbed_form.tpl.htm
index 5a500038898abf076ca364e51ce0f2db31f79dcd..b15bc6ac1ab431d1d414d5fb47d0ac45a9fb0009 100644
--- a/interface/web/themes/default/templates/tabbed_form.tpl.htm
+++ b/interface/web/themes/default/templates/tabbed_form.tpl.htm
@@ -1,36 +1,40 @@
 	<tmpl_if name="form_hint">
 		<div class='page-header'>
-		  <h1><tmpl_var name="form_hint"></h1>
+			<h1><tmpl_var name="form_hint"></h1>
 		</div>
 	</tmpl_if>
 	<tmpl_if name="msg">
-		<div class='alert alert-notification'>
-		  <tmpl_var name="msg">
-		</div>
+		<div class='alert alert-notification'><tmpl_var name="msg"></div>
 	</tmpl_if>
 	<tmpl_if name="error">
 		<div class='alert alert-danger clear'>
-		  <div class='alert-label'><strong><tmpl_var name="error_txt"></strong></div>
-		  <div class='alert-content'>
-			<ol><tmpl_var name="error"></ol>
-		  </div>
+			<div class='alert-label'><strong>
+					<tmpl_var name="error_txt">
+				</strong></div>
+			<div class='alert-content'>
+				<ul style="list-style-type:none">
+					<tmpl_var name="error">
+				</ul>
+			</div>
 		</div>
 	</tmpl_if>
-	
+
 	<!-- content in tabs -->
 	<div class='content-tab-wrapper'>
 		<!-- tabs -->
 		<ul class='nav nav-tabs'>
-		<tmpl_loop name="formTab">
-			<li<tmpl_if name="active"> class='active'</tmpl_if>>
-				<a href='#' onclick="return ISPConfig.changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a>
-			</li>
-        </tmpl_loop>
+			<tmpl_loop name="formTab">
+				<li<tmpl_if name="active"> class='active'</tmpl_if>>
+					<a href='#' onclick="return ISPConfig.changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')">
+						<tmpl_var name='title'>
+					</a>
+					</li>
+			</tmpl_loop>
 		</ul>
 
 		<div id="tabbox_content" class="tab-content">
 			<div class='tab-pane active fade in'>
-			<tmpl_dyninclude name="content_tpl">
+				<tmpl_dyninclude name="content_tpl">
 			</div>
 		</div>
 
diff --git a/interface/web/tools/templates/dns_import_tupa.htm b/interface/web/tools/templates/dns_import_tupa.htm
index 4593fbb8002e71ca47c63ae50fce1a9afcb89191..bd2d07c479bef23629130ecd76449084acf4b07f 100644
--- a/interface/web/tools/templates/dns_import_tupa.htm
+++ b/interface/web/tools/templates/dns_import_tupa.htm
@@ -17,7 +17,7 @@
             <div class="form-group">
                 <label class="col-sm-3 control-label" for="dbpassword">Tupa database password</label>
                 <div class="col-sm-9"><input class="form-control" type="text" id="dbpassword" value="{tmpl_var name='dbpassword'}" name="dbpassword" /></div>
-            </div>                
+            </div>
             <div class="form-group">
                 <label class="col-sm-3 control-label" for="dboptions">Tupa database options</label>
                 <div class="col-sm-9" id="dboptions">
@@ -29,12 +29,21 @@
             <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
         </tmpl_if>
         <tmpl_if name="error">
-            <div id="errorMsg"><h3><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
+          <div class='alert alert-danger clear'>
+            <div class='alert-label'>
+              <strong><tmpl_var name="error_txt"></strong>
+              </div>
+            <div class='alert-content'>
+              <ul style="list-style-type:none">
+                <tmpl_var name="error">
+              </ul>
+            </div>
+          </div>
         </tmpl_if>
 
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
 		<input type="hidden" name="start" value="1">
-            
+
         <div class="clear"><div class="right">
             <button class="btn btn-default formbutton-success" type="button" value="Import" data-submit-form="pageForm" data-form-action="tools/dns_import_tupa.php">Start</button>
             <button class="btn btn-default formbutton-default" type="button" value="Cancel" data-load-content="tools/index.php">Cancel</button>
diff --git a/interface/web/tools/templates/import_ispconfig.htm b/interface/web/tools/templates/import_ispconfig.htm
index 9d845701f6dc403dd60725a9d2554f609b319fa2..278a6de5ea55df6e7c9b817ac2e11aaba51749c6 100644
--- a/interface/web/tools/templates/import_ispconfig.htm
+++ b/interface/web/tools/templates/import_ispconfig.htm
@@ -4,7 +4,7 @@
 <p><tmpl_var name="list_desc_txt"></p>
 
 <div class="panel panel_language_import" style="padding:20px;">
-  
+
     <div class="pnl_formsarea">
         <legend>{tmpl_var name="legend_txt"}</legend>
             <div class="form-group">
@@ -19,7 +19,7 @@
                 <label class="col-sm-3 control-label">Remote password</label>
                 <div class="col-sm-9"><input class="form-control" type="text" id="remote_password" value="{tmpl_var name='remote_password'}" name="remote_password" /></div>
             </div>
-        
+
     </div>
     <tmpl_if name="connected">
         <div class="pnl_formsarea">
@@ -66,17 +66,26 @@
                     <label class="col-sm-3 control-label">{tmpl_var name="import_aliasdomain_txt"}</label>
                     <div class="col-sm-9"><input class="form-control" type="checkbox" id="import_aliasdomain" value="1" name="import_aliasdomain" checked="checked" /></div>
                 </div>
-            
+
         </div>
     </tmpl_if>
-	 
+
     <tmpl_if name="msg">
         <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
     </tmpl_if>
     <tmpl_if name="error">
-        <div id="errorMsg"><h3><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
+			<div class='alert alert-danger clear'>
+				<div class='alert-label'>
+					<strong><tmpl_var name="error_txt"></strong>
+					</div>
+				<div class='alert-content'>
+					<ul style="list-style-type:none">
+						<tmpl_var name="error">
+					</ul>
+				</div>
+			</div>
     </tmpl_if>
-	
+
     <input type="hidden" name="remote_session_id" value="{tmpl_var name='remote_session_id'}">
     <input type="hidden" name="connected" value="{tmpl_var name='connected'}">
     <tmpl_if name="connected">
@@ -90,4 +99,4 @@
             <button class="btn btn-default formbutton-default" type="button" value="Cancel" data-load-content="tools/index.php">{tmpl_var name="btn_cancel_txt"}</button>
         </div></div>
     </tmpl_if>
-  </div>
\ No newline at end of file
+  </div>
diff --git a/interface/web/tools/templates/import_plesk.htm b/interface/web/tools/templates/import_plesk.htm
index 645913abd64cad157d11a75d9e5d35e408fd9e7c..2a8110d6bf3af6a03d99cf1a5436483837f6241c 100644
--- a/interface/web/tools/templates/import_plesk.htm
+++ b/interface/web/tools/templates/import_plesk.htm
@@ -27,7 +27,7 @@
                 <label class="col-sm-3 control-label">Maildir content backup file (on this server, optional)</label>
                 <div class="col-sm-9"><input class="form-control" type="text" id="mailcontent" value="{tmpl_var name='mailcontent'}" name="mailcontent" /></div>
             </div>
-                
+
             <div class="form-group">
                 <label class="col-sm-3 control-label">Import all data (that can be imported)</label>
                 <div class="col-sm-9"><input class="form-control" type="checkbox" id="start" value="1" name="start" checked/></div>
@@ -36,18 +36,27 @@
                 <label class="col-sm-3 control-label">Import database contents (make sure the database user has the rights to do so)</label>
                 <div class="col-sm-9"><input class="form-control" type="checkbox" id="dbdata" value="1" name="dbdata" checked/></div>
             </div>
-        
+
 
         <tmpl_if name="msg">
             <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
         </tmpl_if>
         <tmpl_if name="error">
-            <div id="errorMsg"><h3><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
+          <div class='alert alert-danger clear'>
+            <div class='alert-label'>
+              <strong><tmpl_var name="error_txt"></strong>
+              </div>
+            <div class='alert-content'>
+              <ul style="list-style-type:none">
+                <tmpl_var name="error">
+              </ul>
+            </div>
+          </div>
         </tmpl_if>
 
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
+
         <div class="clear"><div class="right">
             <button class="btn btn-default formbutton-success" type="button" value="Import" data-submit-form="pageForm" data-form-action="tools/import_plesk.php">Start</button>
             <button class="btn btn-default formbutton-default" type="button" value="Cancel" data-load-content="tools/index.php">Cancel</button>
-        </div></div>
\ No newline at end of file
+        </div></div>
diff --git a/interface/web/tools/templates/import_vpopmail.htm b/interface/web/tools/templates/import_vpopmail.htm
index 7876875b9828e9bc9d1f2be90b75bf3449f268c0..86bf46891aabf19e9aabd73744a8f2c69a0e7474 100644
--- a/interface/web/tools/templates/import_vpopmail.htm
+++ b/interface/web/tools/templates/import_vpopmail.htm
@@ -4,7 +4,7 @@
 <p><tmpl_var name="list_desc_txt"></p>
 
 <div class="panel panel_language_import">
-  
+
     <div class="pnl_formsarea">
         <legend>{tmpl_var name="legend_txt"}</legend>
             <div class="form-group">
@@ -34,14 +34,23 @@
                 <div class="col-sm-9"><input class="form-control" type="text" id="local_server_id" value="{tmpl_var name='local_server_id'}" name="local_server_id" /></div>
             </div>
     </div>
-	 
+
     <tmpl_if name="msg">
         <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
     </tmpl_if>
     <tmpl_if name="error">
-        <div id="errorMsg"><h3><tmpl_var name="error_txt"></h3><ol><tmpl_var name="error"></ol></div>
+			<div class='alert alert-danger clear'>
+				<div class='alert-label'>
+					<strong><tmpl_var name="error_txt"></strong>
+					</div>
+				<div class='alert-content'>
+					<ul style="list-style-type:none">
+						<tmpl_var name="error">
+					</ul>
+				</div>
+			</div>
     </tmpl_if>
-	
+
     <input type="hidden" name="remote_session_id" value="{tmpl_var name='remote_session_id'}">
         <div class="clear"><div class="right">
             <button class="btn btn-default formbutton-success" type="button" value="Import" data-submit-form="pageForm" data-form-action="tools/import_vpopmail.php">{tmpl_var name="btn_start_txt"}</button>
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 432f5f107b98cb5872dc6437e4aa2423f930b401..43127acdc11f31bf5c325ddc1584942c38e3e678 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -561,13 +561,30 @@ class monitor_tools {
 			}
 			break;
 		case 'log_letsencrypt':
+				$check_files = [];
+				if(file_exists($conf['ispconfig_log_dir'].'/acme.log')) {
+					$check_files[] = $conf['ispconfig_log_dir'].'/acme.log';
+				}
 				if(file_exists('/root/.acme.sh/acme.sh') && file_exists('/root/.acme.sh/acme.sh.log')) {
-					$logfile = '/root/.acme.sh/acme.sh.log';
-				} elseif(file_exists('/usr/local/ispconfig/server/scripts/acme.sh') && file_exists('/usr/local/ispconfig/server/scripts/acme.sh.log')) {
-					$logfile = '/usr/local/ispconfig/server/scripts/acme.sh.log';
-				} else {
-					$logfile = '/var/log/letsencrypt/letsencrypt.log';
+					$check_files[] = '/root/.acme.sh/acme.sh.log';
+				}
+				if(file_exists('/usr/local/ispconfig/server/scripts/acme.sh') && file_exists('/usr/local/ispconfig/server/scripts/acme.sh.log')) {
+					$check_files[] = '/usr/local/ispconfig/server/scripts/acme.sh.log';
+				}
+				if(file_exists('/var/log/letsencrypt/letsencrypt.log')) {
+					$check_files = '/var/log/letsencrypt/letsencrypt.log';
+				}
+				$logfile = '';
+				$newest = 0;
+
+				foreach($check_files as $file) {
+					$mtime = filemtime($file);
+					if($mtime > $newest) {
+						$newest = $mtime;
+						$logfile = $file;
+					}
 				}
+				unset($check_files);
 			break;
 		case 'log_freshclam':
 			if ($dist == 'debian') {