diff --git a/docs/INSTALL_CENTOS_5.2.txt b/docs/INSTALL_CENTOS_5.2.txt
index 845fae36a6eac57c14da58fe2d61f20bc28b46d1..7cc464b0c742e86715163b496133b98def5c80f3 100644
--- a/docs/INSTALL_CENTOS_5.2.txt
+++ b/docs/INSTALL_CENTOS_5.2.txt
@@ -162,6 +162,18 @@ tar xvfz vlogger-1.3.tar.gz
 mv vlogger-1.3/vlogger /usr/sbin/
 rm -rf vlogger*
 
+Edit the file /etc/sudoers
+
+vi /etc/sudoers
+
+and change the line:
+
+Defaults    requiretty
+
+to:
+
+# Defaults    requiretty
+
 7) Install ISPConfig 3
 
 Disable the firewall:
diff --git a/docs/INSTALL_CENTOS_5.4_dovecot_bind.txt b/docs/INSTALL_CENTOS_5.4_dovecot_bind.txt
index 4fbce1262d4eb9cd8d9e0f87ac552e12ba7760c8..f3b498266ecf88aafae5d4479e7e87b6f57d0bd9 100644
--- a/docs/INSTALL_CENTOS_5.4_dovecot_bind.txt
+++ b/docs/INSTALL_CENTOS_5.4_dovecot_bind.txt
@@ -191,6 +191,18 @@ make
 make install
 rm -rf jailkit-2.11*
 
+Edit the file /etc/sudoers
+
+vi /etc/sudoers
+
+and change the line:
+
+Defaults    requiretty
+
+to:
+
+# Defaults    requiretty
+
 
 7) Install ISPConfig 3
 
diff --git a/install/dist/lib/centos53.lib.php b/install/dist/lib/centos53.lib.php
index d69bc020065a2a372e0d5c711fd300f4c8bc762e..7b3337d966bd7a8d5a8b6fb23464e419820cfce7 100644
--- a/install/dist/lib/centos53.lib.php
+++ b/install/dist/lib/centos53.lib.php
@@ -37,6 +37,7 @@ class installer extends installer_dist {
 		$configfile = 'fedora_amavisd_conf';
 		if(is_file($conf["amavis"]["config_dir"].'/amavisd.conf')) copy($conf["amavis"]["config_dir"].'/amavisd.conf',$conf["amavis"]["config_dir"].'/amavisd.conf~');
 		if(is_file($conf["amavis"]["config_dir"].'/amavisd.conf~')) exec('chmod 400 '.$conf["amavis"]["config_dir"].'/amavisd.conf~');
+		if(!is_dir($conf["amavis"]["config_dir"])) mkdir($conf["amavis"]["config_dir"]);
 		$content = rf("tpl/".$configfile.".master");
 		$content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
 		$content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 20f832b55170fa971e7a8c390dee4e4d8df8c775..eec9af6cc785752eb9475b3bafc7293cd405b157 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -903,6 +903,9 @@ class installer_dist extends installer_base {
 		exec('chown getmail /usr/local/bin/run-getmail.sh');
 		exec('chmod 744 /usr/local/bin/run-getmail.sh');
 		
+		// Edit the file Edit the file /etc/sudoers and comment out the requiregetty line, otherwise the backup function will fail
+		replaceLine('/etc/sudoers','Defaults    requiretty','#Defaults    requiretty',0,0);
+		
 		
 	}
 	
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index f9c4ba38b3b3a9c2e0ba0a7d3d9bf828a087cea6..9edc4a19c9c18b91ce93128326ad062aeddf2ce3 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1010,7 +1010,7 @@ class installer_base {
 		// copy('tpl/apache_ispconfig.conf.master',$vhost_conf_dir.'/ispconfig.conf');
 
 		$content = rf('tpl/apache_ispconfig.conf.master');
-		$records = $this->db->queryAllRecords("SELECT * FROM server_ip WHERE server_id = ".$conf["server_id"]." AND virtualhost = 'y'");
+		$records = $this->db->queryAllRecords('SELECT * FROM '.$conf['mysql']['master_database'].'.server_ip WHERE server_id = '.$conf['server_id']." AND virtualhost = 'y'");
 		if(is_array($records) && count($records) > 0) {
 			foreach($records as $rec) {
 				$content .= 'NameVirtualHost '.$rec['ip_address'].":80\n";
@@ -1036,6 +1036,10 @@ class installer_base {
 			replaceLine('/etc/webalizer/webalizer.conf','#Incremental','Incremental     yes',0,0);
 			replaceLine('/etc/webalizer/webalizer.conf','#HistoryName','HistoryName     webalizer.hist',0,0);
 		}
+		
+		// Check the awsatst script
+		if(!is_dir('/usr/share/awstats/tools')) exec('mkdir -p /usr/share/awstats/tools');
+		if(!file_exists('/usr/share/awstats/tools/awstats_buildstaticpages.pl') && file_exists('/usr/share/doc/awstats/examples/awstats_buildstaticpages.pl')) symlink('/usr/share/doc/awstats/examples/awstats_buildstaticpages.pl','/usr/share/awstats/tools/awstats_buildstaticpages.pl');
 
 		//* add a sshusers group
 		$command = 'groupadd sshusers';
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 8dbd915f221fc714dbeecec27a6b7a04615313ad..b3baa267a75f492ae7799010954fd1ab5e297866 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1102,7 +1102,6 @@ CREATE TABLE `web_domain` (
   `parent_domain_id` int(11) unsigned NOT NULL default '0',
   `vhost_type` varchar(32) default NULL,
   `document_root` varchar(255) default NULL,
-  `document_root_www` varchar(255) default NULL,
   `system_user` varchar(255) default NULL,
   `system_group` varchar(255) default NULL,
   `hd_quota` bigint(20) NOT NULL default '0',
@@ -1131,9 +1130,9 @@ CREATE TABLE `web_domain` (
   `stats_password` varchar(255) default NULL,
   `stats_type` varchar(255) default 'webalizer',
   `allow_override` varchar(255) NOT NULL default 'All',
-  `apache_directives` text,
-  `php_open_basedir` text,
-  `custom_php_ini` text,
+  `apache_directives` mediumtext,
+  `php_open_basedir` mediumtext,
+  `custom_php_ini` mediumtext,
   `backup_interval` VARCHAR( 255 ) NOT NULL DEFAULT 'none',
   `backup_copies` INT NOT NULL DEFAULT '1',
   `active` enum('n','y') NOT NULL default 'y',
@@ -1354,7 +1353,7 @@ INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`,
 -- Dumping data for table `sys_config`
 --
 
-INSERT INTO sys_config VALUES ('1','db','db_version','3.0.3');
+INSERT INTO sys_config VALUES ('1','db','db_version','3.0.3.1');
 
 -- --------------------------------------------------------
 
diff --git a/install/tpl/apache_ispconfig.conf.master b/install/tpl/apache_ispconfig.conf.master
index e8f311e32be8fc2b0130c7391b05dea9706c1bda..eefb0ca4816d688c3582c0b1a6f5c6b5656c7e25 100644
--- a/install/tpl/apache_ispconfig.conf.master
+++ b/install/tpl/apache_ispconfig.conf.master
@@ -41,6 +41,6 @@ CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m
         Order allow,deny
         Allow from all
 </Directory>
-Alias /awstats-icon "/usr/share/awstats/icon"
 
+Alias /awstats-icon "/usr/share/awstats/icon"
 
diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master
index 205b2bf73ef763974991b8dade68f4f95f3df9e7..495c942397cfc95019913d8a8af4ff48b15ba964 100644
--- a/install/tpl/config.inc.php.master
+++ b/install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.3');
+define('ISPC_APP_VERSION', '3.0.3.1');
 
 
 //** Database
diff --git a/install/update.php b/install/update.php
index ced040b0b56b8b24a7d0d42fc4405fb7deede116..fb4df831dce0df43802928ccbedb7e571f9550a4 100644
--- a/install/update.php
+++ b/install/update.php
@@ -308,7 +308,7 @@ $ispconfig_port_number = get_ispconfig_port_number();
 $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
 
 // $ispconfig_ssl_default = (is_ispconfig_ssl_enabled() == true)?'y':'n';
-if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate',array('y','n'),'n')) == 'y') {
+if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate',array('yes','no'),'no')) == 'yes') {
 	$inst->make_ispconfig_ssl_cert();
 }
 
diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index b9a417c58cefdce696d199f52679fea57b5d4268..4f9b8a985402f4cb3f9cefd48e54b4ae629ac9bd 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -362,7 +362,8 @@ class tform {
                                         // If Datasource is set, get the data from there
                                         if(isset($field['datasource']) && is_array($field['datasource'])) {
 												if(is_array($field["value"])) {
-													$field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record));
+													//$field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record));
+													$field["value"] = $field["value"]+$this->getDatasourceData($field, $record);
 												} else {
                                                 	$field["value"] = $this->getDatasourceData($field, $record);
 												}
diff --git a/interface/lib/lang/id.lng b/interface/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6ff8b84e918cd22b19c510c58b05bcd8dfeed1b2
--- /dev/null
+++ b/interface/lib/lang/id.lng
@@ -0,0 +1,39 @@
+<?php
+$wb['conf_format_dateshort'] = 'd-m-Y';
+$wb['conf_format_datelong'] = 'l dS of F Y';
+$wb['conf_format_timeshort'] = 'H:i';
+$wb['conf_format_timelong'] = 'H:i:s';
+$wb['conf_format_datetime'] = 'd-m-Y H:i';
+$wb['301'] = 'Modul tidak diperbolehkan diakses oleh pengguna saat ini.';
+$wb['302'] = 'Modul tidak valid.';
+$wb['1001'] = 'Nama pengguna dan kata sandi tidak boleh kosong !';
+$wb['1002'] = 'Nama pengguna dan/atau sandi salah !';
+$wb['1003'] = 'Pengguna tersebut telah dinonaktifkan!';
+$wb['delete_confirmation'] = 'Apakah Anda benar-benar ingin menghapus record ini?';
+$wb['error_no_view_permission'] = 'Anda tidak memiliki hak untuk melihat record ini atau record ini tidak ada!';
+$wb['error_no_delete_permission'] = 'Anda tidak memiliki hak untuk menghapus record ini!';
+$wb['page_txt'] = 'Halaman';
+$wb['page_of_txt'] = 'dari';
+$wb['page_and_txt'] = 'dan';
+$wb['page_next_txt'] = 'Lanjut';
+$wb['page_back_txt'] = 'Kembali';
+$wb['delete_txt'] = 'Hapus';
+$wb['filter_txt'] = 'Filter';
+$wb['add_new_record_txt'] = 'Tambah record baru';
+$wb['btn_save_txt'] = 'Simpan';
+$wb['btn_cancel_txt'] = 'Kembali';
+$wb['top_menu_system'] = 'Sistem';
+$wb['top_menu_client'] = 'Klien';
+$wb['top_menu_email'] = 'Email';
+$wb['top_menu_monitor'] = 'Monitor';
+$wb['top_menu_sites'] = 'Situs';
+$wb['top_menu_dns'] = 'DNS';
+$wb['top_menu_tools'] = 'Perkakas';
+$wb['top_menu_help'] = 'Bantuan';
+$wb['toolsarea_head_txt'] = 'Perkakas';
+$wb['top_menu_billing'] = 'Billing';
+$wb['top_menu_domain'] = 'Domain';
+$wb['top_menu_dashboard'] = 'Beranda';
+$wb['latest_news_txt'] = 'Berita terbaru';
+?>
+
diff --git a/interface/lib/lang/nl.lng b/interface/lib/lang/nl.lng
index 66077a4e27e4c503da64f2237f6fb1aa47e3e149..3c6433c71ae431dc12123d7085bd0ef235645324 100644
--- a/interface/lib/lang/nl.lng
+++ b/interface/lib/lang/nl.lng
@@ -39,3 +39,4 @@ $wb['latest_news_txt'] = 'Laatste nieuws';
 
 
 
+
diff --git a/interface/web/admin/lib/lang/id.lng b/interface/web/admin/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..51a90b05f52358e82b61b4fc4526450124041ba2
--- /dev/null
+++ b/interface/web/admin/lib/lang/id.lng
@@ -0,0 +1,44 @@
+<?php
+$wb['1001'] = 'Nama pengguna atau sandi kosong.';
+$wb['1002'] = 'Nama pengguna atau sandi salah.';
+$wb['Firewall'] = 'Firewall';
+$wb['Groups'] = 'Grup';
+$wb['groups_description'] = 'Form untuk menyunting grup pengguna sistem.';
+$wb['Server'] = 'Server';
+$wb['Services'] = 'Layanan';
+$wb['Config'] = 'Konfigurasi';
+$wb['Server Config'] = 'Konfigurasi Server';
+$wb['Mail'] = 'Mail';
+$wb['Getmail'] = 'Ambil Mail';
+$wb['Web'] = 'Web';
+$wb['FastCGI'] = 'FastCGI';
+$wb['Jailkit'] = 'Jailkit';
+$wb['System'] = 'Sistem';
+$wb['Add user'] = 'Tambah Pengguna';
+$wb['Edit user'] = 'Sunting Pengguna';
+$wb['CP Users'] = 'Pengguna CP';
+$wb['Add group'] = 'Tambah Grup';
+$wb['Edit group'] = 'Sunting Grup';
+$wb['Edit server'] = 'Sunting Server';
+$wb['Edit Server IP'] = 'Alamat IP Server';
+$wb['Servers'] = 'Server';
+$wb['Sync. Now'] = 'Sinkronisasi Sekarang';
+$wb['DB Sync.'] = 'Sinkronisasi DB.';
+$wb['Languages'] = 'Bahasa';
+$wb['New Language'] = 'Bahasa Baru';
+$wb['Export'] = 'Ekspor';
+$wb['Import'] = 'Impor';
+$wb['Language Editor'] = 'Penyunting Bahasa';
+$wb['Software'] = 'Perangkat Lunak';
+$wb['Repositories'] = 'Repositori';
+$wb['Server Services'] = 'Layanan Server';
+$wb['Interface Config'] = 'Konfigurasi Antarmuka';
+$wb['Packages'] = 'Paket';
+$wb['Updates'] = 'Pemutakhiran';
+$wb['Merge'] = 'Gabung';
+$wb['Remote Users'] = 'Pengguna Remote';
+$wb['Remote Actions'] = 'Tindakan Remote';
+$wb['Do OS-Update'] = 'Lakukan Pemutakhiran OS';
+$wb['Do ISPConfig-Update'] = 'Lakukan Pemutakhiran ISPConfig';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_firewall.lng b/interface/web/admin/lib/lang/id_firewall.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b4b152c0c9abc59b6b8707c9d39d2db6b0ce96f5
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_firewall.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['tcp_port_txt'] = 'Port TCP yang dibuka';
+$wb['udp_port_txt'] = 'Port UDP yang dibuka';
+$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 ,.';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_firewall_list.lng b/interface/web/admin/lib/lang/id_firewall_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ea9780d22db0c60d7b57aa433f68a54a3d2be7d4
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_firewall_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Firewall';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['tcp_port_txt'] = 'Port TCP yang dibuka';
+$wb['udp_port_txt'] = 'Port UDP yang dibuka';
+$wb['add_new_record_txt'] = 'Tambah record Firewall';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_groups.lng b/interface/web/admin/lib/lang/id_groups.lng
new file mode 100644
index 0000000000000000000000000000000000000000..75e2799601f5537879672e73a36fdd4a317452bc
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_groups.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['description_txt'] = 'Keterangan';
+$wb['name_txt'] = 'Grup';
+$wb['name_err'] = 'Grup harus terdiri dari min 1, maks 30 Karakter.';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_groups_list.lng b/interface/web/admin/lib/lang/id_groups_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3d50177f7b1f7dcd19d7133ecd66efe1a406ee4e
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_groups_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Grup';
+$wb['description_txt'] = 'Keterangan';
+$wb['name_txt'] = 'Grup';
+$wb['add_new_record_txt'] = 'Tambah Grup Baru';
+$wb['warning_txt'] = '<b>PERINGATAN:</b> Jangan menyunting atau memodifikasi pengaturan pengguna apapun di sini. Gunakan Pengaturan Klien dan Reseller di modul Klien. Memodifikasi atau mengubah Pengguna atau Grup di sini dapat mengakibatkan kehilangan data!';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_language_add.lng b/interface/web/admin/lib/lang/id_language_add.lng
new file mode 100644
index 0000000000000000000000000000000000000000..41aae086c4b7422440462f283133e1a8034c44fa
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_language_add.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Tambah Bahasa Baru';
+$wb['language_select_txt'] = 'Pilih basis bahasa';
+$wb['language_new_txt'] = 'Bahasa baru';
+$wb['language_new_hint_txt'] = '2 karakter kode bahasa ISO 639-1 (Lihat http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)';
+$wb['btn_save_txt'] = 'Buat kumpulan berkas bahasa baru';
+$wb['btn_cancel_txt'] = 'Kembali';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_language_complete.lng b/interface/web/admin/lib/lang/id_language_complete.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8fbb6edc46e7a8b289e06b0876218a1356a1087d
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_language_complete.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Penggabungan Bahasa';
+$wb['list_desc_txt'] = 'Gabungkan berkas bahasa yang dipilih dengan berkas master bahasa Inggris. <br />Ini akan menambahkan string yang tidak ada dari berkas master bahasa Inggris ke bahasa yang dipilih.';
+$wb['language_select_txt'] = 'Pilih bahasa';
+$wb['btn_save_txt'] = 'Gabungkan Berkas Sekarang';
+$wb['btn_cancel_txt'] = 'Kembali';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_language_edit.lng b/interface/web/admin/lib/lang/id_language_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b2231829413f885a9bd3707ffe363ca403142520
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_language_edit.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Penyunting Berkas Bahasa';
+$wb['language_select_txt'] = 'Pemilihan bahasa';
+$wb['module_txt'] = 'Modul';
+$wb['lang_file_txt'] = 'Berkas bahasa';
+$wb['btn_save_txt'] = 'Simpan';
+$wb['btn_cancel_txt'] = 'Kembali';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_language_export.lng b/interface/web/admin/lib/lang/id_language_export.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5eeb5178cf57782d30ae2f00f3275080a08c1183
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_language_export.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Ekspor Berkas Bahasa';
+$wb['language_select_txt'] = 'Pilih bahasa';
+$wb['btn_save_txt'] = 'Ekspor kumpulan berkas bahasa yang dipilih';
+$wb['btn_cancel_txt'] = 'Kembali';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_language_import.lng b/interface/web/admin/lib/lang/id_language_import.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d1a06cc98052351d8a21fffdd19a988aaa7c3790
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_language_import.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Impor berkas bahasa';
+$wb['language_import_txt'] = 'Pilih berkas bahasa';
+$wb['btn_save_txt'] = 'Impor berkas bahasa yang telah dipilih';
+$wb['language_overwrite_txt'] = 'Timpa berkas, jika sudah ada.';
+$wb['btn_cancel_txt'] = 'Kembali';
+$wb['ignore_version_txt'] = 'Lewati pemeriksaan versi ISPConfig';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_language_list.lng b/interface/web/admin/lib/lang/id_language_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..dfff714b58a2e8ff5d6ec557c5ce5159e51c6eb9
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_language_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Penyunting Berkas Bahasa';
+$wb['language_select_txt'] = 'Pilih bahasa';
+$wb['module_txt'] = 'Modul';
+$wb['lang_file_txt'] = 'Berkas bahasa';
+$wb['lang_file_date_txt'] = 'Terakhir dimodifikasi';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_package_install.lng b/interface/web/admin/lib/lang/id_package_install.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7ad45a13ed66c21a80c76e0ebdd9f3d143ee4c78
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_package_install.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['repo_name_txt'] = 'Repositori';
+$wb['repo_url_txt'] = 'URL';
+$wb['repo_username_txt'] = 'Pengguna (opsional)';
+$wb['repo_password_txt'] = 'Kata Sandi (opsional)';
+$wb['active_txt'] = 'Aktif';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_remote_action.lng b/interface/web/admin/lib/lang/id_remote_action.lng
new file mode 100644
index 0000000000000000000000000000000000000000..50992b6ca9a14be51aa9fe29e2fb93b629bea4d3
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_remote_action.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['select_server_txt'] = 'Pilih Server';
+$wb['btn_do_txt'] = 'Jalankan Tindakan';
+$wb['do_osupdate_caption'] = 'Lakukan pemutakhiran OS di server remote';
+$wb['do_osupdate_desc'] = 'Tindakan ini menjalankan aptitude -y upgrade di server yang dipilih.<br><br><strong>PENGGUNAANNYA MENJADI TANGGUNG JAWAB ANDA SENDIRI!</strong>';
+$wb['do_ispcupdate_caption'] = 'Lakukan pemutakhiran ISPConfig 3 - di server remote';
+$wb['do_ispcupdate_desc'] = 'Tindakan ini melakukan pemutakhiran ISPConfig3 di server yang Anda pilih.<br><br><strong>PENGGUNAANNYA MENJADI TANGGUNG JAWAB ANDA SENDIRI!</strong>';
+$wb['action_scheduled'] = 'Tindakan dijadwalkan untuk dijalankan';
+$wb['select_all_server'] = 'Semua server';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_remote_user.lng b/interface/web/admin/lib/lang/id_remote_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5129261a40016d1c195fef40262657aad8f6e999
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_remote_user.lng
@@ -0,0 +1,43 @@
+<?php
+$wb['username_txt'] = 'Nama pengguna:';
+$wb['password_txt'] = 'Kata Sandi:';
+$wb['function_txt'] = 'Fungsi:';
+$wb['username_error_unique'] = 'Nama pengguna harus unik';
+$wb['username_error_empty'] = 'Nama pengguna tidak boleh kosong';
+$wb['password_error_empty'] = 'Kata sandi tidak boleh kosong';
+$wb['password_strength_txt'] = 'Kekuatan Sandi:';
+$wb['Mail domain functions'] = 'Fungsi-fungsi domain Mail';
+$wb['Mail user functions'] = 'Fungsi-fungsi pengguna Mail';
+$wb['Mail alias functions'] = 'Fungsi-fungsi alias Mail';
+$wb['Mail forward functions'] = 'Fungsi-fungsi penerusan Mail';
+$wb['Mail catchall functions'] = 'Fungsi-fungsi catchall Mail';
+$wb['Mail transport functions'] = 'Fungsi-fungsi transport Mail';
+$wb['Mail whitelist functions'] = 'Fungsi-fungsi whitelist Mail';
+$wb['Mail blacklist functions'] = 'Fungsi-fungsi blacklist Mail';
+$wb['Mail spamfilter user functions'] = 'Fungsi-fungsi pengguna spamfilter Mail';
+$wb['Mail spamfilter policy functions'] = 'Fungsi-fungsi kebijakan spamfilter Mail';
+$wb['Mail fetchmail functions'] = 'Fungsi-fungsi pengambilan Mail';
+$wb['Mail user filter functions'] = 'Fungsi-fungsi penyaringan pengguna Mail';
+$wb['Mail filter functions'] = 'Fungsi-fungsi penyaringan Mail';
+$wb['Client functions'] = 'Fungsi-fungsi Klien';
+$wb['Sites cron functions'] = 'Fungsi-fungsi cron Situs';
+$wb['Sites database functions'] = 'Fungsi-fungsi database Situs';
+$wb['Sites FTP-User functions'] = 'Fungsi-fungsi Pengguna FTP Situs';
+$wb['Sites Shell-User functions'] = 'Fungsi-fungsi Pengguna Shell Situs';
+$wb['Sites Domain functions'] = 'Fungsi-fungsi Domain Situs';
+$wb['Sites Aliasdomain functions'] = 'Fungsi-fungsi Alias Domain Situs';
+$wb['Sites Subdomain functions'] = 'Fungsi-fungsi Subdomain Situs';
+$wb['DNS zone functions'] = 'Fungsi-fungsi zona DNS';
+$wb['DNS a functions'] = 'Fungsi-fungsi A DNS';
+$wb['DNS aaaa functions'] = 'Fungsi-fungsi AAAA DNS';
+$wb['DNS alias functions'] = 'Fungsi-fungsi Alias DNS';
+$wb['DNS cname functions'] = 'Fungsi-fungsi CNAME DNS';
+$wb['DNS hinfo functions'] = 'Fungsi-fungsi HINFO DNS';
+$wb['DNS mx functions'] = 'Fungsi-fungsi MX DNS';
+$wb['DNS ns functions'] = 'Fungsi-fungsi NS DNS';
+$wb['DNS ptr functions'] = 'Fungsi-fungsi PTR DNS';
+$wb['DNS rp functions'] = 'Fungsi-fungsi RP DNS';
+$wb['DNS srv functions'] = 'Fungsi-fungsi SRV DNS';
+$wb['DNS txt functions'] = 'Fungsi-fungsi TXT DNS';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_remote_user_list.lng b/interface/web/admin/lib/lang/id_remote_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..82dd763cd2b4b1994353f853bbba55b33962dc02
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_remote_user_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Pengguna Remote';
+$wb['list_desc_txt'] = '';
+$wb['add_new_record_txt'] = 'Tambah pengguna baru';
+$wb['parent_remote_userid_txt'] = 'ID';
+$wb['username_txt'] = 'Nama Pengguna';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_server.lng b/interface/web/admin/lib/lang/id_server.lng
new file mode 100644
index 0000000000000000000000000000000000000000..75f639d98a5724d66853166df8fa752db8c7c866
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_server.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['config_txt'] = 'Konfigurasi';
+$wb['server_name_txt'] = 'Nama Server';
+$wb['mail_server_txt'] = 'Server Mail';
+$wb['web_server_txt'] = 'Server Web';
+$wb['dns_server_txt'] = 'Server DNS';
+$wb['file_server_txt'] = 'Server Berkas';
+$wb['db_server_txt'] = 'Server DB';
+$wb['vserver_server_txt'] = 'Server VServer';
+$wb['active_txt'] = 'Aktif';
+$wb['mirror_server_id_txt'] = 'Adalah mirror dari Server';
+$wb['- None -'] = '- Tak ada -';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8433fc029fc12ea62ce1e19cd959a57f8416b1e1
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_server_config.lng
@@ -0,0 +1,78 @@
+<?php
+$wb['jailkit_chroot_home_txt'] = 'Home chroot Jailkit';
+$wb['jailkit_chroot_app_sections_txt'] = 'Bagian app chroot';
+$wb['jailkit_chroot_app_programs_txt'] = 'Jailkit aplikasi yang ter-chroot';
+$wb['jailkit_chroot_cron_programs_txt'] = 'Jailkit aplikasi cron yang ter-chroot';
+$wb['website_path_txt'] = 'Path situs web';
+$wb['website_symlinks_txt'] = 'Symlink Situs web';
+$wb['website_basedir_txt'] = 'Basedir Situs web';
+$wb['vhost_conf_dir_txt'] = 'Direktori konfigurasi vhost';
+$wb['vhost_conf_enabled_dir_txt'] = 'Direktori konfigurasi vhost yang aktif';
+$wb['getmail_config_dir_txt'] = 'Direktori konfigurasi getmail';
+$wb['fastcgi_starter_path_txt'] = 'Path pemicu FastCGI';
+$wb['fastcgi_starter_script_txt'] = 'Skrip pemicu FastCGI';
+$wb['fastcgi_alias_txt'] = 'Alias FastCGI';
+$wb['fastcgi_phpini_path_txt'] = 'Path php.ini FastCGI';
+$wb['fastcgi_children_txt'] = 'FastCGI Children';
+$wb['fastcgi_max_requests_txt'] = 'Maks. Request FastCGI';
+$wb['fastcgi_bin_txt'] = 'FastCGI Bin';
+$wb['module_txt'] = 'Modul';
+$wb['maildir_path_txt'] = 'Path Direktori Mail';
+$wb['homedir_path_txt'] = 'Path Direktori Home';
+$wb['mailuser_uid_txt'] = 'UID Pengguna Mail';
+$wb['mailuser_gid_txt'] = 'GID Pengguna Mail';
+$wb['mailuser_name_txt'] = 'Nama Pengguna Mail';
+$wb['mailuser_group_txt'] = 'Grup Pengguna Mail';
+$wb['relayhost_txt'] = 'Relayhost';
+$wb['relayhost_user_txt'] = 'Pengguna Relayhost';
+$wb['relayhost_password_txt'] = 'Kata Sandi Relayhost';
+$wb['mailbox_size_limit_txt'] = 'Batasan Ukuran Mailbox';
+$wb['message_size_limit_txt'] = 'Batasan Ukuran Pesan';
+$wb['ip_address_txt'] = 'Alamat IP';
+$wb['netmask_txt'] = 'Netmask';
+$wb['gateway_txt'] = 'Gateway';
+$wb['hostname_txt'] = 'Nama Host';
+$wb['nameservers_txt'] = 'Nameserver';
+$wb['auto_network_configuration_txt'] = 'Konfigurasi Jaringan';
+$wb['ip_address_error_wrong'] = 'Format alamat IP tidak valid.';
+$wb['netmask_error_wrong'] = 'Format Netmask tidak valid.';
+$wb['gateway_error_wrong'] = 'Format Gateway tidak valid.';
+$wb['hostname_error_empty'] = 'Nama Host kosong.';
+$wb['nameservers_error_empty'] = 'Nameserver kosong.';
+$wb['config_dir_txt'] = 'Direktori Konfigurasi';
+$wb['init_script_txt'] = 'Nama skrip init cron';
+$wb['crontab_dir_txt'] = 'Path untuk crontab individu';
+$wb['wget_txt'] = 'Path ke program wget';
+$wb['web_user_txt'] = 'Pengguna Apache';
+$wb['web_group_txt'] = 'Grup Apache';
+$wb['security_level_txt'] = 'Tingkat Keamanan';
+$wb['loglevel_txt'] = 'Tingkatan Log';
+$wb['apps_vhost_port_txt'] = 'Port Apps-vhost';
+$wb['apps_vhost_ip_txt'] = 'IP Apps-vhost';
+$wb['apps_vhost_servername_txt'] = 'Domain Apps-vhost';
+$wb['bind_user_txt'] = 'Pengguna BIND';
+$wb['bind_group_txt'] = 'Grup BIND';
+$wb['bind_zonefiles_dir_txt'] = 'Direktori berkas zona BIND';
+$wb['named_conf_path_txt'] = 'Path named.conf BIND';
+$wb['bind_user_error_empty'] = 'Pengguna BIND kosong.';
+$wb['bind_group_error_empty'] = 'Grup BIND kosong.';
+$wb['bind_zonefiles_dir_error_empty'] = 'Direktori berkas zona BIND kosong.';
+$wb['named_conf_path_error_empty'] = 'Path named.conf BIND kosong.';
+$wb['named_conf_local_path_error_empty'] = 'Path named.conf.local BIND kosong.';
+$wb['mail_filter_syntax_txt'] = 'Sintaks Mailfilter';
+$wb['pop3_imap_daemon_txt'] = 'Daemon POP3/IMAP';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['php_open_basedir_error_empty'] = 'PHP open_basedir kosong.';
+$wb['htaccess_allow_override_txt'] = '.htaccess AllowOverride';
+$wb['htaccess_allow_override_error_empty'] = '.htaccess AllowOverride kosong.';
+$wb['awstats_conf_dir_txt'] = 'direktori konfigurasi awstats';
+$wb['awstats_data_dir_txt'] = 'direktori data awstats';
+$wb['awstats_pl_txt'] = 'skrip awstats.pl';
+$wb['awstats_buildstaticpages_pl_txt'] = 'skrip awstats_buildstaticpages.pl';
+$wb['backup_dir_txt'] = 'Direktori Pencadangan';
+$wb['named_conf_local_path_txt'] = 'Path named.conf.local BIND';
+$wb['php_ini_path_cgi_txt'] = 'Path php.ini CGI';
+$wb['php_ini_path_apache_txt'] = 'Path php.ini Apache';
+$wb['check_apache_config_txt'] = 'Periksa konfigurasi apache saat dijalankan ulang';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_server_config_list.lng b/interface/web/admin/lib/lang/id_server_config_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..15d64cdf956ac8019caf725cbea2b27caa49578a
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_server_config_list.lng
@@ -0,0 +1,5 @@
+<?php
+$wb['list_head_txt'] = 'Konfigurasi Server';
+$wb['server_name_txt'] = 'Server';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_server_ip.lng b/interface/web/admin/lib/lang/id_server_ip.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6044504f470345e1c852aa961cb6fa790c185425
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_server_ip.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['ip_address_txt'] = 'Alamat IP';
+$wb['virtualhost_txt'] = 'Nama VirtualHost HTTP';
+$wb['ip_error_wrong'] = 'Alamat IP tidak valid';
+$wb['ip_error_unique'] = 'Alamat IP harus unik';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_server_ip_list.lng b/interface/web/admin/lib/lang/id_server_ip_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ee4d8a0a98bde5cef150053eb79b72baf7312d3a
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_server_ip_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Alamat IP';
+$wb['server_id_txt'] = 'Server';
+$wb['ip_address_txt'] = 'Alamat IP';
+$wb['add_new_record_txt'] = 'Tambah Alamat IP Baru';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_server_list.lng b/interface/web/admin/lib/lang/id_server_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..60211442e44d25d7eb46e4bab40def0af8e5d001
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_server_list.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['list_head_txt'] = 'Server';
+$wb['server_name_txt'] = 'Name';
+$wb['mail_server_txt'] = 'Mail';
+$wb['web_server_txt'] = 'Web';
+$wb['dns_server_txt'] = 'DNS';
+$wb['file_server_txt'] = 'File';
+$wb['db_server_txt'] = 'DB';
+$wb['vserver_server_txt'] = 'VServer';
+$wb['add_new_record_txt'] = 'Tambah Server Baru';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_software_package_install.lng b/interface/web/admin/lib/lang/id_software_package_install.lng
new file mode 100644
index 0000000000000000000000000000000000000000..949845b41cebc71ce7739c5775692a9f622a69a1
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_software_package_install.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['head_txt'] = 'Pasang paket perangkat lunak';
+$wb['install_key_txt'] = 'Masukkan kunci pemasangan';
+$wb['btn_save_txt'] = 'Mulai Pemasangan';
+$wb['btn_cancel_txt'] = 'Batal';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_software_package_list.lng b/interface/web/admin/lib/lang/id_software_package_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..583492fd2d8692ccddea8e958e30cfd47c7129c0
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_software_package_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Paket-paket Perangkat Lunak';
+$wb['installed_txt'] = 'Status';
+$wb['package_title_txt'] = 'Paket';
+$wb['package_description_txt'] = 'Keterangan';
+$wb['action_txt'] = 'Aktif';
+$wb['toolsarea_head_txt'] = 'Paket';
+$wb['repoupdate_txt'] = 'Mutakhirkan daftar paket';
+$wb['package_id_txt'] = 'App-ID lokal';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_software_repo.lng b/interface/web/admin/lib/lang/id_software_repo.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8ebd053b1275672aa436f3e22a556cb1d945c899
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_software_repo.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['repo_name_txt'] = 'Repositori';
+$wb['repo_url_txt'] = 'URL';
+$wb['repo_username_txt'] = 'Pengguna (opsional)';
+$wb['repo_password_txt'] = 'Sandi (opsional)';
+$wb['active_txt'] = 'Aktif';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_software_repo_list.lng b/interface/web/admin/lib/lang/id_software_repo_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..e40c3544be6358863111db6ada413facfcf4ec13
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_software_repo_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Repositori';
+$wb['active_txt'] = 'Aktif';
+$wb['repo_name_txt'] = 'Repositori';
+$wb['repo_url_txt'] = 'URL';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_software_update_list.lng b/interface/web/admin/lib/lang/id_software_update_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3dd17ff3a71206e2ed3f0ba15d99a3a82d78f6e2
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_software_update_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Pemutakhiran Perangkat Lunak';
+$wb['server_select_txt'] = 'Pilih server';
+$wb['installed_txt'] = 'Tindakan';
+$wb['update_title_txt'] = 'Mutakhirkan';
+$wb['version_txt'] = 'Versi';
+$wb['action_txt'] = 'Tindakan';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_system_config.lng b/interface/web/admin/lib/lang/id_system_config.lng
new file mode 100644
index 0000000000000000000000000000000000000000..2a43931f32145a65dc4e4e37a680f4f7c9527d02
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_system_config.lng
@@ -0,0 +1,23 @@
+<?php
+$wb['warning'] = 'Sunting nilai-nilai ini dengan hati-hati! Jangan hapus prefiks di sistem yang memiliki lebih dari 1 klien.';
+$wb['dbname_prefix_txt'] = 'Prefiks nama database';
+$wb['dbuser_prefix_txt'] = 'Prefiks pengguna database';
+$wb['shelluser_prefix_txt'] = 'Prefiks pengguna shell';
+$wb['ftpuser_prefix_txt'] = 'Prefiks pengguna FTP';
+$wb['dbname_prefix_error_regex'] = 'Karakter tidak diperbolehkan di prefiks nama database.';
+$wb['dbuser_prefix_error_regex'] = 'Karakter tidak diperbolehkan di prefiks pengguna database.';
+$wb['ftpuser_prefix_error_regex'] = 'Karakter tidak diperbolehkan di prefiks pengguna ftp.';
+$wb['shelluser_prefix_error_regex'] = 'Karakter tidak diperbolehkan di prefiks pengguna shell.';
+$wb['dblist_phpmyadmin_link_txt'] = 'Tautan ke phpmyadmin di daftar DB';
+$wb['mailboxlist_webmail_link_txt'] = 'Tautan ke webmail di daftar Mailbox';
+$wb['webmail_url_txt'] = 'URL Webmail';
+$wb['phpmyadmin_url_txt'] = 'URL PHPMyAdmin';
+$wb['dashboard_atom_url_txt'] = 'URL feed atom Dashboard';
+$wb['webdavuser_prefix_txt'] = 'Prefiks pengguna Webdav';
+$wb['webdavuser_prefix_error_regex'] = 'Karakter tidak diperbolehkan di prefiks pengguna webdav.';
+$wb['use_domain_module_txt'] = 'Gunakan modul domain untuk menambahkan domain baru';
+$wb['use_domain_module_hint'] = 'Jika Anda menggunakan modul ini, pelanggan Anda hanya dapat memilih salah satu domain yang dibuat oleh admin untuk mereka. Mereka tidak bisa menyunting dengan bebas kolom domain. Anda harus masuk kembali setelah mengubah nilai ini, agar perubahannya terlihat.';
+$wb['new_domain_txt'] = 'HTML untuk membuat domain baru';
+$wb['webftp_url_txt'] = 'URL WebFTP';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_users.lng b/interface/web/admin/lib/lang/id_users.lng
new file mode 100644
index 0000000000000000000000000000000000000000..bdaf72c0c76bee20c54ac182e581faaca37cd3af
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_users.lng
@@ -0,0 +1,29 @@
+<?php
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['username_err'] = 'Nama pengguna terlalu panjang atau mengandung karakter yang tidak valid.';
+$wb['username_empty'] = 'Nama pengguna kosong.';
+$wb['username_unique'] = 'Sudah ada pengguna yang memakai nama ini.';
+$wb['passwort_txt'] = 'Kata Sandi';
+$wb['password_strength_txt'] = 'Kekuatan sandi';
+$wb['modules_txt'] = 'Modul';
+$wb['startmodule_txt'] = 'Modul awal';
+$wb['app_theme_txt'] = 'Desain';
+$wb['typ_txt'] = 'Tipe';
+$wb['active_txt'] = 'Aktif';
+$wb['language_txt'] = 'Bahasa';
+$wb['name_txt'] = 'Nama';
+$wb['vorname_txt'] = 'Nama kecil';
+$wb['unternehmen_txt'] = 'Perusahaan';
+$wb['strasse_txt'] = 'Jalan';
+$wb['ort_txt'] = 'Kota';
+$wb['plz_txt'] = 'Kode Pos';
+$wb['land_txt'] = 'Negara';
+$wb['email_txt'] = 'Email';
+$wb['url_txt'] = 'URL';
+$wb['telefon_txt'] = 'Telepon';
+$wb['fax_txt'] = 'Faks';
+$wb['groups_txt'] = 'Grup';
+$wb['default_group_txt'] = 'Grup Baku';
+$wb['startmodule_err'] = 'Modul awal tidak termasuk dalam modul.';
+?>
+
diff --git a/interface/web/admin/lib/lang/id_users_list.lng b/interface/web/admin/lib/lang/id_users_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..53dc95deb3c550b2c0c488c5fcdea0115133a741
--- /dev/null
+++ b/interface/web/admin/lib/lang/id_users_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Pengguna';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['name_txt'] = 'Nama';
+$wb['vorname_txt'] = 'Nama Kecil';
+$wb['ort_txt'] = 'Kota';
+$wb['add_new_record_txt'] = 'Tambah pengguna baru';
+$wb['warning_txt'] = '<b>PERINGATAN:</b> Jangan menyunting atau memodifikasi pengaturan pengguna apapun di sini. Gunakan Pengaturan Klien dan Reseller di modul Klien. Memodifikasi atau mengubah Pengguna atau Grup di sini dapat mengakibatkan kehilangan data!';
+?>
+
diff --git a/interface/web/admin/lib/lang/nl.lng b/interface/web/admin/lib/lang/nl.lng
index 91791bbcb7b7a7f835328d8ab157253bbd8cda5e..a6448b87c98a2997dc1f98d8edae9b307b46deca 100644
--- a/interface/web/admin/lib/lang/nl.lng
+++ b/interface/web/admin/lib/lang/nl.lng
@@ -45,3 +45,4 @@ $wb['Do ISPConfig-Update'] = 'Voer een ISPConfig-update uit';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_firewall.lng b/interface/web/admin/lib/lang/nl_firewall.lng
index 1f27d03d240dbda0c8784d541bffb1ff0ac73386..91544768d23bb9cc4dc14d3ee488d9172c433417 100644
--- a/interface/web/admin/lib/lang/nl_firewall.lng
+++ b/interface/web/admin/lib/lang/nl_firewall.lng
@@ -12,3 +12,4 @@ $wb["udp_ports_error_regex"] = 'Karakter niet toegestaan in udp port definitie.
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_firewall_list.lng b/interface/web/admin/lib/lang/nl_firewall_list.lng
index 2461506067e86d9158c2014f045d0d0618775414..d69fca90d662925252ccfcafe058ff8ed34a95a2 100644
--- a/interface/web/admin/lib/lang/nl_firewall_list.lng
+++ b/interface/web/admin/lib/lang/nl_firewall_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen Firewall record';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_groups.lng b/interface/web/admin/lib/lang/nl_groups.lng
index 0f624ca131b8d24901b32f2a3d4d4c54ed6ff925..bc3685ac9f3edf65e2eeea0eca844d5c50a41403 100644
--- a/interface/web/admin/lib/lang/nl_groups.lng
+++ b/interface/web/admin/lib/lang/nl_groups.lng
@@ -5,3 +5,4 @@ $wb["name_err"] = 'Groep moet min. 1, max. 30 karakters zijn.';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_groups_list.lng b/interface/web/admin/lib/lang/nl_groups_list.lng
index 71e230d98ed2f9d6c8f01dd74e60dad95a61e9e6..933293cc1a291f04ff8ccb6040268375a7f07ffc 100644
--- a/interface/web/admin/lib/lang/nl_groups_list.lng
+++ b/interface/web/admin/lib/lang/nl_groups_list.lng
@@ -7,3 +7,4 @@ $wb["warning_txt"] = '<b>WAARSCHUWING:</b> Wijzig hier geen enkele gebruikersins
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_language_add.lng b/interface/web/admin/lib/lang/nl_language_add.lng
index 5cefedbb9dab917d805710958919bcba7094d476..379b43334264284ceb39d456b97ce39ce967ea6c 100644
--- a/interface/web/admin/lib/lang/nl_language_add.lng
+++ b/interface/web/admin/lib/lang/nl_language_add.lng
@@ -8,3 +8,4 @@ $wb['btn_cancel_txt'] = 'Terug';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_language_complete.lng b/interface/web/admin/lib/lang/nl_language_complete.lng
index 7fef5c3f78dad925f22ffed9ac5c58efe2580e56..3ba1f0260e5bae18bf1f0a2238cca6dc82bfeb13 100644
--- a/interface/web/admin/lib/lang/nl_language_complete.lng
+++ b/interface/web/admin/lib/lang/nl_language_complete.lng
@@ -7,3 +7,4 @@ $wb['btn_cancel_txt'] = 'Terug';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_language_edit.lng b/interface/web/admin/lib/lang/nl_language_edit.lng
index 7e9e4ed8424cee31974cb21d1c343662743e732d..c2004000715d7e6c229bb50e4598fbf2f9da3e26 100644
--- a/interface/web/admin/lib/lang/nl_language_edit.lng
+++ b/interface/web/admin/lib/lang/nl_language_edit.lng
@@ -9,3 +9,4 @@ $wb['btn_cancel_txt'] = 'Terug';
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_language_export.lng b/interface/web/admin/lib/lang/nl_language_export.lng
index dca1869b0ef2f142920b90fda1c59f7570730c84..7f3cdf699963649067d09a3b834968ccc2809a6d 100644
--- a/interface/web/admin/lib/lang/nl_language_export.lng
+++ b/interface/web/admin/lib/lang/nl_language_export.lng
@@ -6,3 +6,4 @@ $wb['btn_cancel_txt'] = 'Terug';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_language_import.lng b/interface/web/admin/lib/lang/nl_language_import.lng
index 07514c5a10aa7668229de93c68a650486e7b9855..851f277829174666736264cbc6b21b887b86296a 100644
--- a/interface/web/admin/lib/lang/nl_language_import.lng
+++ b/interface/web/admin/lib/lang/nl_language_import.lng
@@ -8,3 +8,4 @@ $wb['ignore_version_txt'] = 'Sla ISPConfig versie controle over';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_language_list.lng b/interface/web/admin/lib/lang/nl_language_list.lng
index ede83dc2b6213638f039ebbc40f0eca1e91f2816..35e35c1618c9772668243d08bfc7eb7f7ec74af0 100644
--- a/interface/web/admin/lib/lang/nl_language_list.lng
+++ b/interface/web/admin/lib/lang/nl_language_list.lng
@@ -8,3 +8,4 @@ $wb["lang_file_date_txt"] = 'Laatste wijziging';
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_package_install.lng b/interface/web/admin/lib/lang/nl_package_install.lng
index 988918ec91d1c267204235b2088e581721866f28..92bb9c6876d89416231016b1c3ee0c81b248f109 100644
--- a/interface/web/admin/lib/lang/nl_package_install.lng
+++ b/interface/web/admin/lib/lang/nl_package_install.lng
@@ -7,3 +7,4 @@ $wb["active_txt"] = 'Actief';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_remote_action.lng b/interface/web/admin/lib/lang/nl_remote_action.lng
index cfdd91a738885302cc3860f1256e70d4baedcbb9..0514ea5afdc2a23ea4d22e035bec908e1dfd8089 100644
--- a/interface/web/admin/lib/lang/nl_remote_action.lng
+++ b/interface/web/admin/lib/lang/nl_remote_action.lng
@@ -11,3 +11,4 @@ $wb['select_all_server'] = "Alle servers";
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_remote_user.lng b/interface/web/admin/lib/lang/nl_remote_user.lng
index 12165a392dd1ae1db627e972af4c3f8b7ac9f238..b268165931f45119497592be18ab1750ebc1fb89 100644
--- a/interface/web/admin/lib/lang/nl_remote_user.lng
+++ b/interface/web/admin/lib/lang/nl_remote_user.lng
@@ -43,3 +43,4 @@ $wb['DNS txt functions'] = 'DNS txt functies';
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_remote_user_list.lng b/interface/web/admin/lib/lang/nl_remote_user_list.lng
index 5d9f8fef39dfba4f742ead3d6b664814d0aaa739..b7bd11949b31df1ab023dcddd30363f163084779 100644
--- a/interface/web/admin/lib/lang/nl_remote_user_list.lng
+++ b/interface/web/admin/lib/lang/nl_remote_user_list.lng
@@ -9,3 +9,4 @@ $wb['username_txt'] = "Gebruikersnaam";
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_server.lng b/interface/web/admin/lib/lang/nl_server.lng
index 097983781b56b1015a343e85f57eb52df5605a59..e5ebc217a356997f8d6fc190014bfadd4768146f 100644
--- a/interface/web/admin/lib/lang/nl_server.lng
+++ b/interface/web/admin/lib/lang/nl_server.lng
@@ -13,3 +13,4 @@ $wb["- None -"] = '- Geen enkele -';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng
index 159ae26b35e9ee3cdb4fafb782c36bcc3a367f90..02d84ce2eeaa684b74a19d482fa6e797937ca380 100644
--- a/interface/web/admin/lib/lang/nl_server_config.lng
+++ b/interface/web/admin/lib/lang/nl_server_config.lng
@@ -77,3 +77,4 @@ $wb["check_apache_config_txt"] = 'Test Apache configuratie tijdens restart';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_server_config_list.lng b/interface/web/admin/lib/lang/nl_server_config_list.lng
index 656be0706c2cba6b14412dcc9ca332829bd80e8b..953e1195e6eaffa2469f66a5847871a70ab60b3d 100644
--- a/interface/web/admin/lib/lang/nl_server_config_list.lng
+++ b/interface/web/admin/lib/lang/nl_server_config_list.lng
@@ -4,3 +4,4 @@ $wb["server_name_txt"] = 'Server';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_server_ip.lng b/interface/web/admin/lib/lang/nl_server_ip.lng
index f63c399fbf7202f70817c17dfe0f939959a40792..467a2e4fda9d681df5932cab200a54d9fa7e92cc 100644
--- a/interface/web/admin/lib/lang/nl_server_ip.lng
+++ b/interface/web/admin/lib/lang/nl_server_ip.lng
@@ -7,3 +7,4 @@ $wb["ip_error_unique"] = 'Het IP addres moet uniek zijn';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_server_ip_list.lng b/interface/web/admin/lib/lang/nl_server_ip_list.lng
index 02e043ab48db7be06398be5212c1aadd0bb538ef..b304ac095c346873a02ff333eee7016e593ce8a6 100644
--- a/interface/web/admin/lib/lang/nl_server_ip_list.lng
+++ b/interface/web/admin/lib/lang/nl_server_ip_list.lng
@@ -6,3 +6,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuw IP Adres';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_server_list.lng b/interface/web/admin/lib/lang/nl_server_list.lng
index a28e332f6ed99b42a5c1494dcfc77c84b39e4304..4f1e6462c00472f523cfe1de988e740832076f21 100644
--- a/interface/web/admin/lib/lang/nl_server_list.lng
+++ b/interface/web/admin/lib/lang/nl_server_list.lng
@@ -11,3 +11,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe server';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_software_package_install.lng b/interface/web/admin/lib/lang/nl_software_package_install.lng
index bffab594e53d79968386bdeea2093b5cdc936608..7ed554e4164da75066e0e30f8e47f09a8a66c235 100644
--- a/interface/web/admin/lib/lang/nl_software_package_install.lng
+++ b/interface/web/admin/lib/lang/nl_software_package_install.lng
@@ -6,3 +6,4 @@ $wb["btn_cancel_txt"] = 'Annuleren';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_software_package_list.lng b/interface/web/admin/lib/lang/nl_software_package_list.lng
index dd375c3db8f2b8a5f008bd68e4e05a081b0e925a..1a81ae28a65f66a3e281a30766405c52b8e2943b 100644
--- a/interface/web/admin/lib/lang/nl_software_package_list.lng
+++ b/interface/web/admin/lib/lang/nl_software_package_list.lng
@@ -11,3 +11,4 @@ $wb['package_id_txt'] = 'locaal App-ID';
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_software_repo.lng b/interface/web/admin/lib/lang/nl_software_repo.lng
index 2448e2a38bccc6e889a1a22aa0900135a043a601..4943e1ce4a83d219ee7ac662bb687a4ea1bc525a 100644
--- a/interface/web/admin/lib/lang/nl_software_repo.lng
+++ b/interface/web/admin/lib/lang/nl_software_repo.lng
@@ -7,3 +7,4 @@ $wb["active_txt"] = 'Actief';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_software_repo_list.lng b/interface/web/admin/lib/lang/nl_software_repo_list.lng
index bf318f507887fcd33df5856300c1557965c9e706..43e549c4ac462e0c4f07a17e606f4d188e56f2f4 100644
--- a/interface/web/admin/lib/lang/nl_software_repo_list.lng
+++ b/interface/web/admin/lib/lang/nl_software_repo_list.lng
@@ -6,3 +6,4 @@ $wb["repo_url_txt"] = 'URL';
 ?>
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_software_update_list.lng b/interface/web/admin/lib/lang/nl_software_update_list.lng
index 9472a7eeb824f36cf472463ca77739de65417ef6..0e0deddea187eaf7b7712b1f5bdf4bb52b16eaca 100644
--- a/interface/web/admin/lib/lang/nl_software_update_list.lng
+++ b/interface/web/admin/lib/lang/nl_software_update_list.lng
@@ -9,3 +9,4 @@ $wb['action_txt'] = 'Actie';
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_system_config.lng b/interface/web/admin/lib/lang/nl_system_config.lng
index 8105a427b6543b7043335c1e3005e238397f73cc..69768656353feb841af9f43a9872954343e0d9a6 100644
--- a/interface/web/admin/lib/lang/nl_system_config.lng
+++ b/interface/web/admin/lib/lang/nl_system_config.lng
@@ -7,7 +7,7 @@ $wb["shelluser_prefix_txt"] = 'Shell gebruiker voorvoegsel';
 $wb["webdavuser_prefix_txt"] = 'Webdav gebruiker voorvoegsel';
 $wb["ftpuser_prefix_txt"] = 'FTP gebruiker voorvoegsel';
 $wb["dbname_prefix_error_regex"] = 'Char niet toegestaan in database naam voorvoegsel.';
-$wb["dbuser_prefix_error_regex"] = 'Charniet toegestaan in database gebruiker voorvoegsel.';
+$wb["dbuser_prefix_error_regex"] = 'Char niet toegestaan in database gebruiker voorvoegsel.';
 $wb["ftpuser_prefix_error_regex"] = 'Char niet toegestaan in ftp gebruiker voorvoegsel.';
 $wb["shelluser_prefix_error_regex"] = 'Char niet toegestaan in shell gebruiker voorvoegsel.';
 $wb["webdavuser_prefix_error_regex"] = 'Char niet toegestaan in webdav gebruiker voorvoegsel.';
@@ -23,3 +23,4 @@ $wb["webftp_url_txt"] = 'WebFTP URL';
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_users.lng b/interface/web/admin/lib/lang/nl_users.lng
index 91a77a14e6a3bb0e9862734c1497a4a96304ba46..8bca00e0e4a31993f6eb031b4b69b9688926454f 100644
--- a/interface/web/admin/lib/lang/nl_users.lng
+++ b/interface/web/admin/lib/lang/nl_users.lng
@@ -29,3 +29,4 @@ $wb["startmodule_err"] = 'Start module maakt geen deel uit van de geselecteerde
 
 
 
+
diff --git a/interface/web/admin/lib/lang/nl_users_list.lng b/interface/web/admin/lib/lang/nl_users_list.lng
index 6733111725004c18efb42b55e8da6e16811ef860..e114114fc8c5134c75bab89a0730922cb00c3a76 100644
--- a/interface/web/admin/lib/lang/nl_users_list.lng
+++ b/interface/web/admin/lib/lang/nl_users_list.lng
@@ -9,3 +9,4 @@ $wb["warning_txt"] = '<b>WAARSCHUWING:</b> Wijzig hier geen enkele gebruikersins
 ?>
 
 
+
diff --git a/interface/web/client/lib/lang/id.lng b/interface/web/client/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c8e2cf837b3e6b709d46607a1579873773571c97
--- /dev/null
+++ b/interface/web/client/lib/lang/id.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['Client'] = 'Klien';
+$wb['Address'] = 'Alamat';
+$wb['Limits'] = 'Batasan';
+$wb['Add Client'] = 'Tambah Klien';
+$wb['Edit Client'] = 'Sunting Klien';
+$wb['Clients'] = 'Klien';
+$wb['Edit Client-Templates'] = 'Sunting Template Klien';
+$wb['Add Reseller'] = 'Tambah Reseller';
+$wb['Edit Reseller'] = 'Sunting Reseller';
+$wb['Resellers'] = 'Reseller';
+$wb['error_has_clients'] = 'Reseller ini memiliki klien. Hapus klien dari reseller terlebih dahulu.';
+?>
+
diff --git a/interface/web/client/lib/lang/id_client.lng b/interface/web/client/lib/lang/id_client.lng
new file mode 100644
index 0000000000000000000000000000000000000000..edd71996c2a3cfcb02969def8ff437dcc58405e4
--- /dev/null
+++ b/interface/web/client/lib/lang/id_client.lng
@@ -0,0 +1,102 @@
+<?php
+$wb['limit_maildomain_txt'] = 'Jumlah maks domain email';
+$wb['limit_mailbox_txt'] = 'Jumlah maks mailbox';
+$wb['limit_mailalias_txt'] = 'Jumlah maks alias email';
+$wb['limit_mailaliasdomain_txt'] = 'Jumlah maks alias domain';
+$wb['limit_mailforward_txt'] = 'Jumlah maks forwarder email';
+$wb['limit_mailcatchall_txt'] = 'Jumlah maks akun catchall email';
+$wb['limit_mailrouting_txt'] = 'Jumlah maks rute email';
+$wb['limit_mailfilter_txt'] = 'Jumlah maks penyaringan email';
+$wb['limit_fetchmail_txt'] = 'Jumlah maks akun fetchmail';
+$wb['limit_mailquota_txt'] = 'Kuota Mailbox';
+$wb['limit_spamfilter_wblist_txt'] = 'Jumlah maks penyaringan whitelist/blacklist spamfilter';
+$wb['limit_spamfilter_user_txt'] = 'Jumlah maks pengguna spamfilter';
+$wb['limit_spamfilter_policy_txt'] = 'Jumlah maks kebijakan spamfilter';
+$wb['default_mailserver_txt'] = 'Server Mail Default';
+$wb['company_name_txt'] = 'Nama Perusahaan';
+$wb['contact_name_txt'] = 'Nama Kontak';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['password_txt'] = 'Kata Sandi';
+$wb['password_strength_txt'] = 'Kekuatan Sandi';
+$wb['language_txt'] = 'Bahasa';
+$wb['usertheme_txt'] = 'Tema';
+$wb['street_txt'] = 'Jalan';
+$wb['zip_txt'] = 'Kode Pos';
+$wb['city_txt'] = 'Kota';
+$wb['state_txt'] = 'Negara Bagian';
+$wb['country_txt'] = 'Negara';
+$wb['telephone_txt'] = 'Telepon';
+$wb['mobile_txt'] = 'Seluler';
+$wb['fax_txt'] = 'Faks';
+$wb['email_txt'] = 'Email';
+$wb['internet_txt'] = 'Internet';
+$wb['icq_txt'] = 'ICQ';
+$wb['notes_txt'] = 'Catatan';
+$wb['company_txt'] = 'Perusahaan';
+$wb['title_txt'] = 'Judul';
+$wb['firstname_txt'] = 'Nama depan';
+$wb['surname_txt'] = 'Nama belakang';
+$wb['limit_domain_txt'] = 'batasan domain';
+$wb['limit_subdomain_txt'] = 'batasan subdomain';
+$wb['limit_webquota_txt'] = 'batasan kuota web';
+$wb['limit_database_txt'] = 'Jumlah maks Databases';
+$wb['limit_cron_txt'] = 'Jumlah maks pekerjaan cron';
+$wb['limit_cron_type_txt'] = 'Tipe pekerjaan cron (chrooted dan full termasuk url)';
+$wb['limit_cron_frequency_txt'] = 'Penundaan minimum antar pengeksekusian';
+$wb['ip_address_txt'] = 'alamat_ip';
+$wb['limit_client_error_notint'] = 'Batasan sub klien harus berupa angka.';
+$wb['firstname_error_empty'] = 'Nama depan kosong.';
+$wb['contact_error_empty'] = 'Nama kontak kosong.';
+$wb['default_webserver_txt'] = 'Server Web Default';
+$wb['limit_web_domain_txt'] = 'Jumlah maks domain web';
+$wb['limit_web_aliasdomain_txt'] = 'Jumlah maks domain alias web';
+$wb['limit_web_subdomain_txt'] = 'Jumlah maks subdomain web';
+$wb['limit_ftp_user_txt'] = 'Jumlah maks pengguna FTP';
+$wb['default_dnsserver_txt'] = 'Server DNS Default';
+$wb['limit_dns_zone_txt'] = 'Jumlah maks zona DNS';
+$wb['limit_dns_record_txt'] = 'Jumlah maks record DNS';
+$wb['limit_shell_user_txt'] = 'Jumlah maks pengguna Shell';
+$wb['limit_client_txt'] = 'Jumlah maks Klien';
+$wb['username_error_empty'] = 'Nama Pengguna kosong.';
+$wb['username_error_unique'] = 'Nama Pengguna harus unik.';
+$wb['limit_maildomain_error_notint'] = 'Batasan domain email harus berupa angka.';
+$wb['limit_mailbox_error_notint'] = 'Batasan mailbox harus berupa angka.';
+$wb['limit_mailalias_error_notint'] = 'Batasan alias email harus berupa angka.';
+$wb['limit_mailaliasdomain_error_notint'] = 'Batasan alias domain email harus berupa angka.';
+$wb['limit_mailforward_error_notint'] = 'Batasan forward email harus berupa angka.';
+$wb['limit_mailcatchall_error_notint'] = 'Batasan catchall email harus berupa angka.';
+$wb['limit_mailrouting_error_notint'] = 'Batasan routing email harus berupa angka.';
+$wb['limit_mailfilter_error_notint'] = 'Batasan penyaringan email harus berupa angka.';
+$wb['limit_mailfetchmail_error_notint'] = 'Batasan fetchmail harus berupa angka.';
+$wb['limit_mailquota_error_notint'] = 'Batasan kuota email harus berupa angka.';
+$wb['limit_spamfilter_wblist_error_notint'] = 'Batasan whitelist/blacklist spamfilter harus berupa angka.';
+$wb['limit_spamfilter_user_error_notint'] = 'Batasan pengguna spamfilter harus berupa angka.';
+$wb['limit_spamfilter_policy_error_notint'] = 'Batasan kebijakan spamfilter harus berupa angka.';
+$wb['limit_web_domain_error_notint'] = 'Batasan situs web harus berupa angka.';
+$wb['limit_web_aliasdomain_error_notint'] = 'Batasan domain alias situs web harus berupa angka.';
+$wb['limit_web_subdomain_error_notint'] = 'Batasan subdomain situs web harus berupa angka.';
+$wb['limit_ftp_user_error_notint'] = 'Batasan pengguna ftp harus berupa angka.';
+$wb['limit_shell_user_error_notint'] = 'Batasan pengguna shell harus berupa angka.';
+$wb['limit_dns_zone_error_notint'] = 'Batasan record dns harus berupa angka.';
+$wb['default_dbserver_txt'] = 'Server Database Default';
+$wb['limit_database_error_notint'] = 'Batasan database harus berupa angka.';
+$wb['limit_cron_error_notint'] = 'Batasan cron harus berupa angka.';
+$wb['limit_cron_error_frequency'] = 'Batasan frekuensi cron harus berupa angka.';
+$wb['username_error_regex'] = 'Nama Pengguna mengandung karakter yang tidak valid.';
+$wb['template_master_txt'] = 'Template Master';
+$wb['template_additional_txt'] = 'Template Addon';
+$wb['ssh_chroot_txt'] = 'Opsi SSH-Chroot';
+$wb['web_php_options_txt'] = 'Opsi PHP';
+$wb['limit_client_error'] = 'Jumlah maks klien telah tercapai.';
+$wb['limit_web_quota_txt'] = 'Kuota Web';
+$wb['limit_traffic_quota_txt'] = 'Kuota Trafik';
+$wb['limit_trafficquota_error_notint'] = 'Kuota Trafik harus berupa angka.';
+$wb['limit_dns_slave_zone_txt'] = 'Jumlah maks zona DNS Sekunder';
+$wb['limit_webdav_user_txt'] = 'Jumlah maks pengguna Webdav';
+$wb['limit_webdav_user_error_notint'] = 'Batasan pengguna webdav harus berupa angka.';
+$wb['limit_dns_slave_zone_error_notint'] = 'Batasan zona slave dns harus berupa angka.';
+$wb['customer_no_txt'] = 'No. Pelanggan';
+$wb['vat_id_txt'] = 'VAT ID';
+$wb['required_fields_txt'] = '* Kolom yang dibutuhkan';
+?>
+
diff --git a/interface/web/client/lib/lang/id_client_del.lng b/interface/web/client/lib/lang/id_client_del.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8e7c73faf823d079f16eab4765072822b0b266b0
--- /dev/null
+++ b/interface/web/client/lib/lang/id_client_del.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['confirm_action_txt'] = 'Konfirmasi Tindakan';
+$wb['delete_explanation'] = 'Tindakan ini akan menghapus sejumlah record yang terkait dengan klien ini';
+$wb['btn_save_txt'] = 'Hapus Klien';
+$wb['btn_cancel_txt'] = 'Batalkan Tanpa Menghapus Klien';
+?>
+
diff --git a/interface/web/client/lib/lang/id_client_template.lng b/interface/web/client/lib/lang/id_client_template.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f6bc2d1332619eba75cb03e3776d62bae529a267
--- /dev/null
+++ b/interface/web/client/lib/lang/id_client_template.lng
@@ -0,0 +1,64 @@
+<?php
+$wb['limit_client_error_notint'] = 'Batasan Klien bukan angka.';
+$wb['limit_maildomain_txt'] = 'Jumlah maks domain email';
+$wb['limit_mailbox_txt'] = 'Jumlah maks mailbox';
+$wb['limit_mailalias_txt'] = 'Jumlah maks alias email';
+$wb['limit_mailaliasdomain_txt'] = 'Jumlah maks alias domain';
+$wb['limit_mailforward_txt'] = 'Jumlah maks forwarder email';
+$wb['limit_mailcatchall_txt'] = 'Jumlah maks akun catchall email';
+$wb['limit_mailrouting_txt'] = 'Jumlah maks rute email';
+$wb['limit_mailfilter_txt'] = 'Jumlah maks filter email';
+$wb['limit_fetchmail_txt'] = 'Jumlah maks akun fetchmail';
+$wb['limit_mailquota_txt'] = 'Kuota Mailbox';
+$wb['limit_spamfilter_wblist_txt'] = 'Jumlah maks filter white/blacklist spamfilter';
+$wb['limit_spamfilter_user_txt'] = 'Jumlah maks pengguna spamfilter';
+$wb['limit_spamfilter_policy_txt'] = 'Jumlah maks kebijakan spamfilter';
+$wb['limit_domain_txt'] = 'batasan domain';
+$wb['limit_subdomain_txt'] = 'batasan subdomain';
+$wb['limit_webquota_txt'] = 'batasan kuota web';
+$wb['limit_database_txt'] = 'Jumlah maks database';
+$wb['limit_cron_txt'] = 'Jumlah maks pekerjaan cron';
+$wb['limit_cron_type_txt'] = 'Tipe pekerjaan cron (chrooted dan full termasuk url)';
+$wb['limit_cron_frequency_txt'] = 'Penundaan minimum antar pengeksekusian';
+$wb['limit_web_domain_txt'] = 'Jumlah maks domain web';
+$wb['limit_web_aliasdomain_txt'] = 'Jumlah maks alias domain web';
+$wb['limit_web_subdomain_txt'] = 'Jumlah maks subdomain web';
+$wb['limit_ftp_user_txt'] = 'Jumlah maks pengguna FTP';
+$wb['limit_dns_zone_txt'] = 'Jumlah maks zona DNS';
+$wb['limit_dns_record_txt'] = 'Jumlah maks record DNS';
+$wb['limit_shell_user_txt'] = 'Jumlah maks pengguna Shell';
+$wb['limit_client_txt'] = 'Jumlah maks Klien';
+$wb['limit_maildomain_error_notint'] = 'Batasan domain email harus berupa angka.';
+$wb['limit_mailbox_error_notint'] = 'Batasan mailbox harus berupa angka.';
+$wb['limit_mailalias_error_notint'] = 'Batasan alias email harus berupa angka.';
+$wb['limit_mailaliasdomain_error_notint'] = 'Batasan alias domain email harus berupa angka.';
+$wb['limit_mailforward_error_notint'] = 'Batasan forward email harus berupa angka.';
+$wb['limit_mailcatchall_error_notint'] = 'Batasan catchall email harus berupa angka.';
+$wb['limit_mailrouting_error_notint'] = 'Batasan routing email harus berupa angka.';
+$wb['limit_mailfilter_error_notint'] = 'Batasan penyaringan email harus berupa angka.';
+$wb['limit_mailfetchmail_error_notint'] = 'Batasan fetchmail harus berupa angka.';
+$wb['limit_mailquota_error_notint'] = 'Batasan kuota email harus berupa angka.';
+$wb['limit_spamfilter_wblist_error_notint'] = 'Batasan white/blacklist spamfilter harus berupa angka.';
+$wb['limit_spamfilter_user_error_notint'] = 'Batasan pengguna spamfilter harus berupa angka.';
+$wb['limit_spamfilter_policy_error_notint'] = 'Batasan kebijakan spamfilter harus berupa angka.';
+$wb['limit_web_domain_error_notint'] = 'Batasan situs web harus berupa angka.';
+$wb['limit_web_aliasdomain_error_notint'] = 'Batasan domain alias situs web harus berupa angka.';
+$wb['limit_web_subdomain_error_notint'] = 'Batasan subdomain situs web harus berupa angka.';
+$wb['limit_ftp_user_error_notint'] = 'Batasan pengguna ftp harus berupa angka.';
+$wb['limit_shell_user_error_notint'] = 'Batasan pengguna shell harus berupa angka.';
+$wb['limit_dns_zone_error_notint'] = 'The dns record limit harus berupa angka.';
+$wb['limit_database_error_notint'] = 'Batasan database harus berupa angka.';
+$wb['limit_cron_error_notint'] = 'Batasan cron harus berupa angka.';
+$wb['limit_cron_error_frequency'] = 'Batasan frekuensi cron harus berupa angka.';
+$wb['error_template_name_empty'] = 'Masukkan nama Template';
+$wb['limit_web_quota_txt'] = 'Kuota Web';
+$wb['limit_traffic_quota_txt'] = 'Kuota Trafik';
+$wb['limit_trafficquota_error_notint'] = 'Kuota Trafik harus berupa angka.';
+$wb['template_del_aborted_txt'] = 'Penghapusan dibatalkan. Masih ada klien yang memakai template ini.';
+$wb['limit_dns_slave_zone_txt'] = 'Jumlah maks zona DNS sekunder';
+$wb['limit_webdav_user_txt'] = 'Jumlah maks pengguna Webdav';
+$wb['limit_webdav_user_error_notint'] = 'Batasan pengguna webdav harus berupa angka.';
+$wb['limit_dns_slave_zone_error_notint'] = 'Batasan zona slave dns harus berupa angka.';
+$wb['limit_dns_record_error_notint'] = 'Batasan record dns harus berupa angka.';
+?>
+
diff --git a/interface/web/client/lib/lang/id_client_template_list.lng b/interface/web/client/lib/lang/id_client_template_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..47a3d09178e7a5e7ae09ed14d7ad2df9d35df350
--- /dev/null
+++ b/interface/web/client/lib/lang/id_client_template_list.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['list_head_txt'] = 'Template Klien';
+$wb['template_type_txt'] = 'Tipe';
+$wb['template_name_txt'] = 'Nama Template';
+?>
+
diff --git a/interface/web/client/lib/lang/id_clients_list.lng b/interface/web/client/lib/lang/id_clients_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f91c82791b6f0d3bd902b18f5c1843b3b18fcd1c
--- /dev/null
+++ b/interface/web/client/lib/lang/id_clients_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Klien';
+$wb['client_id_txt'] = 'ID';
+$wb['company_name_txt'] = 'Nama Perusahaan';
+$wb['contact_name_txt'] = 'Nama Kontak';
+$wb['city_txt'] = 'Kota';
+$wb['country_txt'] = 'Negara';
+$wb['add_new_record_txt'] = 'Tambah Klien Baru';
+?>
+
diff --git a/interface/web/client/lib/lang/id_reseller.lng b/interface/web/client/lib/lang/id_reseller.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1ed53593a90837c987c9b95d15ff873cff60cc8c
--- /dev/null
+++ b/interface/web/client/lib/lang/id_reseller.lng
@@ -0,0 +1,100 @@
+<?php
+$wb['limit_maildomain_txt'] = 'Jumlah maks domain email';
+$wb['limit_mailbox_txt'] = 'Jumlah maks mailbox';
+$wb['limit_mailalias_txt'] = 'Jumlah maks alias email';
+$wb['limit_mailforward_txt'] = 'Jumlah maks forwarder email';
+$wb['limit_mailcatchall_txt'] = 'Jumlah maks akun catchall email';
+$wb['limit_mailrouting_txt'] = 'Jumlah maks rute email';
+$wb['limit_mailfilter_txt'] = 'Jumlah maks penyaringan email';
+$wb['limit_fetchmail_txt'] = 'Jumlah maks akun fetchmail';
+$wb['limit_mailquota_txt'] = 'Kuota Mailbox';
+$wb['limit_spamfilter_wblist_txt'] = 'Jumlah maks penyaringan whitelist/blacklist spamfilter';
+$wb['limit_spamfilter_user_txt'] = 'Jumlah maks pengguna spamfilter';
+$wb['limit_spamfilter_policy_txt'] = 'Jumlah maks kebijakan spamfilter';
+$wb['default_mailserver_txt'] = 'Server Mail Default';
+$wb['company_name_txt'] = 'Nama Perusahaan';
+$wb['contact_name_txt'] = 'Nama Kontak';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['password_txt'] = 'Kata Sandi';
+$wb['password_strength_txt'] = 'Kekuatan Sandi';
+$wb['language_txt'] = 'Bahasa';
+$wb['usertheme_txt'] = 'Tema';
+$wb['street_txt'] = 'Jalan';
+$wb['zip_txt'] = 'Kode Pos';
+$wb['city_txt'] = 'Kota';
+$wb['state_txt'] = 'Negara Bagian';
+$wb['country_txt'] = 'Negara';
+$wb['telephone_txt'] = 'Telepon';
+$wb['mobile_txt'] = 'Seluler';
+$wb['fax_txt'] = 'Faks';
+$wb['email_txt'] = 'Email';
+$wb['internet_txt'] = 'Internet';
+$wb['icq_txt'] = 'ICQ';
+$wb['notes_txt'] = 'Catatan';
+$wb['company_txt'] = 'Perusahaan';
+$wb['title_txt'] = 'Judul';
+$wb['firstname_txt'] = 'Nama Depan';
+$wb['surname_txt'] = 'Nama Belakang';
+$wb['limit_domain_txt'] = 'batasan domain';
+$wb['limit_subdomain_txt'] = 'batasan subdomain';
+$wb['limit_webquota_txt'] = 'batasan kuota web';
+$wb['limit_database_txt'] = 'Jumlah maks Database';
+$wb['limit_cron_txt'] = 'Jumlah maks pekerjaan cron';
+$wb['limit_cron_type_txt'] = 'Jenis pekerjaan cron (chrooted dan full termasuk url)';
+$wb['limit_cron_frequency_txt'] = 'Penundaan minimum antar pengeksekusian';
+$wb['ip_address_txt'] = 'alamat ip';
+$wb['limit_client_error_notint'] = 'Batasan sub klien harus berupa angka.';
+$wb['firstname_error_empty'] = 'Nama Depan kosong.';
+$wb['contact_error_empty'] = 'Nama Kontak kosong.';
+$wb['default_webserver_txt'] = 'Server Web Baku';
+$wb['limit_web_domain_txt'] = 'Jumlah maks domain web';
+$wb['limit_web_aliasdomain_txt'] = 'Jumlah maks domain alias web';
+$wb['limit_web_subdomain_txt'] = 'Jumlah maks subdomain web';
+$wb['limit_ftp_user_txt'] = 'Jumlah maks pengguna FTP';
+$wb['default_dnsserver_txt'] = 'Server DNS Default';
+$wb['limit_dns_zone_txt'] = 'Jumlah maks zona DNS';
+$wb['limit_dns_record_txt'] = 'Jumlah maks record DNS';
+$wb['limit_shell_user_txt'] = 'Jumlah maks pengguna Shell';
+$wb['limit_client_txt'] = 'Jumlah maks Klien';
+$wb['username_error_empty'] = 'Nama Pengguna kosong.';
+$wb['username_error_unique'] = 'Nama Pengguna harus unik.';
+$wb['limit_maildomain_error_notint'] = 'Batasan domain email harus berupa angka.';
+$wb['limit_mailbox_error_notint'] = 'Batasan mailbox harus berupa angka.';
+$wb['limit_mailalias_error_notint'] = 'Batasan alias email harus berupa angka.';
+$wb['limit_mailforward_error_notint'] = 'Batasan forward email harus berupa angka.';
+$wb['limit_mailcatchall_error_notint'] = 'Batasan catchall email harus berupa angka.';
+$wb['limit_mailrouting_error_notint'] = 'Batasan routing email harus berupa angka.';
+$wb['limit_mailfilter_error_notint'] = 'Batasan penyaringan email harus berupa angka.';
+$wb['limit_mailfetchmail_error_notint'] = 'Batasan fetchmail harus berupa angka.';
+$wb['limit_mailquota_error_notint'] = 'Batasan kuota email harus berupa angka.';
+$wb['limit_spamfilter_wblist_error_notint'] = 'Batasan whitelist/blacklist spamfilter harus berupa angka.';
+$wb['limit_spamfilter_user_error_notint'] = 'Batasan pengguna spamfilter harus berupa angka.';
+$wb['limit_spamfilter_policy_error_notint'] = 'Batasan kebijakan spamfilter harus berupa angka.';
+$wb['limit_web_domain_error_notint'] = 'Batasan situs web harus berupa angka.';
+$wb['limit_web_aliasdomain_error_notint'] = 'Batasan domain alias situs web harus berupa angka.';
+$wb['limit_web_subdomain_error_notint'] = 'Batasan subdomain situs web harus berupa angka.';
+$wb['limit_ftp_user_error_notint'] = 'Batasan pengguna ftp harus berupa angka.';
+$wb['limit_shell_user_error_notint'] = 'Batasan pengguna shell harus berupa angka.';
+$wb['limit_dns_zone_error_notint'] = 'Batasan record dns harus berupa angka.';
+$wb['default_dbserver_txt'] = 'Server Database Default';
+$wb['limit_database_error_notint'] = 'Batasan database harus berupa angka.';
+$wb['limit_cron_error_notint'] = 'Batasan cron harus berupa angka.';
+$wb['limit_cron_error_frequency'] = 'Batasan frekuensi cron harus berupa angka.';
+$wb['username_error_regex'] = 'Nama Pengguna mengandung karakter yang tidak valid.';
+$wb['template_master_txt'] = 'Template Master';
+$wb['template_additional_txt'] = 'Template Addon';
+$wb['ssh_chroot_txt'] = 'Opsi SSH-Chroot';
+$wb['web_php_options_txt'] = 'Opsi PHP';
+$wb['limit_client_error'] = 'Jumlah maks klien telah tercapai.';
+$wb['limit_client_error_positive'] = 'Jumlah klien harus > 0';
+$wb['limit_web_quota_txt'] = 'Kuota Web';
+$wb['limit_traffic_quota_txt'] = 'Kuota Trafik';
+$wb['limit_trafficquota_error_notint'] = 'Kuota Trafik harus berupa angka.';
+$wb['limit_dns_slave_zone_txt'] = 'Jumlah maks zona DNS Sekunder';
+$wb['limit_dns_slave_zone_error_notint'] = 'Batasan zona slave dns harus berupa angka.';
+$wb['limit_dns_record_error_notint'] = 'Batasan record dns harus berupa angka.';
+$wb['customer_no_txt'] = 'No. Pelanggan';
+$wb['vat_id_txt'] = 'VAT ID';
+$wb['required_fields_txt'] = '* Kolom yang dibutuhkan';
+?>
+
diff --git a/interface/web/client/lib/lang/id_resellers_list.lng b/interface/web/client/lib/lang/id_resellers_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c5a6abc41970a4642787ba18422b36a98686c80c
--- /dev/null
+++ b/interface/web/client/lib/lang/id_resellers_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Reseller';
+$wb['client_id_txt'] = 'ID';
+$wb['company_name_txt'] = 'Nama Perusahaan';
+$wb['contact_name_txt'] = 'Nama Kontak';
+$wb['city_txt'] = 'Kota';
+$wb['country_txt'] = 'Negara';
+$wb['add_new_record_txt'] = 'Tambah Reseller Baru';
+?>
+
diff --git a/interface/web/client/lib/lang/nl.lng b/interface/web/client/lib/lang/nl.lng
index 1c76b4134715ef038cc7f102908c4975978666d3..f4475819b96cabf4119a66353c1612a1ab4280e7 100644
--- a/interface/web/client/lib/lang/nl.lng
+++ b/interface/web/client/lib/lang/nl.lng
@@ -14,3 +14,4 @@ $wb["error_has_clients"] = 'Deze reseller heeft klanten. Verwijder eerst de klan
 ?>
 
 
+
diff --git a/interface/web/client/lib/lang/nl_client.lng b/interface/web/client/lib/lang/nl_client.lng
index d9a50600efd4ea98bd5e020418ec9507a8db819f..2d36969f796b7d86d874c9444e8df707eee821bf 100644
--- a/interface/web/client/lib/lang/nl_client.lng
+++ b/interface/web/client/lib/lang/nl_client.lng
@@ -65,7 +65,7 @@ $wb["limit_maildomain_error_notint"] = 'De e-mail domein limiet moet een numerie
 $wb["limit_mailbox_error_notint"] = 'De mailbox limiet moet een numerieke waarde zijn.';
 $wb["limit_mailalias_error_notint"] = 'De e-mail alias limiet moet een numerieke waarde zijn.';
 $wb["limit_mailaliasdomain_error_notint"] = 'De e-mail domein alias limiet moet een numerieke waarde zijn.';
-$wb["limit_mailforward_error_notint"] = 'The e-mail forward limiet moet een numerieke waarde zijn.';
+$wb["limit_mailforward_error_notint"] = 'De e-mail forward limiet moet een numerieke waarde zijn.';
 $wb["limit_mailcatchall_error_notint"] = 'De e-mail catchall limiet moet een numerieke waarde zijn.';
 $wb["limit_mailrouting_error_notint"] = 'De em-ail routing limiet moet een numerieke waarde zijn.';
 $wb["limit_mailfilter_error_notint"] = 'De e-mail filter limiet moet een numerieke waarde zijn.';
@@ -86,7 +86,7 @@ $wb["limit_dns_zone_error_notint"] = 'De DNS record limiet moet een numerieke wa
 $wb["limit_client_error_notint"] = 'De sub klant limiet moet een numerieke waarde zijn.';
 $wb["default_dbserver_txt"] = 'Standaard Database server';
 $wb["limit_database_txt"] = 'Max. aantal databases';
-$wb["limit_database_error_notint"] = 'The database limiet moet een numerieke waarde zijn.';
+$wb["limit_database_error_notint"] = 'De database limiet moet een numerieke waarde zijn.';
 $wb["limit_cron_error_notint"] = 'De cron limiet moet een numerieke waarde zijn.';
 $wb["limit_cron_error_frequency"] = 'De cron frequency limiet moet een numerieke waarde zijn.';
 $wb["username_error_regex"] = 'De gebruikersnaam bevat ongeldige karakters.';
@@ -105,3 +105,4 @@ $wb["required_fields_txt"] = '* Verplichte velden';
 
 
 
+
diff --git a/interface/web/client/lib/lang/nl_client_del.lng b/interface/web/client/lib/lang/nl_client_del.lng
index 919366455151cd422aff27bb41ad26a4082b40fc..56797bfd0202df7b7a5971ebb49a8024a003c71d 100644
--- a/interface/web/client/lib/lang/nl_client_del.lng
+++ b/interface/web/client/lib/lang/nl_client_del.lng
@@ -7,3 +7,4 @@ $wb["btn_cancel_txt"] = 'Annuleren zonder de klant te verwijderen';
 
 
 
+
diff --git a/interface/web/client/lib/lang/nl_client_template.lng b/interface/web/client/lib/lang/nl_client_template.lng
index bc753c93fe28bfbffde311094ff34daf95f1717e..63a495fe6b2b99d31f89cd6d26acf6fff2a4963c 100644
--- a/interface/web/client/lib/lang/nl_client_template.lng
+++ b/interface/web/client/lib/lang/nl_client_template.lng
@@ -65,3 +65,4 @@ $wb["template_del_aborted_txt"] = 'Verwijderen afgebroken. Er is een klant die d
 ?>
 
 
+
diff --git a/interface/web/client/lib/lang/nl_client_template_list.lng b/interface/web/client/lib/lang/nl_client_template_list.lng
index 44d9d26770ad019f0a14af45639de9a56f993588..c4ee7c14d9a44bf04f88aa89e9845a3667d013ea 100644
--- a/interface/web/client/lib/lang/nl_client_template_list.lng
+++ b/interface/web/client/lib/lang/nl_client_template_list.lng
@@ -6,3 +6,4 @@ $wb["template_name_txt"] = 'Template naam';
 
 
 
+
diff --git a/interface/web/client/lib/lang/nl_clients_list.lng b/interface/web/client/lib/lang/nl_clients_list.lng
index d0ffbd570576ec4a2c97ee50bc17c5da99e84462..7a9ae860bb091a628fd373265997341a79cfae37 100644
--- a/interface/web/client/lib/lang/nl_clients_list.lng
+++ b/interface/web/client/lib/lang/nl_clients_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe klant';
 ?>
 
 
+
diff --git a/interface/web/client/lib/lang/nl_reseller.lng b/interface/web/client/lib/lang/nl_reseller.lng
index 74084150cca1ad995da7168ab691f9280a2760cd..d24d0cea329b3c65b4a9bedc903351c978ccf188 100644
--- a/interface/web/client/lib/lang/nl_reseller.lng
+++ b/interface/web/client/lib/lang/nl_reseller.lng
@@ -16,7 +16,7 @@ $wb["company_name_txt"] = 'Bedrijfsnaam';
 $wb["contact_name_txt"] = 'Contactpersoon';
 $wb["username_txt"] = 'Gebruikersnaam';
 $wb["password_txt"] = 'Wachtwoord';
-$wb["password_strength_txt"] = 'Password sterkte';
+$wb["password_strength_txt"] = 'Wachtwoord sterkte';
 $wb["language_txt"] = 'Taal';
 $wb["usertheme_txt"] = 'Thema';
 $wb["street_txt"] = 'Adres';
@@ -65,7 +65,7 @@ $wb["limit_mailalias_error_notint"] = 'De e-mail alias limiet moet een numerieke
 $wb["limit_mailforward_error_notint"] = 'De e-mail forward limiet moet een numerieke waarde zijn.';
 $wb["limit_mailcatchall_error_notint"] = 'De e-mail catchall limiet moet een numerieke waarde zijn.';
 $wb["limit_mailrouting_error_notint"] = 'De e-mail routing limiet moet een numerieke waarde zijn.';
-$wb["limit_mailfilter_error_notint"] = 'The e-mail filter limiet moet een numerieke waarde zijn.';
+$wb["limit_mailfilter_error_notint"] = 'De e-mail filter limiet moet een numerieke waarde zijn.';
 $wb["limit_mailfetchmail_error_notint"] = 'De fetchmail limiet moet een numerieke waarde zijn.';
 $wb["limit_mailquota_error_notint"] = 'De email quota limiet moet een numerieke waarde zijn.';
 $wb["limit_spamfilter_wblist_error_notint"] = 'De spamfilter white / blacklist limit moet een numerieke waarde zijn.';
@@ -73,17 +73,17 @@ $wb["limit_spamfilter_user_error_notint"] = 'De spamfilter gebruiker limiet moet
 $wb["limit_spamfilter_policy_error_notint"] = 'De spamfilter policy limiet moet een numerieke waarde zijn.';
 $wb["limit_web_domain_error_notint"] = 'De website limiet moet een numerieke waarde zijn.';
 $wb["limit_web_aliasdomain_error_notint"] = 'De website alias domein limiet moet een numerieke waarde zijn.';
-$wb["limit_web_subdomain_error_notint"] = 'The website subdomein limiet moet een numerieke waarde zijn.';
-$wb["limit_ftp_user_error_notint"] = 'The ftp gebruiker limiet moet een numerieke waarde zijn.';
-$wb["limit_shell_user_error_notint"] = 'The shell gebruiker limiet moet een numerieke waarde zijn.';
-$wb["limit_dns_zone_error_notint"] = 'The DNS zone limiet moet een numerieke waarde zijn.';
-$wb["limit_dns_slave_zone_error_notint"] = 'The DNS slave zone limiet moet een numerieke waarde zijn.';
-$wb["limit_dns_record_error_notint"] = 'The DNS record limiet moet een numerieke waarde zijn.';
-$wb["limit_client_error_notint"] = 'The sub client limiet moet een numerieke waarde zijn.';
+$wb["limit_web_subdomain_error_notint"] = 'De website subdomein limiet moet een numerieke waarde zijn.';
+$wb["limit_ftp_user_error_notint"] = 'De ftp gebruiker limiet moet een numerieke waarde zijn.';
+$wb["limit_shell_user_error_notint"] = 'De shell gebruiker limiet moet een numerieke waarde zijn.';
+$wb["limit_dns_zone_error_notint"] = 'De DNS zone limiet moet een numerieke waarde zijn.';
+$wb["limit_dns_slave_zone_error_notint"] = 'De DNS slave zone limiet moet een numerieke waarde zijn.';
+$wb["limit_dns_record_error_notint"] = 'De DNS record limiet moet een numerieke waarde zijn.';
+$wb["limit_client_error_notint"] = 'De sub client limiet moet een numerieke waarde zijn.';
 $wb["default_dbserver_txt"] = 'Standaard Database Server';
 $wb["limit_database_txt"] = 'Max. aantal Databases';
 $wb["limit_database_error_notint"] = 'De database limiet moet een numerieke waarde zijn.';
-$wb["limit_cron_error_notint"] = 'The cron limiet moet een numerieke waarde zijn.';
+$wb["limit_cron_error_notint"] = 'De cron limiet moet een numerieke waarde zijn.';
 $wb["limit_cron_error_frequency"] = 'De cron frequency limiet moet een numerieke waarde zijn.';
 $wb["username_error_regex"] = 'De gebruikersnaam bevat ongeldige karakters.';
 $wb["template_master_txt"] = 'Master template';
@@ -102,3 +102,4 @@ $wb["required_fields_txt"] = '* Verplichte velden';
 
 
 
+
diff --git a/interface/web/client/lib/lang/nl_resellers_list.lng b/interface/web/client/lib/lang/nl_resellers_list.lng
index a2c9e342014afa9f77a3a388a5597dd26ddc1ac7..3cc7ee4c80c2917096bd9839ed6777e7c2b5ca24 100644
--- a/interface/web/client/lib/lang/nl_resellers_list.lng
+++ b/interface/web/client/lib/lang/nl_resellers_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe reseller';
 ?>
 
 
+
diff --git a/interface/web/dashboard/lib/lang/id.lng b/interface/web/dashboard/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b05f9567abdaa63cba5ceff79311bf8becc6da81
--- /dev/null
+++ b/interface/web/dashboard/lib/lang/id.lng
@@ -0,0 +1,5 @@
+<?php
+$wb['welcome_user_txt'] = 'Selamat Datang %s';
+$wb['available_modules_txt'] = 'Modul yang tersedia';
+?>
+
diff --git a/interface/web/dashboard/lib/lang/id_dashlet_limits.lng b/interface/web/dashboard/lib/lang/id_dashlet_limits.lng
new file mode 100644
index 0000000000000000000000000000000000000000..77575718908c49cea63fbb3cf0e6f1993375e781
--- /dev/null
+++ b/interface/web/dashboard/lib/lang/id_dashlet_limits.lng
@@ -0,0 +1,30 @@
+<?php
+$wb['limits_txt'] = 'Batasan Akun';
+$wb['of_txt'] = 'dari';
+$wb['unlimited_txt'] = 'Tak terbatas';
+$wb['limit_maildomain_txt'] = 'Jumlah domain email';
+$wb['limit_mailbox_txt'] = 'Jumlah mailbox';
+$wb['limit_mailalias_txt'] = 'Jumlah alias email';
+$wb['limit_mailaliasdomain_txt'] = 'Jumlah alias domain';
+$wb['limit_mailforward_txt'] = 'Jumlah forwarder email';
+$wb['limit_mailcatchall_txt'] = 'Jumlah akun catchall email';
+$wb['limit_mailrouting_txt'] = 'Jumlah rute email';
+$wb['limit_mailfilter_txt'] = 'Jumlah filter email';
+$wb['limit_fetchmail_txt'] = 'Jumlah akun fetchmail';
+$wb['limit_spamfilter_wblist_txt'] = 'Jumlah filter white/blacklist spamfilter';
+$wb['limit_spamfilter_user_txt'] = 'Jumlah pengguna spamfilter';
+$wb['limit_spamfilter_policy_txt'] = 'Jumlah pengguna spamfilter';
+$wb['limit_cron_txt'] = 'Jumlah cron job';
+$wb['limit_web_domain_txt'] = 'Jumlah domain web';
+$wb['limit_web_aliasdomain_txt'] = 'Jumlah alias domain web';
+$wb['limit_web_subdomain_txt'] = 'Jumlah subdomain web';
+$wb['limit_ftp_user_txt'] = 'Jumlah pengguna FTP';
+$wb['limit_dns_zone_txt'] = 'Jumlah zona DNS';
+$wb['limit_dns_slave_zone_txt'] = 'Jumlah zona slave DNS';
+$wb['limit_dns_record_txt'] = 'Jumlah record DNS';
+$wb['limit_shell_user_txt'] = 'Jumlah pengguna Shell';
+$wb['limit_webdav_user_txt'] = 'Jumlah pengguna Webdav';
+$wb['limit_client_txt'] = 'Jumlah Klien';
+$wb['limit_database_txt'] = 'Jumlah Database';
+?>
+
diff --git a/interface/web/dashboard/lib/lang/id_dashlet_modules.lng b/interface/web/dashboard/lib/lang/id_dashlet_modules.lng
new file mode 100644
index 0000000000000000000000000000000000000000..2f1e23dd871799142b26bbad07e3e1a3824e1715
--- /dev/null
+++ b/interface/web/dashboard/lib/lang/id_dashlet_modules.lng
@@ -0,0 +1,4 @@
+<?php
+$wb['available_modules_txt'] = 'Modul yang tersedia';
+?>
+
diff --git a/interface/web/dashboard/lib/lang/nl.lng b/interface/web/dashboard/lib/lang/nl.lng
index 72fd5b56565114d336aa53f44d50273367ea1543..db713834c1f8a4a54144eb3b16f7e9b14e4c9f2b 100644
--- a/interface/web/dashboard/lib/lang/nl.lng
+++ b/interface/web/dashboard/lib/lang/nl.lng
@@ -5,3 +5,4 @@ $wb['available_modules_txt'] = "Beschikbare modules";
 
 
 
+
diff --git a/interface/web/dashboard/lib/lang/nl_dashlet_limits.lng b/interface/web/dashboard/lib/lang/nl_dashlet_limits.lng
index 3ef33ca64fcfffa3821a7850173d48b06f0945dc..12a10df94c1d14673641caa57a17715e0e63e29a 100644
--- a/interface/web/dashboard/lib/lang/nl_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/nl_dashlet_limits.lng
@@ -30,3 +30,4 @@ $wb["limit_database_txt"] = 'Aantal databases';
 
 
 
+
diff --git a/interface/web/dashboard/lib/lang/nl_dashlet_modules.lng b/interface/web/dashboard/lib/lang/nl_dashlet_modules.lng
index dc5ce84e7b3eda707cd079a90dcd00178840ef7c..827d2aa0809e423ed2038bc03492ccd98cbb7086 100644
--- a/interface/web/dashboard/lib/lang/nl_dashlet_modules.lng
+++ b/interface/web/dashboard/lib/lang/nl_dashlet_modules.lng
@@ -4,3 +4,4 @@ $wb['available_modules_txt'] = "Beschikbare modules";
 
 
 
+
diff --git a/interface/web/designer/lib/lang/id.lng b/interface/web/designer/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..75c42c807a4b617b8fe9048defb206bc87ec8acf
--- /dev/null
+++ b/interface/web/designer/lib/lang/id.lng
@@ -0,0 +1,3 @@
+<?php
+?>
+
diff --git a/interface/web/designer/lib/lang/id_form_edit.lng b/interface/web/designer/lib/lang/id_form_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b5ba503bcc1a5075fe79ab93b6b1f501fc90cd84
--- /dev/null
+++ b/interface/web/designer/lib/lang/id_form_edit.lng
@@ -0,0 +1,25 @@
+<?php
+$wb['name_txt'] = 'Nama Form';
+$wb['title_txt'] = 'Judul Form';
+$wb['template_txt'] = 'Template';
+$wb['navframe_txt'] = 'Frame Navigasi';
+$wb['startpage_txt'] = 'Halaman Awal';
+$wb['tab_width_txt'] = 'Lebar Tab';
+$wb['save_txt'] = 'Simpan';
+$wb['cancel_txt'] = 'Batal';
+$wb['header_txt'] = 'Properti Form';
+$wb['description_txt'] = 'Keterangan';
+$wb['action_txt'] = 'Tindakan (skrip)';
+$wb['db_table_txt'] = 'Tabel DB';
+$wb['db_table_idx_txt'] = 'Indeks Tabel DB';
+$wb['db_history_txt'] = 'Undo Log';
+$wb['tab_default_txt'] = 'Tab Baku';
+$wb['list_default_txt'] = 'Daftar Baku';
+$wb['auth_txt'] = 'Hak Akses';
+$wb['auth_preset_userid_txt'] = 'ID Pengguna';
+$wb['auth_preset_groupid_txt'] = 'ID Grup';
+$wb['auth_preset_perm_user_txt'] = 'Hak Akses Pengguna';
+$wb['auth_preset_perm_group_txt'] = 'Hak Akses Grup';
+$wb['auth_preset_perm_other_txt'] = 'Hak Akses Lainnya';
+?>
+
diff --git a/interface/web/designer/lib/lang/id_form_list.lng b/interface/web/designer/lib/lang/id_form_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..fef6a340588816fb9f73ffa17ea95171b0c41b6e
--- /dev/null
+++ b/interface/web/designer/lib/lang/id_form_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Form Backend';
+$wb['form_txt'] = 'Form';
+$wb['module_txt'] = 'Modul';
+$wb['title_txt'] = 'Judul';
+$wb['description_txt'] = 'Keterangan';
+?>
+
diff --git a/interface/web/designer/lib/lang/id_form_show.lng b/interface/web/designer/lib/lang/id_form_show.lng
new file mode 100644
index 0000000000000000000000000000000000000000..87c6f0417bf47e4276fd61f8e19289ad5035758a
--- /dev/null
+++ b/interface/web/designer/lib/lang/id_form_show.lng
@@ -0,0 +1,19 @@
+<?php
+$wb['header_txt'] = 'Penyunting Form';
+$wb['title_txt'] = 'Judul Form';
+$wb['name_txt'] = 'Nama Form';
+$wb['delete_txt'] = 'Hapus';
+$wb['properties_txt'] = 'Properti';
+$wb['new_tab_txt'] = 'Tab Baru';
+$wb['edit_txt'] = 'Sunting';
+$wb['new_txt'] = 'Baru';
+$wb['up_txt'] = '^';
+$wb['down_txt'] = 'v';
+$wb['module_txt'] = 'Modul';
+$wb['form_txt'] = 'Form';
+$wb['description_txt'] = 'Keterangan';
+$wb['module_del_txt'] = 'Hapus modul dan seluruh sub direktori?';
+$wb['menu_del_txt'] = 'Hapus menu dengan seluruh menuitem?';
+$wb['item_del_txt'] = 'Hapus menuitem?';
+?>
+
diff --git a/interface/web/designer/lib/lang/id_module_edit.lng b/interface/web/designer/lib/lang/id_module_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8c6af9ab5545b001699d8901c20392139d61c120
--- /dev/null
+++ b/interface/web/designer/lib/lang/id_module_edit.lng
@@ -0,0 +1,23 @@
+<?php
+$wb['name_txt'] = 'Nama modul';
+$wb['title_txt'] = 'Judul modul';
+$wb['template_txt'] = 'Berkas Template';
+$wb['navframe_txt'] = 'Frame Navigasi';
+$wb['startpage_txt'] = 'Halaman Default';
+$wb['tab_width_txt'] = 'Lebar Tab';
+$wb['save_txt'] = 'Simpan';
+$wb['cancel_txt'] = 'Batal';
+$wb['header_txt'] = 'Properti Modul';
+$wb['description_txt'] = '
+<b>Keterangan</b>
+<br><br>
+<b>Nama Modul:</b> Nama direktori modul. Hanya angka, karakter dan garis bawah yang diizinkan.<br>
+<b>Judul Modul:</b> Akan terlihat di navigasi utama (bagian atas).<br>
+<b>Berkas Template:</b> Berkas Template modul. Yang tersedia saat ini: module.tpl.htm dan module_tree.tpl.htm. Defaultnya adalah module.tpl.htm.<br>
+<b>Frame Navigasi:</b> Jika memilih module_tree.tpl.htm sebagai berkas template, masukkan path ke berkas skrip untuk frame sebelah kiri.<br>
+<b>Halaman Default:</b> Halaman ini akan muncul ketika modul dibuka.<br>
+<b>Lebar Tab:</b> Lebar tab di navigasi utama. Kolom ini defaultnya kosong. Anda dapat memasukkan nilai pixel absolut (mis. 20) atau relatif (mis. 20%).<br>
+<b>Petunjuk:</b> Semua path adalah relatif terhadap direktori web.
+';
+?>
+
diff --git a/interface/web/designer/lib/lang/id_module_list.lng b/interface/web/designer/lib/lang/id_module_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..098486ffd11eaa4075b3ddcea737bd8bedd71a2e
--- /dev/null
+++ b/interface/web/designer/lib/lang/id_module_list.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['list_head_txt'] = 'Modul Backend';
+$wb['module_txt'] = 'Modul';
+$wb['title_txt'] = 'Judul';
+?>
+
diff --git a/interface/web/designer/lib/lang/id_module_nav_edit.lng b/interface/web/designer/lib/lang/id_module_nav_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8b9376ab4f04920d07227a1ed42f1e4d179bbad2
--- /dev/null
+++ b/interface/web/designer/lib/lang/id_module_nav_edit.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['title_txt'] = 'Judul';
+$wb['header_txt'] = 'Properti Navigasi';
+$wb['save_txt'] = 'Simpan';
+$wb['cancel_txt'] = 'Batal';
+?>
+
diff --git a/interface/web/designer/lib/lang/id_module_nav_item_edit.lng b/interface/web/designer/lib/lang/id_module_nav_item_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3e2567246f1d01ff5cecdec001121cc9b7f350ac
--- /dev/null
+++ b/interface/web/designer/lib/lang/id_module_nav_item_edit.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['title_txt'] = 'Judul';
+$wb['target_txt'] = 'Target';
+$wb['link_txt'] = 'Tautan';
+$wb['header_txt'] = 'Properti Navigasi';
+$wb['save_txt'] = 'Simpan';
+$wb['cancel_txt'] = 'Batal';
+?>
+
diff --git a/interface/web/designer/lib/lang/id_module_show.lng b/interface/web/designer/lib/lang/id_module_show.lng
new file mode 100644
index 0000000000000000000000000000000000000000..31a445c05dc80e8da16264a33e42eeb5ac387020
--- /dev/null
+++ b/interface/web/designer/lib/lang/id_module_show.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['header_txt'] = 'Penyunting Menu';
+$wb['title_txt'] = 'Judul';
+$wb['name_txt'] = 'Modul';
+$wb['delete_txt'] = 'Hapus';
+$wb['properties_txt'] = 'Properti';
+$wb['new_menu_txt'] = 'Menu baru';
+$wb['edit_txt'] = 'Sunting';
+$wb['new_txt'] = 'Baru';
+$wb['up_txt'] = 'Naik';
+$wb['down_txt'] = 'Turun';
+$wb['module_txt'] = 'Modul';
+$wb['module_del_txt'] = 'Apakah Anda ingin menghapus modul dan semua berkas dan subdirektori yang dibuat oleh modul?';
+$wb['menu_del_txt'] = 'Apakah Anda ingin menghapus menu dan semua sub-entrinya?';
+$wb['item_del_txt'] = 'Apakah Anda ingin menghapus item menu?';
+?>
+
diff --git a/interface/web/designer/lib/lang/nl.lng b/interface/web/designer/lib/lang/nl.lng
index 5493b5d2d8d6ef242852835e482d7b23823c321e..4922f837372ae2626a9f2fe70f4f17882f8f20e6 100644
--- a/interface/web/designer/lib/lang/nl.lng
+++ b/interface/web/designer/lib/lang/nl.lng
@@ -3,3 +3,4 @@
 ?>
 
 
+
diff --git a/interface/web/designer/lib/lang/nl_form_edit.lng b/interface/web/designer/lib/lang/nl_form_edit.lng
index 140a3a7844d5f88f170da5fa61af0a8f286c76be..ad01242168c04f46f8af17f60fef4d8a56aea1d6 100644
--- a/interface/web/designer/lib/lang/nl_form_edit.lng
+++ b/interface/web/designer/lib/lang/nl_form_edit.lng
@@ -26,3 +26,4 @@ $wb["auth_preset_perm_other_txt"] = 'Perm. overige';
 ?>
 
 
+
diff --git a/interface/web/designer/lib/lang/nl_form_list.lng b/interface/web/designer/lib/lang/nl_form_list.lng
index 5e4ef81d19feaa89379d889824f40df4d8f4d3b6..ced4a6d9104b4c3c126e5e63ad93e64f3c0f2127 100644
--- a/interface/web/designer/lib/lang/nl_form_list.lng
+++ b/interface/web/designer/lib/lang/nl_form_list.lng
@@ -7,3 +7,4 @@ $wb["description_txt"] = 'Omschrijving';
 ?>
 
 
+
diff --git a/interface/web/designer/lib/lang/nl_form_show.lng b/interface/web/designer/lib/lang/nl_form_show.lng
index 7414f5fef3de3bf2ebb2d0d29894ce879504a7bc..e6934c12613ba5a7a3990e3ec4ef85acf8029caa 100644
--- a/interface/web/designer/lib/lang/nl_form_show.lng
+++ b/interface/web/designer/lib/lang/nl_form_show.lng
@@ -18,3 +18,4 @@ $wb["item_del_txt"] = "Verwijder menutitem?";
 ?>
 
 
+
diff --git a/interface/web/designer/lib/lang/nl_module_edit.lng b/interface/web/designer/lib/lang/nl_module_edit.lng
index f56a82a61f5d89edbc5aac4aef1380a9a0a996bf..f257acacc617ea292245b05379eb5a10a2efc3ec 100644
--- a/interface/web/designer/lib/lang/nl_module_edit.lng
+++ b/interface/web/designer/lib/lang/nl_module_edit.lng
@@ -23,3 +23,4 @@ $wb["description_txt"] = '
 ?>
 
 
+
diff --git a/interface/web/designer/lib/lang/nl_module_list.lng b/interface/web/designer/lib/lang/nl_module_list.lng
index c2b9989ab9be25fe96abe0d0166debda587fe255..06077da6d7c83ef5ea6a94dbd45b55a00127fe58 100644
--- a/interface/web/designer/lib/lang/nl_module_list.lng
+++ b/interface/web/designer/lib/lang/nl_module_list.lng
@@ -5,3 +5,4 @@ $wb["title_txt"] = 'Titel';
 ?>
 
 
+
diff --git a/interface/web/designer/lib/lang/nl_module_nav_edit.lng b/interface/web/designer/lib/lang/nl_module_nav_edit.lng
index 6187b34caf4961b72a7127b017dcb8ff0b92b8d9..1140801bb32d7138ff18b4de1b0585a5c258b294 100644
--- a/interface/web/designer/lib/lang/nl_module_nav_edit.lng
+++ b/interface/web/designer/lib/lang/nl_module_nav_edit.lng
@@ -6,3 +6,4 @@ $wb["cancel_txt"] = 'Annuleren';
 ?>
 
 
+
diff --git a/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng b/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng
index 122273850a26464b07d7008d18f0ce4f8995627b..b510d8da9cf0c1ad7dec5f708a1c63bf05d68d47 100644
--- a/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng
+++ b/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng
@@ -8,3 +8,4 @@ $wb["cancel_txt"] = 'Annuleer';
 ?>
 
 
+
diff --git a/interface/web/designer/lib/lang/nl_module_show.lng b/interface/web/designer/lib/lang/nl_module_show.lng
index ceed1c15d3cba794b9b1d273c624b54805742f94..457c6ac66544c85d7bab96013e07b515ade93f8a 100644
--- a/interface/web/designer/lib/lang/nl_module_show.lng
+++ b/interface/web/designer/lib/lang/nl_module_show.lng
@@ -17,3 +17,4 @@ $wb["item_del_txt"] = "Wilt u het menu item verwijderen?";
 ?>
 
 
+
diff --git a/interface/web/dns/dns_rr_del.php b/interface/web/dns/dns_rr_del.php
index 7a0b92d14514d7b9ef1e158cf027da0b5e51eb48..26d369ec6cefd60a9997384acbd4c282423cb136 100644
--- a/interface/web/dns/dns_rr_del.php
+++ b/interface/web/dns/dns_rr_del.php
@@ -45,7 +45,23 @@ require_once('../../lib/app.inc.php');
 //* Check permissions for module
 $app->auth->check_module_permissions('dns');
 
-$app->uses("tform_actions");
-$app->tform_actions->onDelete();
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+	function onAfterDelete() {
+		global $app; $conf;
+				
+		//* Update the serial number of the SOA record
+		$soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+		$soa_id = intval($this->dataRecord["zone"]);
+		$serial = $app->validate_dns->increase_serial($soa["serial"]);
+		$app->db->datalogUpdate('dns_soa', "serial = $serial", 'id', $soa_id);
+	}
+}
+
+$page = new page_action;
+$page->onDelete();
 
 ?>
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/id.lng b/interface/web/dns/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..06b951374d57c387e0a354db959d9653894a0ea0
--- /dev/null
+++ b/interface/web/dns/lib/lang/id.lng
@@ -0,0 +1,21 @@
+<?php
+$wb['DNS'] = 'DNS';
+$wb['Zones'] = 'Zona';
+$wb['DNS A'] = 'DNS A';
+$wb['DNS ALIAS'] = 'DNS ALIAS';
+$wb['DNS CNAME'] = 'DNS CNAME';
+$wb['DNS hinfo'] = 'DNS hinfo';
+$wb['DNS mx'] = 'DNS MX';
+$wb['DNS ns'] = 'DNS NS';
+$wb['DNS ptr'] = 'DNS PTR';
+$wb['DNS RP'] = 'DNS RP';
+$wb['DNS Zone'] = 'DNS Zone';
+$wb['Records'] = 'Record';
+$wb['DNS SRV'] = 'DNS SRV';
+$wb['DNS TXT Record'] = 'DNS TXT Record';
+$wb['DNS TXT'] = 'DNS TXT';
+$wb['DNS Wizard'] = 'DNS Wizard';
+$wb['Add DNS Zone'] = 'Tambah Zona DNS';
+$wb['Templates'] = 'Template';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_a.lng b/interface/web/dns/lib/lang/id_dns_a.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ee08a9f7f2a80503ad6587f97551f9678873b85b
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_a.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Alamat IP';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$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_regex'] = 'Format Alamat IP tidak valid';
+$wb['data_error_duplicate'] = 'Record-A Ganda';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_a_list.lng b/interface/web/dns/lib/lang/id_dns_a_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..29a1068f06cce5946ca247e0e70d0b8c2e86ec17
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_a_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Record-A';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama';
+$wb['data_txt'] = 'Data';
+$wb['aux_txt'] = 'Prioritas';
+$wb['type_txt'] = 'Tipe';
+$wb['add_new_record_txt'] = 'Tambah Record-A DNS baru';
+$wb['page_txt'] = 'Halaman';
+$wb['page_of_txt'] = 'dari';
+$wb['delete_confirmation'] = 'Apakah Anda benar-benar ingin menghapus record ini?';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_aaaa.lng b/interface/web/dns/lib/lang/id_dns_aaaa.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7911411e70bcd8d80da02eb2ace59cfa686b9eeb
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_aaaa.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Alamat IPv6';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$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_regex'] = 'Format Alamat IP tidak valid';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_alias.lng b/interface/web/dns/lib/lang/id_dns_alias.lng
new file mode 100644
index 0000000000000000000000000000000000000000..47d21a581779659ec631c6ed8862f956a4dc09a5
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_alias.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Nama Host Target';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$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';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_cname.lng b/interface/web/dns/lib/lang/id_dns_cname.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6ae14c80d381cba111017699c547781a31c45704
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_cname.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Nama Host Target';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$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'] = 'Record-A atau Record-CNAME Ganda';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_hinfo.lng b/interface/web/dns/lib/lang/id_dns_hinfo.lng
new file mode 100644
index 0000000000000000000000000000000000000000..a4ff8387edc23f7d7dc25fae368911b0ad9e15f3
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_hinfo.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Informasi Host';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$wb['name_error_empty'] = 'Nama Host kosong.';
+$wb['name_error_regex'] = 'Format Nama Host salah.';
+$wb['data_error_empty'] = 'Informasi Host kosong';
+$wb['data_error_regex'] = 'Format Informasi Host tidak valid';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_mx.lng b/interface/web/dns/lib/lang/id_dns_mx.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d9297a23347ea1176abe691f6d68d843b69b354f
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_mx.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Nama Host Server Mail';
+$wb['aux_txt'] = 'Prioritas';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$wb['name_error_empty'] = 'Nama Host kosong.';
+$wb['name_error_regex'] = 'Format Nama Host salah.';
+$wb['data_error_empty'] = 'Nama Host Server Mail kosong';
+$wb['data_error_regex'] = 'Format Nama Host Server Mail tidak valid';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_ns.lng b/interface/web/dns/lib/lang/id_dns_ns.lng
new file mode 100644
index 0000000000000000000000000000000000000000..08cbbd070bb43ea2ddb62c009e778ceb46f5e70b
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_ns.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Zona';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Nama Host Nameserver';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$wb['name_error_empty'] = 'Zona kosong.';
+$wb['name_error_regex'] = 'Format zona salah.';
+$wb['data_error_empty'] = 'Nameserver kosong';
+$wb['data_error_regex'] = 'Format Nameserver tidak valid';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_ptr.lng b/interface/web/dns/lib/lang/id_dns_ptr.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4a245209d896607ae39700832e8e20fd6832b2cc
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_ptr.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zone';
+$wb['name_txt'] = 'Nama';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Nama Host Canonical';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$wb['name_error_empty'] = 'Nama kosong.';
+$wb['name_error_regex'] = 'Format Nama salah.';
+$wb['data_error_empty'] = 'Nama Host Canonical kosong';
+$wb['data_error_regex'] = 'Format Nama Host Canonical tidak valid';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_rp.lng b/interface/web/dns/lib/lang/id_dns_rp.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8f647a4680f2a171f39f9a8a1d207a06b14e39bf
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_rp.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Penanggung Jawab';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$wb['name_error_empty'] = 'Nama Host kosong.';
+$wb['name_error_regex'] = 'Format Nama Host salah.';
+$wb['data_error_empty'] = 'Kolom Penanggung Jawab kosong';
+$wb['data_error_regex'] = 'Format kolom Penanggung Jawab salah';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_slave.lng b/interface/web/dns/lib/lang/id_dns_slave.lng
new file mode 100644
index 0000000000000000000000000000000000000000..474b74823d1d987693da74456e2b86d3635472f8
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_slave.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zona DNS';
+$wb['ns_txt'] = 'NS';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_slave_zone_txt'] = 'Jumlah maks zona DNS Sekunder untuk akun Anda telah tercapai.';
+$wb['client_txt'] = 'Klien';
+$wb['xfer_txt'] = 'Perbolehkan pemindahan zona ke <br />IP ini (daftar dipisahkan dengan koma)';
+$wb['server_id_error_empty'] = 'Tidak ada server yang dipilih';
+$wb['origin_error_empty'] = 'Zona kosong.';
+$wb['origin_error_unique'] = 'Sudah ada record untuk zona ini.';
+$wb['origin_error_regex'] = 'Zona memiliki format yang tidak valid.';
+$wb['ns_error_regex'] = 'NS memiliki format yang tidak valid.';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_slave_list.lng b/interface/web/dns/lib/lang/id_dns_slave_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8889a4b5eca75c31845b8a328fda7f7d4b3f6525
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_slave_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Zona DNS Sekunder';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zona';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Tambah Zona DNS Sekunder Baru';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_soa.lng b/interface/web/dns/lib/lang/id_dns_soa.lng
new file mode 100644
index 0000000000000000000000000000000000000000..dfc91fe881504c16df0c6386b7ca10affbe56bff
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_soa.lng
@@ -0,0 +1,27 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zona (SOA)';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['serial_txt'] = 'Serial';
+$wb['refresh_txt'] = 'Refresh';
+$wb['retry_txt'] = 'Retry';
+$wb['expire_txt'] = 'Expire';
+$wb['minimum_txt'] = 'Minimum';
+$wb['ttl_txt'] = 'TTL';
+$wb['xfer_txt'] = 'Izinkan transfer zona ke <br />IP ini (daftar dipisahkan dengan koma)';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_zone_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['client_txt'] = 'Klien';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$wb['server_id_error_empty'] = 'Tak ada server yang dipilih';
+$wb['origin_error_empty'] = 'Zone kosong.';
+$wb['origin_error_unique'] = 'Sudah ada record untuk zona ini.';
+$wb['origin_error_regex'] = 'Format Zona salah.';
+$wb['ns_error_regex'] = 'Format NS salah.';
+$wb['mbox_error_empty'] = 'Email kosong.';
+$wb['mbox_error_regex'] = 'Format Email tidak valid.';
+$wb['also_notify_txt'] = 'Notifikasi Juga';
+$wb['update_acl_txt'] = 'Mutakhirkan ACL';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_soa_list.lng b/interface/web/dns/lib/lang/id_dns_soa_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b4059871226b657766208c0e2d7eecf3fb24b11c
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_soa_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Zona DNS';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zona';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_txt'] = 'Tambah Zona DNS Baru (SOA)';
+$wb['add_new_record_wizard_txt'] = 'Tambah Zona DNS Baru dengan Wizard';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_srv.lng b/interface/web/dns/lib/lang/id_dns_srv.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1d30171db2751ca64f1eb92abb246d326e1d15dd
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_srv.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Record Server';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Akun anda telah mencapai jumlah maksimum record DNS.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambahkan record ke zone DNS ini.';
+$wb['name_error_empty'] = 'Nama host kosong.';
+$wb['name_error_regex'] = 'Format nama host salah.';
+$wb['data_error_empty'] = 'Record server kosong';
+$wb['data_error_regex'] = 'Format record server tidak valid';
+$wb['srv_error_regex'] = 'Format record server tidak valid. Record server harus terdiri dari 3 string teks dipisahkan oleh spasi.';
+$wb['aux_txt'] = 'Prioritas';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_template.lng b/interface/web/dns/lib/lang/id_dns_template.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0e702669055ec75d5a1b09f729798d87cc13fdc9
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_template.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['name_txt'] = 'Nama';
+$wb['fields_txt'] = 'Kolom';
+$wb['template_txt'] = 'Template';
+$wb['visible_txt'] = 'Terlihat';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_template_list.lng b/interface/web/dns/lib/lang/id_dns_template_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..15beb69f7b022d30a5a0aba4ecc3b3972e1b7e25
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_template_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Template Wizard DNS';
+$wb['visible_txt'] = 'Terlihat';
+$wb['name_txt'] = 'Nama';
+$wb['add_new_record_txt'] = 'Tambah Template Baru';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_txt.lng b/interface/web/dns/lib/lang/id_dns_txt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d2e49a22d081078479710d06254f69db09cfc451
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_txt.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nama Host';
+$wb['type_txt'] = 'Tipe';
+$wb['data_txt'] = 'Teks';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_dns_record_txt'] = 'Jumlah maksimum record DNS untuk akun Anda telah tercapai.';
+$wb['no_zone_perm'] = 'Anda tidak memiliki hak untuk menambah record ke zona DNS ini.';
+$wb['name_error_empty'] = 'Nama host kosong.';
+$wb['name_error_regex'] = 'Format nama host salah.';
+$wb['data_error_empty'] = 'Teks kosong';
+$wb['data_error_regex'] = 'Format teks tidak valid';
+?>
+
diff --git a/interface/web/dns/lib/lang/id_dns_wizard.lng b/interface/web/dns/lib/lang/id_dns_wizard.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c68520c36193b550f8da3e2d0bd5605c92451a3b
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_wizard.lng
@@ -0,0 +1,30 @@
+<?php
+$wb['template_id_txt'] = 'Template';
+$wb['server_id_txt'] = 'Server';
+$wb['client_txt'] = 'Klien';
+$wb['btn_save_txt'] = 'Buat Record DNS';
+$wb['btn_cancel_txt'] = 'Batal';
+$wb['domain_txt'] = 'Domain';
+$wb['email_txt'] = 'Email';
+$wb['ns1_txt'] = 'NS 1';
+$wb['ns2_txt'] = 'NS 2';
+$wb['ip_txt'] = 'Alamat IP';
+$wb['error_origin_empty'] = 'Origin kosong.';
+$wb['error_ns_empty'] = 'NS kosong.';
+$wb['error_mbox_empty'] = 'Mbox kosong.';
+$wb['error_refresh_empty'] = 'Refresh kosong.';
+$wb['error_retry_empty'] = 'Retry kosong.';
+$wb['error_expire_empty'] = 'Expire kosong.';
+$wb['error_minimum_empty'] = 'Minimum kosong.';
+$wb['error_ttl_empty'] = 'TTL kosong.';
+$wb['error_domain_empty'] = 'Domain kosong';
+$wb['error_ip_empty'] = 'IP kosong.';
+$wb['error_ns1_empty'] = 'NS1 kosong.';
+$wb['error_ns2_empty'] = 'NS2 kosong.';
+$wb['error_email_empty'] = 'EMail kosong.';
+$wb['error_domain_regex'] = 'Domain mengandung karakter yang tidak valid.';
+$wb['error_ns1_regex'] = 'NS1 mengandung karakter yang tidak valid.';
+$wb['error_ns2_regex'] = 'NS2 mengandung karakter yang tidak valid.';
+$wb['error_email_regex'] = 'Email tidak mengandung alamat email yang valid.';
+?>
+
diff --git a/interface/web/dns/lib/lang/nl.lng b/interface/web/dns/lib/lang/nl.lng
index 6d0c7e4f0187b1e6650f63e9f49333a83137748d..91637f564fdb611f0977c66dfd2f9ea1184fbd45 100644
--- a/interface/web/dns/lib/lang/nl.lng
+++ b/interface/web/dns/lib/lang/nl.lng
@@ -22,3 +22,4 @@ $wb['Templates'] = 'Templates';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_a.lng b/interface/web/dns/lib/lang/nl_dns_a.lng
index ac304f89876c3ab8b5e3d631804a3522f362de42..6ee27eea9683c2577cff14d8ef0d310b1742d958 100644
--- a/interface/web/dns/lib/lang/nl_dns_a.lng
+++ b/interface/web/dns/lib/lang/nl_dns_a.lng
@@ -8,11 +8,12 @@ $wb["ttl_txt"] = 'TTL';
 $wb["active_txt"] = 'Actief';
 $wb["limit_dns_record_txt"] = 'Het max. aan DNS records voor uw account is bereikt.';
 $wb["no_zone_perm"] = 'U heeft geen toestemming om een record toe te voegen aan deze DNS zone.';
-$wb["name_error_empty"] = 'The hostnaam is niet ingvuld.';
-$wb["name_error_regex"] = 'The hostnaam heeft een onjuist formaat.';
+$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["data_error_regex"] = 'IP-adres formaat ongeldig';
 $wb["data_error_duplicate"] = 'Duplicaat A-Record of CNAME-record';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_a_list.lng b/interface/web/dns/lib/lang/nl_dns_a_list.lng
index b167f1139074271df81703ee6820188e0dc19057..5cda650443d131ebad5396fe4f2628cda8a500d2 100644
--- a/interface/web/dns/lib/lang/nl_dns_a_list.lng
+++ b/interface/web/dns/lib/lang/nl_dns_a_list.lng
@@ -14,3 +14,4 @@ $wb['delete_confirmation'] = 'Wilt u dit record echt verwijderen?';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_aaaa.lng b/interface/web/dns/lib/lang/nl_dns_aaaa.lng
index 9c7c966826f299373979bfb9776159caaad91fb6..7db19335b56f1164a644201712f98f88180ab1d0 100644
--- a/interface/web/dns/lib/lang/nl_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/nl_dns_aaaa.lng
@@ -8,10 +8,11 @@ $wb["ttl_txt"] = 'TTL';
 $wb["active_txt"] = 'Actief';
 $wb["limit_dns_record_txt"] = 'Het max. number of DNS records voor uw account is bereikt.';
 $wb["no_zone_perm"] = 'U heeft geen toestemming om een record toe te voegen aan deze DNS zone.';
-$wb["name_error_empty"] = 'The hostnaam is niet ingvuld.';
-$wb["name_error_regex"] = 'The hostnaam heeft een onjuist formaat.';
-$wb["data_error_empty"] = 'IP-adres empty';
+$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_regex"] = 'IP-adres formaat ongeldig';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_alias.lng b/interface/web/dns/lib/lang/nl_dns_alias.lng
index 585856fbfd0cd3a0089fb9cf72dffe9bd6c5c871..0192faae54cfa6205e411cfea1cae8181f3a8225 100644
--- a/interface/web/dns/lib/lang/nl_dns_alias.lng
+++ b/interface/web/dns/lib/lang/nl_dns_alias.lng
@@ -15,3 +15,4 @@ $wb["data_error_regex"] = 'Doel hostnaam formaat ongeldig';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_cname.lng b/interface/web/dns/lib/lang/nl_dns_cname.lng
index 93e1d4812ac5b7a361ea22392e6b3cae32fd146a..59eb6c7762f4207222da39d569045604338ac5fc 100644
--- a/interface/web/dns/lib/lang/nl_dns_cname.lng
+++ b/interface/web/dns/lib/lang/nl_dns_cname.lng
@@ -9,10 +9,11 @@ $wb["active_txt"] = 'Actief';
 $wb["limit_dns_record_txt"] = 'Het max. aan DNS records voor uw account is bereikt.';
 $wb["no_zone_perm"] = 'U heeft geen toestemming om een record toe te voegen aan deze DNS zone.';
 $wb["name_error_empty"] = 'De hostnaam is niet ingvuld.';
-$wb["name_error_regex"] = 'De hostname has the wrong format.';
+$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-record of CNAME-record';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_hinfo.lng b/interface/web/dns/lib/lang/nl_dns_hinfo.lng
index bc2007ffca14ae41d8456ccd98371e7782a0f58d..c153071e983ab8c3aab9a35ce631a6a620d4ead7 100644
--- a/interface/web/dns/lib/lang/nl_dns_hinfo.lng
+++ b/interface/web/dns/lib/lang/nl_dns_hinfo.lng
@@ -8,10 +8,11 @@ $wb["ttl_txt"] = 'TTL';
 $wb["active_txt"] = 'Actief';
 $wb["limit_dns_record_txt"] = 'Het max. aan DNS records voor uw account is bereikt.';
 $wb["no_zone_perm"] = 'U heeft geen toestemming om een record toe te voegen aan deze DNS zone.';
-$wb["name_error_empty"] = 'The hostnaam is niet ingvuld.';
-$wb["name_error_regex"] = 'The hostnaam heeft een onjuist formaat.';
+$wb["name_error_empty"] = 'De hostnaam is niet ingvuld.';
+$wb["name_error_regex"] = 'De hostnaam heeft een onjuist formaat.';
 $wb["data_error_empty"] = 'Host informatie is niet ingvuld';
 $wb["data_error_regex"] = 'Host Informatie formaat ongeldig';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_mx.lng b/interface/web/dns/lib/lang/nl_dns_mx.lng
index 1f91060d0d394c9556ec518530da53a2b0f4dc8c..a62e9dd4dbf8acd50d6b7a6aa8afc0d289137def 100644
--- a/interface/web/dns/lib/lang/nl_dns_mx.lng
+++ b/interface/web/dns/lib/lang/nl_dns_mx.lng
@@ -9,10 +9,11 @@ $wb["ttl_txt"] = 'TTL';
 $wb["active_txt"] = 'Actief';
 $wb["limit_dns_record_txt"] = 'Het max. aan DNS records voor uw account is bereikt.';
 $wb["no_zone_perm"] = 'U heeft geen toestemming om een record toe te voegen aan deze DNS zone.';
-$wb["name_error_empty"] = 'The hostnaam is niet ingvuld.';
-$wb["name_error_regex"] = 'The hostnaam heeft een onjuist formaat.';
+$wb["name_error_empty"] = 'De hostnaam is niet ingvuld.';
+$wb["name_error_regex"] = 'De hostnaam heeft een onjuist formaat.';
 $wb["data_error_empty"] = 'Mailserver hostnaam is niet ingvuld';
 $wb["data_error_regex"] = 'Mailserver hostnaam formaat ongeldig';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_ns.lng b/interface/web/dns/lib/lang/nl_dns_ns.lng
index 26b51efcd39e8a36ffce3b390d4752a79e27d097..4df66a8d1dec0a3acec4f41a77de82f11b3d22d8 100644
--- a/interface/web/dns/lib/lang/nl_dns_ns.lng
+++ b/interface/web/dns/lib/lang/nl_dns_ns.lng
@@ -9,9 +9,10 @@ $wb["active_txt"] = 'Actief';
 $wb["limit_dns_record_txt"] = 'Het max. aan DNS records voor uw account is bereikt.';
 $wb["no_zone_perm"] = 'U heeft geen toestemming om een record toe te voegen aan deze DNS zone.';
 $wb["name_error_empty"] = 'De zone is niet ingvuld.';
-$wb["name_error_regex"] = 'De zone has the wrong format.';
+$wb["name_error_regex"] = 'De zone heeft een onjuist formaat.';
 $wb["data_error_empty"] = 'Nameserver is niet ingvuld';
-$wb["data_error_regex"] = 'Nameserver formaat ongeldig';
+$wb["data_error_regex"] = 'Nameserver heeft een onjuist formaat';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_ptr.lng b/interface/web/dns/lib/lang/nl_dns_ptr.lng
index 392f160f45c172a7dcb9b173bdc1cfe131d780fb..a7b6be492ae6455c62face5af91d13497f46e44d 100644
--- a/interface/web/dns/lib/lang/nl_dns_ptr.lng
+++ b/interface/web/dns/lib/lang/nl_dns_ptr.lng
@@ -15,3 +15,4 @@ $wb["data_error_regex"] = 'Canonical hostnaam format ongeldig';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_rp.lng b/interface/web/dns/lib/lang/nl_dns_rp.lng
index b1f3673dda8d3e19d0b2b3e277d958579c04d2be..c63a4d816a25fd8477dd136ebe923ec8a60c4bbc 100644
--- a/interface/web/dns/lib/lang/nl_dns_rp.lng
+++ b/interface/web/dns/lib/lang/nl_dns_rp.lng
@@ -15,3 +15,4 @@ $wb["data_error_regex"] = 'Verantwoordelijke persoon veld formaat ongeldig';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_slave.lng b/interface/web/dns/lib/lang/nl_dns_slave.lng
index 64ca1a2dd7ea5102256dfb682d5579fa24c2efa4..a2afdca6d7d1ef51ed9c38e8d844e2bda3f8bc20 100644
--- a/interface/web/dns/lib/lang/nl_dns_slave.lng
+++ b/interface/web/dns/lib/lang/nl_dns_slave.lng
@@ -15,3 +15,4 @@ $wb["ns_error_regex"] = 'NS heeft een ongeldig formaat.';
 
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_slave_list.lng b/interface/web/dns/lib/lang/nl_dns_slave_list.lng
index e15aa9e81d0fbe40adffcbbd8d121566f77722d3..da88836ef3bfe20348512e6109f39df421ab910e 100644
--- a/interface/web/dns/lib/lang/nl_dns_slave_list.lng
+++ b/interface/web/dns/lib/lang/nl_dns_slave_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe secondary DNS Zone';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_soa.lng b/interface/web/dns/lib/lang/nl_dns_soa.lng
index f9fb92974af32155a0f7f1af18c803c424879544..3551d360ccbf987fd313af4912c0dc565e655a8d 100644
--- a/interface/web/dns/lib/lang/nl_dns_soa.lng
+++ b/interface/web/dns/lib/lang/nl_dns_soa.lng
@@ -26,3 +26,4 @@ $wb["update_acl_txt"] = 'Update ACL';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_soa_list.lng b/interface/web/dns/lib/lang/nl_dns_soa_list.lng
index 56b3061a16c01e4b66f9af9a3605d176686eeeb4..6679278b48c2a5c7c32c7c9ef1e676514e600a09 100644
--- a/interface/web/dns/lib/lang/nl_dns_soa_list.lng
+++ b/interface/web/dns/lib/lang/nl_dns_soa_list.lng
@@ -10,3 +10,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe DNS Zone (handmatig)';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_srv.lng b/interface/web/dns/lib/lang/nl_dns_srv.lng
index 68e3b3bc8909608dccb61550024d8602636059ea..c4d26e56e8af530eb9bb78e5265eef817062f772 100644
--- a/interface/web/dns/lib/lang/nl_dns_srv.lng
+++ b/interface/web/dns/lib/lang/nl_dns_srv.lng
@@ -17,3 +17,4 @@ $wb["srv_error_regex"] = 'Ongeldig server record formaat. Het server record moet
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_template.lng b/interface/web/dns/lib/lang/nl_dns_template.lng
index fdaad7f6892150e9682b1ab7ba07a06ca947bb2a..71f266283111813a729d8313c2d9139d881fa309 100644
--- a/interface/web/dns/lib/lang/nl_dns_template.lng
+++ b/interface/web/dns/lib/lang/nl_dns_template.lng
@@ -6,3 +6,4 @@ $wb["visible_txt"] = 'Zichtbaar';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_template_list.lng b/interface/web/dns/lib/lang/nl_dns_template_list.lng
index ea7ba2bc8be4f689f42cd9b8f7250e124b5188b6..3273b0ddd546b058a73ad3fe63a684fcaef143b2 100644
--- a/interface/web/dns/lib/lang/nl_dns_template_list.lng
+++ b/interface/web/dns/lib/lang/nl_dns_template_list.lng
@@ -6,3 +6,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuw record';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_txt.lng b/interface/web/dns/lib/lang/nl_dns_txt.lng
index 550985b8bf1fe800e12dd845fb1381f28aacdd65..641b379f11c44dc4ef63c6b88089f7a62a4187b8 100644
--- a/interface/web/dns/lib/lang/nl_dns_txt.lng
+++ b/interface/web/dns/lib/lang/nl_dns_txt.lng
@@ -15,3 +15,4 @@ $wb["data_error_regex"] = 'Tekst formaat ongeldig';
 ?>
 
 
+
diff --git a/interface/web/dns/lib/lang/nl_dns_wizard.lng b/interface/web/dns/lib/lang/nl_dns_wizard.lng
index a406bddffd55625655cb721fe9086c7e07f76fd1..20379551761075d2c6c79c4c23b7583e2e18988c 100644
--- a/interface/web/dns/lib/lang/nl_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/nl_dns_wizard.lng
@@ -30,3 +30,4 @@ $wb['error_email_regex'] = 'E-mail bevat geen geldig e-mailadres.';
 ?>
 
 
+
diff --git a/interface/web/dns/templates/dns_wizard.htm b/interface/web/dns/templates/dns_wizard.htm
index 971e521d126c28e59272714dafc80c4efba71371..b353094dea3fb78e657dbfab23ad66a76dcbd5e0 100644
--- a/interface/web/dns/templates/dns_wizard.htm
+++ b/interface/web/dns/templates/dns_wizard.htm
@@ -73,7 +73,7 @@
     
     <div class="buttonHolder buttons">
       <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" name="btn_create" onClick="document.pageForm.create.value=1; submitForm('pageForm','dns/dns_wizard.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-      <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_wizard.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+      <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
     </div>
   </div>
   
diff --git a/interface/web/domain/lib/lang/id.lng b/interface/web/domain/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f6a6b2f3765334c44cc6a484a4eee513001bb6fc
--- /dev/null
+++ b/interface/web/domain/lib/lang/id.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['Domains'] = 'Domain';
+$wb['domain_txt'] = 'Domain';
+$wb['client_txt'] = 'Klien';
+$wb['error_domain_in mailuse'] = 'Domain ini tidak bisa dihapus, karena sedang digunakan sebagai domain mail';
+$wb['error_domain_in webuse'] = 'Domain ini tidak bisa dihapus, karena sedang digunakan sebagai domain web';
+$wb['error_client_can_not_add_domain'] = 'Anda tidak dapat menambah domain baru';
+$wb['error_client_group_id_empty'] = 'Anda harus memilih pelanggan<br>';
+?>
+
diff --git a/interface/web/domain/lib/lang/id_domain.lng b/interface/web/domain/lib/lang/id_domain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0ace4638338b1dcbebe5d30f59c9add9820e704c
--- /dev/null
+++ b/interface/web/domain/lib/lang/id_domain.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['domain_error_empty'] = 'Nama Domain kosong';
+$wb['domain_error_unique'] = 'Domain sudah ada';
+$wb['domain_error_regex'] = 'Nama Domain ini tidak diperbolehkan';
+$wb['Domain'] = 'Domain';
+?>
+
diff --git a/interface/web/domain/lib/lang/id_domain_list.lng b/interface/web/domain/lib/lang/id_domain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..fc60135d1d88f7894e422c61b5957f62ccf0de67
--- /dev/null
+++ b/interface/web/domain/lib/lang/id_domain_list.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['list_head_txt'] = 'Domain';
+$wb['add_new_record_txt'] = 'Tambah Domain Baru';
+$wb['domain_txt'] = 'Domain';
+?>
+
diff --git a/interface/web/domain/lib/lang/nl.lng b/interface/web/domain/lib/lang/nl.lng
index ecd41d7740041c93a3a278ce0e70cee1bb993ac9..6e19eb1265cc9461e7a05710fa05ee8ce976a22e 100644
--- a/interface/web/domain/lib/lang/nl.lng
+++ b/interface/web/domain/lib/lang/nl.lng
@@ -11,3 +11,4 @@ $wb['error_client_group_id_empty'] = 'U dient een klant selecteren<br>';
 
 
 
+
diff --git a/interface/web/domain/lib/lang/nl_domain.lng b/interface/web/domain/lib/lang/nl_domain.lng
index 5c9585ac9145936693e3d45eb7618b65e2e0c811..c1cf945e75b53d5b776dab7a85a06cbf3054704f 100644
--- a/interface/web/domain/lib/lang/nl_domain.lng
+++ b/interface/web/domain/lib/lang/nl_domain.lng
@@ -7,3 +7,4 @@ $wb['Domain'] = 'Domein';
 
 
 
+
diff --git a/interface/web/domain/lib/lang/nl_domain_list.lng b/interface/web/domain/lib/lang/nl_domain_list.lng
index 650aa63c7413556f4a98db2a52d783a82e3890fe..ff7d3f2a5988484e19ff262e2be25c9166759663 100644
--- a/interface/web/domain/lib/lang/nl_domain_list.lng
+++ b/interface/web/domain/lib/lang/nl_domain_list.lng
@@ -5,3 +5,4 @@ $wb['domain_txt'] = 'Domein';
 ?>
 
 
+
diff --git a/interface/web/help/lib/lang/id.lng b/interface/web/help/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3b71869216b99e92d3cea24c2f5338e6f98ffbc1
--- /dev/null
+++ b/interface/web/help/lib/lang/id.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['Support Message'] = 'Pesan Dukungan';
+$wb['Message'] = 'Pesan';
+$wb['Send message'] = 'Kirim Pesan';
+$wb['View messages'] = 'Lihat Pesan';
+$wb['Support'] = 'Dukungan';
+$wb['About ISPConfig'] = 'Tentang ISPConfig';
+$wb['Version'] = 'Versi';
+?>
+
diff --git a/interface/web/help/lib/lang/id_support_message.lng b/interface/web/help/lib/lang/id_support_message.lng
new file mode 100644
index 0000000000000000000000000000000000000000..557869cacf5fd7b35efc31db18ceec94c8f9990d
--- /dev/null
+++ b/interface/web/help/lib/lang/id_support_message.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['recipient_id_txt'] = 'ID Penerima';
+$wb['sender_id_txt'] = 'ID Pengirim';
+$wb['subject_txt'] = 'Judul';
+$wb['message_txt'] = 'Pesan';
+$wb['tstamp_txt'] = 'Tanda Waktu';
+?>
+
diff --git a/interface/web/help/lib/lang/id_support_message_list.lng b/interface/web/help/lib/lang/id_support_message_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..e41bc9f74e49d4a50e478e45a1baa5aa983b2497
--- /dev/null
+++ b/interface/web/help/lib/lang/id_support_message_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Pesan Dukungan';
+$wb['sender_id_txt'] = 'Pengirim';
+$wb['subject_txt'] = 'Judul';
+$wb['add_new_record_txt'] = 'Buat Pesan Dukungan Baru';
+?>
+
diff --git a/interface/web/help/lib/lang/nl.lng b/interface/web/help/lib/lang/nl.lng
index 6b3991df6b7cb672958e98e474c060458f56b1e2..39ca0f4f92acccf603e9493736fb567fc8055ee4 100644
--- a/interface/web/help/lib/lang/nl.lng
+++ b/interface/web/help/lib/lang/nl.lng
@@ -11,3 +11,4 @@ $wb['Version'] = 'Versie';
 
 
 
+
diff --git a/interface/web/help/lib/lang/nl_support_message.lng b/interface/web/help/lib/lang/nl_support_message.lng
index 59a0cc5137b0c1e9298dff980c33df1956a2bd3e..f00786c1cb5336075f8c6c127b07b2ebc7e20a7b 100644
--- a/interface/web/help/lib/lang/nl_support_message.lng
+++ b/interface/web/help/lib/lang/nl_support_message.lng
@@ -8,3 +8,4 @@ $wb['tstamp_txt'] = 'Tijdstip';
 
 
 
+
diff --git a/interface/web/help/lib/lang/nl_support_message_list.lng b/interface/web/help/lib/lang/nl_support_message_list.lng
index 3d1b6b7dd8de74026b67c9db3e8f14d510dee5f0..182f34b755a421a87caa630929b7e42c80686450 100644
--- a/interface/web/help/lib/lang/nl_support_message_list.lng
+++ b/interface/web/help/lib/lang/nl_support_message_list.lng
@@ -6,3 +6,4 @@ $wb["add_new_record_txt"] = 'Maak een nieuw support bericht';
 ?>
 
 
+
diff --git a/interface/web/login/lib/lang/id.lng b/interface/web/login/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6f7eb128df23aa3dcefc19408dc0ff2a785e50bf
--- /dev/null
+++ b/interface/web/login/lib/lang/id.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['error_user_password_empty'] = 'Nama Pengguna atau Kata Sandi kosong.';
+$wb['error_user_password_incorrect'] = 'Nama Pengguna atau Kata Sandi salah.';
+$wb['error_user_blocked'] = 'Pengguna telah diblokir.';
+$wb['error_user_too_many_logins'] = 'Terlalu banyak usaha masuk yang gagal, Silakan ulangi lagi setelah 15 menit';
+$wb['pass_reset_txt'] = 'Kata sandi baru telah dibuat dan dikirim ke alamat email Anda jika alamat email yang dimasukkan di bawah ini cocok dengan alamat email di pengaturan klien Anda.';
+$wb['pw_reset'] = 'Kata sandi telah direset dan telah dikirim ke alamat email Anda.';
+$wb['pw_error'] = 'Nama pengguna atau alamat email tidak cocok.';
+$wb['pw_error_noinput'] = 'Masukkan alamat email dan nama pengguna.';
+$wb['pw_reset_mail_msg'] = 'Kata sandi untuk control panel ISPConfig 3 Anda telah direset. Kata sandi yang baru adalah: ';
+$wb['pw_reset_mail_title'] = 'Kata sandi Control Panel ISPConfig 3 telah direset.';
+$wb['user_regex_error'] = 'Nama Pengguna mengandung karakter yang tidak diperbolehkan atau lebih dari 64 karakter.';
+$wb['pw_error_length'] = 'Panjang kata sandi > 64 karakter.';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['password_txt'] = 'Kata Sandi';
+$wb['login_button_txt'] = 'Masuk';
+?>
+
diff --git a/interface/web/login/lib/lang/nl.lng b/interface/web/login/lib/lang/nl.lng
index 3e676a2325f24e4c60977063729cdc00300cf29a..35005d82c1f80bc46b0816142745e800d9421a86 100644
--- a/interface/web/login/lib/lang/nl.lng
+++ b/interface/web/login/lib/lang/nl.lng
@@ -22,3 +22,4 @@ $wb['login_button_txt']	= "Login";
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/en_mail_user_filter.lng b/interface/web/mail/lib/lang/en_mail_user_filter.lng
index 20ffa3dfc6c9b35fb3c47de0e963694c2bdeb6dd..296a47ec579fa2003a3614b0f3545623480524ce 100644
--- a/interface/web/mail/lib/lang/en_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/en_mail_user_filter.lng
@@ -7,6 +7,7 @@ $wb["rulename_error_empty"] = 'Name is empty.';
 $wb["searchterm_is_empty"] = 'Search term is empty.';
 $wb["source_txt"] = 'Source';
 $wb["target_error_regex"] = 'The target may only contain these characters: a-z, 0-9, -, ., _, and {space}';
+$wb["limit_mailfilter_txt"] = 'The max. number of mailfilters is reached.';
 $wb['subject_txt'] = 'Subject';
 $wb['from_txt'] = 'From';
 $wb['to_txt'] = 'To';
diff --git a/interface/web/mail/lib/lang/id.lng b/interface/web/mail/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8348e1b5b988ea5a82e381945d626d8970e6c25e
--- /dev/null
+++ b/interface/web/mail/lib/lang/id.lng
@@ -0,0 +1,48 @@
+<?php
+$wb['Email Alias'] = 'Alias Email';
+$wb['Email Blacklist'] = 'Blacklist Email';
+$wb['Blacklist'] = 'Blacklist';
+$wb['Mail Content Filter'] = 'Penyaringan Konten Mail';
+$wb['Filter'] = 'Penyaringan';
+$wb['Mail Domain'] = 'Domain Mail';
+$wb['Domain'] = 'Domain';
+$wb['Email Catchall'] = 'Email Catchall';
+$wb['Email Forward'] = 'Email Forward';
+$wb['Get Email'] = 'Get Email';
+$wb['Spamfilter'] = 'Spamfilter';
+$wb['Email Routing'] = 'Email Routing';
+$wb['Email transport'] = 'Email transport';
+$wb['Mailbox'] = 'Mailbox';
+$wb['Autoresponder'] = 'Penjawab Otomatis';
+$wb['Mail Filter'] = 'Penyaringan Mail';
+$wb['Custom Rules'] = 'Aturan Kastem';
+$wb['Email filter'] = 'Email filter';
+$wb['Email Whitelist'] = 'Email Whitelist';
+$wb['Whitelist'] = 'Whitelist';
+$wb['Spamfilter blacklist'] = 'Spamfilter blacklist';
+$wb['Spamfilter Config'] = 'Konfigurasi Spamfilter';
+$wb['Server'] = 'Server';
+$wb['Spamfilter policy'] = 'Kebijakan Spamfilter';
+$wb['Policy'] = 'Kebijakan';
+$wb['Quarantine'] = 'Karantina';
+$wb['Tag-Level'] = 'Tag-Level';
+$wb['Other'] = 'Lainnya';
+$wb['Spamfilter users'] = 'Pengguna Spamfilter';
+$wb['Users'] = 'Pengguna';
+$wb['Spamfilter Whitelist'] = 'Spamfilter Whitelist';
+$wb['Email'] = 'Email';
+$wb['Email Mailbox'] = 'Mailbox Email';
+$wb['Email Accounts'] = 'Akun Email';
+$wb['User / Domain'] = 'Pengguna / Domain';
+$wb['Server Settings'] = 'Pengaturan Server';
+$wb['Fetchmail'] = 'Fetchmail';
+$wb['Mailbox traffic'] = 'Trafik Mailbox';
+$wb['Statistics'] = 'Statistik';
+$wb['Postfix Whitelist'] = 'Postfix Whitelist';
+$wb['Postfix Blacklist'] = 'Postfix Blacklist';
+$wb['Content Filter'] = 'Penyaringan Konten';
+$wb['Global Filters'] = 'Penyaringan Global';
+$wb['Domain Alias'] = 'Alias Domain';
+$wb['Relay Recipients'] = 'Penerima Relay';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_alias.lng b/interface/web/mail/lib/lang/id_mail_alias.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1dc9ea91e3986de2f1d399016a5694133b973685
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_alias.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['email_txt'] = 'Email';
+$wb['destination_txt'] = 'Tujuan';
+$wb['active_txt'] = 'Aktif';
+$wb['email_error_isemail'] = 'Alamat Email tidak valid.';
+$wb['email_error_unique'] = 'Alamat Email Ganda.';
+$wb['no_domain_perm'] = 'Anda tidak memiliki hak untuk domain ini.';
+$wb['destination_error_isemail'] = 'Alamat Email Tujuan tidak valid.';
+$wb['limit_mailalias_txt'] = 'Jumlah maks alias email untuk akun Anda telah tercapai.';
+$wb['duplicate_mailbox_txt'] = 'Sudah ada mailbox untuk alamat email ini';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_aliasdomain.lng b/interface/web/mail/lib/lang/id_mail_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b70848d5bb80b59e2d30dac390c8166d021716d5
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_aliasdomain.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['source_txt'] = 'Sumber';
+$wb['destination_txt'] = 'Tujuan';
+$wb['active_txt'] = 'Aktif';
+$wb['no_domain_perm'] = 'Anda tidak memiliki hak untuk domain ini.';
+$wb['limit_mailaliasdomain_txt'] = 'Jumlah maks domain alias email untuk akun Anda telah tercapai.';
+$wb['source_destination_identical_txt'] = 'Source and target Domain are the same.';
+$wb['source_error_empty'] = 'Domain Sumber kosong.';
+$wb['source_error_unique'] = 'Domain Sumber Ganda.';
+$wb['source_error_regex'] = 'Nama domain sumber tidak valid.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/id_mail_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..43afd4de5c3628d173f68eb2dae953753e00f79e
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Domain alias';
+$wb['active_txt'] = 'Aktif';
+$wb['source_txt'] = 'Sumber';
+$wb['destination_txt'] = 'Tujuan';
+$wb['add_new_record_txt'] = 'Tambah Alias Domain Baru';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_blacklist.lng b/interface/web/mail/lib/lang/id_mail_blacklist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..09c0563af941565de88c6c5fcb3d57d610b68c86
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_blacklist.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['source_txt'] = 'Alamat Blacklist';
+$wb['recipient_txt'] = 'Penerima';
+$wb['active_txt'] = 'Aktif';
+$wb['source_error_notempty'] = 'Alamat kosong.';
+$wb['type_txt'] = 'Tipe';
+$wb['limit_mailfilter_txt'] = 'Jumlah maks penyaringan email untuk akun Anda telah tercapai.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_blacklist_list.lng b/interface/web/mail/lib/lang/id_mail_blacklist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0cf0fa0794b2540467ad4c523167c08f55ebb894
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_blacklist_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Email Blacklist';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['source_txt'] = 'Alamat yang diblacklist';
+$wb['type_txt'] = 'Tipe';
+$wb['recipient_txt'] = 'Penerima';
+$wb['add_new_record_txt'] = 'Tambah Record Blacklist Baru';
+$wb['access_txt'] = 'akses';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_content_filter.lng b/interface/web/mail/lib/lang/id_mail_content_filter.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5ebfdaf217b74d367ca212440121b024d79c72a6
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_content_filter.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['type_txt'] = 'Filter';
+$wb['pattern_txt'] = 'Pola Regexp.';
+$wb['data_txt'] = 'Data';
+$wb['action_txt'] = 'Tindakan';
+$wb['active_txt'] = 'Aktif';
+$wb['pattern_error_empty'] = 'Pola kosong.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_content_filter_list.lng b/interface/web/mail/lib/lang/id_mail_content_filter_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..a5305397809b0165e5551cba71982fbdaef952f3
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_content_filter_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Pemeriksaan Header dan Body Postfix';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['pattern_txt'] = 'Pola';
+$wb['action_txt'] = 'Tindakan';
+$wb['add_new_record_txt'] = 'Tambah Penyaringan Konten Baru';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_domain.lng b/interface/web/mail/lib/lang/id_mail_domain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..da76710dc216fa19bcc1139a83a72a8d78e2e8d3
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_domain.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['type_txt'] = 'Tipe';
+$wb['active_txt'] = 'Aktif';
+$wb['domain_error_empty'] = 'Domain kosong.';
+$wb['domain_error_unique'] = 'Domain ganda.';
+$wb['domain_error_regex'] = 'Nama domain tidak valid.';
+$wb['client_txt'] = 'Klien';
+$wb['limit_maildomain_txt'] = 'Jumlah maks domain email untuk akun Anda telah tercapai.';
+$wb['policy_txt'] = 'Spamfilter';
+$wb['no_policy'] = '- tidak aktif -';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/id_mail_domain_admin_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..04777bc481719234bb0cad5264751a8d0dcbd19b
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_domain_admin_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Email Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['add_new_record_txt'] = 'Add new Domain';
+$wb['active_txt'] = 'Active';
+$wb['sys_groupid_txt'] = 'Client';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_domain_catchall.lng b/interface/web/mail/lib/lang/id_mail_domain_catchall.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b25ff37266682421f8c9d65cb44ba2a3fc2e4170
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_domain_catchall.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['domain_txt'] = 'Domain';
+$wb['destination_txt'] = 'Tujuan';
+$wb['active_txt'] = 'Aktif';
+$wb['domain_error_unique'] = 'Sudah ada record Catchall untuk domain ini.';
+$wb['no_domain_perm'] = 'Anda tidak memiliki hak untuk domain ini.';
+$wb['domain_error_regex'] = 'Nama domain tidak valid atau domain mengandung karater yang tidak valid.';
+$wb['limit_mailcatchall_txt'] = 'Jumlah maks akun catchall email untuk akun Anda sudah tercapai.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/id_mail_domain_catchall_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..cebfc0ba420a2ec558573704fdfdfc20f78776a1
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_domain_catchall_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Email Catchall';
+$wb['active_txt'] = 'Aktif';
+$wb['source_txt'] = 'Sumber';
+$wb['destination_txt'] = 'Alamat email tujuan';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['add_new_record_txt'] = 'Tambah Catchall Baru';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_domain_list.lng b/interface/web/mail/lib/lang/id_mail_domain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..771f6b47a826725009d8101aa9da5a83589f6fc1
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_domain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Domain Email';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['add_new_record_txt'] = 'Tambah Domain Baru';
+$wb['active_txt'] = 'Aktif';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_forward.lng b/interface/web/mail/lib/lang/id_mail_forward.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7265fbc0da25d917728017ce263e77ba2df3bfcf
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_forward.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['email_txt'] = 'Email';
+$wb['destination_txt'] = 'Email Tujuan';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_mailforward_txt'] = 'Jumlah maks forwarder email untuk akun Anda telah tercapai.';
+$wb['duplicate_mailbox_txt'] = 'Sudah ada mailbox untuk alamat email ini';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_forward_list.lng b/interface/web/mail/lib/lang/id_mail_forward_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..660016af91a8b8a146a5d4cc178da788e5f8dd49
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_forward_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Forward Mail';
+$wb['active_txt'] = 'Aktif';
+$wb['source_txt'] = 'Sumber';
+$wb['destination_txt'] = 'Tujuan';
+$wb['email_txt'] = 'Email';
+$wb['add_new_record_txt'] = 'Tambah Forward Email Baru';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_get.lng b/interface/web/mail/lib/lang/id_mail_get.lng
new file mode 100644
index 0000000000000000000000000000000000000000..79959256c237d4a90582033ecdae85a6e4ca6d4c
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_get.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['type_txt'] = 'Tipe';
+$wb['source_server_txt'] = 'Server Pop3/Imap';
+$wb['source_username_txt'] = 'Nama Pengguna';
+$wb['source_password_txt'] = 'Kata Sandi';
+$wb['source_delete_txt'] = 'Hapus email setelah pengambilan';
+$wb['destination_txt'] = 'Tujuan';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_fetchmail_txt'] = 'Jumlah maks record Fetchmail untuk akun Anda telah tercapai.';
+$wb['source_server_error_isempty'] = 'Server kosong.';
+$wb['source_username_error_isempty'] = 'Nama Pengguna kosong.';
+$wb['source_password_error_isempty'] = 'Kata Sandi kosong.';
+$wb['destination_error_isemail'] = 'Tidak ada tujuan yang dipilih.';
+$wb['source_server_error_regex'] = 'Server Pop3/Imap bukan merupakan nama domain yang valid.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_get_list.lng b/interface/web/mail/lib/lang/id_mail_get_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7293cb6e0d01da6061c8cb69093ad3516d82dfd4
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_get_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Ambil email dari server POP3 / IMAP eksternal';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['source_server_txt'] = 'Server Eksternal';
+$wb['source_username_txt'] = 'Nama Pengguna';
+$wb['destination_txt'] = 'Tujuan';
+$wb['add_new_record_txt'] = 'Tambah Akun Baru';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_relay_recipient.lng b/interface/web/mail/lib/lang/id_mail_relay_recipient.lng
new file mode 100644
index 0000000000000000000000000000000000000000..13a5f0dfc79f02fb14f45b7678d91b808c42c208
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_relay_recipient.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['source_txt'] = 'Penerima Relay';
+$wb['recipient_txt'] = 'Penerima';
+$wb['active_txt'] = 'Aktif';
+$wb['source_error_notempty'] = 'Alamat kosong.';
+$wb['type_txt'] = 'Tipe';
+$wb['limit_mailfilter_txt'] = 'Jumlah maks penyaringan email untuk akun Anda telah tercapai.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/id_mail_relay_recipient_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ac1268f7c43e88547cff47235726b35cf27ad4e1
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_relay_recipient_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Penerima Relay';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['source_txt'] = 'Alamat Penerima';
+$wb['recipient_txt'] = 'Penerima';
+$wb['add_new_record_txt'] = 'Tambah Penerima Relay Baru';
+$wb['access_txt'] = 'Akses';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_spamfilter.lng b/interface/web/mail/lib/lang/id_mail_spamfilter.lng
new file mode 100644
index 0000000000000000000000000000000000000000..bac829dd1c5cda2988dabfdeb4fbadafe75c4d3c
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_spamfilter.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['email_txt'] = 'Email';
+$wb['spam_rewrite_score_int_txt'] = 'Skor Penulisan Ulang';
+$wb['spam_redirect_score_int_txt'] = 'Skor Pengalihan';
+$wb['spam_delete_score_int_txt'] = 'Skor Penghapusan';
+$wb['spam_rewrite_subject_txt'] = 'Tulis Ulang Judul';
+$wb['spam_redirect_maildir_txt'] = 'Alihkan mailbox';
+$wb['active_txt'] = 'Aktif';
+$wb['spam_rewrite_txt'] = 'Tulis ulang judul email di atas skor ini.';
+$wb['spam_redirect_txt'] = 'Alihkan email di atas skor ini ke mailbox yang dipilih.';
+$wb['spam_delete_txt'] = 'Hapus email di atas skor ini.';
+$wb['disable_txt'] = 'Petunjuk: Untuk menonaktifkan opsi penyaringan, set skor menjadi 0.00.';
+$wb['email_error_isemail'] = 'Alamat Email tidak valid.';
+$wb['email_error_unique'] = 'Sudah ada record spamfilter untuk alamat email ini.';
+$wb['spam_redirect_maildir_purge_txt'] = 'Bersihkan Direktori Mail setelah';
+$wb['days_txt'] = 'Hari.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/id_mail_spamfilter_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..2cca38db2e9e96affc86dbb4e5b7f9c583eccda8
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_spamfilter_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Spamfilter';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['server_name_txt'] = 'nama_server';
+$wb['email_txt'] = 'Email';
+$wb['add_new_record_txt'] = 'Tambah Record Spamfilter Baru';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_transport.lng b/interface/web/mail/lib/lang/id_mail_transport.lng
new file mode 100644
index 0000000000000000000000000000000000000000..64ffec82acb8889c843db0c2689f604e59b0f38d
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_transport.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['destination_txt'] = 'Tujuan';
+$wb['type_txt'] = 'Tipe';
+$wb['mx_txt'] = 'Jangan mencari MX';
+$wb['sort_order_txt'] = 'Urutkan berdasarkan';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_mailrouting_txt'] = 'Jumlah maks rute untuk akun Anda telah tercapai.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_transport_list.lng b/interface/web/mail/lib/lang/id_mail_transport_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..e7518a4f2ed2cdfc10f51db50e44ca96c2f51cac
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_transport_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Advanced Email Routing';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['transport_txt'] = 'Transport';
+$wb['sort_order_txt'] = 'Diurutkan berdasarkan';
+$wb['add_new_record_txt'] = 'Tambah Transport Baru';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_user.lng b/interface/web/mail/lib/lang/id_mail_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..163bdabbc079d2c77a71c054ac899d28ab4f3e2f
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_user.lng
@@ -0,0 +1,43 @@
+<?php
+$wb['custom_mailfilter_txt'] = 'Resep penyaringan email kastem';
+$wb['email_txt'] = 'Email';
+$wb['cryptpwd_txt'] = 'Kata Sandi';
+$wb['password_strength_txt'] = 'Kekuatan Sandi';
+$wb['active_txt'] = 'Aktif';
+$wb['email_error_isemail'] = 'Alamat email tidak valid.';
+$wb['email_error_unique'] = 'Alamat Email Ganda.';
+$wb['autoresponder_text_txt'] = 'Teks';
+$wb['autoresponder_txt'] = 'Aktif';
+$wb['autoresponder_start_date_txt'] = 'Dimulai pada';
+$wb['autoresponder_start_date_isfuture'] = 'Tanggal mulai tidak boleh sebelum tanggal hari ini.';
+$wb['autoresponder_end_date_txt'] = 'Selesai pada';
+$wb['autoresponder_end_date_isgreater'] = 'Tanggal selesai harus diset dan harus lebih dari tanggal mulai.';
+$wb['no_domain_perm'] = 'Anda tidak memiliki hak untuk domain ini.';
+$wb['error_no_pwd'] = 'Kata sandi kosong.';
+$wb['quota_error_isint'] = 'Ukuran Mailbox harus berupa angka.';
+$wb['quota_txt'] = 'Kuota';
+$wb['server_id_txt'] = 'id_server';
+$wb['password_txt'] = 'Kata Sandi';
+$wb['maildir_txt'] = 'Maildir';
+$wb['postfix_txt'] = 'Dapat Menerima';
+$wb['access_txt'] = 'Dapat Mengakses';
+$wb['policy_txt'] = 'Spamfilter';
+$wb['no_policy'] = '- tidak diaktifkan -';
+$wb['limit_mailbox_txt'] = 'Jumlah maks mailbox untuk akun Anda sudah tercapai.';
+$wb['limit_mailquota_txt'] = 'Ruang maks untuk mailbox sudah tercapai. Ruang maks yang tersedia dalam MB adalah';
+$wb['welcome_mail_fromname_txt'] = 'ISPConfig3';
+$wb['welcome_mail_fromemail_txt'] = 'webmaster@localhost.tld';
+$wb['welcome_mail_subject'] = 'Selamat Datang di Akun Email Baru Anda.';
+$wb['welcome_mail_message'] = 'Selamat datang di akun email baru Anda. Webmaster Anda.';
+$wb['disableimap_txt'] = 'Nonaktifkan IMAP';
+$wb['disablepop3_txt'] = 'Nonaktifkan POP3';
+$wb['duplicate_alias_or_forward_txt'] = 'Sudah ada alias atau forward untuk alamat email ini.';
+$wb['quota_error_value'] = 'Nilai kuota tidak valid. Nilai yang diperbolehkan adalah: 0 untuk tak terbatas atau angka > 1';
+$wb['move_junk_txt'] = 'Pindahkan Email Spam ke direktori Junk';
+$wb['name_txt'] = 'Nama Lengkap';
+$wb['name_optional_txt'] = '(Opsional)';
+$wb['autoresponder_active'] = 'Aktifkan Penjawab Otomatis';
+$wb['cc_txt'] = 'Kirim salinan ke';
+$wb['cc_error_isemail'] = 'Kolom Kirim salinan ke tidak berisi alamat email yang valid';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_user_filter.lng b/interface/web/mail/lib/lang/id_mail_user_filter.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4af7bd615a5ecf1c356a16f2de5167e00645cd66
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_user_filter.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['rulename_txt'] = 'Nama';
+$wb['action_txt'] = 'Tindakan';
+$wb['target_txt'] = 'Direktori';
+$wb['active_txt'] = 'Aktif';
+$wb['rulename_error_empty'] = 'Nama kosong.';
+$wb['searchterm_is_empty'] = 'Lema pencarian kosong.';
+$wb['source_txt'] = 'Sumber';
+$wb['target_error_regex'] = 'Target hanya boleh berisi karakter berikut ini: a-z, 0-9, -, ., _, dan {space}';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_user_filter_list.lng b/interface/web/mail/lib/lang/id_mail_user_filter_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ff993beb5f1bbed77be34ce80b3cd09c4b5a82e4
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_user_filter_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['rulename_txt'] = 'Nama';
+$wb['add_new_record_txt'] = 'Tambah Penyaringan Baru';
+$wb['page_txt'] = 'Halaman';
+$wb['page_of_txt'] = 'dari';
+$wb['delete_confirmation'] = 'Anda benar-benar ingin menghapus mailfilter?';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_user_list.lng b/interface/web/mail/lib/lang/id_mail_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4cda128d29ded023b2d7324f6ddf106b7a397d8d
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_user_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Mailbox';
+$wb['email_txt'] = 'Email';
+$wb['autoresponder_txt'] = 'Penjawab otomtatis';
+$wb['add_new_record_txt'] = 'Tambah Mailbox Baru';
+$wb['name_txt'] = 'Nama Lengkap';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_user_stats_list.lng b/interface/web/mail/lib/lang/id_mail_user_stats_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0bbedcd76bc8eca265b2386d36da8c659af0ba7c
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_user_stats_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Trafik Mail';
+$wb['email_txt'] = 'Email';
+$wb['this_month_txt'] = 'Bulan ini';
+$wb['last_month_txt'] = 'Sebulan terakhir';
+$wb['this_year_txt'] = 'Tahun ini';
+$wb['last_year_txt'] = 'Setahun terakhir';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_whitelist.lng b/interface/web/mail/lib/lang/id_mail_whitelist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0c523e82289bb99654a46e76c536ea299c9b3b42
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_whitelist.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['source_txt'] = 'Alamat Witelist';
+$wb['recipient_txt'] = 'Penerima';
+$wb['active_txt'] = 'Aktif';
+$wb['source_error_notempty'] = 'Alamat kosong.';
+$wb['type_txt'] = 'Tipe';
+$wb['limit_mailfilter_txt'] = 'Jumlah maks filter email untuk akun Anda telah tercapai.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_mail_whitelist_list.lng b/interface/web/mail/lib/lang/id_mail_whitelist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3f476ad3e146caad63a805bfe83ca73dbe6247ce
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_mail_whitelist_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Whitelist Email';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['source_txt'] = 'Alamat Whitelisted';
+$wb['type_txt'] = 'Tipe';
+$wb['recipient_txt'] = 'Penerima';
+$wb['add_new_record_txt'] = 'Tambah record Whitelist Baru';
+$wb['access_txt'] = 'akses';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/id_spamfilter_blacklist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5d0d38dc932a56006bbff64b07e3dbde5eb77e51
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_blacklist.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['wb_txt'] = 'wb';
+$wb['rid_txt'] = 'Pengguna';
+$wb['email_txt'] = 'Email';
+$wb['priority_txt'] = 'Prioritas';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_spamfilter_wblist_txt'] = 'Jumlah maks record Whitelist atau Blacklist untuk akun Anda telah tercapai.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/id_spamfilter_blacklist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d2128f9430769900dfce468522f3771a394b9110
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_blacklist_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Spamfilter Blacklist';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['priority_txt'] = 'Prioritas';
+$wb['rid_txt'] = 'Pengguna';
+$wb['email_txt'] = 'Email yang diblacklist';
+$wb['add_new_record_txt'] = 'Tambah Record Blacklist';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_config.lng b/interface/web/mail/lib/lang/id_spamfilter_config.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6d6886ea4447b22a004af3498b5dc7dfba939036
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_config.lng
@@ -0,0 +1,21 @@
+<?php
+$wb['getmail_config_dir_txt'] = 'Path Konfigurasi Getmail';
+$wb['ip_address_txt'] = 'Alamat IP';
+$wb['netmask_txt'] = 'Netmask';
+$wb['gateway_txt'] = 'Gateway';
+$wb['hostname_txt'] = 'Nama Host';
+$wb['nameservers_txt'] = 'Nameserver';
+$wb['module_txt'] = 'Modul Server';
+$wb['maildir_path_txt'] = 'Path Maildir';
+$wb['homedir_path_txt'] = 'Path Homedir';
+$wb['mailuser_uid_txt'] = 'UID Mailuser';
+$wb['mailuser_gid_txt'] = 'GID Mailuser';
+$wb['mailuser_name_txt'] = 'Nama Mailuser';
+$wb['mailuser_group_txt'] = 'Grup Mailuser';
+$wb['relayhost_txt'] = 'Relayhost';
+$wb['relayhost_user_txt'] = 'Relayhost User';
+$wb['relayhost_password_txt'] = 'Kata Sandi Relayhost';
+$wb['mailbox_size_limit_txt'] = 'Batasan Ukuran Mailbox';
+$wb['message_size_limit_txt'] = 'Batasan Ukuran Pesan';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_config_list.lng b/interface/web/mail/lib/lang/id_spamfilter_config_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..043713865bebc8b7970ae4cc63b64f26e9ac62de
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_config_list.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['list_head_txt'] = 'Konfigurasi Server';
+$wb['server_name_txt'] = 'Server';
+$wb['server_id_txt'] = 'id_server';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_policy.lng b/interface/web/mail/lib/lang/id_spamfilter_policy.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f97a028e0bd11070cd8e2fbb116f9e59b0a2ddcc
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_policy.lng
@@ -0,0 +1,39 @@
+<?php
+$wb['policy_name_txt'] = 'Nama Kebijakan';
+$wb['virus_lover_txt'] = 'Pengumpul Virus';
+$wb['spam_lover_txt'] = 'Pengumpul SPAM';
+$wb['banned_files_lover_txt'] = 'Pengumpul berkas terlarang';
+$wb['bad_header_lover_txt'] = 'Pengumpul Bad header';
+$wb['bypass_virus_checks_txt'] = 'Lewati pemeriksaan virus';
+$wb['bypass_banned_checks_txt'] = 'Lewati pemeriksaan banned';
+$wb['bypass_header_checks_txt'] = 'Lewati pemeriksaan header';
+$wb['virus_quarantine_to_txt'] = 'Teruskan virus ke email';
+$wb['spam_quarantine_to_txt'] = 'Teruskan spam ke email';
+$wb['banned_quarantine_to_txt'] = 'Teruskan banned ke email';
+$wb['bad_header_quarantine_to_txt'] = 'Teruskan bad header ke email';
+$wb['clean_quarantine_to_txt'] = 'Teruskan clean ke email';
+$wb['other_quarantine_to_txt'] = 'Teruskan lainnya ke email';
+$wb['spam_tag_level_txt'] = 'SPAM tag level';
+$wb['spam_tag2_level_txt'] = 'SPAM tag2 level';
+$wb['spam_kill_level_txt'] = 'SPAM kill level';
+$wb['spam_dsn_cutoff_level_txt'] = 'SPAM dsn cutoff level';
+$wb['spam_quarantine_cutoff_level_txt'] = 'SPAM quarantine cutoff level';
+$wb['spam_modifies_subj_txt'] = 'SPAM modifies subject';
+$wb['spam_subject_tag_txt'] = 'SPAM subject tag';
+$wb['spam_subject_tag2_txt'] = 'SPAM subject tag2';
+$wb['addr_extension_virus_txt'] = 'Addr. extension virus';
+$wb['addr_extension_spam_txt'] = 'Addr. extension SPAM';
+$wb['addr_extension_banned_txt'] = 'Addr. extension banned';
+$wb['addr_extension_bad_header_txt'] = 'Addr extension bad header';
+$wb['warnvirusrecip_txt'] = 'Warn virus recip.';
+$wb['warnbannedrecip_txt'] = 'Warn banned recip.';
+$wb['warnbadhrecip_txt'] = 'Warn bad header recip.';
+$wb['newvirus_admin_txt'] = 'Newvirus admin';
+$wb['virus_admin_txt'] = 'Admin Virus';
+$wb['banned_admin_txt'] = 'Admin Banned';
+$wb['bad_header_admin_txt'] = 'Admin Bad header';
+$wb['spam_admin_txt'] = 'Admin SPAM';
+$wb['message_size_limit_txt'] = 'Batasan ukuran pesan';
+$wb['banned_rulenames_txt'] = 'Nama aturan Banned';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/id_spamfilter_policy_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b11f9369ca57e9091bf583ef61c1a84fe8a25fb5
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_policy_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Kebijakan Spamfilter';
+$wb['policy_name_txt'] = 'Nama';
+$wb['virus_lover_txt'] = 'Pengumpul Virus';
+$wb['spam_lover_txt'] = 'Pengumpul Spam';
+$wb['banned_files_lover_txt'] = 'Pengumpul Berkas terlarang';
+$wb['bad_header_lover_txt'] = 'Pengumpul Bad Header';
+$wb['add_new_record_txt'] = 'Tambah record Kebijakan';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_users.lng b/interface/web/mail/lib/lang/id_spamfilter_users.lng
new file mode 100644
index 0000000000000000000000000000000000000000..873b009883b324ad1e30355a6679b52ce99cec07
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_users.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['priority_txt'] = 'Prioritas';
+$wb['policy_id_txt'] = 'Kebijakan';
+$wb['email_txt'] = 'Email (Pola)';
+$wb['fullname_txt'] = 'Nama';
+$wb['local_txt'] = 'Lokal';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_users_list.lng b/interface/web/mail/lib/lang/id_spamfilter_users_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3836afd222847b9404b2dafd03875b7dd1e6bf1d
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_users_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Pengguna Spamfilter';
+$wb['local_txt'] = 'Lokal';
+$wb['server_id_txt'] = 'Server';
+$wb['priority_txt'] = 'Prioritas';
+$wb['policy_id_txt'] = 'Kebijakan';
+$wb['fullname_txt'] = 'Nama';
+$wb['email_txt'] = 'Email';
+$wb['add_new_record_txt'] = 'Tambah Pengguna Spamfilter';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/id_spamfilter_whitelist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5d0d38dc932a56006bbff64b07e3dbde5eb77e51
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_whitelist.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['wb_txt'] = 'wb';
+$wb['rid_txt'] = 'Pengguna';
+$wb['email_txt'] = 'Email';
+$wb['priority_txt'] = 'Prioritas';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_spamfilter_wblist_txt'] = 'Jumlah maks record Whitelist atau Blacklist untuk akun Anda telah tercapai.';
+?>
+
diff --git a/interface/web/mail/lib/lang/id_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/id_spamfilter_whitelist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d0fe5b26df9a68a2dc0a863ac4e169524a2e2d68
--- /dev/null
+++ b/interface/web/mail/lib/lang/id_spamfilter_whitelist_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Spamfilter Whitelist';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['priority_txt'] = 'Prioritas';
+$wb['rid_txt'] = 'Pengguna';
+$wb['email_txt'] = 'Email yang diwhitelist';
+$wb['add_new_record_txt'] = 'Tambah Record Whitelist';
+?>
+
diff --git a/interface/web/mail/lib/lang/nl.lng b/interface/web/mail/lib/lang/nl.lng
index 3513a241ca4be570eae5ebc43594eb72008ea8ee..7422e66bd75921be472f8d45210b47187fa5be01 100644
--- a/interface/web/mail/lib/lang/nl.lng
+++ b/interface/web/mail/lib/lang/nl.lng
@@ -51,3 +51,4 @@ $wb["Relay Recipients"] = 'Relay ontvangers';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_alias.lng b/interface/web/mail/lib/lang/nl_mail_alias.lng
index a56cdb1890df666373b0e7290017fdac82cc572c..c16ed10888a7e7b357d8737d8a112957d5151b93 100644
--- a/interface/web/mail/lib/lang/nl_mail_alias.lng
+++ b/interface/web/mail/lib/lang/nl_mail_alias.lng
@@ -11,3 +11,4 @@ $wb["duplicate_mailbox_txt"] = 'Er is al een mailbox met dit e-mail adres';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_alias_list.lng b/interface/web/mail/lib/lang/nl_mail_alias_list.lng
index 844e7f1505e74300cb50d0f2a9c31287c7bf7eec..7fe4c1cb2c4186726b07aec703add55610c47b56 100644
--- a/interface/web/mail/lib/lang/nl_mail_alias_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_alias_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe e-mail alias';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_aliasdomain.lng b/interface/web/mail/lib/lang/nl_mail_aliasdomain.lng
index 727a1367a3c419aa5721273cc9e0e66a1905eea1..a381aa8418e8e3f274a9de4f7198e78c49174c1e 100644
--- a/interface/web/mail/lib/lang/nl_mail_aliasdomain.lng
+++ b/interface/web/mail/lib/lang/nl_mail_aliasdomain.lng
@@ -11,3 +11,4 @@ $wb["source_error_regex"] = 'Ongeldige bron domein naam.';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/nl_mail_aliasdomain_list.lng
index e2538961de878f7364a9f1703844b7bf42a7ef47..d98a02df9ec9aa92f80187742f7ed9f4ca67be4e 100644
--- a/interface/web/mail/lib/lang/nl_mail_aliasdomain_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_aliasdomain_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe domein alias';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_blacklist.lng b/interface/web/mail/lib/lang/nl_mail_blacklist.lng
index 16dcb77c1c48ca88f394d0a183caa5b52e45a29e..4cde77e0f6ffbfcc42e12ad1a7702930a4c0819b 100644
--- a/interface/web/mail/lib/lang/nl_mail_blacklist.lng
+++ b/interface/web/mail/lib/lang/nl_mail_blacklist.lng
@@ -9,3 +9,4 @@ $wb["limit_mailfilter_txt"] = 'Het max. aantal e-mail filters voor uw account is
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_blacklist_list.lng b/interface/web/mail/lib/lang/nl_mail_blacklist_list.lng
index 11e48b6ed8650cf17d34cfa66be9eb3e9ba022f3..e2b63d8af576d399dccd1cf0a805b876931a27e9 100644
--- a/interface/web/mail/lib/lang/nl_mail_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_blacklist_list.lng
@@ -10,3 +10,4 @@ $wb["access_txt"] = 'toegang';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_content_filter.lng b/interface/web/mail/lib/lang/nl_mail_content_filter.lng
index 067e4834480e2d4a328ee6de4cdbefed0aef7e15..fd79464555c2719287da4cb1a5c37b61917b611c 100644
--- a/interface/web/mail/lib/lang/nl_mail_content_filter.lng
+++ b/interface/web/mail/lib/lang/nl_mail_content_filter.lng
@@ -9,3 +9,4 @@ $wb["pattern_error_empty"] = 'Patroon is niet ingvuld.';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_content_filter_list.lng b/interface/web/mail/lib/lang/nl_mail_content_filter_list.lng
index fd9489cc31596b90fc18fd609dfadf3b84691a33..0ebf55d3977cb9486ac80dc85585023f3a76c34e 100644
--- a/interface/web/mail/lib/lang/nl_mail_content_filter_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_content_filter_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuw content filter';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_domain.lng b/interface/web/mail/lib/lang/nl_mail_domain.lng
index cdc1f8ff9069637b2d191be3dc12cab467c9b5ff..3b74683027b6d1e0c67b65d414083d058c3b50c5 100644
--- a/interface/web/mail/lib/lang/nl_mail_domain.lng
+++ b/interface/web/mail/lib/lang/nl_mail_domain.lng
@@ -13,3 +13,4 @@ $wb["no_policy"] = '- niet ingeschakeld -';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/nl_mail_domain_admin_list.lng
index 57d1b748f9f28a0608f4961177770ef7a16293d7..e134a5a928a1d7038ff71c38291eee96237e32e7 100644
--- a/interface/web/mail/lib/lang/nl_mail_domain_admin_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_domain_admin_list.lng
@@ -8,3 +8,4 @@ $wb["sys_groupid_txt"] = 'Klant';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_domain_catchall.lng b/interface/web/mail/lib/lang/nl_mail_domain_catchall.lng
index f4d79a91235fc7a36814f05d8912405e5180d46d..21b31836192cc06f84896c74e750a3f0df8ed604 100644
--- a/interface/web/mail/lib/lang/nl_mail_domain_catchall.lng
+++ b/interface/web/mail/lib/lang/nl_mail_domain_catchall.lng
@@ -9,3 +9,4 @@ $wb["limit_mailcatchall_txt"] = 'Het max. aantal e-mail catchall accounts voor u
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/nl_mail_domain_catchall_list.lng
index 445135cf23c65eea27b2f19eac3e9d9084c1b378..9bcdfc4275187a590518149e6db244f70d838d4d 100644
--- a/interface/web/mail/lib/lang/nl_mail_domain_catchall_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_domain_catchall_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe catchall';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_domain_list.lng b/interface/web/mail/lib/lang/nl_mail_domain_list.lng
index 0a6711e5907182692c9c5b4728907d8c1a25dff3..1e445cb006bbfc74d2cb7923f2a878d1fa0574e9 100644
--- a/interface/web/mail/lib/lang/nl_mail_domain_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_domain_list.lng
@@ -7,3 +7,4 @@ $wb["active_txt"] = 'Actief';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_forward.lng b/interface/web/mail/lib/lang/nl_mail_forward.lng
index 58348d86307753af22e611fb3f5470807d5c9cff..61cfd7dcbe30098ff7fedcc5fd0a7e81aa03f790 100644
--- a/interface/web/mail/lib/lang/nl_mail_forward.lng
+++ b/interface/web/mail/lib/lang/nl_mail_forward.lng
@@ -7,3 +7,4 @@ $wb["duplicate_mailbox_txt"] = 'Er is al een mailbox met dit e-mailadres';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_forward_list.lng b/interface/web/mail/lib/lang/nl_mail_forward_list.lng
index fc24d8daccd85bf95a5f1c51a7d8299065b817c7..e2ad77eaf183ad730bedfaae430eaf0240dae545 100644
--- a/interface/web/mail/lib/lang/nl_mail_forward_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_forward_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe E-mail forwarder';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_get.lng b/interface/web/mail/lib/lang/nl_mail_get.lng
index c3abb4e033db025b3186e6442e1e7d1b71d64413..19112e82d51e84d2ead7e93a7bd375ac4da8d69d 100644
--- a/interface/web/mail/lib/lang/nl_mail_get.lng
+++ b/interface/web/mail/lib/lang/nl_mail_get.lng
@@ -16,3 +16,4 @@ $wb["source_server_error_regex"] = 'Pop3/Imap server is geen geldige domeinnaam.
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_get_list.lng b/interface/web/mail/lib/lang/nl_mail_get_list.lng
index 70df6ab76998ea1d8506bc2083afe5ad4b30cb0b..95f063e8b78d9f21f8e7d3d1d2cb962c305145f1 100644
--- a/interface/web/mail/lib/lang/nl_mail_get_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_get_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe account';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_relay_recipient.lng b/interface/web/mail/lib/lang/nl_mail_relay_recipient.lng
index ca392fd64dd48ce988b3cafa2021ae5635a3e1fa..06d600e02cbdfdf113896ab0ac59dbc08b8b0ce5 100644
--- a/interface/web/mail/lib/lang/nl_mail_relay_recipient.lng
+++ b/interface/web/mail/lib/lang/nl_mail_relay_recipient.lng
@@ -9,3 +9,4 @@ $wb["limit_mailfilter_txt"] = 'Het max. aantal e-mail filters voor uw account is
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/nl_mail_relay_recipient_list.lng
index 3d0f032ee0abe481a05c9715d58bf478f7b434f6..0657b29ff49e91570a9ff40a5ace929796bf2d56 100644
--- a/interface/web/mail/lib/lang/nl_mail_relay_recipient_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_relay_recipient_list.lng
@@ -9,3 +9,4 @@ $wb["access_txt"] = 'toegang';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_spamfilter.lng b/interface/web/mail/lib/lang/nl_mail_spamfilter.lng
index cb47e7e097b53487085ca86c6e2426d998e599a4..b2414b85c9e502e750f9cd92168a4c845c0c7153 100644
--- a/interface/web/mail/lib/lang/nl_mail_spamfilter.lng
+++ b/interface/web/mail/lib/lang/nl_mail_spamfilter.lng
@@ -17,3 +17,4 @@ $wb["days_txt"] = 'dagen.';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/nl_mail_spamfilter_list.lng
index acd0db21fdbef211c41e8d657fc830406b72c675..50e2bd024e9dc208a8f1cf209d5462d9f1783cfc 100644
--- a/interface/web/mail/lib/lang/nl_mail_spamfilter_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_spamfilter_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuw spamfilter record';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_transport.lng b/interface/web/mail/lib/lang/nl_mail_transport.lng
index 36dfaedb9be4255164d279505b33296bb831f609..aa16993c3dacf6a3a6386f9251bd1e78be4f3232 100644
--- a/interface/web/mail/lib/lang/nl_mail_transport.lng
+++ b/interface/web/mail/lib/lang/nl_mail_transport.lng
@@ -10,3 +10,4 @@ $wb["limit_mailrouting_txt"] = 'Het max. aantal routes voor uw account is bereik
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_transport_list.lng b/interface/web/mail/lib/lang/nl_mail_transport_list.lng
index 201bf63148404fff7868e853ce85f26d42aef7da..60a2d86efe16bbbe94a50d42e7cb91543a1efec5 100644
--- a/interface/web/mail/lib/lang/nl_mail_transport_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_transport_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuw transport';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_user.lng b/interface/web/mail/lib/lang/nl_mail_user.lng
index 6f4ae7b899e4e8f5d0788d623cfc6c7d2ca2c920..545bf1d02492a3e58ccfa0a2c6f379365d70e3db 100644
--- a/interface/web/mail/lib/lang/nl_mail_user.lng
+++ b/interface/web/mail/lib/lang/nl_mail_user.lng
@@ -43,3 +43,4 @@ $wb['cc_error_isemail'] = 'Het  "Stuur kopie naar" veld bevat geen geldig e-mail
 
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_user_filter.lng b/interface/web/mail/lib/lang/nl_mail_user_filter.lng
index 7dea60deac15162474616ced1724061cccadb981..25538441d3172b835fc15f9bc8eb2896dce6afc3 100644
--- a/interface/web/mail/lib/lang/nl_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/nl_mail_user_filter.lng
@@ -11,3 +11,4 @@ $wb["target_error_regex"] = 'Het doel mag alleen de volgende karakters bevatten:
 
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_user_filter_list.lng b/interface/web/mail/lib/lang/nl_mail_user_filter_list.lng
index 8c09b729e083c8f83b4c79b6dd0cb234ee750222..7c7bbec2f6ad489d990b0de2bbbdeb240b86d7b7 100644
--- a/interface/web/mail/lib/lang/nl_mail_user_filter_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_user_filter_list.lng
@@ -7,3 +7,4 @@ $wb["delete_confirmation"] = 'Weet u zeker dat u het mailfilter wilt verwijderen
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_user_list.lng b/interface/web/mail/lib/lang/nl_mail_user_list.lng
index 16d9e94ac6b847ada7ae28575c688262f18594cf..9971b61a21989996ef5f958ccb0f5c9aaf08bdb5 100644
--- a/interface/web/mail/lib/lang/nl_mail_user_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_user_list.lng
@@ -7,3 +7,4 @@ $wb["name_txt"] = 'Echte naam';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_user_stats_list.lng b/interface/web/mail/lib/lang/nl_mail_user_stats_list.lng
index ca2773a5c4ca5dc8b739ed4014070084c5a0a18a..82ea2ac13b6be6ce223b8516fd01f36eea293189 100644
--- a/interface/web/mail/lib/lang/nl_mail_user_stats_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_user_stats_list.lng
@@ -8,3 +8,4 @@ $wb["last_year_txt"] = 'Vorig jaar';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_whitelist.lng b/interface/web/mail/lib/lang/nl_mail_whitelist.lng
index 8afc3226d6b1419a1ecd61c48ce644cf2fbc1baf..343bfb20e1d1c88c5f7397fd7600514f2c5a27c6 100644
--- a/interface/web/mail/lib/lang/nl_mail_whitelist.lng
+++ b/interface/web/mail/lib/lang/nl_mail_whitelist.lng
@@ -9,3 +9,4 @@ $wb["limit_mailfilter_txt"] = 'Het max. aantal e-mail filters voor uw account is
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_mail_whitelist_list.lng b/interface/web/mail/lib/lang/nl_mail_whitelist_list.lng
index d7987e3d45e9a58d55fe0fa2edebc3a19fbc4861..99ef8d09822a386ff992d131416c9a679ed2d807 100644
--- a/interface/web/mail/lib/lang/nl_mail_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/nl_mail_whitelist_list.lng
@@ -10,3 +10,4 @@ $wb["access_txt"] = 'Toegang';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/nl_spamfilter_blacklist.lng
index 1fa0d2788fb1fc0a21cd1038115cbf3a989d995e..bf24d3f3c6dacaedd99232c7fb263f9a2550730b 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_blacklist.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_blacklist.lng
@@ -9,3 +9,4 @@ $wb["limit_spamfilter_wblist_txt"] = 'Het max. aantal white- of blacklist record
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/nl_spamfilter_blacklist_list.lng
index 9a2698d3bb907522c29fd35209ba0cec87da3013..f7e127f9d63b067c5b8acd30c622f9f8eb64ae2f 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_blacklist_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen blacklist record';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_config.lng b/interface/web/mail/lib/lang/nl_spamfilter_config.lng
index 7ab6bc16ca67b63bc3977aa584ed33ec2e1607bf..c1328b15c0604d0b02c45427579aafcfbf037ead 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_config.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_config.lng
@@ -20,3 +20,4 @@ $wb["message_size_limit_txt"] = 'Bericht grootte Limiet';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_config_list.lng b/interface/web/mail/lib/lang/nl_spamfilter_config_list.lng
index 18e8e4d63859921433fddc30d029263eba902e2f..558223f9b17eeb72887954890d19d0013874deea 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_config_list.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_config_list.lng
@@ -5,3 +5,4 @@ $wb["server_id_txt"] = 'server_id';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_policy.lng b/interface/web/mail/lib/lang/nl_spamfilter_policy.lng
index ece037e6efefeee4fd40569b8c5d80efc565cacf..379bac1c7aca534a48f4932e6840f13fd31ea150 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_policy.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_policy.lng
@@ -39,3 +39,4 @@ $wb["banned_rulenames_txt"] = 'Verbannen rulenames';
 
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/nl_spamfilter_policy_list.lng
index e3bce031d77cc6bbae1b78d86239ca68c185d5a5..3ddee1f376efcd0c4c6aefc4f2db6b19c727cf72 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_policy_list.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_policy_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen policy record';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_users.lng b/interface/web/mail/lib/lang/nl_spamfilter_users.lng
index 686781b8861ea5e708d6392cd3a9bd8af7242605..d6d42ff818694617da6e2998c38841ab56a961f7 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_users.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_users.lng
@@ -8,3 +8,4 @@ $wb["local_txt"] = 'Locaal';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_users_list.lng b/interface/web/mail/lib/lang/nl_spamfilter_users_list.lng
index 3ecbf61776123987ca55cac8d99d15a8f10d5b37..f477640c3803b6c6a0a04f55bcde0eabd3c74fe6 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_users_list.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_users_list.lng
@@ -10,3 +10,4 @@ $wb["add_new_record_txt"] = 'Toevoegen spamfilter gebruiker';
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/nl_spamfilter_whitelist.lng
index 321db82f7b426d45a1545b360bf05e5c38fe11ef..de5d5ed5a4e6cf917e4ddbd64bb1fd464c294033 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_whitelist.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_whitelist.lng
@@ -9,3 +9,4 @@ $wb["limit_spamfilter_wblist_txt"] = 'Het max. aantal White- of Blacklist record
 ?>
 
 
+
diff --git a/interface/web/mail/lib/lang/nl_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/nl_spamfilter_whitelist_list.lng
index e414c7f0dfef566755b46836580e3e6c87dfb243..0476777578b976ea789024d89ebea03cf3129236 100644
--- a/interface/web/mail/lib/lang/nl_spamfilter_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/nl_spamfilter_whitelist_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen whitelist record';
 ?>
 
 
+
diff --git a/interface/web/mail/mail_user_filter_edit.php b/interface/web/mail/mail_user_filter_edit.php
index abad48a921e01f21b6483a6d83fc44ce19544851..c1873ac899f9e020f7626b3ed65b609e5ee6c986 100644
--- a/interface/web/mail/mail_user_filter_edit.php
+++ b/interface/web/mail/mail_user_filter_edit.php
@@ -50,6 +50,22 @@ $app->load('tform_actions');
 
 class page_action extends tform_actions {
 	
+	function onShowNew() {
+		global $app, $conf;
+		
+		// we will check only users, not admins
+		if($_SESSION["s"]["user"]["typ"] == 'user') {
+			if(!$app->tform->checkClientLimit('limit_mailfilter',"")) {
+				$app->error($app->tform->lng("limit_mailfilter_txt"));
+			}
+			if(!$app->tform->checkResellerLimit('limit_mailfilter',"")) {
+				$app->error('Reseller: '.$app->tform->lng("limit_mailfilter_txt"));
+			}
+		}
+		
+		parent::onShowNew();
+	}
+	
 	function onSubmit() {
 		global $app, $conf;
 		
@@ -65,6 +81,22 @@ class page_action extends tform_actions {
 		// Remove leading dots
 		if(substr($this->dataRecord['target'],0,1) == '.') $this->dataRecord['target'] = substr($this->dataRecord['target'],1);
 		
+		// Check the client limits, if user is not the admin
+		if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+			// Get the limits of the client
+			$client_group_id = $_SESSION["s"]["user"]["default_group"];
+			$client = $app->db->queryOneRecord("SELECT limit_mailfilter FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+			// Check if the user may add another filter
+			if($this->id == 0 && $client["limit_mailfilter"] >= 0) {
+				$tmp = $app->db->queryOneRecord("SELECT count(filter_id) as number FROM mail_user_filter WHERE sys_groupid = $client_group_id");
+				if($tmp["number"] >= $client["limit_mailfilter"]) {
+					$app->tform->errorMessage .= $app->tform->lng("limit_mailfilter_txt")."<br>";
+				}
+				unset($tmp);
+			}
+		} // end if user is not admin
+		
 		parent::onSubmit();
 	}
 	
diff --git a/interface/web/monitor/lib/lang/id.lng b/interface/web/monitor/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..cbb451e74dafe44688ca3b837c632e31011de139
--- /dev/null
+++ b/interface/web/monitor/lib/lang/id.lng
@@ -0,0 +1,146 @@
+<?php
+$wb['Server online since'] = 'Server online sejak';
+$wb['Users online'] = 'Pengguna yang Online';
+$wb['System load 1 minute'] = 'Beban sistem 1 menit';
+$wb['System load 5 minutes'] = 'Beban sistem 5 menit';
+$wb['System load 15 minutes'] = 'Beban sistem 15 menit';
+$wb['Server Load'] = 'Beban Server';
+$wb['Disk usage'] = 'Penggunaan Disk';
+$wb['Memory usage'] = 'Penggunaan Memori';
+$wb['no_data_serverload_txt'] = 'Tidak ada data tentang beban server yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_data_memusage_txt'] = 'Tidak ada data tentang penggunaan memori yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_data_diskusage_txt'] = 'Tidak ada data tentang penggunaan disk yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_data_cpuinfo_txt'] = 'Tidak ada data tentang CPU yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_data_services_txt'] = 'Tidak ada data tentang layanan yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_data_updates_txt'] = 'Tidak ada data tentang pemutakhiran yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_data_raid_txt'] = 'Tidak ada data tentang RAID yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_data_rkhunter_txt'] = 'Tidak ada data tentang RKHunter yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_data_mailq_txt'] = 'Tidak ada data tentang antrian mail yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['no_logdata_txt'] = 'Tidak ada data log yang tersedia saat ini. Silakan periksa kembali nanti.';
+$wb['Monitoring'] = 'Pemantauan';
+$wb['Server to Monitor'] = 'Server yang akan dipantau';
+$wb['Logfiles'] = 'Berkas Log';
+$wb['Status of services'] = 'Status Layanan';
+$wb['No Refresh'] = 'Tanpa Penyegaran';
+$wb['minutes'] = 'menit';
+$wb['Show Overview'] = 'Tampilkan Ikhtisar';
+$wb['System State (All Servers)'] = 'Kondisi Sistem (Semua Server)';
+$wb['Hardware-Information'] = 'Informasi Perangkat Keras';
+$wb['Show CPU info'] = 'Tampilkan Info CPU';
+$wb['Server State'] = 'Kondisi Server';
+$wb['Show Update State'] = 'Tampilkan Kondisi Pemutakhiran';
+$wb['Show RAID state'] = 'Tampilkan Kondisi RAID';
+$wb['Show Server load'] = 'Tampilkan Beban Server';
+$wb['Show Disk usage'] = 'Tampilkan Penggunaan Disk';
+$wb['Show Memory usage'] = 'Tampilkan Penggunaan Memori';
+$wb['Show Services'] = 'Tampilkan Layanan';
+$wb['Show Mail-Queue'] = 'Tampilkan Antrian Mail';
+$wb['Show Mail-Log'] = 'Tampilkan Log Mail';
+$wb['Show Mail warn-Log'] = 'Tampilkan Log Peringatan Mail';
+$wb['Show Mail err-Log'] = 'Tampilkan Log Kesalahan Mail';
+$wb['Show System-Log'] = 'Tampilkan Log Sistem';
+$wb['Show ISPC Cron-Log'] = 'Tampilkan Log Cron ISPC';
+$wb['Show Freshclam-Log'] = 'Tampilkan Log Freshclam';
+$wb['Show Clamav-Log'] = 'Tampilkan Log Clamav';
+$wb['Show ISPConfig-Log'] = 'Tampilkan Log ISPConfig';
+$wb['Show RKHunter-Log'] = 'Tampilkan Log RKHunter';
+$wb['Show Jobqueue'] = 'Tampilkan Antrian Pekerjaan';
+$wb['monitor_general_serverstate_txt'] = 'Kondisi Server';
+$wb['monitor_general_systemstate_txt'] = 'Kondisi Sistem';
+$wb['monitor_diskusage_filesystem_txt'] = 'Sistem Berkas';
+$wb['monitor_diskusage_type_txt'] = 'Tipe';
+$wb['monitor_diskusage_size_txt'] = 'Ukuran';
+$wb['monitor_diskusage_used_txt'] = 'Digunakan';
+$wb['monitor_diskusage_available_txt'] = 'Tersedia';
+$wb['monitor_diskusage_usage_txt'] = 'Penggunaan%';
+$wb['monitor_diskusage_mounted_txt'] = 'Terkait di';
+$wb['monitor_logs_mail_txt'] = 'Log - Mail';
+$wb['monitor_logs_mailwarn_txt'] = 'Log - Mail-Warn';
+$wb['monitor_logs_mailerr_txt'] = 'Log - Mail-Error';
+$wb['monitor_logs_messages_txt'] = 'Log - Pesan Sistem';
+$wb['monitor_logs_ispccron_txt'] = 'Log - Cron ISPConfig';
+$wb['monitor_logs_freshclam_txt'] = 'Log - Freshclam';
+$wb['monitor_logs_clamav_txt'] = 'Log - ClamAV';
+$wb['monitor_logs_ispc_txt'] = 'Log - ISPConfig';
+$wb['monitor_norkhunter_txt'] = 'RKHunter tidak terpasang, hingga tidak ada data log';
+$wb['monitor_serverstate_server_txt'] = 'Server';
+$wb['monitor_serverstate_state_txt'] = 'Kondisi';
+$wb['monitor_serverstate_unknown_txt'] = 'tak diketahui';
+$wb['monitor_serverstate_info_txt'] = 'info';
+$wb['monitor_serverstate_warning_txt'] = 'peringatan';
+$wb['monitor_serverstate_critical_txt'] = 'kritis';
+$wb['monitor_serverstate_error_txt'] = 'kesalahan';
+$wb['monitor_serverstate_moreinfo_txt'] = 'Informasi lebih lanjut...';
+$wb['monitor_serverstate_more_txt'] = 'Selanjutnya...';
+$wb['monitor_serverstate_fclamok_txt'] = 'Proteksi virus Anda ok';
+$wb['monitor_serverstate_fclamoutdated_txt'] = 'Proteksi virus Anda sudah KADALUARSA!';
+$wb['monitor_serverstate_fclamunknown_txt'] = 'Freshclam: ???!';
+$wb['monitor_serverstate_hdok_txt'] = 'Kondisi ruang Hard-Disk Anda OK';
+$wb['monitor_serverstate_hdgoingfull_txt'] = 'Ruang Hard-Disk Anda beranjak penuh';
+$wb['monitor_serverstate_hdnearlyfull_txt'] = 'Ruang Hard-Disk Anda hampir penuh';
+$wb['monitor_serverstate_hdveryfull_txt'] = 'Ruang Hard-Disk Anda penuh';
+$wb['monitor_serverstate_hdfull_txt'] = 'Tidak ada ruang tersisa lagi di Hard-Disk Anda';
+$wb['monitor_serverstate_hdunknown_txt'] = 'Hard-Disk: ???';
+$wb['monitor_serverstate_listok_txt'] = 'ok';
+$wb['monitor_serverstate_listinfo_txt'] = 'info';
+$wb['monitor_serverstate_listwarning_txt'] = 'peringatan';
+$wb['monitor_serverstate_listcritical_txt'] = 'kritis';
+$wb['monitor_serverstate_listerror_txt'] = 'kesalahan';
+$wb['monitor_serverstate_listunknown_txt'] = 'tak diketahui';
+$wb['monitor_serverstate_loadok_txt'] = 'Beban Kerja Server Anda OK';
+$wb['monitor_serverstate_loadheavy_txt'] = 'Server Anda memiliki beban kerja berat';
+$wb['monitor_serverstate_loadhigh_txt'] = 'Server Anda memiliki beban kerja tinggi';
+$wb['monitor_serverstate_loaghigher_txt'] = 'Server Anda memiliki beban kerja lebih tinggi';
+$wb['monitor_serverstate_loadhighest_txt'] = 'Server Anda memiliki beban kerja tertinggi';
+$wb['monitor_serverstate_loadunknown_txt'] = 'Beban Kerja Server: ???';
+$wb['monitor_serverstate_mailqok_txt'] = 'Beban antrian Mail Anda OK';
+$wb['monitor_serverstate_mailqheavy_txt'] = 'Antrian Mail Anda memiliki beban kerja berat';
+$wb['monitor_serverstate_mailqhigh_txt'] = 'Antrian Mail Anda memiliki beban kerja tinggi';
+$wb['monitor_serverstate_mailqhigher_txt'] = 'Antrian Mail Anda memiliki beban kerja lebih tinggi';
+$wb['monitor_serverstate_mailqhighest_txt'] = 'Antrian Mail Anda memiliki beban kerja tertinggi';
+$wb['monitor_serverstate_mailqunknown_txt'] = 'Antrian Mail: ???';
+$wb['monitor_serverstate_raidok_txt'] = 'RAID Anda OK';
+$wb['monitor_serverstate_raidresync_txt'] = 'RAID Anda dalam mode RESYNC';
+$wb['monitor_serverstate_raidfault_txt'] = 'RAID Anda memiliki satu disk RUSAK. Ganti secepatnya!';
+$wb['monitor_serverstate_raiderror_txt'] = 'RAID Anda tidak lagi bekerja';
+$wb['monitor_serverstate_raidunknown_txt'] = 'Kondisi RAID: ???';
+$wb['monitor_serverstate_servicesonline_txt'] = 'Semua layanan yang dibutuhkan dalam kondisi online';
+$wb['monitor_serverstate_servicesoffline_txt'] = 'Satu atau lebih layanan yang dibutuhkan dalam kondisi offline';
+$wb['monitor_serverstate_servicesunknown_txt'] = 'Layanan: ???';
+$wb['monitor_serverstate_syslogok_txt'] = 'Log Sistem O.K.';
+$wb['monitor_serverstate_syslogwarning_txt'] = 'Terdapat beberapa peringatan di catatan sistem Anda';
+$wb['monitor_serverstate_syslogerror_txt'] = 'Terdapat kesalahan di catatan sistem Anda';
+$wb['monitor_serverstate_syslogunknown_txt'] = 'Log sistem: ???';
+$wb['monitor_serverstate_updatesok_txt'] = 'Sistem Anda sudah mutakhir.';
+$wb['monitor_serverstate_updatesneeded_txt'] = 'Satu atau lebih komponen perlu dimutakhirkan';
+$wb['monitor_serverstate_updatesunknown_txt'] = 'Pemutakhiran Sistem: ???';
+$wb['monitor_services_online_txt'] = 'Online';
+$wb['monitor_services_offline_txt'] = 'Offline';
+$wb['monitor_services_web_txt'] = 'Server Web:';
+$wb['monitor_services_ftp_txt'] = 'Server FTP:';
+$wb['monitor_services_smtp_txt'] = 'Server SMTP:';
+$wb['monitor_services_pop_txt'] = 'Server POP3:';
+$wb['monitor_services_imap_txt'] = 'Server IMAP:';
+$wb['monitor_services_mydns_txt'] = 'Server DNS:';
+$wb['monitor_services_mysql_txt'] = 'Server mySQL:';
+$wb['monitor_settings_datafromdate_txt'] = 'Data dari: ';
+$wb['monitor_settings_datetimeformat_txt'] = 'd-m-Y H:i';
+$wb['monitor_settings_refreshsq_txt'] = 'Frekuensi Penyegaran:';
+$wb['monitor_settings_server_txt'] = 'Server';
+$wb['monitor_title_cpuinfo_txt'] = 'Info CPU';
+$wb['monitor_title_updatestate_txt'] = 'Mutakhirkan Status';
+$wb['monitor_title_mailq_txt'] = 'Antrian Mail';
+$wb['monitor_title_raidstate_txt'] = 'Status RAID';
+$wb['monitor_title_rkhunterlog_txt'] = 'Log RKHunter';
+$wb['monitor_title_fail2ban_txt'] = 'Log Fail2Ban';
+$wb['monitor_updates_nosupport_txt'] = 'Distro Anda tidak didukung pemantauan ini';
+$wb['monitor_nosupportedraid1_txt'] = 'Saat ini, kami mendukung mdadm atau mpt-status untuk memantau RAID.<br>Kami tidak menemukan salah satunya di server Anda.<br><br>Ini berarti kami belum bisa mendukung RAID Anda.';
+$wb['monitor_serverstate_beancounterok_txt'] = 'Beancounter ok';
+$wb['monitor_serverstate_beancounterinfo_txt'] = 'Ada sedikit kegagalan di beancounter';
+$wb['monitor_serverstate_beancounterwarning_txt'] = 'Ada beberapa kegagalan di beancounter';
+$wb['monitor_serverstate_beancountercritical_txt'] = 'Ada banyak kegagalan di beancounter';
+$wb['monitor_serverstate_beancountererror_txt'] = 'Ada terlalu banyak kegagalan di beancounter';
+$wb['monitor_title_beancounter_txt'] = 'OpenVz VE BeanCounter';
+$wb['monitor_beancounter_nosupport_txt'] = 'Server ini bukan OpenVz VE dan tidak memiliki informasi beancounter';
+?>
+
diff --git a/interface/web/monitor/lib/lang/id_datalog_list.lng b/interface/web/monitor/lib/lang/id_datalog_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5b9fe4288987dd7410bec8667d38faabc712d4ac
--- /dev/null
+++ b/interface/web/monitor/lib/lang/id_datalog_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Antrian Pekerjaan';
+$wb['tstamp_txt'] = 'Tanggal';
+$wb['server_id_txt'] = 'Server';
+$wb['dbtable_txt'] = 'Tabel DB';
+$wb['action_txt'] = 'Tindakan';
+$wb['status_txt'] = 'Status';
+?>
+
diff --git a/interface/web/monitor/lib/lang/id_syslog_list.lng b/interface/web/monitor/lib/lang/id_syslog_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c777de2241bcb6f3141835eb1dd06b8892c0d562
--- /dev/null
+++ b/interface/web/monitor/lib/lang/id_syslog_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Log ISPConfig';
+$wb['tstamp_txt'] = 'Tanggal';
+$wb['server_id_txt'] = 'Server';
+$wb['loglevel_txt'] = 'Tingkatan Log';
+$wb['message_txt'] = 'Pesan';
+?>
+
diff --git a/interface/web/monitor/lib/lang/nl.lng b/interface/web/monitor/lib/lang/nl.lng
index 87938f750ac5a4bd610ed15f9da7742bd1587ded..d9524d238ee638b68bf1c4fead8367c24ad7cd5f 100644
--- a/interface/web/monitor/lib/lang/nl.lng
+++ b/interface/web/monitor/lib/lang/nl.lng
@@ -135,7 +135,7 @@ $wb['monitor_title_rkhunterlog_txt'] = 'RKHunter-Log';
 $wb['monitor_updates_nosupport_txt'] = 'Uw distributie ondersteunt deze controle-software niet';
 $wb['monitor_title_fail2ban_txt'] = 'Fail2Ban Log';
 $wb['monitor_nosupportedraid1_txt'] = 'Op dit moment, worden ondersteund mdadm or mpt-status om RAID te monitoren.<br>Dit type kan niet op uw server worden gevonden.<br><br>Dit betekend dat uw RAID nog niet wordt ondersteund.';
-$wb['monitor_serverstate_beancounterok_txt'] = 'The beancounter is ok';
+$wb['monitor_serverstate_beancounterok_txt'] = 'De beancounter is ok';
 $wb['monitor_serverstate_beancounterinfo_txt'] = 'In de beancounter bevindt zich een foutmelding';
 $wb['monitor_serverstate_beancounterwarning_txt'] = 'In de beancounter bevinden zich foutmeldingen';
 $wb['monitor_serverstate_beancountercritical_txt'] = 'In de beancounter bevinden zich veel foutmeldingen';
@@ -146,3 +146,4 @@ $wb['monitor_beancounter_nosupport_txt'] = 'Deze server is geen OpenVz VE en hee
 
 
 
+
diff --git a/interface/web/monitor/lib/lang/nl_syslog_list.lng b/interface/web/monitor/lib/lang/nl_syslog_list.lng
index 5b271ed4a487569cb6983ceebb1b111437063b17..41f773addd46e72c2eb7b9c3bb831019fca42c4e 100644
--- a/interface/web/monitor/lib/lang/nl_syslog_list.lng
+++ b/interface/web/monitor/lib/lang/nl_syslog_list.lng
@@ -7,3 +7,4 @@ $wb["message_txt"] = 'Bericht';
 ?>
 
 
+
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 928df1c1e9d388734349aeaf5d78fc9be2815b93..1b05f6755139e8b48a364a995ea82483a24d16c7 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -177,7 +177,7 @@ $form["tabs"]['domain'] = array (
 		'subdomain' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
-			'default'	=> 'y',
+			'default'	=> 'www',
 			'value'		=> array('none' => 'none_txt', 'www' => 'www.', '*' => '*.')
 		),
 		'ssl' => array (
diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
index 82700261518cb23e8dc2b8f78cba4329ae9eac39..11e319d2300cccac93614ef22486be196b10a77d 100644
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_domain.lng
@@ -47,6 +47,7 @@ $wb["error_ssl_locality_empty"] = 'SSL Locality is empty.';
 $wb["error_ssl_organisation_empty"] = 'SSL Organisation is empty.';
 $wb["error_ssl_organisation_unit_empty"] = 'SSL Organisation Unit is empty.';
 $wb["error_ssl_country_empty"] = 'SSL Country is empty.';
+$wb["error_ssl_cert_empty"] = 'SSL Certificate field is empty';
 $wb["client_group_id_txt"] = 'Client';
 $wb["stats_password_txt"] = 'Webstatistics password';
 $wb["allow_override_txt"] = 'Apache AllowOverride';
diff --git a/interface/web/sites/lib/lang/id.lng b/interface/web/sites/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..03cf77bb4190cf011aaf1909c1e4a6252fbc2620
--- /dev/null
+++ b/interface/web/sites/lib/lang/id.lng
@@ -0,0 +1,25 @@
+<?php
+$wb['Database'] = 'Database';
+$wb['Options'] = 'Pilihan';
+$wb['Shell User'] = 'Pengguna Shell';
+$wb['Domain'] = 'Domain';
+$wb['Website'] = 'Situs Web';
+$wb['Redirect'] = 'Pengalihan';
+$wb['SSL'] = 'SSL';
+$wb['Subdomain'] = 'Subdomain Situs Web';
+$wb['Sites'] = 'Sites';
+$wb['Aliasdomain'] = 'Alias Domain Situs Web';
+$wb['FTP-User'] = 'Pengguna FTP';
+$wb['FTP'] = 'FTP';
+$wb['Shell-User'] = 'Pengguna Shell';
+$wb['Shell'] = 'Shell';
+$wb['Websites'] = 'Situs Web';
+$wb['Stats'] = 'Statistik';
+$wb['Cron'] = 'Cron';
+$wb['Cron Jobs'] = 'Cron Job';
+$wb['Statistics'] = 'Statistik';
+$wb['Web traffic'] = 'Trafik Web';
+$wb['Webdav-User'] = 'Pengguna Webdav';
+$wb['Webdav'] = 'Webdav';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_cron.lng b/interface/web/sites/lib/lang/id_cron.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c80b8beb06f6c66edc0fbd8ea9a652597a367a8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_cron.lng
@@ -0,0 +1,22 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs Web Induk';
+$wb['active_txt'] = 'Aktif';
+$wb['client_txt'] = 'Klien';
+$wb['run_min_txt'] = 'Menit';
+$wb['run_hour_txt'] = 'Jam';
+$wb['run_mday_txt'] = 'Tanggal';
+$wb['run_month_txt'] = 'Bulan';
+$wb['run_wday_txt'] = 'Hari';
+$wb['command_txt'] = 'Perintah yang akan dijalankan (perintah dieksekusi melalui sh, url melalui wget)';
+$wb['limit_cron_txt'] = 'Jumlah maks cron job yang diperbolehkan telah tercapai.';
+$wb['limit_cron_frequency_txt'] = 'Frekuensi cron job melampaui batasan yang diperbolehkan.';
+$wb['run_min_error_format'] = 'Format menit tidak valid.';
+$wb['run_hour_error_format'] = 'Format jam tidak valid.';
+$wb['run_mday_error_format'] = 'Format tanggal tidak valid.';
+$wb['run_month_error_format'] = 'Format bulan tidak valid.';
+$wb['run_wday_error_format'] = 'Format hari tidak valid.';
+$wb['command_error_format'] = 'Format perintah tidak valid. Harap dicatat untuk kasus pemanggilan url hanya http/https yang diizinkan.';
+$wb['unknown_fieldtype_error'] = 'Telah digunakan tipe kolom yang tidak dikenal.';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_cron_list.lng b/interface/web/sites/lib/lang/id_cron_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..2a0b792e58139e1ccafe181ba5dd36c0531ef23b
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_cron_list.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['list_head_txt'] = 'Pekerjaan Cron';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['run_min_txt'] = 'Menit';
+$wb['run_hour_txt'] = 'Jam';
+$wb['run_mday_txt'] = 'Tanggal';
+$wb['run_month_txt'] = 'Bulan';
+$wb['run_wday_txt'] = 'Hari';
+$wb['command_txt'] = 'Perintah';
+$wb['add_new_cron_txt'] = 'Tambah Pekerjaan Cron Baru';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_database.lng b/interface/web/sites/lib/lang/id_database.lng
new file mode 100644
index 0000000000000000000000000000000000000000..97f48c687fe82d15d9c2fdd703c549b11031693f
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_database.lng
@@ -0,0 +1,26 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['type_txt'] = 'Tipe';
+$wb['database_name_txt'] = 'Nama Database';
+$wb['database_user_txt'] = 'Pengguna Database';
+$wb['database_password_txt'] = 'Kata Sandi Database';
+$wb['password_strength_txt'] = 'Kekuatan Sandi';
+$wb['database_charset_txt'] = 'Database charset';
+$wb['remote_access_txt'] = 'Akses Remote';
+$wb['remote_ips_txt'] = 'IP Akses Remote (dipisahkan oleh , dan biarkan kosong untuk memperbolehkan akses dari <i>semua</i> IP)';
+$wb['database_remote_error_ips'] = 'Setidaknya salah satu alamat ip yang dimasukkan tidak valid.';
+$wb['client_txt'] = 'Klien';
+$wb['active_txt'] = 'Aktif';
+$wb['database_name_error_empty'] = 'Nama Database kosong.';
+$wb['database_name_error_unique'] = 'Sudah ada database dengan nama ini di server. Untuk mendapatkan nama yang unik, mis. tambahkan nama domain Anda di depan nama database.';
+$wb['database_name_error_regex'] = 'Nama database tidak valid. Nama database diperbolehkan mengandung karakter-karakter ini: a-z, A-Z, 0-9 dan garis bawah. Panjang: 2 - 64 karakter.';
+$wb['database_user_error_empty'] = 'Pengguna Database kosong.';
+$wb['database_user_error_unique'] = 'Sudah ada pengguna database dengan nama ini di server. Untuk mendapatkan nama yang unik, mis. tambahkan nama domain Anda di depan nama pengguna.';
+$wb['database_user_error_regex'] = 'Nama pengguna database tidak valid. Nama pengguna diperbolehkan mengandung karakter-karakter ini: a-z, A-Z, 0-9 dan garis bawah. Panjang: 2 - 64 karekter.';
+$wb['limit_database_txt'] = 'Jumlah maks databases telah tercapai.';
+$wb['database_name_change_txt'] = 'Nama database tidak dapat diubah';
+$wb['database_charset_change_txt'] = 'Database charset tidak dapat diubah';
+$wb['database_name_error_len'] = 'Nama database - {db} - terlalu panjang. Panjang nama database maks termasuk prefiks adalah 64 karakter.';
+$wb['database_user_error_len'] = 'Nama pengguna database - {user}- terlalu panjang. Panjang nama pengguna database maks termasuk prefiks adalah 16 karakter.';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_database_admin_list.lng b/interface/web/sites/lib/lang/id_database_admin_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..00f0e235d3885d9edc7f910a61cb502a976d8453
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_database_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Database';
+$wb['active_txt'] = 'Aktif';
+$wb['remote_access_txt'] = 'Akses Remote';
+$wb['server_id_txt'] = 'Server';
+$wb['database_user_txt'] = 'Pengguna Database';
+$wb['database_name_txt'] = 'Nama Database';
+$wb['add_new_record_txt'] = 'Tambah Database Baru';
+$wb['sys_groupid_txt'] = 'Klien';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_database_list.lng b/interface/web/sites/lib/lang/id_database_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8867b426482d0dd5f564bee78304bbf9554a23bc
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_database_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Database';
+$wb['active_txt'] = 'Aktif';
+$wb['remote_access_txt'] = 'Akses Remote';
+$wb['server_id_txt'] = 'Server';
+$wb['database_user_txt'] = 'Pengguna Database';
+$wb['database_name_txt'] = 'Nama Database';
+$wb['add_new_record_txt'] = 'Tambah Database Baru';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_ftp_user.lng b/interface/web/sites/lib/lang/id_ftp_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8a37bba922064de5cbb54fc65607234f94a5357d
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_ftp_user.lng
@@ -0,0 +1,28 @@
+<?php
+$wb['uid_txt'] = 'UID';
+$wb['gid_txt'] = 'GID';
+$wb['dir_txt'] = 'Direktori';
+$wb['quota_files_txt'] = 'Kuota Berkas';
+$wb['quota_files_unity_txt'] = 'Berkas';
+$wb['ul_ratio_txt'] = 'Rasio Unggah';
+$wb['dl_ratio_txt'] = 'Rasio Unduh';
+$wb['ul_bandwidth_txt'] = 'Bandwidth Unggah';
+$wb['dl_bandwidth_txt'] = 'Bandwidth Unduh';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs Web';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['password_txt'] = 'Kata Sandi';
+$wb['password_strength_txt'] = 'Kekuatan Sandi';
+$wb['quota_size_txt'] = 'Kuota Harddisk';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_ftp_user_txt'] = 'The max. number of FTP users for your account is reached.';
+$wb['username_error_empty'] = 'Nama pengguna kosong.';
+$wb['username_error_unique'] = 'Nama pengguna harus unik.';
+$wb['username_error_regex'] = 'Nama pengguna mengandung karakter yang tidak diperbolehkan.';
+$wb['quota_size_error_empty'] = 'Kuota kosong.';
+$wb['uid_error_empty'] = 'GID kosong.';
+$wb['directory_error_empty'] = 'Direktori kosong.';
+$wb['directory_error_notinweb'] = 'Direktori tidak berada dalam direktori root web.';
+$wb['parent_domain_id_error_empty'] = 'Tak ada situs web yang dipilih.';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_ftp_user_list.lng b/interface/web/sites/lib/lang/id_ftp_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..dce03d8cb7e4b39fe381650c14944e3bc52b05bb
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_ftp_user_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Pengguna FTP';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs Web';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['add_new_record_txt'] = 'Tambah Pengguna FTP Baru';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_shell_user.lng b/interface/web/sites/lib/lang/id_shell_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..639c46e89afd4f2224093288310170be0a6ebb66
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_shell_user.lng
@@ -0,0 +1,23 @@
+<?php
+$wb['shell_txt'] = 'Shell';
+$wb['dir_txt'] = 'Dir';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['password_txt'] = 'Kata Sandi';
+$wb['password_strength_txt'] = 'Kekuatan Sandi';
+$wb['chroot_txt'] = 'Shell Chroot';
+$wb['quota_size_txt'] = 'Kuota';
+$wb['active_txt'] = 'Aktif';
+$wb['username_error_empty'] = 'Nama Pengguna kosong.';
+$wb['username_error_unique'] = 'Nama Pengguna harus unik.';
+$wb['username_error_regex'] = 'Nama Pengguna mengandung karakter yang tidak diperbolehkan.';
+$wb['quota_size_error_empty'] = 'Kuota kosong.';
+$wb['uid_error_empty'] = 'GID kosong.';
+$wb['directory_error_empty'] = 'Direktori kosong.';
+$wb['limit_shell_user_txt'] = 'Jumlah maksimum pengguna shell telah tercapai.';
+$wb['parent_domain_id_error_empty'] = 'Tak ada situs web yang dipilih.';
+$wb['puser_txt'] = 'Nama Pengguna Web';
+$wb['pgroup_txt'] = 'Grup Web';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_shell_user_list.lng b/interface/web/sites/lib/lang/id_shell_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..18ffd43ef413dd11b89acabb0e187a69435c10d0
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_shell_user_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Pengguna Shell';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['add_new_record_txt'] = 'Tambah Pengguna Shell Baru';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_user_quota_stats_list.lng b/interface/web/sites/lib/lang/id_user_quota_stats_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..fd67944082f30739cc26737b4c06c8fdea695ff6
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_user_quota_stats_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Kuota Harddisk Situs Web';
+$wb['domain_txt'] = 'Domain / Situs Web';
+$wb['system_user_txt'] = 'Linux user';
+$wb['used_txt'] = 'Ruang yang digunakan';
+$wb['hard_txt'] = 'Hard limit';
+$wb['soft_txt'] = 'Soft limit';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/id_web_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..49bdfaaa4d37ae174f9f2754de31b065fbff807d
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_aliasdomain_list.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['list_head_txt'] = 'Alias Domain';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs Web';
+$wb['domain_txt'] = 'Alias Domain';
+$wb['add_new_record_txt'] = 'Tambah Alias Domain Baru';
+$wb['domain_error_empty'] = 'Domain kosong.';
+$wb['domain_error_unique'] = 'Domain harus unik.';
+$wb['domain_error_regex'] = 'Nama Domain tidak valid.';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_web_domain.lng b/interface/web/sites/lib/lang/id_web_domain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4ee79e5e4fd7d4937bb9546f73a5cba3f4b5ba29
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_domain.lng
@@ -0,0 +1,68 @@
+<?php
+$wb['ssl_state_txt'] = 'Negara Bagian';
+$wb['ssl_locality_txt'] = 'Daerah';
+$wb['ssl_organisation_txt'] = 'Organisasi';
+$wb['ssl_organisation_unit_txt'] = 'Unit Organisasi';
+$wb['ssl_country_txt'] = 'Negara';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'Sertifikat SSL';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['type_txt'] = 'Tipe';
+$wb['parent_domain_id_txt'] = 'Situs Web Induk';
+$wb['redirect_type_txt'] = 'Tipe Pengalihan';
+$wb['redirect_path_txt'] = 'Path Pengalihan';
+$wb['active_txt'] = 'Aktif';
+$wb['document_root_txt'] = 'Root Dokumen';
+$wb['system_user_txt'] = 'Pengguna Linux';
+$wb['system_group_txt'] = 'Grup Linux';
+$wb['ip_address_txt'] = 'Alamat IP';
+$wb['vhost_type_txt'] = 'Tipe VHost';
+$wb['hd_quota_txt'] = 'Kuota Harddisk';
+$wb['traffic_quota_txt'] = 'Kuota Trafik';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Dokumen-Kesalahan Pribadi';
+$wb['subdomain_txt'] = 'Subdomain Otomatis';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Klien';
+$wb['limit_web_domain_txt'] = 'Jumlah maks domain web untuk akun Anda telah tercapai.';
+$wb['limit_web_aliasdomain_txt'] = 'Jumlah maks alias domain untuk akun Anda telah tercapai.';
+$wb['limit_web_subdomain_txt'] = 'Jumlah maks subdomain web untuk akun Anda telah tercapai.';
+$wb['apache_directives_txt'] = 'Perintah-perintah Apache';
+$wb['domain_error_empty'] = 'Domain kosong.';
+$wb['domain_error_unique'] = 'Sudah ada situs web atau sub/alias domain dengan nama domain ini.';
+$wb['domain_error_regex'] = 'Nama domain tidak valid.';
+$wb['hd_quota_error_empty'] = 'Kuota Harddisk 0 atau kosong.';
+$wb['traffic_quota_error_empty'] = 'Kuota Trafik kosong.';
+$wb['error_ssl_state_empty'] = 'SSL Negara Bagian kosong.';
+$wb['error_ssl_locality_empty'] = 'SSL Daerah kosong.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisasi kosong.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Unit Organisasi kosong.';
+$wb['error_ssl_country_empty'] = 'SSL Negara kosong.';
+$wb['client_group_id_txt'] = 'Klien';
+$wb['stats_password_txt'] = 'Kata Sandi Statistik Web';
+$wb['allow_override_txt'] = 'Allow Override';
+$wb['limit_web_quota_free_txt'] = 'Kuota Harddisk Maks yang tersedia';
+$wb['ssl_state_error_regex'] = 'Negara Bagian SSL tidak valid. Karakter yang valid adalah: a-z, 0-9 dan .,-_';
+$wb['ssl_locality_error_regex'] = 'Daerah SSL tidak valid. Karakter yang valid adalah: a-z, 0-9 dan .,-_';
+$wb['ssl_organisation_error_regex'] = 'Organisasi SSL tidak valid. Karakter yang valid adalah: a-z, 0-9 dan .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Unit Organisasi SSL tidak valid. Karakter yang valid adalah: a-z, 0-9 dan .,-_';
+$wb['ssl_country_error_regex'] = 'Negara SSL tidak valid. Karakter yang valid adalah: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Maks Kuota Trafik yang tersedia';
+$wb['redirect_error_regex'] = 'Path pengalihan tidak valid. Pengalihat yang valid adalah sebagai contoh: /test/ atau http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Kuota Trafik terlampaui';
+$wb['backup_interval_txt'] = 'Interval Pencadangan';
+$wb['backup_copies_txt'] = 'Jumlah salinan pencadangan';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Nama Pengguna Statistik Web';
+$wb['stats_type_txt'] = 'Program Statistik Web';
+$wb['custom_php_ini_txt'] = 'Pengaturan php.ini kastem';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_web_domain_admin_list.lng b/interface/web/sites/lib/lang/id_web_domain_admin_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..36e919d7b438f24724566bb4ea81eeb890d77f08
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_domain_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['sys_groupid_txt'] = 'Klien';
+$wb['list_head_txt'] = 'Situs Web';
+$wb['domain_id_txt'] = 'ID';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['add_new_record_txt'] = 'Tambah Situs Web Baru';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_web_domain_list.lng b/interface/web/sites/lib/lang/id_web_domain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..e901e9d4551d3a9dc2c87986e00beea7b84a2254
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_domain_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Situs Web';
+$wb['domain_id_txt'] = 'ID';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['add_new_record_txt'] = 'Tambah Situs Web Baru';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_web_sites_stats_list.lng b/interface/web/sites/lib/lang/id_web_sites_stats_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d1301ed9628affe24a1ae4daac4bf8577f80b1a0
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_sites_stats_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Trafik Web';
+$wb['domain_txt'] = 'Domain';
+$wb['this_month_txt'] = 'Bulan ini';
+$wb['last_month_txt'] = 'Sebulan terakhir';
+$wb['this_year_txt'] = 'Tahun ini';
+$wb['last_year_txt'] = 'Setahun terakhir';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_web_subdomain.lng b/interface/web/sites/lib/lang/id_web_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7b49a1ea2ab3de0de03385ee2e2045e0ff945aea
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_subdomain.lng
@@ -0,0 +1,41 @@
+<?php
+$wb['ssl_state_txt'] = 'Negara Bagian';
+$wb['ssl_locality_txt'] = 'Daerah';
+$wb['ssl_organisation_txt'] = 'Organisasi';
+$wb['ssl_organisation_unit_txt'] = 'Unit Organisasi';
+$wb['ssl_country_txt'] = 'Negara';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'Sertifikat SSL';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['type_txt'] = 'Tipe';
+$wb['parent_domain_id_txt'] = 'Situs Web Induk';
+$wb['redirect_type_txt'] = 'Tipe Pengalihan';
+$wb['redirect_path_txt'] = 'Path Pengalihan';
+$wb['active_txt'] = 'Aktif';
+$wb['document_root_txt'] = 'Root Dokumen';
+$wb['system_user_txt'] = 'Pengguna Linux';
+$wb['system_group_txt'] = 'Grup Linux';
+$wb['ip_address_txt'] = 'Alamat IP';
+$wb['vhost_type_txt'] = 'Tipe VHost';
+$wb['hd_quota_txt'] = 'Kuota Harddisk';
+$wb['traffic_quota_txt'] = 'Kuota Trafik';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Klien';
+$wb['limit_web_domain_txt'] = 'Jumlah maks domain web untuk akun Anda telah tercapai.';
+$wb['limit_web_aliasdomain_txt'] = 'Jumlah maks aliasdomain untuk akun Anda telah tercapai.';
+$wb['limit_web_subdomain_txt'] = 'Jumlah maks subdomain web untuk akun Anda telah tercapai.';
+$wb['apache_directives_txt'] = 'Perintah-perintah Apache';
+$wb['domain_error_empty'] = 'Domain kosong.';
+$wb['domain_error_unique'] = 'Sudah ada situs web atau sub / aliasdomain pada nama domain ini.';
+$wb['domain_error_regex'] = 'Nama Domain tidak valid.';
+$wb['host_txt'] = 'Host';
+$wb['redirect_error_regex'] = 'Path pengalihan tidak valid. Contoh pengalihan yang valid: /test/ or http://www.domain.tld/test/';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_web_subdomain_list.lng b/interface/web/sites/lib/lang/id_web_subdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ccafa2dc9247268252ddece12bfa92dd5abe3265
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_subdomain_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Subdomain';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs Web';
+$wb['domain_txt'] = 'Subdomain';
+$wb['add_new_record_txt'] = 'Tambah Subdomain Baru';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_webdav_user.lng b/interface/web/sites/lib/lang/id_webdav_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..548724cffecf10aa43130fb3232d44657ab73bb3
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_webdav_user.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['dir_txt'] = 'Direktori';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs Web';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['password_txt'] = 'Kata Sandi';
+$wb['password_strength_txt'] = 'Kekuatan Sandi';
+$wb['active_txt'] = 'Aktif';
+$wb['limit_webdav_user_txt'] = 'Jumlah maks pengguna webdav untuk akun Anda telah tercapai.';
+$wb['username_error_empty'] = 'Nama Pengguna kosong.';
+$wb['username_error_unique'] = 'Nama Pengguna harus unik.';
+$wb['username_error_regex'] = 'Nama Pengguna mengandung karakter yang tidak diperbolehkan.';
+$wb['directory_error_empty'] = 'Direktori kosong.';
+$wb['parent_domain_id_error_empty'] = 'Tak ada situs web yang dipilih.';
+?>
+
diff --git a/interface/web/sites/lib/lang/id_webdav_user_list.lng b/interface/web/sites/lib/lang/id_webdav_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..571e57292d74dc7b235d7c040ab4a32e9a5f03a1
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_webdav_user_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Pengguna Webdav';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs Web';
+$wb['username_txt'] = 'Nama Pengguna';
+$wb['add_new_record_txt'] = 'Tambah Pengguna Webdav';
+?>
+
diff --git a/interface/web/sites/lib/lang/nl.lng b/interface/web/sites/lib/lang/nl.lng
index 6581195984044b0ad05cda001fcaba6db8e2e748..fe05b43fe6d13be597be456561f7d51bfe5ba4d8 100644
--- a/interface/web/sites/lib/lang/nl.lng
+++ b/interface/web/sites/lib/lang/nl.lng
@@ -24,3 +24,4 @@ $wb["Web traffic"] = 'Web Traffic';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_cron.lng b/interface/web/sites/lib/lang/nl_cron.lng
index d77aed4e2ce393b81714db6ce31cb754be021b81..bd2008ed5e4b620b0487594fb7f678e1bbb722b1 100644
--- a/interface/web/sites/lib/lang/nl_cron.lng
+++ b/interface/web/sites/lib/lang/nl_cron.lng
@@ -21,3 +21,4 @@ $wb['unknown_fieldtype_error'] = 'Een onbekend veld type is gebruikt.';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_cron_list.lng b/interface/web/sites/lib/lang/nl_cron_list.lng
index e1eaa3073183bb8b44bff708629d51457321c8b6..e3d493cfb6304d08bec15a883884f0aca932cdb4 100644
--- a/interface/web/sites/lib/lang/nl_cron_list.lng
+++ b/interface/web/sites/lib/lang/nl_cron_list.lng
@@ -12,3 +12,4 @@ $wb["add_new_cron_txt"] = 'Toevoegen nieuwe Cron job';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_database.lng b/interface/web/sites/lib/lang/nl_database.lng
index 72ff077efd9250928d382c2b222dc359bb583257..e7f0b7fb83aba46adb5a18db3c952d0eae67d950 100644
--- a/interface/web/sites/lib/lang/nl_database.lng
+++ b/interface/web/sites/lib/lang/nl_database.lng
@@ -26,3 +26,4 @@ $wb["database_user_error_len"] = 'Databasenaam - {user}- is te lang. De max. len
 
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_database_admin_list.lng b/interface/web/sites/lib/lang/nl_database_admin_list.lng
index 88dd5b97d969232967cd81a05ce1688a10712009..9edaeaed8fff4c62ba03fd5d13f7390575e21126 100644
--- a/interface/web/sites/lib/lang/nl_database_admin_list.lng
+++ b/interface/web/sites/lib/lang/nl_database_admin_list.lng
@@ -10,3 +10,4 @@ $wb["sys_groupid_txt"] = 'Klant';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_database_list.lng b/interface/web/sites/lib/lang/nl_database_list.lng
index 0f1857ed062cfc5060ef6909f41b3a1753de0e63..4b10105f26e4a36caf5393e9f0298ce75c6e2e00 100644
--- a/interface/web/sites/lib/lang/nl_database_list.lng
+++ b/interface/web/sites/lib/lang/nl_database_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe database';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_ftp_user.lng b/interface/web/sites/lib/lang/nl_ftp_user.lng
index 1c453f9f7299b89e5d4149ca2fde5de2772cd479..e9b16e24adb5115c8405e25c8cadba3ca0624811 100644
--- a/interface/web/sites/lib/lang/nl_ftp_user.lng
+++ b/interface/web/sites/lib/lang/nl_ftp_user.lng
@@ -29,3 +29,4 @@ $wb["parent_domain_id_error_empty"] = 'Geen website geselecteerd.';
 
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_ftp_user_list.lng b/interface/web/sites/lib/lang/nl_ftp_user_list.lng
index ebe1dfc82da51e08fab8445bc48a08e53bba3b89..b3a1df559b973ac203fd6b17465a680aab0eb2b8 100644
--- a/interface/web/sites/lib/lang/nl_ftp_user_list.lng
+++ b/interface/web/sites/lib/lang/nl_ftp_user_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe FTP-gebruiker';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_shell_user.lng b/interface/web/sites/lib/lang/nl_shell_user.lng
index 7207352b77fbe03d9c3096f65a1034653953b160..c7a6fe77ecd6aef63afd57f6d79808e5ee184900 100644
--- a/interface/web/sites/lib/lang/nl_shell_user.lng
+++ b/interface/web/sites/lib/lang/nl_shell_user.lng
@@ -24,3 +24,4 @@ $wb["parent_domain_id_error_empty"] = 'Geen website geselecteerd.';
 
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_shell_user_list.lng b/interface/web/sites/lib/lang/nl_shell_user_list.lng
index 7976881c772f68eb550c889ad0e614bb6e984109..98f77836f9cc3a727bc7fd69797e0b019851abcb 100644
--- a/interface/web/sites/lib/lang/nl_shell_user_list.lng
+++ b/interface/web/sites/lib/lang/nl_shell_user_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe shell-user';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_user_quota_stats_list.lng b/interface/web/sites/lib/lang/nl_user_quota_stats_list.lng
index e78d8310811a39ab5f6b7733d4531833906adba5..1ccf2d01951979c52ef9d526b7bd9563a957478a 100644
--- a/interface/web/sites/lib/lang/nl_user_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/nl_user_quota_stats_list.lng
@@ -8,3 +8,4 @@ $wb["soft_txt"] = 'Zachte limiet';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/nl_web_aliasdomain_list.lng
index ace808bf0f0e24f12fff7828f2faf7e5b0d9b65d..c76ff410a1edcdecb35de8199a253c3f90d18531 100644
--- a/interface/web/sites/lib/lang/nl_web_aliasdomain_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_aliasdomain_list.lng
@@ -11,3 +11,4 @@ $wb["domain_error_regex"] = 'Domeinnaam ongeldig.';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_web_domain.lng b/interface/web/sites/lib/lang/nl_web_domain.lng
index c9457a119eeb0bf201303545dd08bc05a4a730f6..40d5bf41730bb99c70405ec1d5cd9370f23809bd 100644
--- a/interface/web/sites/lib/lang/nl_web_domain.lng
+++ b/interface/web/sites/lib/lang/nl_web_domain.lng
@@ -67,3 +67,4 @@ $wb["custom_php_ini_txt"] = 'Custom php.ini instellingen';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_web_domain_admin_list.lng b/interface/web/sites/lib/lang/nl_web_domain_admin_list.lng
index 778fe890bd8cad99a1565aab7da1dc55990b46b7..29d86248acfc25525cee25820b958c7808d2b72c 100644
--- a/interface/web/sites/lib/lang/nl_web_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_domain_admin_list.lng
@@ -9,3 +9,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe website';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_web_domain_list.lng b/interface/web/sites/lib/lang/nl_web_domain_list.lng
index dd3066ef38b563bdd0181b895b0556377669e31e..1a0de474769401a7a42ed0a97dd0b61ecdefb458 100644
--- a/interface/web/sites/lib/lang/nl_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_domain_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe website';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_web_sites_stats_list.lng b/interface/web/sites/lib/lang/nl_web_sites_stats_list.lng
index 3d4dd67a1091ea099a1029878da1146e0a51b12e..439a8653d76c7bbb7bd87f61464893bd1d36b7ba 100644
--- a/interface/web/sites/lib/lang/nl_web_sites_stats_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_sites_stats_list.lng
@@ -8,3 +8,4 @@ $wb["last_year_txt"] = 'Vorig jaar';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_web_subdomain.lng b/interface/web/sites/lib/lang/nl_web_subdomain.lng
index fac758a21d46f1820cc600f50105ca90c6950e9a..417e3910478680541cabe6b6d1e84cd0d5c23728 100644
--- a/interface/web/sites/lib/lang/nl_web_subdomain.lng
+++ b/interface/web/sites/lib/lang/nl_web_subdomain.lng
@@ -40,3 +40,4 @@ $wb["redirect_error_regex"] = 'Ongeldig redirect pad. Geldige redirects zijn bij
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_web_subdomain_list.lng b/interface/web/sites/lib/lang/nl_web_subdomain_list.lng
index c86d541625be5d459dbbb0d8e025f9a8a1a8e322..2443ee182c3b3da89db49111126ec719b2f72e10 100644
--- a/interface/web/sites/lib/lang/nl_web_subdomain_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_subdomain_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuw subdomein';
 ?>
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_webdav_user.lng b/interface/web/sites/lib/lang/nl_webdav_user.lng
index 4f3c624b09c6f13f0e1b97d231e9b5c7bc92debd..4dac03ab366d4cc76643daced92807b98a69845e 100644
--- a/interface/web/sites/lib/lang/nl_webdav_user.lng
+++ b/interface/web/sites/lib/lang/nl_webdav_user.lng
@@ -17,3 +17,4 @@ $wb['password_strength_txt'] = 'Wachtwoord sterkte';
 
 
 
+
diff --git a/interface/web/sites/lib/lang/nl_webdav_user_list.lng b/interface/web/sites/lib/lang/nl_webdav_user_list.lng
index aabbe0b39bff9a8369a76b4c1e507ff5e514192a..2e9d9d1930b7a075b52a11d89a16ba2a3ef124bd 100644
--- a/interface/web/sites/lib/lang/nl_webdav_user_list.lng
+++ b/interface/web/sites/lib/lang/nl_webdav_user_list.lng
@@ -8,3 +8,4 @@ $wb["add_new_record_txt"] = 'Toevoegen nieuwe Webdav-gebruiker';
 ?>
 
 
+
diff --git a/interface/web/sites/templates/user_quota_stats_list.htm b/interface/web/sites/templates/user_quota_stats_list.htm
index acee81043c7b24a799de1e91c83be7e6cd0dd4ca..f7b7eaa085eb2c501699a6c8df41871fb0871e59 100644
--- a/interface/web/sites/templates/user_quota_stats_list.htm
+++ b/interface/web/sites/templates/user_quota_stats_list.htm
@@ -9,9 +9,9 @@
           <tr>
             <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
             <th class="tbl_col_system_user" scope="col"><tmpl_var name="system_user_txt"></th>
-			<th class="tbl_col_system_user" scope="col"><tmpl_var name="used_txt"></th>
-			<th class="tbl_col_system_user" scope="col"><tmpl_var name="soft_txt"></th>
-			<th class="tbl_col_system_user" scope="col"><tmpl_var name="hard_txt"></th>
+			<th class="tbl_col_system_user" scope="col" style="text-align:right;"><tmpl_var name="used_txt"></th>
+			<th class="tbl_col_system_user" scope="col" style="text-align:right;"><tmpl_var name="soft_txt"></th>
+			<th class="tbl_col_system_user" scope="col" style="text-align:right;"><tmpl_var name="hard_txt"></th>
             <th class="tbl_col_buttons" scope="col">&nbsp;</th>
           </tr>
           <tr>
@@ -28,9 +28,9 @@
           <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
             <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
             <td class="tbl_col_system_user"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="system_user"}</a></td>
-			<td class="tbl_col_used"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="used"}</a></td>
-			<td class="tbl_col_soft"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="soft"}</a></td>
-			<td class="tbl_col_hard"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="hard"}</a></td>
+			<td class="tbl_col_used" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="used"}</a></td>
+			<td class="tbl_col_soft" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="soft"}</a></td>
+			<td class="tbl_col_hard" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="hard"}</a></td>
             <td class="tbl_col_buttons">
               <div class="buttons icons16">    
                 &nbsp;
diff --git a/interface/web/sites/tools.inc.php b/interface/web/sites/tools.inc.php
index 1f707ab066dc4e03b72d94eaea0d07df9d1c7726..11285e66d289b3975924500c2b2592d796384568 100644
--- a/interface/web/sites/tools.inc.php
+++ b/interface/web/sites/tools.inc.php
@@ -106,9 +106,9 @@ function getClientID($dataRecord) {
 
 function convertClientName($name){
 	/**
-	 *  only allow 'a'..'z', '_', '-', '0'..'9'
+	 *  only allow 'a'..'z', '_', '0'..'9'
 	 */
-	$allowed = 'abcdefghijklmnopqrstuvwxyz0123456789_-';
+	$allowed = 'abcdefghijklmnopqrstuvwxyz0123456789_';
 	$res = '';
 	$name = strtolower(trim($name));
 	for ($i=0; $i < strlen($name); $i++){
diff --git a/interface/web/sites/user_quota_stats.php b/interface/web/sites/user_quota_stats.php
index 2e28d0d62179b78c835ea6dd909a44e33fb0a6cc..0109dc9d9ae0048faa23c27d5c85d868abf64acf 100644
--- a/interface/web/sites/user_quota_stats.php
+++ b/interface/web/sites/user_quota_stats.php
@@ -17,8 +17,16 @@ $app->auth->check_module_permissions('sites');
 
 $app->load('listform_actions');
 
-$tmp_rec = $app->db->queryOneRecord("SELECT data from monitor_data WHERE type = 'harddisk_quota' ORDER BY created DESC");
-$monitor_data = unserialize($app->db->unquote($tmp_rec['data']));
+// $tmp_rec = $app->db->queryOneRecord("SELECT data from monitor_data WHERE type = 'harddisk_quota' ORDER BY created DESC");
+// $monitor_data = unserialize($app->db->unquote($tmp_rec['data']));
+$tmp_rec =  $app->db->queryAllRecords("SELECT data from monitor_data WHERE type = 'harddisk_quota' ORDER BY created DESC");
+$monitor_data = array();
+if(is_array($tmp_rec)) {
+	foreach ($tmp_rec as $tmp_mon) {
+		$monitor_data = array_merge_recursive($monitor_data,unserialize($app->db->unquote($tmp_mon['data'])));
+	}
+}
+
 
 class list_action extends listform_actions {
 	
@@ -33,12 +41,38 @@ class list_action extends listform_actions {
 		$rec['bgcolor'] = $this->DataRowColor;
 		$username = $rec['system_user'];
 		
-		$rec['used'] = (is_numeric($monitor_data['user'][$username]['used'])) ? round($monitor_data['user'][$username]['used']/1024) .'MB' : $monitor_data['user'][$username]['used'].'B';
-		$rec['soft'] = $monitor_data['user'][$username]['soft'].'B';
-		$rec['hard'] = $monitor_data['user'][$username]['hard'].'B';
+		$rec['used'] = $monitor_data['user'][$username]['used'];
+		$rec['soft'] = $monitor_data['user'][$username]['soft'];
+		$rec['hard'] = $monitor_data['user'][$username]['hard'];
+		
+		if($rec['used'] > 1024) {
+			$rec['used'] = round($rec['used'] / 1024,2).' MB';
+		} else {
+			$rec['used'] .= ' KB';
+		}
+		
+		if($rec['soft'] > 1024) {
+			$rec['soft'] = round($rec['soft'] / 1024,2).' MB';
+		} else {
+			$rec['soft'] .= ' KB';
+		}
+		
+		if($rec['hard'] > 1024) {
+			$rec['hard'] = round($rec['hard'] / 1024,2).' MB';
+		} else {
+			$rec['hard'] .= ' KB';
+		}
+		
+		
+		
+		/*
+		if(!strstr($rec['used'],'M') && !strstr($rec['used'],'K')) $rec['used'].= ' B';
+		if(!strstr($rec['soft'],'M') && !strstr($rec['soft'],'K')) $rec['soft'].= ' B';
+		if(!strstr($rec['hard'],'M') && !strstr($rec['hard'],'K')) $rec['hard'].= ' B';
+		*/
 		
-		if($rec['soft'] == '0K') $rec['soft'] = $app->lng('unlimited');
-		if($rec['hard'] == '0K') $rec['hard'] = $app->lng('unlimited');
+		if($rec['soft'] == '0 B' || $rec['soft'] == '0 KB' || $rec['soft'] == '0') $rec['soft'] = $app->lng('unlimited');
+		if($rec['hard'] == '0 B' || $rec['hard'] == '0 KB' || $rec['hard'] == '0') $rec['hard'] = $app->lng('unlimited');
 		
 		//* The variable "id" contains always the index variable
 		$rec['id'] = $rec[$this->idx_key];
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index cf07f2a93c677ece180f9b345a1a6d651e96ee98..31469399ab6a0e3e71e979e2b249768679aef91f 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -426,6 +426,10 @@ class page_action extends tform_actions {
 			if($this->dataRecord['ssl_organisation_unit'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_unit_empty').'<br />';
 			if($this->dataRecord['ssl_country'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_country_empty').'<br />';
 		}
+		
+		if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'save') {
+			if(trim($this->dataRecord['ssl_cert']) == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_cert_empty').'<br />';
+		}
 
 	}
 
diff --git a/interface/web/strengthmeter/lib/lang/id_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/id_strengthmeter.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f95fc2d6aa619dfea9a3dd196d018f0874d0ed07
--- /dev/null
+++ b/interface/web/strengthmeter/lib/lang/id_strengthmeter.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['password_strength_0_txt'] = 'Terlalu pendek';
+$wb['password_strength_1_txt'] = 'Lemah';
+$wb['password_strength_2_txt'] = 'Lumayan';
+$wb['password_strength_3_txt'] = 'Bagus';
+$wb['password_strength_4_txt'] = 'Kuat';
+$wb['password_strength_5_txt'] = 'Sangat Kuat';
+?>
+
diff --git a/interface/web/strengthmeter/lib/lang/nl_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/nl_strengthmeter.lng
index 0aacc6073a48e4f88b1d62e9a9ba5cd9e6fe6c8d..d8ccab671a35b5a77dbd6c500cef2da34173de76 100644
--- a/interface/web/strengthmeter/lib/lang/nl_strengthmeter.lng
+++ b/interface/web/strengthmeter/lib/lang/nl_strengthmeter.lng
@@ -9,3 +9,4 @@ $wb['password_strength_5_txt'] = 'Heel sterk';
 
 
 
+
diff --git a/interface/web/themes/default/css/screen/basemod.css b/interface/web/themes/default/css/screen/basemod.css
index 13b006a59d05d411fdfc8ebc886e450753058537..9498535505561569d6ed7a2f39fbec217af68d5b 100644
--- a/interface/web/themes/default/css/screen/basemod.css
+++ b/interface/web/themes/default/css/screen/basemod.css
@@ -37,7 +37,13 @@
 	/* (de) Layout: Breite, Hintergrund, Rahmen */
 	/*#page_margins { min-width: 980px; max-width: 80%; background: #fff;}*/
 	/* #page_margins { min-width: 980px; max-width: 80%; background: #fff; display: inline-block;}*/
-	#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}
+	
+	/*WARNING: ADded a overrode for this setting in main.tpl with javascript to target non chrome browsers,
+	This has to be changed too in case that page_margins get changed. Reason: Chrome does not support the 
+	display: table; attribute correctly*/
+	#page_margins { min-width: 980px; max-width: 80%; background: #fff;}
+	/*#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}*/
+	
 	#page{ padding: 10px; }
 	
 	/* (en) Designing main layout elements */
diff --git a/interface/web/themes/default/templates/main.tpl.htm b/interface/web/themes/default/templates/main.tpl.htm
index d27f64ff4bd247739679073e5fc3aba7af431bcd..160b2d6d7b47baab219cbb3098f854aad3c03c8c 100644
--- a/interface/web/themes/default/templates/main.tpl.htm
+++ b/interface/web/themes/default/templates/main.tpl.htm
@@ -58,6 +58,14 @@
     <script type="text/javascript" src="js/scrigo.js.php"></script>
     <script type="text/javascript" src="js/uni-form/jquery.js"></script>
     <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
+	<script language="JavaScript" type="text/javascript">
+		var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
+		if(!is_chrome) {
+			var style = document.createElement('style');
+			style.innerHTML = '#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}';
+			document.getElementsByTagName("head")[0].appendChild(style);
+		}
+	</script>
 </head>
 <body onload="loadInitContent()">
     <div id="page_margins">
diff --git a/interface/web/themes/default_64_navimg/templates/main.tpl.htm b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
index 20923820e5864dea38e216ff3831a9ab0f415aaf..63d0fce78836b0f3dce625f8c126717c881c2e8c 100644
--- a/interface/web/themes/default_64_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
@@ -59,6 +59,14 @@
     <script type="text/javascript" src="js/scrigo.js.php"></script>
     <script type="text/javascript" src="js/uni-form/jquery.js"></script>
     <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
+	<script language="JavaScript" type="text/javascript">
+		var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
+		if(!is_chrome) {
+			var style = document.createElement('style');
+			style.innerHTML = '#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}';
+			document.getElementsByTagName("head")[0].appendChild(style);
+		}
+	</script>
 </head>
 <body onload="loadInitContent()">
     <div id="page_margins">
diff --git a/interface/web/themes/default_no_navimg/templates/main.tpl.htm b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
index 6bcf70d53d312933c818cd614cdb5f5aab8a401c..31e2b854940a37d2f1a052a16985c0300aa1e100 100644
--- a/interface/web/themes/default_no_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
@@ -59,6 +59,14 @@
     <script type="text/javascript" src="js/scrigo.js.php"></script>
     <script type="text/javascript" src="js/uni-form/jquery.js"></script>
     <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
+	<script language="JavaScript" type="text/javascript">
+		var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
+		if(!is_chrome) {
+			var style = document.createElement('style');
+			style.innerHTML = '#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}';
+			document.getElementsByTagName("head")[0].appendChild(style);
+		}
+	</script>
 </head>
 <body onload="loadInitContent()">
     <div id="page_margins">
diff --git a/interface/web/tools/lib/lang/id.lng b/interface/web/tools/lib/lang/id.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f357814f796981b46a5ecfad2660098bd064cfa9
--- /dev/null
+++ b/interface/web/tools/lib/lang/id.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['User Settings'] = 'Pengaturan Pengguna';
+$wb['Settings'] = 'Pengaturan';
+$wb['ISPConfig Tools'] = 'Perkakas ISPConfig';
+$wb['Password and Language'] = 'Sandi dan Bahasa';
+?>
+
diff --git a/interface/web/tools/lib/lang/id_usersettings.lng b/interface/web/tools/lib/lang/id_usersettings.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0f69cac2044bcc2dc054aab2499dd669166f3fa8
--- /dev/null
+++ b/interface/web/tools/lib/lang/id_usersettings.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['passwort_txt'] = 'Kata Sandi';
+$wb['password_strength_txt'] = 'Kekuatan Sandi';
+$wb['language_txt'] = 'Bahasa';
+$wb['password_mismatch'] = 'Kata sandi di kolom kata sandi kedua tidak cocok dengan kata sandi pertama.';
+$wb['Form to edit the user password and language.'] = 'Form untuk menyunting kata sandi dan bahasa pengguna.';
+$wb['Settings'] = 'Pengaturan';
+?>
+
diff --git a/interface/web/tools/lib/lang/nl.lng b/interface/web/tools/lib/lang/nl.lng
index 70dd45b69563e2cc5b01a0f20e81ce1d60330dfa..180e9de80f988afafb75d1ed68955e0c938e3f92 100644
--- a/interface/web/tools/lib/lang/nl.lng
+++ b/interface/web/tools/lib/lang/nl.lng
@@ -6,3 +6,4 @@ $wb['Password and Language'] = 'Wachtwoord en taal';
 ?>
 
 
+
diff --git a/interface/web/tools/lib/lang/nl_usersettings.lng b/interface/web/tools/lib/lang/nl_usersettings.lng
index dfdfc943c2ed841888b27abb50a5dbcc98858c8b..e765c6c478a01368d6686b362495a07dc6d9a551 100644
--- a/interface/web/tools/lib/lang/nl_usersettings.lng
+++ b/interface/web/tools/lib/lang/nl_usersettings.lng
@@ -9,3 +9,4 @@ $wb["Settings"] = 'Instellingen';
 
 
 
+
diff --git a/server/conf/apache_ispconfig.conf.master b/server/conf/apache_ispconfig.conf.master
index 752c8bff2ff7cc98171c96d83a4c0eca317647d2..42d86aef6279fffb6ead51c41324b19329fde8fb 100644
--- a/server/conf/apache_ispconfig.conf.master
+++ b/server/conf/apache_ispconfig.conf.master
@@ -40,6 +40,7 @@ CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m
         Order allow,deny
         Allow from all
 </Directory>
+
 Alias /awstats-icon "/usr/share/awstats/icon"
 
 <tmpl_loop name="ip_adresses">
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index db03e77dfdb4f7e2f4cb45ad317764a74f7151a0..89b0931f4e02a88d16cd54344c92bb1e8c969767 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -150,15 +150,46 @@
 <tmpl_if name='php' op='==' value='fast-cgi'>
     # php as fast-cgi enabled
     <IfModule mod_fcgid.c>
-      # SocketPath /tmp/fcgid_sock/
+      
+	  # SocketPath /tmp/fcgid_sock/
+	  
+	  # IdleTimeout n (3600 seconds)
+	  # An idle fastcgi application will be terminated after IdleTimeout seconds.
       IdleTimeout 3600
+	  
+	  # ProcessLifeTime n (7200 seconds)
+      # A fastcgi application will be terminated if lifetime expired, even no error is detected.
       ProcessLifeTime 7200
+	  
+	  # MaxProcessCount n (1000)
+      # The max count of total fastcgi process count.
       # MaxProcessCount 1000
-      DefaultMinClassProcessCount 3
+      
+	  # DefaultMinClassProcessCount n (3)
+      # The minimum number of fastcgi application instances for any one fastcgi application.
+      # Idle fastcgi will not be killed if their count is less than n
+      # Set this to 0, and tweak IdleTimeout
+	  DefaultMinClassProcessCount 0
+	  
+	  # DefaultMaxClassProcessCount n (100)
+      # The maximum number of fastcgi application instances allowed to run for
+      # particular one fastcgi application.
       DefaultMaxClassProcessCount 100
+	  
+	  # IPCConnectTimeout n (3 seconds)
+      # The connect timeout to a fastcgi application.
       IPCConnectTimeout 8
+	  
+	  # IPCCommTimeout n (20 seconds)
+      # The communication timeout to a fastcgi application. Please increase this
+      # value if your CGI have a slow initialization or slow respond.
       IPCCommTimeout 360
-      BusyTimeout 300
+      
+	  # BusyTimeout n (300 seconds)
+      # A fastcgi application will be terminated if handing a single request
+      # longer than busy timeout.
+	  BusyTimeout 300
+	  
     </IfModule>
     <Directory {tmpl_var name='web_document_root_www'}>
         AddHandler fcgid-script .php .php3 .php4 .php5
@@ -348,14 +379,43 @@
     # php as fast-cgi enabled
     <IfModule mod_fcgid.c>
       # SocketPath /tmp/fcgid_sock/
+	  # IdleTimeout n (3600 seconds)
+	  # An idle fastcgi application will be terminated after IdleTimeout seconds.
       IdleTimeout 3600
+	  
+	  # ProcessLifeTime n (7200 seconds)
+      # A fastcgi application will be terminated if lifetime expired, even no error is detected.
       ProcessLifeTime 7200
+	  
+	  # MaxProcessCount n (1000)
+      # The max count of total fastcgi process count.
       # MaxProcessCount 1000
-      DefaultMinClassProcessCount 3
+      
+	  # DefaultMinClassProcessCount n (3)
+      # The minimum number of fastcgi application instances for any one fastcgi application.
+      # Idle fastcgi will not be killed if their count is less than n
+      # Set this to 0, and tweak IdleTimeout
+	  DefaultMinClassProcessCount 0
+	  
+	  # DefaultMaxClassProcessCount n (100)
+      # The maximum number of fastcgi application instances allowed to run for
+      # particular one fastcgi application.
       DefaultMaxClassProcessCount 100
+	  
+	  # IPCConnectTimeout n (3 seconds)
+      # The connect timeout to a fastcgi application.
       IPCConnectTimeout 8
+	  
+	  # IPCCommTimeout n (20 seconds)
+      # The communication timeout to a fastcgi application. Please increase this
+      # value if your CGI have a slow initialization or slow respond.
       IPCCommTimeout 360
-      BusyTimeout 300
+      
+	  # BusyTimeout n (300 seconds)
+      # A fastcgi application will be terminated if handing a single request
+      # longer than busy timeout.
+	  BusyTimeout 300
+	  
     </IfModule>
     <Directory {tmpl_var name='web_document_root_www'}>
         AddHandler fcgid-script .php .php3 .php4 .php5
diff --git a/server/cron_daily.php b/server/cron_daily.php
index e9aedac20abe86323b0abe961267eac6334c71fd..e3fc5be3333c059672b6f28830ba2e0e13dd6047 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -295,7 +295,7 @@ if ($app->dbmaster == $app->db) {
 	$maxId = $res['max(action_id)'];
 	$sql =  "DELETE FROM sys_remoteaction " .
 			"WHERE tstamp < " . $tstamp . " " .
-			" AND action_status = 'ok' " .
+			" AND action_state = 'ok' " .
 			" AND action_id <" . intval($maxId);
 	$app->dbmaster->query($sql);
 
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 1d5579ece0502fd98c4b782537d4db2fa9157863..5de2f8150433b54410bb8bb63b86e22d99f989b5 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1157,9 +1157,11 @@ class system{
 		
 		if($found == 0) {
 			//* add \n if the last line does not end with \n or \r
-			if(substr($out,-1) != "\n" && substr($out,-1) != "\r") $out .= "\n";
+			if(substr($out,-1) != "\n" && substr($out,-1) != "\r" && filesize($filename) > 0) $out .= "\n";
 			//* add the new line at the end of the file
-			if($append == 1) $out .= $new_line."\n";
+			if($append == 1) {
+				$out .= $new_line."\n";
+			}
 		}
 		file_put_contents($filename,$out);
 	}
@@ -1198,8 +1200,8 @@ class system{
 			$user = escapeshellcmd($user);
 			// I assume that the name of the (vmail group) is the same as the name of the mail user in ISPConfig 3
 			$group = $user;
-			chown($dir,$user);
-			chgrp($dir,$group);
+			if(is_dir($dir)) chown($dir,$user);
+			if(is_dir($dir)) chgrp($dir,$group);
 
 			$chown_mdsub = true;
 		}
@@ -1207,7 +1209,7 @@ class system{
 		$maildirsubs = array('cur','new','tmp');
 
 		foreach ($maildirsubs as $mdsub) {
-			mkdir($dir.'/'.$mdsub, 0700, true);
+			if(!is_dir($dir.'/'.$mdsub)) mkdir($dir.'/'.$mdsub, 0700, true);
 			if ($chown_mdsub) {
 				chown($dir.'/'.$mdsub, $user);
 				chgrp($dir.'/'.$mdsub, $group);
diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index 4555387d868959ee0c4206180ec05132e4ef34ce..43928121ecb9ad66ade31d28f29e7a6a5828166b 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -238,7 +238,7 @@ class monitor_core_module {
 		$state = 'ok';
 		
 		/** Fetch the data for all users*/
-		$dfData = shell_exec('repquota -asu');
+		$dfData = shell_exec('repquota -au');
 
 		// split into array
 		$df = explode("\n", $dfData);
@@ -253,14 +253,22 @@ class monitor_core_module {
 				*/
 				$s = preg_split ('/[\s]+/', $df[$i]);
 				$username = $s[0];
-				$data['user'][$username]['used'] = $s[2];
-				$data['user'][$username]['soft'] = $s[3];
-				$data['user'][$username]['hard'] = $s[4];
+				if(substr($username,0,3) == 'web') {
+				if(isset($data['user'][$username])) {
+					$data['user'][$username]['used'] += $s[2];
+					$data['user'][$username]['soft'] += $s[3];
+					$data['user'][$username]['hard'] += $s[4];
+				} else {
+					$data['user'][$username]['used'] = $s[2];
+					$data['user'][$username]['soft'] = $s[3];
+					$data['user'][$username]['hard'] = $s[4];
+				}
+				}
 			}
 		}
 		
 		/** Fetch the data for all users*/
-		$dfData = shell_exec('repquota -asg');
+		$dfData = shell_exec('repquota -ag');
 
 		// split into array
 		$df = explode("\n", $dfData);
@@ -275,9 +283,17 @@ class monitor_core_module {
 				*/
 				$s = preg_split ('/[\s]+/', $df[$i]);
 				$groupname = $s[0];
-				$data['group'][$groupname]['used'] = $s[1];
-				$data['group'][$groupname]['soft'] = $s[2];
-				$data['group'][$groupname]['hard'] = $s[3];
+				if(substr($groupname,0,6) == 'client') {
+				if(isset($data['group'][$groupname])) {
+					$data['group'][$groupname]['used'] += $s[1];
+					$data['group'][$groupname]['soft'] += $s[2];
+					$data['group'][$groupname]['hard'] += $s[3];
+				} else {
+					$data['group'][$groupname]['used'] = $s[1];
+					$data['group'][$groupname]['soft'] = $s[2];
+					$data['group'][$groupname]['hard'] = $s[3];
+				}
+				}
 			}
 		}
 
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index d8941a8eb6d2f94483b3b161b5e9f99c5b9600e3..fbdfd732f939dc9253c94c89bce379976a3b62a2 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -155,15 +155,15 @@ class apache2_plugin {
 		}
 
 		//* Save a SSL certificate to disk
-		if($data['new']['ssl_action'] == 'save') {
-			$ssl_dir = $data['new']['document_root'].'/ssl';
-			$domain = $data['new']['ssl_domain'];
-			$csr_file = $ssl_dir.'/'.$domain.'.csr';
-			$crt_file = $ssl_dir.'/'.$domain.'.crt';
-			$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
-			file_put_contents($csr_file,$data['new']['ssl_request']);
-			file_put_contents($crt_file,$data['new']['ssl_cert']);
-			if(trim($data['new']['ssl_bundle']) != '') file_put_contents($bundle_file,$data['new']['ssl_bundle']);
+		if($data["new"]["ssl_action"] == 'save') {
+			$ssl_dir = $data["new"]["document_root"]."/ssl";
+			$domain = $data["new"]["ssl_domain"];
+			$csr_file = $ssl_dir.'/'.$domain.".csr";
+			$crt_file = $ssl_dir.'/'.$domain.".crt";
+			$bundle_file = $ssl_dir.'/'.$domain.".bundle";
+			if(trim($data["new"]["ssl_request"]) != '') file_put_contents($csr_file,$data["new"]["ssl_request"]);
+			if(trim($data["new"]["ssl_cert"]) != '') file_put_contents($crt_file,$data["new"]["ssl_cert"]);
+			if(trim($data["new"]["ssl_bundle"]) != '') file_put_contents($bundle_file,$data["new"]["ssl_bundle"]);
 			/* Update the DB of the (local) Server */
 			$app->db->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'");
 			/* Update also the master-DB of the Server-Farm */
@@ -553,7 +553,11 @@ class apache2_plugin {
 			if($data['new']['php'] == 'mod') {
 				$master_php_ini_path = $web_config['php_ini_path_apache'];
 			} else {
-				$master_php_ini_path = $web_config['php_ini_path_cgi'];
+				if($data["new"]['php'] == 'fast-cgi' && file_exists($fastcgi_config["fastcgi_phpini_path"])) {
+					$master_php_ini_path = $fastcgi_config["fastcgi_phpini_path"];
+				} else {
+					$master_php_ini_path = $web_config['php_ini_path_cgi'];
+				}
 			}
 			if($master_php_ini_path != '' && substr($master_php_ini_path,-7) == 'php.ini' && is_file($master_php_ini_path)) {
 				$php_ini_content .= file_get_contents($master_php_ini_path)."\n";
@@ -890,6 +894,9 @@ class apache2_plugin {
 			$app->log('Apache status is: '.$apache_online_status_before_restart,LOGLEVEL_DEBUG);
 
 			$app->services->restartService('httpd','restart');
+			
+			// wait a few seconds, before we test the apache status again
+			sleep(2);
 		
 			//* Check if apache restarted successfully if it was online before
 			$apache_online_status_after_restart = $this->_checkTcp('localhost',80);
@@ -911,7 +918,7 @@ class apache2_plugin {
 		}
 		
 		// Remove the backup copy of the config file.
-		unlink($vhost_file.'~');
+		if(@is_file($vhost_file.'~')) unlink($vhost_file.'~');
 		
 
 		//* Unset action to clean it for next processed vhost.
@@ -1255,8 +1262,13 @@ class apache2_plugin {
 						*/
 						$fn = substr($file, 0, strlen($file) - strlen('.htdigest'));
 						$output .= "\n";
+<<<<<<< .working
 						$output .= "      Alias /" . $fn . ' ' . $webdavRoot . '/' . $fn . "\n";
 						$output .= "      <Location /" . $fn . ">\n";
+=======
+						$output .= "      Alias /webdav/" . $fn . ' ' . $webdavRoot . '/' . $fn . "\n";
+						$output .= "      <Location /webdav/" . $fn . ">\n";
+>>>>>>> .merge-right.r2129
 						$output .= "        DAV On\n";
 						$output .= "        AuthType Digest\n";
 						$output .= "        AuthName \"" . $fn . "\"\n";