From 164db6ad7fa1e974864a127c5514f3b5cc2170db Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 10 Dec 2008 11:52:17 +0000
Subject: [PATCH] - Added spanish language files

---
 interface/lib/lang/es.lng                     | 11 +++
 interface/web/admin/lib/lang/es.lng           | 35 ++++++++
 interface/web/admin/lib/lang/es_dbsync.lng    | 17 ++++
 .../web/admin/lib/lang/es_dbsync_list.lng     | 14 ++++
 interface/web/admin/lib/lang/es_filesync.lng  | 13 +++
 .../web/admin/lib/lang/es_filesync_list.lng   |  7 ++
 interface/web/admin/lib/lang/es_firewall.lng  | 12 +++
 .../web/admin/lib/lang/es_firewall_list.lng   | 15 ++++
 interface/web/admin/lib/lang/es_groups.lng    |  8 ++
 .../web/admin/lib/lang/es_groups_list.lng     | 13 +++
 .../web/admin/lib/lang/es_language_add.lng    |  8 ++
 .../admin/lib/lang/es_language_complete.lng   |  7 ++
 .../web/admin/lib/lang/es_language_edit.lng   |  9 ++
 .../web/admin/lib/lang/es_language_export.lng |  7 ++
 .../web/admin/lib/lang/es_language_import.lng |  8 ++
 .../web/admin/lib/lang/es_language_list.lng   |  8 ++
 interface/web/admin/lib/lang/es_server.lng    | 14 ++++
 .../web/admin/lib/lang/es_server_config.lng   | 38 +++++++++
 .../admin/lib/lang/es_server_config_list.lng  | 11 +++
 interface/web/admin/lib/lang/es_server_ip.lng |  9 ++
 .../web/admin/lib/lang/es_server_ip_list.lng  | 13 +++
 .../web/admin/lib/lang/es_server_list.lng     | 18 ++++
 .../lib/lang/es_software_package_list.lng     |  8 ++
 .../web/admin/lib/lang/es_software_repo.lng   | 10 +++
 .../admin/lib/lang/es_software_repo_list.lng  | 14 ++++
 .../lib/lang/es_software_update_list.lng      |  8 ++
 interface/web/admin/lib/lang/es_users.lng     | 31 +++++++
 .../web/admin/lib/lang/es_users_list.lng      | 15 ++++
 interface/web/client/lib/lang/es.lng          |  9 ++
 interface/web/client/lib/lang/es_client.lng   | 82 +++++++++++++++++++
 .../web/client/lib/lang/es_clients_list.lng   | 16 ++++
 interface/web/designer/lib/lang/es.lng        |  3 +
 .../web/designer/lib/lang/es_form_edit.lng    | 25 ++++++
 .../web/designer/lib/lang/es_form_list.lng    |  8 ++
 .../web/designer/lib/lang/es_form_show.lng    | 19 +++++
 .../web/designer/lib/lang/es_module_edit.lng  | 13 +++
 .../web/designer/lib/lang/es_module_list.lng  |  6 ++
 .../designer/lib/lang/es_module_nav_edit.lng  |  7 ++
 .../lib/lang/es_module_nav_item_edit.lng      |  9 ++
 .../web/designer/lib/lang/es_module_show.lng  | 17 ++++
 interface/web/dns/lib/lang/es.lng             | 18 ++++
 interface/web/dns/lib/lang/es_dns_a.lng       | 18 ++++
 interface/web/dns/lib/lang/es_dns_a_list.lng  | 18 ++++
 interface/web/dns/lib/lang/es_dns_alias.lng   | 18 ++++
 interface/web/dns/lib/lang/es_dns_cname.lng   | 18 ++++
 interface/web/dns/lib/lang/es_dns_hinfo.lng   | 18 ++++
 interface/web/dns/lib/lang/es_dns_mx.lng      | 19 +++++
 interface/web/dns/lib/lang/es_dns_ns.lng      | 18 ++++
 interface/web/dns/lib/lang/es_dns_ptr.lng     | 18 ++++
 interface/web/dns/lib/lang/es_dns_rp.lng      | 18 ++++
 interface/web/dns/lib/lang/es_dns_soa.lng     | 27 ++++++
 .../web/dns/lib/lang/es_dns_soa_list.lng      | 16 ++++
 interface/web/dns/lib/lang/es_dns_srv.lng     | 18 ++++
 .../web/dns/lib/lang/es_dns_template.lng      |  9 ++
 .../web/dns/lib/lang/es_dns_template_list.lng | 13 +++
 interface/web/dns/lib/lang/es_dns_txt.lng     | 18 ++++
 interface/web/dns/lib/lang/es_dns_wizard.lng  | 14 ++++
 interface/web/help/lib/lang/es.lng            |  8 ++
 .../web/help/lib/lang/es_support_message.lng  | 10 +++
 .../help/lib/lang/es_support_message_list.lng | 13 +++
 interface/web/js/lib/lang/es_javascript.lng   |  9 ++
 interface/web/login/index.php                 | 49 +++++------
 interface/web/login/lib/lang/es.lng           | 13 +++
 interface/web/mail/lib/lang/es.lng            | 46 +++++++++++
 interface/web/mail/lib/lang/es_mail_alias.lng | 13 +++
 .../web/mail/lib/lang/es_mail_alias_list.lng  | 15 ++++
 .../web/mail/lib/lang/es_mail_blacklist.lng   | 12 +++
 .../mail/lib/lang/es_mail_blacklist_list.lng  | 17 ++++
 .../mail/lib/lang/es_mail_content_filter.lng  | 12 +++
 .../lib/lang/es_mail_content_filter_list.lng  | 15 ++++
 .../web/mail/lib/lang/es_mail_domain.lng      | 16 ++++
 .../mail/lib/lang/es_mail_domain_catchall.lng | 12 +++
 .../lib/lang/es_mail_domain_catchall_list.lng | 16 ++++
 .../web/mail/lib/lang/es_mail_domain_list.lng | 14 ++++
 .../web/mail/lib/lang/es_mail_forward.lng     |  9 ++
 .../mail/lib/lang/es_mail_forward_list.lng    | 15 ++++
 interface/web/mail/lib/lang/es_mail_get.lng   | 14 ++++
 .../web/mail/lib/lang/es_mail_get_list.lng    | 16 ++++
 .../web/mail/lib/lang/es_mail_spamfilter.lng  | 20 +++++
 .../mail/lib/lang/es_mail_spamfilter_list.lng | 15 ++++
 .../web/mail/lib/lang/es_mail_transport.lng   | 13 +++
 .../mail/lib/lang/es_mail_transport_list.lng  | 16 ++++
 interface/web/mail/lib/lang/es_mail_user.lng  | 33 ++++++++
 .../web/mail/lib/lang/es_mail_user_filter.lng | 12 +++
 .../lib/lang/es_mail_user_filter_list.lng     | 11 +++
 .../web/mail/lib/lang/es_mail_user_list.lng   | 13 +++
 .../mail/lib/lang/es_mail_user_stats_list.lng | 15 ++++
 .../web/mail/lib/lang/es_mail_whitelist.lng   | 12 +++
 .../mail/lib/lang/es_mail_whitelist_list.lng  | 17 ++++
 .../mail/lib/lang/es_spamfilter_blacklist.lng | 11 +++
 .../lib/lang/es_spamfilter_blacklist_list.lng | 16 ++++
 .../mail/lib/lang/es_spamfilter_config.lng    | 23 ++++++
 .../lib/lang/es_spamfilter_config_list.lng    | 12 +++
 .../mail/lib/lang/es_spamfilter_policy.lng    | 41 ++++++++++
 .../lib/lang/es_spamfilter_policy_list.lng    | 16 ++++
 .../web/mail/lib/lang/es_spamfilter_users.lng | 11 +++
 .../lib/lang/es_spamfilter_users_list.lng     | 17 ++++
 .../mail/lib/lang/es_spamfilter_whitelist.lng | 11 +++
 .../lib/lang/es_spamfilter_whitelist_list.lng | 16 ++++
 interface/web/monitor/lib/lang/es.lng         | 42 ++++++++++
 interface/web/monitor/lib/module.conf.php     |  1 +
 interface/web/sites/lib/lang/es.lng           | 19 +++++
 interface/web/sites/lib/lang/es_database.lng  | 24 ++++++
 .../web/sites/lib/lang/es_database_list.lng   | 15 ++++
 interface/web/sites/lib/lang/es_ftp_user.lng  | 27 ++++++
 .../web/sites/lib/lang/es_ftp_user_list.lng   | 15 ++++
 .../web/sites/lib/lang/es_shell_user.lng      | 24 ++++++
 .../web/sites/lib/lang/es_shell_user_list.lng | 15 ++++
 .../lib/lang/es_web_aliasdomain_list.lng      | 18 ++++
 .../web/sites/lib/lang/es_web_domain.lng      | 50 +++++++++++
 .../web/sites/lib/lang/es_web_domain_list.lng | 15 ++++
 .../sites/lib/lang/es_web_subdomain_list.lng  | 15 ++++
 interface/web/tools/lib/lang/es.lng           |  7 ++
 .../web/tools/lib/lang/es_usersettings.lng    | 11 +++
 114 files changed, 1857 insertions(+), 27 deletions(-)
 create mode 100644 interface/lib/lang/es.lng
 create mode 100644 interface/web/admin/lib/lang/es.lng
 create mode 100644 interface/web/admin/lib/lang/es_dbsync.lng
 create mode 100644 interface/web/admin/lib/lang/es_dbsync_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_filesync.lng
 create mode 100644 interface/web/admin/lib/lang/es_filesync_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_firewall.lng
 create mode 100644 interface/web/admin/lib/lang/es_firewall_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_groups.lng
 create mode 100644 interface/web/admin/lib/lang/es_groups_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_language_add.lng
 create mode 100644 interface/web/admin/lib/lang/es_language_complete.lng
 create mode 100644 interface/web/admin/lib/lang/es_language_edit.lng
 create mode 100644 interface/web/admin/lib/lang/es_language_export.lng
 create mode 100644 interface/web/admin/lib/lang/es_language_import.lng
 create mode 100644 interface/web/admin/lib/lang/es_language_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_server.lng
 create mode 100644 interface/web/admin/lib/lang/es_server_config.lng
 create mode 100644 interface/web/admin/lib/lang/es_server_config_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_server_ip.lng
 create mode 100644 interface/web/admin/lib/lang/es_server_ip_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_server_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_software_package_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_software_repo.lng
 create mode 100644 interface/web/admin/lib/lang/es_software_repo_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_software_update_list.lng
 create mode 100644 interface/web/admin/lib/lang/es_users.lng
 create mode 100644 interface/web/admin/lib/lang/es_users_list.lng
 create mode 100644 interface/web/client/lib/lang/es.lng
 create mode 100644 interface/web/client/lib/lang/es_client.lng
 create mode 100644 interface/web/client/lib/lang/es_clients_list.lng
 create mode 100644 interface/web/designer/lib/lang/es.lng
 create mode 100644 interface/web/designer/lib/lang/es_form_edit.lng
 create mode 100644 interface/web/designer/lib/lang/es_form_list.lng
 create mode 100644 interface/web/designer/lib/lang/es_form_show.lng
 create mode 100644 interface/web/designer/lib/lang/es_module_edit.lng
 create mode 100644 interface/web/designer/lib/lang/es_module_list.lng
 create mode 100644 interface/web/designer/lib/lang/es_module_nav_edit.lng
 create mode 100644 interface/web/designer/lib/lang/es_module_nav_item_edit.lng
 create mode 100644 interface/web/designer/lib/lang/es_module_show.lng
 create mode 100644 interface/web/dns/lib/lang/es.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_a.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_a_list.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_alias.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_cname.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_hinfo.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_mx.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_ns.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_ptr.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_rp.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_soa.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_soa_list.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_srv.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_template.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_template_list.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_txt.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_wizard.lng
 create mode 100644 interface/web/help/lib/lang/es.lng
 create mode 100644 interface/web/help/lib/lang/es_support_message.lng
 create mode 100644 interface/web/help/lib/lang/es_support_message_list.lng
 create mode 100644 interface/web/js/lib/lang/es_javascript.lng
 create mode 100644 interface/web/login/lib/lang/es.lng
 create mode 100644 interface/web/mail/lib/lang/es.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_alias.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_alias_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_blacklist.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_blacklist_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_content_filter.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_content_filter_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_domain.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_domain_catchall.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_domain_catchall_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_domain_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_forward.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_forward_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_get.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_get_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_spamfilter.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_spamfilter_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_transport.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_transport_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_user.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_user_filter.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_user_filter_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_user_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_user_stats_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_whitelist.lng
 create mode 100644 interface/web/mail/lib/lang/es_mail_whitelist_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_blacklist.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_blacklist_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_config.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_config_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_policy.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_policy_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_users.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_users_list.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_whitelist.lng
 create mode 100644 interface/web/mail/lib/lang/es_spamfilter_whitelist_list.lng
 create mode 100644 interface/web/monitor/lib/lang/es.lng
 create mode 100644 interface/web/sites/lib/lang/es.lng
 create mode 100644 interface/web/sites/lib/lang/es_database.lng
 create mode 100644 interface/web/sites/lib/lang/es_database_list.lng
 create mode 100644 interface/web/sites/lib/lang/es_ftp_user.lng
 create mode 100644 interface/web/sites/lib/lang/es_ftp_user_list.lng
 create mode 100644 interface/web/sites/lib/lang/es_shell_user.lng
 create mode 100644 interface/web/sites/lib/lang/es_shell_user_list.lng
 create mode 100644 interface/web/sites/lib/lang/es_web_aliasdomain_list.lng
 create mode 100644 interface/web/sites/lib/lang/es_web_domain.lng
 create mode 100644 interface/web/sites/lib/lang/es_web_domain_list.lng
 create mode 100644 interface/web/sites/lib/lang/es_web_subdomain_list.lng
 create mode 100644 interface/web/tools/lib/lang/es.lng
 create mode 100644 interface/web/tools/lib/lang/es_usersettings.lng

diff --git a/interface/lib/lang/es.lng b/interface/lib/lang/es.lng
new file mode 100644
index 0000000000..b0f07c0916
--- /dev/null
+++ b/interface/lib/lang/es.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['301'] = 'Modulo no permitido para el usuario actual.';
+$wb['302'] = 'Modulo inválido.';
+$wb['1001'] = '¡ El usuario y contraseña no pueden estar vacíos !';
+$wb['1002'] = '¡ El usuario y contraseña no son correctos !';
+$wb['1003'] = '¡ El usuario está desactivado !';
+$wb['delete_confirmation'] = '¿Realmente quiere borrar este registro ?';
+$wb['error_no_view_permission'] = 'Este registro no existe o no tiene permiso para verlo';
+$wb['error_no_delete_permission'] = '¡ No puede borrar este registro, no tiene permiso !';
+?>
+
diff --git a/interface/web/admin/lib/lang/es.lng b/interface/web/admin/lib/lang/es.lng
new file mode 100644
index 0000000000..86e452fdd0
--- /dev/null
+++ b/interface/web/admin/lib/lang/es.lng
@@ -0,0 +1,35 @@
+<?php
+$wb['1001'] = 'El usuario o la contraseña están vacíos.';
+$wb['1002'] = 'El usuario o la contraseña son erróneos';
+$wb['Firewall'] = 'Cortafuegos';
+$wb['Groups'] = 'Grupos';
+$wb['groups_description'] = 'Formulario para editar los grupos del usuario de sistema.';
+$wb['Server'] = 'Servidor';
+$wb['Services'] = 'Servicios';
+$wb['Config'] = 'Configuración';
+$wb['Server Config'] = 'Configuración del servidor';
+$wb['Mail'] = 'Correo';
+$wb['Getmail'] = 'Getmail';
+$wb['Web'] = 'Web';
+$wb['FastCGI'] = 'FastCGI';
+$wb['Jailkit'] = 'Jailkit';
+$wb['System'] = 'Sistema';
+$wb['Add user'] = 'Añadir usuario';
+$wb['Edit user'] = 'Editar usuarios';
+$wb['CP Users'] = 'Usuarios del Panel';
+$wb['Add group'] = 'Añadir grupo';
+$wb['Edit group'] = 'Editar grupo';
+$wb['Edit server'] = 'Editar servidor';
+$wb['Edit Server IP'] = 'Editar IP del servidor';
+$wb['Servers'] = 'Servidores';
+$wb['Sync. Now'] = 'Sincronizar ahora';
+$wb['DB Sync.'] = 'Sincronizar DB';
+$wb['Languages'] = 'Idiomas';
+$wb['New Language'] = 'Nuevo idioma';
+$wb['Export'] = 'Exportar';
+$wb['Import'] = 'Importar';
+$wb['Language Editor'] = 'Editar idioma';
+$wb['Software'] = 'Software';
+$wb['Repositories'] = 'Repositorios';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_dbsync.lng b/interface/web/admin/lib/lang/es_dbsync.lng
new file mode 100644
index 0000000000..d04860497e
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_dbsync.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['jobname_txt'] = 'Nombre';
+$wb['jobname_err'] = 'El campo nombre está vacío';
+$wb['sync_interval_minutes_txt'] = 'Intérvalo (Min.)';
+$wb['db_type_txt'] = 'Tipo DB';
+$wb['db_host_txt'] = 'Servidor DB';
+$wb['db_name_txt'] = 'Nombre DB';
+$wb['db_username_txt'] = 'Usuario DB';
+$wb['db_password_txt'] = 'Contraseña DB';
+$wb['db_tables_txt'] = 'Tablas';
+$wb['empty_datalog_txt'] = 'Borrar el registro después de sincronizar.';
+$wb['sync_datalog_external_txt'] = 'Rellenar registro externo';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_dbsync_list.lng b/interface/web/admin/lib/lang/es_dbsync_list.lng
new file mode 100644
index 0000000000..f9973be4a4
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_dbsync_list.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['list_head_txt'] = 'Sincronización de la base de datos';
+$wb['jobname_txt'] = 'Orden de trabajo';
+$wb['db_host_txt'] = 'Servidor de base de datos';
+$wb['db_name_txt'] = 'Nombre de la base de datos';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo registro de sincronización de base de datos';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_filesync.lng b/interface/web/admin/lib/lang/es_filesync.lng
new file mode 100644
index 0000000000..99ee34a262
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_filesync.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['jobname_txt'] = 'Orden de trabajo';
+$wb['jobname_err'] = 'La orden de trabajo está vacía';
+$wb['sync_interval_minutes_txt'] = 'Intervalo (Min.)';
+$wb['ftp_host_txt'] = 'Servidor FTP';
+$wb['ftp_path_txt'] = 'Ruta FTP';
+$wb['ftp_username_txt'] = 'Usuario FTP';
+$wb['ftp_password_txt'] = 'Contraseña FTP';
+$wb['local_path_txt'] = 'Rutas locales';
+$wb['wput_options_txt'] = 'Opciones wput';
+$wb['active_txt'] = 'Activar';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_filesync_list.lng b/interface/web/admin/lib/lang/es_filesync_list.lng
new file mode 100644
index 0000000000..f53bdd8a15
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_filesync_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Sincronización de archivos';
+$wb['jobname_txt'] = 'Orden de trabajo';
+$wb['ftp_host_txt'] = 'Servidor FTP';
+$wb['local_path_txt'] = 'Ruta local';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_firewall.lng b/interface/web/admin/lib/lang/es_firewall.lng
new file mode 100644
index 0000000000..3ae2dcea14
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_firewall.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['tcp_port_txt'] = 'Abrir puertos TCP';
+$wb['udp_port_txt'] = 'Abrir puertos UDP';
+$wb['tcp_port_help_txt'] = 'Separados por coma';
+$wb['udp_port_help_txt'] = 'Separados por coma';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['firewall_error_unique'] = 'Ya hay un registro de cortafuegos en este servidor';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_firewall_list.lng b/interface/web/admin/lib/lang/es_firewall_list.lng
new file mode 100644
index 0000000000..df2044cb81
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_firewall_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Cortafuegos';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['tcp_port_txt'] = 'Abrir puertos TCP';
+$wb['udp_port_txt'] = 'Abrir puertos UDP';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo registro de cortafuegos';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_groups.lng b/interface/web/admin/lib/lang/es_groups.lng
new file mode 100644
index 0000000000..624671944b
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_groups.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['description_txt'] = 'Descripción';
+$wb['name_txt'] = 'Grupo';
+$wb['name_err'] = 'El grupo debe tener entre 1 y 30 caracteres.';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_groups_list.lng b/interface/web/admin/lib/lang/es_groups_list.lng
new file mode 100644
index 0000000000..12b0951064
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_groups_list.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['list_head_txt'] = 'Grupos de usuarios de sistema';
+$wb['description_txt'] = 'Descripción';
+$wb['name_txt'] = 'Grupo';
+$wb['add_new_record_txt'] = 'Añadir nuevo grupo';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_language_add.lng b/interface/web/admin/lib/lang/es_language_add.lng
new file mode 100644
index 0000000000..dd8cc1f70b
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_language_add.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Añadir nuevo idioma';
+$wb['language_select_txt'] = 'Seleccionar base de idioma';
+$wb['language_new_txt'] = 'Nuevo idioma';
+$wb['btn_save_txt'] = 'Crear conjunto de archivos de idioma';
+$wb['btn_cancel_txt'] = 'Atrás';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_language_complete.lng b/interface/web/admin/lib/lang/es_language_complete.lng
new file mode 100644
index 0000000000..a7c0ea02ed
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_language_complete.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Mezclar el archivo de idioma seleccionado con el fichero de idioma maestro en inglés. <br />Esto añade las cadenas perdidas desde el fichero maestro en inglés.';
+$wb['language_select_txt'] = 'Elegir idioma';
+$wb['btn_save_txt'] = 'Mezclar los ficheros ahora';
+$wb['btn_cancel_txt'] = 'Atrás';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_language_edit.lng b/interface/web/admin/lib/lang/es_language_edit.lng
new file mode 100644
index 0000000000..04eb2b7ff4
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_language_edit.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Editor de archivos de idioma';
+$wb['language_select_txt'] = 'Elija idioma';
+$wb['module_txt'] = 'Módulo';
+$wb['lang_file_txt'] = 'Archivo de idioma';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Atrás';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_language_export.lng b/interface/web/admin/lib/lang/es_language_export.lng
new file mode 100644
index 0000000000..667ef13962
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_language_export.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Exportar archivos de idioma';
+$wb['language_select_txt'] = 'Elija idioma';
+$wb['btn_save_txt'] = 'Exportar el conjunto de archivos de idioma seleccionados';
+$wb['btn_cancel_txt'] = 'Atrás';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_language_import.lng b/interface/web/admin/lib/lang/es_language_import.lng
new file mode 100644
index 0000000000..378d2eb403
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_language_import.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Archivo de importación de idioma';
+$wb['language_import_txt'] = 'Elija archivo de idioma';
+$wb['btn_save_txt'] = 'Importar el archivo de idioma';
+$wb['language_overwrite_txt'] = 'Sobreescribir los archivo, si existen';
+$wb['btn_cancel_txt'] = 'Atrás';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_language_list.lng b/interface/web/admin/lib/lang/es_language_list.lng
new file mode 100644
index 0000000000..59d9f03d05
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_language_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Editor de archivo de idioma';
+$wb['language_select_txt'] = 'Elija idioma';
+$wb['module_txt'] = 'Módulo';
+$wb['lang_file_txt'] = 'Archivo de idioma';
+$wb['lang_file_date_txt'] = 'Última modificación';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_server.lng b/interface/web/admin/lib/lang/es_server.lng
new file mode 100644
index 0000000000..67e2530867
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_server.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['config_txt'] = 'configuración';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['server_name_txt'] = 'Nombre de servidor';
+$wb['mail_server_txt'] = 'Servidor de correo';
+$wb['web_server_txt'] = 'Servidor web';
+$wb['dns_server_txt'] = 'Servidor DNS';
+$wb['file_server_txt'] = 'Servidor de archivos';
+$wb['db_server_txt'] = 'Servidor de base de datos';
+$wb['vserver_server_txt'] = 'Servidor-ServidorVirtual';
+$wb['active_txt'] = 'Activar';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng
new file mode 100644
index 0000000000..36aee80337
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_server_config.lng
@@ -0,0 +1,38 @@
+<?php
+$wb['jailkit_chroot_home_txt'] = 'Carpeta Jailkit chroot';
+$wb['jailkit_chroot_app_sections_txt'] = 'Secciones de aplicación Jailkit chroot';
+$wb['jailkit_chroot_app_programs_txt'] = 'Aplicaciones Jailkit chrooted';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['website_path_txt'] = 'Ruta sitio web';
+$wb['website_symlinks_txt'] = 'Enlaces simbólicos sitio web';
+$wb['vhost_conf_dir_txt'] = 'Directorio de configuración vhost';
+$wb['vhost_conf_enabled_dir_txt'] = 'Directorio de configuración de vhost activados';
+$wb['getmail_config_dir_txt'] = 'Directorio de configuración Getmail';
+$wb['fastcgi_starter_path_txt'] = 'Ruta inicial FastCGI';
+$wb['fastcgi_starter_script_txt'] = 'Script incial FastCGI';
+$wb['fastcgi_alias_txt'] = 'Alias FastCGI';
+$wb['fastcgi_phpini_path_txt'] = 'Ruta al php.ini de FastCGI';
+$wb['fastcgi_children_txt'] = 'Hijos FastCGI';
+$wb['fastcgi_max_requests_txt'] = 'Peticiones máximas FastCGI';
+$wb['fastcgi_bin_txt'] = 'Binario FastCGI';
+$wb['module_txt'] = 'Módulo';
+$wb['maildir_path_txt'] = 'Ruta maildir';
+$wb['homedir_path_txt'] = 'Ruta carpeta inicial';
+$wb['mailuser_uid_txt'] = 'UID usuario de correo';
+$wb['mailuser_gid_txt'] = 'GID usuario de correo';
+$wb['mailuser_name_txt'] = 'Nombre del usuario de correo';
+$wb['mailuser_group_txt'] = 'Grupo del usuario de correo';
+$wb['relayhost_txt'] = 'Servidor de retransmisión';
+$wb['relayhost_user_txt'] = 'Usuario de retransmisión';
+$wb['relayhost_password_txt'] = 'Contraseña de retramisión';
+$wb['mailbox_size_limit_txt'] = 'Límite de tamaño del buzón';
+$wb['message_size_limit_txt'] = 'Límite de tamaño del mensaje';
+$wb['ip_address_txt'] = 'Dirección IP';
+$wb['netmask_txt'] = 'Máscara de red';
+$wb['gateway_txt'] = 'Pasarela';
+$wb['hostname_txt'] = 'Nombre de máquina';
+$wb['nameservers_txt'] = 'Servidores de nombres';
+$wb['auto_network_configuration_txt'] = 'Configuración de red';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_server_config_list.lng b/interface/web/admin/lib/lang/es_server_config_list.lng
new file mode 100644
index 0000000000..aac79409e7
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_server_config_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Configuración del servidor';
+$wb['server_name_txt'] = 'Servidor';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_server_ip.lng b/interface/web/admin/lib/lang/es_server_ip.lng
new file mode 100644
index 0000000000..d14246e597
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_server_ip.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['ip_address_txt'] = 'Dirección IP';
+$wb['virtualhost_txt'] = 'NameVirtualHost HTTP';
+$wb['ip_err'] = 'Dirección IP inválida';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_server_ip_list.lng b/interface/web/admin/lib/lang/es_server_ip_list.lng
new file mode 100644
index 0000000000..0d4795534c
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_server_ip_list.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['list_head_txt'] = 'Dirección IP';
+$wb['server_id_txt'] = 'Servidor';
+$wb['ip_address_txt'] = 'Dirección IP';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nueva dirección IP';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_server_list.lng b/interface/web/admin/lib/lang/es_server_list.lng
new file mode 100644
index 0000000000..61961d010e
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_server_list.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['list_head_txt'] = 'Servidor';
+$wb['server_name_txt'] = 'Nombre';
+$wb['mail_server_txt'] = 'Correo';
+$wb['web_server_txt'] = 'Web';
+$wb['dns_server_txt'] = 'DNS';
+$wb['file_server_txt'] = 'Archivo';
+$wb['db_server_txt'] = 'DB';
+$wb['vserver_server_txt'] = 'VServer';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo servidor';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_software_package_list.lng b/interface/web/admin/lib/lang/es_software_package_list.lng
new file mode 100644
index 0000000000..dc72737560
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_software_package_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Paquetes de software';
+$wb['installed_txt'] = 'Estado';
+$wb['package_title_txt'] = 'Paquete';
+$wb['package_description_txt'] = 'Descripción';
+$wb['action_txt'] = 'Acción';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_software_repo.lng b/interface/web/admin/lib/lang/es_software_repo.lng
new file mode 100644
index 0000000000..2504466a4f
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_software_repo.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['repo_name_txt'] = 'Repository';
+$wb['repo_url_txt'] = 'URL';
+$wb['repo_username_txt'] = 'User (optional)';
+$wb['repo_password_txt'] = 'Password (optional)';
+$wb['active_txt'] = 'Active';
+$wb['btn_save_txt'] = 'Save';
+$wb['btn_cancel_txt'] = 'Cancel';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_software_repo_list.lng b/interface/web/admin/lib/lang/es_software_repo_list.lng
new file mode 100644
index 0000000000..052f57a83a
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_software_repo_list.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['list_head_txt'] = 'Repositorio';
+$wb['active_txt'] = 'Activar';
+$wb['repo_name_txt'] = 'Repositorio';
+$wb['repo_url_txt'] = 'URL';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo registro';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_software_update_list.lng b/interface/web/admin/lib/lang/es_software_update_list.lng
new file mode 100644
index 0000000000..31eab5d880
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_software_update_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Actualizaciones de software';
+$wb['installed_txt'] = 'Acción';
+$wb['update_title_txt'] = 'Actualizar';
+$wb['version_txt'] = 'Versión';
+$wb['action_txt'] = 'Acción';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_users.lng b/interface/web/admin/lib/lang/es_users.lng
new file mode 100644
index 0000000000..7ad8c8624a
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_users.lng
@@ -0,0 +1,31 @@
+<?php
+$wb['username_txt'] = 'Usuario';
+$wb['username_err'] = 'El usuario es demasiado largo o contiene carácteres inválidos';
+$wb['username_empty'] = 'El usuario está vacío.';
+$wb['username_unique'] = 'Ya existe un usuario con este nombre';
+$wb['passwort_txt'] = 'Contraseña';
+$wb['password_strength_txt'] = 'Fortaleza de la contraseña';
+$wb['modules_txt'] = 'Módulo';
+$wb['startmodule_txt'] = 'Módulo inicial';
+$wb['app_theme_txt'] = 'Diseño';
+$wb['typ_txt'] = 'Tipo';
+$wb['active_txt'] = 'Activar';
+$wb['language_txt'] = 'Idioma';
+$wb['name_txt'] = 'Nombre';
+$wb['vorname_txt'] = 'Apellidos';
+$wb['unternehmen_txt'] = 'Compañía';
+$wb['strasse_txt'] = 'Calle';
+$wb['ort_txt'] = 'Ciudad';
+$wb['plz_txt'] = 'Cód.Postal';
+$wb['land_txt'] = 'País';
+$wb['email_txt'] = 'Correo';
+$wb['url_txt'] = 'URL';
+$wb['telefon_txt'] = 'Teléfono';
+$wb['fax_txt'] = 'Fax';
+$wb['groups_txt'] = 'Grupos';
+$wb['default_group_txt'] = 'Grupo por defecto';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['startmodule_err'] = 'El modulo inicial no está incluido en los módulos';
+?>
+
diff --git a/interface/web/admin/lib/lang/es_users_list.lng b/interface/web/admin/lib/lang/es_users_list.lng
new file mode 100644
index 0000000000..2ab42d0266
--- /dev/null
+++ b/interface/web/admin/lib/lang/es_users_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Usuarios';
+$wb['username_txt'] = 'Usuario';
+$wb['name_txt'] = 'Nombre';
+$wb['vorname_txt'] = 'Apellido';
+$wb['ort_txt'] = 'Ciudad';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo usuario';
+?>
+
diff --git a/interface/web/client/lib/lang/es.lng b/interface/web/client/lib/lang/es.lng
new file mode 100644
index 0000000000..53d43f7a15
--- /dev/null
+++ b/interface/web/client/lib/lang/es.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['Client'] = 'Cliente';
+$wb['Address'] = 'Dirección';
+$wb['Limits'] = 'Límites';
+$wb['Add Client'] = 'Añadir cliente';
+$wb['Edit Client'] = 'Editar cliente';
+$wb['Clients'] = 'Clientes';
+?>
+
diff --git a/interface/web/client/lib/lang/es_client.lng b/interface/web/client/lib/lang/es_client.lng
new file mode 100644
index 0000000000..83c47fd196
--- /dev/null
+++ b/interface/web/client/lib/lang/es_client.lng
@@ -0,0 +1,82 @@
+<?php
+$wb['limit_maildomain_txt'] = 'Núm. máx de dominios de correo';
+$wb['limit_mailbox_txt'] = 'Núm. máx de buzones';
+$wb['limit_mailalias_txt'] = 'Núm. máx de alias de correo';
+$wb['limit_mailforward_txt'] = 'Núm. máx de reenvíos de correo';
+$wb['limit_mailcatchall_txt'] = 'Núm. máx de cuentas recogetodo';
+$wb['limit_mailrouting_txt'] = 'Núm. máx de rutas de correo';
+$wb['limit_mailfilter_txt'] = 'Núm. máx de filtros de correo';
+$wb['limit_fetchmail_txt'] = 'Núm. máx de buzones de recogida (fetchmail)';
+$wb['limit_mailquota_txt'] = 'Cuota de buzón.';
+$wb['limit_spamfilter_wblist_txt'] = 'Núm. máx de filtros de spam listas blancas/negras';
+$wb['limit_spamfilter_user_txt'] = 'Núm. máx de usuarios de filtros de spam';
+$wb['limit_spamfilter_policy_txt'] = 'Núm. máx de políticas de spam';
+$wb['default_mailserver_txt'] = 'Servidor de correo por defecto';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['company_name_txt'] = 'Nombre de compañia';
+$wb['contact_name_txt'] = 'Nombre de contacto';
+$wb['username_txt'] = 'Usuario';
+$wb['password_txt'] = 'Contraseña';
+$wb['password_strength_txt'] = 'Fortaleza de la contraseña';
+$wb['language_txt'] = 'Idioma';
+$wb['usertheme_txt'] = 'Tema';
+$wb['street_txt'] = 'Calle';
+$wb['zip_txt'] = 'CódPostal';
+$wb['city_txt'] = 'Ciudad';
+$wb['state_txt'] = 'Estado/Provincia';
+$wb['country_txt'] = 'País';
+$wb['telephone_txt'] = 'Teléfono';
+$wb['mobile_txt'] = 'Móvil';
+$wb['fax_txt'] = 'Fax';
+$wb['email_txt'] = 'correo';
+$wb['internet_txt'] = 'Internet';
+$wb['icq_txt'] = 'ICQ';
+$wb['notes_txt'] = 'Notas';
+$wb['company_txt'] = 'Compañia';
+$wb['title_txt'] = 'Título';
+$wb['firstname_txt'] = 'Nombre';
+$wb['surname_txt'] = 'Apellido';
+$wb['limit_client_txt'] = 'Núm. máx de clientes';
+$wb['limit_domain_txt'] = 'limit_domain';
+$wb['limit_subdomain_txt'] = 'limit_subdomain';
+$wb['limit_webquota_txt'] = 'limit_webquota';
+$wb['limit_database_txt'] = 'Núm. máx de bases de datos';
+$wb['ip_address_txt'] = 'ip_address';
+$wb['limit_client_error_notint'] = 'El sub cliente debe ser un número.';
+$wb['firstname_error_empty'] = 'El nombre está vacío';
+$wb['contact_error_empty'] = 'El nombre de contacto está vacío';
+$wb['default_webserver_txt'] = 'Servidor web por defecto';
+$wb['limit_web_domain_txt'] = 'Núm. máx de dominios';
+$wb['limit_web_aliasdomain_txt'] = 'Núm. máx de alias de dominios';
+$wb['limit_web_subdomain_txt'] = 'Núm. máx de subdominios web';
+$wb['limit_ftp_user_txt'] = 'Núm. máx de usuarios FTP';
+$wb['default_dnsserver_txt'] = 'Servidor DNS por defecto';
+$wb['limit_dns_zone_txt'] = 'Núm. máx de zonas DNS';
+$wb['limit_dns_record_txt'] = 'Núm. máx de registros DNS';
+$wb['limit_shell_user_txt'] = 'Núm. máx de usuarios locales (shell)';
+$wb['username_error_empty'] = 'El nombre de usuario está vacío.';
+$wb['username_error_unique'] = 'El nombre de usuario debe ser único.';
+$wb['limit_maildomain_error_notint'] = 'El límite de dominios de correo debe ser un número';
+$wb['limit_mailbox_error_notint'] = 'El límite de buzones de correo debe ser un número';
+$wb['limit_mailalias_error_notint'] = 'El límite de alias de correo debe ser un número';
+$wb['limit_mailforward_error_notint'] = 'El límite de reenvíos de correo debe ser un número';
+$wb['limit_mailcatchall_error_notint'] = 'El límite de buzones recogetodo debe ser un número';
+$wb['limit_mailrouting_error_notint'] = 'El límite de rutas de correo debe ser un número';
+$wb['limit_mailfilter_error_notint'] = 'El límite de filtros de correo debe ser un número';
+$wb['limit_mailfetchmail_error_notint'] = 'El límite de cuentas de recogida de correo (fetchmail) debe ser un número';
+$wb['limit_mailquota_error_notint'] = 'El límite de cuota de correo debe ser un número';
+$wb['limit_spamfilter_wblist_error_notint'] = 'El límite de filtros de spam  debe ser un número';
+$wb['limit_spamfilter_user_error_notint'] = 'El límite de usuarios de filtros de spam debe ser un número';
+$wb['limit_spamfilter_policy_error_notint'] = 'El límite de políticas de spam debe ser un número';
+$wb['limit_web_domain_error_notint'] = 'El límite de sitios web debe ser un número';
+$wb['limit_web_aliasdomain_error_notint'] = 'El límite de alias de dominios web debe ser un número';
+$wb['limit_web_subdomain_error_notint'] = 'El límite de subdominios web debe ser un número';
+$wb['limit_ftp_user_error_notint'] = 'El límite de usuarios FTP debe ser un número';
+$wb['limit_shell_user_error_notint'] = 'El límite de usuarios locales (shell) debe ser un número';
+$wb['limit_dns_zone_error_notint'] = 'El límite de zonas DNS debe ser un número';
+$wb['default_dbserver_txt'] = 'Servidor de bases de datos por defecto';
+$wb['limit_database_error_notint'] = 'El límite de bases de datos debe ser un número';
+$wb['username_error_regex'] = 'El usuario contiene carácteres no válidos';
+?>
+
diff --git a/interface/web/client/lib/lang/es_clients_list.lng b/interface/web/client/lib/lang/es_clients_list.lng
new file mode 100644
index 0000000000..b638c914eb
--- /dev/null
+++ b/interface/web/client/lib/lang/es_clients_list.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['list_head_txt'] = 'Clientes';
+$wb['client_id_txt'] = 'ID';
+$wb['company_name_txt'] = 'Nombre de compañía';
+$wb['contact_name_txt'] = 'Nombre de contacto';
+$wb['city_txt'] = 'Ciudad';
+$wb['country_txt'] = 'País';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo cliente';
+?>
+
diff --git a/interface/web/designer/lib/lang/es.lng b/interface/web/designer/lib/lang/es.lng
new file mode 100644
index 0000000000..29f4a51efe
--- /dev/null
+++ b/interface/web/designer/lib/lang/es.lng
@@ -0,0 +1,3 @@
+<?php
+?>
+
diff --git a/interface/web/designer/lib/lang/es_form_edit.lng b/interface/web/designer/lib/lang/es_form_edit.lng
new file mode 100644
index 0000000000..f0a6bd69cd
--- /dev/null
+++ b/interface/web/designer/lib/lang/es_form_edit.lng
@@ -0,0 +1,25 @@
+<?php
+$wb['name_txt'] = 'NombreForm';
+$wb['title_txt'] = 'TitleForm';
+$wb['template_txt'] = 'Plantilla';
+$wb['navframe_txt'] = 'MarcoNaveg';
+$wb['startpage_txt'] = 'Página inicial';
+$wb['tab_width_txt'] = 'Ancho de pestaña';
+$wb['save_txt'] = 'Guardar';
+$wb['cancel_txt'] = 'Cancelar';
+$wb['header_txt'] = 'Propiedades Form';
+$wb['description_txt'] = 'Descripción';
+$wb['action_txt'] = 'Acción (script)';
+$wb['db_table_txt'] = 'Tabla DB';
+$wb['db_table_idx_txt'] = 'Indice tabla DB';
+$wb['db_history_txt'] = 'Registro deshacer';
+$wb['tab_default_txt'] = 'Pestaña por defecto';
+$wb['list_default_txt'] = 'Lista por defecto';
+$wb['auth_txt'] = 'Permisos';
+$wb['auth_preset_userid_txt'] = 'UserID';
+$wb['auth_preset_groupid_txt'] = 'GroupID';
+$wb['auth_preset_perm_user_txt'] = 'Permiso usuario';
+$wb['auth_preset_perm_group_txt'] = 'Permiso grupo';
+$wb['auth_preset_perm_other_txt'] = 'Permiso otros';
+?>
+
diff --git a/interface/web/designer/lib/lang/es_form_list.lng b/interface/web/designer/lib/lang/es_form_list.lng
new file mode 100644
index 0000000000..6224a1fb22
--- /dev/null
+++ b/interface/web/designer/lib/lang/es_form_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Formulario de respaldo';
+$wb['form_txt'] = 'Formulario';
+$wb['module_txt'] = 'Módulo';
+$wb['title_txt'] = 'Título';
+$wb['description_txt'] = 'Descripción';
+?>
+
diff --git a/interface/web/designer/lib/lang/es_form_show.lng b/interface/web/designer/lib/lang/es_form_show.lng
new file mode 100644
index 0000000000..e24f6e8efc
--- /dev/null
+++ b/interface/web/designer/lib/lang/es_form_show.lng
@@ -0,0 +1,19 @@
+<?php
+$wb['header_txt'] = 'EditorForm';
+$wb['title_txt'] = 'TituloForm';
+$wb['name_txt'] = 'NombreForm';
+$wb['delete_txt'] = 'X';
+$wb['properties_txt'] = 'Propiedades';
+$wb['new_tab_txt'] = 'Nueva pestaña';
+$wb['edit_txt'] = 'Editar';
+$wb['new_txt'] = 'Nuevo';
+$wb['up_txt'] = '^';
+$wb['down_txt'] = 'v';
+$wb['module_txt'] = 'Módulo';
+$wb['form_txt'] = 'Formulario';
+$wb['description_txt'] = 'Descripción';
+$wb['module_del_txt'] = '¿Borrar el módulo y los subdirectorios?';
+$wb['menu_del_txt'] = '¿Borrar el menú y todos los elementos del menú?';
+$wb['item_del_txt'] = '¿Borrar el elemento del menú?';
+?>
+
diff --git a/interface/web/designer/lib/lang/es_module_edit.lng b/interface/web/designer/lib/lang/es_module_edit.lng
new file mode 100644
index 0000000000..3f6e37c97d
--- /dev/null
+++ b/interface/web/designer/lib/lang/es_module_edit.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['name_txt'] = 'Nombre de Modulo';
+$wb['title_txt'] = 'Título de Modulo';
+$wb['template_txt'] = 'Archivo de plantilla';
+$wb['navframe_txt'] = 'Marco Navegación';
+$wb['startpage_txt'] = 'Página por defecto';
+$wb['tab_width_txt'] = 'Ancho de pestaña';
+$wb['save_txt'] = 'Guardar';
+$wb['cancel_txt'] = 'Cancelar';
+$wb['header_txt'] = 'Propiedades de modulo';
+$wb['description_txt'] = '<b>Descripción</b> <br><br> <b>Nombre de módulo:</b> Nombre del directorio de módulo. Solo se permiten números, carácteres y subrayados.<br> <b>Título de módulo:</b> Se mostrará in la barra de navegación principal.<br> <b>Archivo de plantilla:</b> Archivo de plantilla del módulo. Disponible actualmente: module.tpl.htm y module_tree.tpl.htm Por defecto: module.tpl.htm.<br> <b>Marco Navegación:</b> Si module_tree.tpl.htm archivo de plantilla seleccionado, introduzca aquí la ruta al archivo de archivo de script en el marco de la izquierda.<br> <b>Página por defecto:</b> Esta página se mostrará cuando el módulo se abrá.<br> <b>Ancho de pestaña:</b> Ancho de las pestañas en la barra de navegación. El campo está vacío por defecto. Puede introducir valores absolutos en píxeles (p.ej. 20) o relativos (p.ej. 20%).<br> <b>Pista:</b> Todas las rutas son relativas al directorio.';
+?>
+
diff --git a/interface/web/designer/lib/lang/es_module_list.lng b/interface/web/designer/lib/lang/es_module_list.lng
new file mode 100644
index 0000000000..cbe85d2631
--- /dev/null
+++ b/interface/web/designer/lib/lang/es_module_list.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['list_head_txt'] = 'Módulo de respaldo';
+$wb['module_txt'] = 'Módulo';
+$wb['title_txt'] = 'Título';
+?>
+
diff --git a/interface/web/designer/lib/lang/es_module_nav_edit.lng b/interface/web/designer/lib/lang/es_module_nav_edit.lng
new file mode 100644
index 0000000000..1eb55bbc54
--- /dev/null
+++ b/interface/web/designer/lib/lang/es_module_nav_edit.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['title_txt'] = 'Título';
+$wb['header_txt'] = 'Propiedades de navegación';
+$wb['save_txt'] = 'Guardar';
+$wb['cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/designer/lib/lang/es_module_nav_item_edit.lng b/interface/web/designer/lib/lang/es_module_nav_item_edit.lng
new file mode 100644
index 0000000000..fe4dc44ab3
--- /dev/null
+++ b/interface/web/designer/lib/lang/es_module_nav_item_edit.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['title_txt'] = 'Título';
+$wb['target_txt'] = 'Objetivo';
+$wb['link_txt'] = 'Enlace';
+$wb['header_txt'] = 'Propiedades de navegación';
+$wb['save_txt'] = 'Guardar';
+$wb['cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/designer/lib/lang/es_module_show.lng b/interface/web/designer/lib/lang/es_module_show.lng
new file mode 100644
index 0000000000..acd8d47a6c
--- /dev/null
+++ b/interface/web/designer/lib/lang/es_module_show.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['header_txt'] = 'Editor de menú';
+$wb['title_txt'] = 'Título';
+$wb['name_txt'] = 'Módulo';
+$wb['delete_txt'] = 'Borrar';
+$wb['properties_txt'] = 'Propiedades';
+$wb['new_menu_txt'] = 'Nuevo menú';
+$wb['edit_txt'] = 'Editar';
+$wb['new_txt'] = 'Nuevo';
+$wb['up_txt'] = 'Arriba';
+$wb['down_txt'] = 'Abajo';
+$wb['module_txt'] = 'Módulo';
+$wb['module_del_txt'] = '¿Quiere borrar el módulo y eliminar todos los archivos creados dentro de él?';
+$wb['menu_del_txt'] = '¿Quiere borrar el menú con todo sus elementos?';
+$wb['item_del_txt'] = '¿Quiere borar el elemento del menú?';
+?>
+
diff --git a/interface/web/dns/lib/lang/es.lng b/interface/web/dns/lib/lang/es.lng
new file mode 100644
index 0000000000..d8802a31d4
--- /dev/null
+++ b/interface/web/dns/lib/lang/es.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['DNS'] = 'DNS';
+$wb['Zones'] = 'Zonas';
+$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 Zona';
+$wb['Records'] = 'Registros';
+$wb['DNS SRV'] = 'DNS SRV';
+$wb['DNS TXT Record'] = 'DNS TXT Registro';
+$wb['DNS TXT'] = 'DNS TXT';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_a.lng b/interface/web/dns/lib/lang/es_dns_a.lng
new file mode 100644
index 0000000000..9b5c520fc1
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_a.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre de máquina';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Dirección IP';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registro DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS.';
+$wb['name_error_empty'] = 'El nombre de máquina está vacío.';
+$wb['name_error_regex'] = 'El formato del nombre de máquina es incorrecto.';
+$wb['data_error_empty'] = 'Dirección IP vacía';
+$wb['data_error_regex'] = 'El formato de la dirección IP es inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_a_list.lng b/interface/web/dns/lib/lang/es_dns_a_list.lng
new file mode 100644
index 0000000000..925a531e62
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_a_list.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['list_head_txt'] = 'A-Record';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre';
+$wb['data_txt'] = 'Fecha';
+$wb['aux_txt'] = 'Prioridad';
+$wb['type_txt'] = 'Tipo';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo registro A';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_alias.lng b/interface/web/dns/lib/lang/es_dns_alias.lng
new file mode 100644
index 0000000000..e29b6a410f
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_alias.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre de máquina';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Nombre de maquina destino';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registro DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS.';
+$wb['name_error_empty'] = 'El nombre de máquina está vacío.';
+$wb['name_error_regex'] = 'El formato del nombre de máquina es incorrecto.';
+$wb['data_error_empty'] = 'Nombre de maquina destino está vacío';
+$wb['data_error_regex'] = 'El formato del nombre de maquina destino es inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_cname.lng b/interface/web/dns/lib/lang/es_dns_cname.lng
new file mode 100644
index 0000000000..bee8cfe5df
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_cname.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre de máquina';
+$wb['type_txt'] = 'Tipo';
+$wb['data_txt'] = 'Nombre de maquina destino';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registros para esta zona DNS.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS.';
+$wb['name_error_empty'] = 'El nombre de máquina está vacío.';
+$wb['name_error_regex'] = 'El nombre de máquina tiene un registro incorrecto.';
+$wb['data_error_empty'] = 'El nombre de máquina destino está vacío.';
+$wb['data_error_regex'] = 'El nombre de máquina destino tiene un formato inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_hinfo.lng b/interface/web/dns/lib/lang/es_dns_hinfo.lng
new file mode 100644
index 0000000000..0a760fdc15
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_hinfo.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre de máquina';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Información del servidor';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registros DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS.';
+$wb['name_error_empty'] = 'El nombre de máquina está vacío.';
+$wb['name_error_regex'] = 'El formato del nombre de máquina es incorrecto.';
+$wb['data_error_empty'] = 'Información del servidor vacía.';
+$wb['data_error_regex'] = 'La información del servidor tiene un formato inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_mx.lng b/interface/web/dns/lib/lang/es_dns_mx.lng
new file mode 100644
index 0000000000..f7fd3d2c7f
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_mx.lng
@@ -0,0 +1,19 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre de máquina';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Nombre del servidor de correo';
+$wb['aux_txt'] = 'Prioridad';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registro DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS';
+$wb['name_error_empty'] = 'Nombre de máquina vacío.';
+$wb['name_error_regex'] = 'El formato del nombre de máquina es incorrecto.';
+$wb['data_error_empty'] = 'Nombre del servidor de correo vacío.';
+$wb['data_error_regex'] = 'El nombre del servidor de correo es inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_ns.lng b/interface/web/dns/lib/lang/es_dns_ns.lng
new file mode 100644
index 0000000000..6d54f58bc6
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_ns.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Zona';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Nombre del servidor de nombres';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registro DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS.';
+$wb['name_error_empty'] = 'La zona está vacía.';
+$wb['name_error_regex'] = 'El formato de zona es incorrecto';
+$wb['data_error_empty'] = 'El servidor de nombres está vacío.';
+$wb['data_error_regex'] = 'El formato del servidor de nombres es inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_ptr.lng b/interface/web/dns/lib/lang/es_dns_ptr.lng
new file mode 100644
index 0000000000..060296663e
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_ptr.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Nombre de máquina canónico (FQDN)';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registro DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS';
+$wb['name_error_empty'] = 'El nombre está vacío.';
+$wb['name_error_regex'] = 'El nombre tiene un formato incorrecto.';
+$wb['data_error_empty'] = 'El nombre canónico está vacío.';
+$wb['data_error_regex'] = 'El formato del nombre canónico es inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_rp.lng b/interface/web/dns/lib/lang/es_dns_rp.lng
new file mode 100644
index 0000000000..44a252c915
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_rp.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre de máquina';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Persona responsable';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el máximo número de registros DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir un registro a esta zona DNS';
+$wb['name_error_empty'] = 'El nombre de máquina está vacío.';
+$wb['name_error_regex'] = 'El formato de nombre de máquina no es correcto.';
+$wb['data_error_empty'] = 'El nombre de persona responsable está vacío.';
+$wb['data_error_regex'] = 'El nombre de persona responsable no es válido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_soa.lng b/interface/web/dns/lib/lang/es_dns_soa.lng
new file mode 100644
index 0000000000..3022e9f8bf
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_soa.lng
@@ -0,0 +1,27 @@
+<?php
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['origin_txt'] = 'Zona (SOA)';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'correo';
+$wb['serial_txt'] = 'Nº Serie';
+$wb['refresh_txt'] = 'Refresco';
+$wb['retry_txt'] = 'Reintento';
+$wb['expire_txt'] = 'Expira';
+$wb['minimum_txt'] = 'Mínimo';
+$wb['ttl_txt'] = 'TTL';
+$wb['xfer_txt'] = 'Permitir transferencias de zona a <br />estas IPs (list separada por comas)';
+$wb['active_txt'] = 'Activar';
+$wb['limit_dns_zone_txt'] = 'Se ha alcanzado el máximo número de zonas DNS para esta cuenta.';
+$wb['client_txt'] = 'Cliente';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS.';
+$wb['server_id_error_empty'] = 'No hay servidor seleccionado.';
+$wb['origin_error_empty'] = 'Zona vacía.';
+$wb['origin_error_unique'] = 'Ya hay un registro para esta zona.';
+$wb['origin_error_regex'] = 'Formato de zona inválido.';
+$wb['ns_error_regex'] = 'Formato de NS inválido.';
+$wb['mbox_error_empty'] = 'Correo vacío.';
+$wb['mbox_error_regex'] = 'Formato de correo no válido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_soa_list.lng b/interface/web/dns/lib/lang/es_dns_soa_list.lng
new file mode 100644
index 0000000000..882261574b
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_soa_list.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['list_head_txt'] = 'Zonas DNS';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['origin_txt'] = 'Zona';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Correo';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nueva zona DNS (SOA)';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_srv.lng b/interface/web/dns/lib/lang/es_dns_srv.lng
new file mode 100644
index 0000000000..699acdeec1
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_srv.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre de máquina';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Registro de servidor';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registro DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS';
+$wb['name_error_empty'] = 'El nombre de máquina está vacío.';
+$wb['name_error_regex'] = 'El formato del nombre de máquina es incorrecto.';
+$wb['data_error_empty'] = 'Registro de servidor vacío.';
+$wb['data_error_regex'] = 'Registro de servidor inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_template.lng b/interface/web/dns/lib/lang/es_dns_template.lng
new file mode 100644
index 0000000000..46b995e359
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_template.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['name_txt'] = 'Nombre';
+$wb['fields_txt'] = 'Campos';
+$wb['template_txt'] = 'Plantilla';
+$wb['visible_txt'] = 'Visible';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_template_list.lng b/interface/web/dns/lib/lang/es_dns_template_list.lng
new file mode 100644
index 0000000000..d7a0a2e800
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_template_list.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['list_head_txt'] = 'Plantilla de asistente DNS';
+$wb['visible_txt'] = 'Visible';
+$wb['name_txt'] = 'Nombre';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo registro';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_txt.lng b/interface/web/dns/lib/lang/es_dns_txt.lng
new file mode 100644
index 0000000000..c05a8c556e
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_txt.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nombre de máquina';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Texto';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registro DNS para esta cuenta.';
+$wb['no_zone_perm'] = 'No tiene permiso para añadir registros a esta zona DNS.';
+$wb['name_error_empty'] = 'El nombre de máquina está vacío.';
+$wb['name_error_regex'] = 'El formato del nombre de máquina es incorrecto.';
+$wb['data_error_empty'] = 'Texto vacío.';
+$wb['data_error_regex'] = 'Formato de texto inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/es_dns_wizard.lng b/interface/web/dns/lib/lang/es_dns_wizard.lng
new file mode 100644
index 0000000000..d34b5e36e7
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_wizard.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['template_id_txt'] = 'Plantilla';
+$wb['server_id_txt'] = 'Servidor';
+$wb['client_txt'] = 'Cliente';
+$wb['btn_save_txt'] = 'Crear registro DNS';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['domain_txt'] = 'Dominio';
+$wb['email_txt'] = 'Correo';
+$wb['ns1_txt'] = 'NS 1';
+$wb['ns2_txt'] = 'NS 2';
+$wb['ip_txt'] = 'Dirección IP';
+$wb['error_origin_empty'] = 'Origen vacío.';
+?>
+
diff --git a/interface/web/help/lib/lang/es.lng b/interface/web/help/lib/lang/es.lng
new file mode 100644
index 0000000000..5f476c0a49
--- /dev/null
+++ b/interface/web/help/lib/lang/es.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['Support Message'] = 'Mensaje de soporte';
+$wb['Message'] = 'Mensaje';
+$wb['Send message'] = 'Enviar mensaje';
+$wb['View messages'] = 'Ver mensaje';
+$wb['Support'] = 'Soporte';
+?>
+
diff --git a/interface/web/help/lib/lang/es_support_message.lng b/interface/web/help/lib/lang/es_support_message.lng
new file mode 100644
index 0000000000..dfb6c882c5
--- /dev/null
+++ b/interface/web/help/lib/lang/es_support_message.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['recipient_id_txt'] = 'ID Recipiente';
+$wb['sender_id_txt'] = 'ID Remitente';
+$wb['subject_txt'] = 'Asunto';
+$wb['message_txt'] = 'Mensaje';
+$wb['tstamp_txt'] = 'Marcadetiempo';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/help/lib/lang/es_support_message_list.lng b/interface/web/help/lib/lang/es_support_message_list.lng
new file mode 100644
index 0000000000..a0964c4b13
--- /dev/null
+++ b/interface/web/help/lib/lang/es_support_message_list.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['list_head_txt'] = 'Mensajes de soporte';
+$wb['sender_id_txt'] = 'Remitente';
+$wb['subject_txt'] = 'Asunto';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Crear nuevo mensaje de soporte';
+?>
+
diff --git a/interface/web/js/lib/lang/es_javascript.lng b/interface/web/js/lib/lang/es_javascript.lng
new file mode 100644
index 0000000000..2b4118114f
--- /dev/null
+++ b/interface/web/js/lib/lang/es_javascript.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['password_strength_0_txt'] = 'Demasiado corto';
+$wb['password_strength_1_txt'] = 'Débil';
+$wb['password_strength_2_txt'] = 'Pasable';
+$wb['password_strength_3_txt'] = 'Bueno';
+$wb['password_strength_4_txt'] = 'Fuerte';
+$wb['password_strength_5_txt'] = 'Muy fuerte';
+?>
+
diff --git a/interface/web/login/index.php b/interface/web/login/index.php
index c6e2a9578b..df30e3b784 100644
--- a/interface/web/login/index.php
+++ b/interface/web/login/index.php
@@ -37,21 +37,16 @@ class login_index {
 	private $app;
 	private $conf;
 	
-	public function __construct()
-	{
-		global $app, $conf;
-		$this->app  = $app;
-		$this->conf = $conf;
-	}
-	
 	public function render() {
 		
+		global $app, $conf;
+		
 		if(isset($_SESSION['s']['user']) && is_array($_SESSION['s']['user']) && is_array($_SESSION['s']['module'])) {
 			die('HEADER_REDIRECT:'.$_SESSION['s']['module']['startpage']);
 		}
 		
-		$this->app->uses('tpl');
-		$this->app->tpl->newTemplate('form.tpl.htm');
+		$app->uses('tpl');
+		$app->tpl->newTemplate('form.tpl.htm');
 	    
 	    $error = '';    
 	
@@ -60,26 +55,26 @@ class login_index {
 		if(count($_POST) > 0) {
 	
 	        // iporting variables
-	        $ip 	  = $this->app->db->quote(ip2long($_SERVER['REMOTE_ADDR']));
-	        $username = $this->app->db->quote($_POST['username']);
-	        $passwort = $this->app->db->quote($_POST['passwort']); 
+	        $ip 	  = $app->db->quote(ip2long($_SERVER['REMOTE_ADDR']));
+	        $username = $app->db->quote($_POST['username']);
+	        $passwort = $app->db->quote($_POST['passwort']); 
 	
 	        if($username != '' and $passwort != '') {
 	        	//* Check if there already wrong logins
 	        	$sql = "SELECT * FROM `attempts_login` WHERE `ip`= '{$ip}' AND  `login_time` < NOW() + INTERVAL 15 MINUTE LIMIT 1";
-	        	$alreadyfailed = $this->app->db->queryOneRecord($sql);
+	        	$alreadyfailed = $app->db->queryOneRecord($sql);
 	        	//* login to much wrong
 	        	if($alreadyfailed['times'] > 5) {
-	        		$error = $this->app->lng(1004);
+	        		$error = $app->lng(1004);
 	        	} else {
 		        	$sql = "SELECT * FROM sys_user WHERE USERNAME = '$username' and ( PASSWORT = '".md5($passwort)."' or PASSWORT = password('$passwort') )";
-		            $user = $this->app->db->queryOneRecord($sql);
+		            $user = $app->db->queryOneRecord($sql);
 		            if($user) {
 		                if($user['active'] == 1) {
 		                	// User login right, so attempts can be deleted
 		                	$sql = "DELETE FROM `attempts_login` WHERE `ip`='{$ip}'";
-		                	$this->app->db->query($sql);
-		                	$user = $this->app->db->toLower($user);
+		                	$app->db->query($sql);
+		                	$user = $app->db->toLower($user);
 		                    $_SESSION = array();
 		                    $_SESSION['s']['user'] = $user;
 		                    $_SESSION['s']['user']['theme'] = isset($user['app_theme']) ? $user['app_theme'] : 'default';
@@ -94,27 +89,27 @@ class login_index {
 										
 		                   	exit;
 		             	} else {
-		                	$error = $this->app->lng(1003);
+		                	$error = $app->lng(1003);
 		                }
 		        	} else {
 		        		if(!$alreadyfailed['times'] )
 		        		{
 		        			//* user login the first time wrong
 		        			$sql = "INSERT INTO `attempts_login` (`ip`, `times`, `login_time`) VALUES ('{$ip}', 1, NOW())";
-		        			$this->app->db->query($sql);
+		        			$app->db->query($sql);
 		        		} elseif($alreadyfailed['times'] >= 1) {
 		        			//* update times wrong
 		        			$sql = "UPDATE `attempts_login` SET `times`=`times`+1, `login_time`=NOW() WHERE `login_time` >= '{$time}' LIMIT 1";
-		        			$this->app->db->query($sql);
+		        			$app->db->query($sql);
 		        		}
 		            	//* Incorrect login - Username and password incorrect
-		                $error = $this->app->lng(1002);
-		                if($this->app->db->errorMessage != '') $error .= '<br />'.$this->app->db->errorMessage != '';
+		                $error = $app->lng(1002);
+		                if($app->db->errorMessage != '') $error .= '<br />'.$app->db->errorMessage != '';
 		           	}
 	        	}
 	      	} else {
 	       		//* Username or password empty
-	            $error = $this->app->lng(1001);
+	            $error = $app->lng(1001);
 	        }
 		}
 		if($error != ''){
@@ -123,13 +118,13 @@ class login_index {
 	
 	
 	
-		$this->app->tpl->setVar('error', $error);
-		$this->app->tpl->setInclude('content_tpl','login/templates/index.htm');
-		$this->app->tpl_defaults();
+		$app->tpl->setVar('error', $error);
+		$app->tpl->setInclude('content_tpl','login/templates/index.htm');
+		$app->tpl_defaults();
 		
 		$this->status = 'OK';
 		
-		return $this->app->tpl->grab();
+		return $app->tpl->grab();
 		
 	} // << end function
 
diff --git a/interface/web/login/lib/lang/es.lng b/interface/web/login/lib/lang/es.lng
new file mode 100644
index 0000000000..263f2c7d1d
--- /dev/null
+++ b/interface/web/login/lib/lang/es.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['1001'] = 'Usuario o contraseña vacíos.';
+$wb['1002'] = 'Usuario o contraseña incorrectos.';
+$wb['1003'] = 'El usuario está bloqueado';
+$wb['1004'] = 'Demasiados intentos erroneos, por favor, inténtelo dentro de 15 minutos.';
+$wb['pass_reset_txt'] = 'Se generará una nueva contraseña que se le enviará a la cuenta de correo que tiene configurada.';
+$wb['pw_reset'] = 'La contraseña ha sido reseteada y enviada a su cuenta de correo.';
+$wb['pw_error'] = 'El usuario o la cuenta de correo no coinciden.';
+$wb['pw_error_noinput'] = 'Por favor, introduzca la dirección de correo y el nombre de usuario.';
+$wb['pw_reset_mail_msg'] = 'La contraseña de su cuenta de panel de control ISPConfig 3 ha sido reseteada. La nueva contraseña es: ';
+$wb['pw_reset_mail_title'] = 'La contraseña del panel de control ISPConfig 3 ha sido reseteada.';
+?>
+
diff --git a/interface/web/mail/lib/lang/es.lng b/interface/web/mail/lib/lang/es.lng
new file mode 100644
index 0000000000..fef3e3e7a1
--- /dev/null
+++ b/interface/web/mail/lib/lang/es.lng
@@ -0,0 +1,46 @@
+<?php
+$wb['Email Alias'] = 'Alias de correo';
+$wb['Email Blacklist'] = 'Lista negra de correo';
+$wb['Blacklist'] = 'Lista negra';
+$wb['Mail Content Filter'] = 'Filtro de contenido de correo';
+$wb['Filter'] = 'Filtro';
+$wb['Mail Domain'] = 'Dominio de correo';
+$wb['Domain'] = 'Dominio';
+$wb['Email Catchall'] = 'Correo recogetodo';
+$wb['Email Forward'] = 'Reenvío de correo';
+$wb['Get Email'] = 'Recoger correo';
+$wb['Spamfilter'] = 'Filtro de spam';
+$wb['Email Routing'] = 'Enrutado de correo';
+$wb['Email transport'] = 'Transporte de correo';
+$wb['Mailbox'] = 'Buzón';
+$wb['Autoresponder'] = 'Autoresponder';
+$wb['Mail Filter'] = 'Filtro de correo';
+$wb['Custom Rules'] = 'Ordenes personalizadas';
+$wb['Email filter'] = 'Filtro de correo';
+$wb['Email Whitelist'] = 'Lista blanca de correo';
+$wb['Whitelist'] = 'Lista blanca';
+$wb['Spamfilter blacklist'] = 'Lista negra de filtro de spam';
+$wb['Spamfilter Config'] = 'Configurar filtro de spam';
+$wb['Server'] = 'Servidor';
+$wb['Spamfilter policy'] = 'Política de filtrado de spam';
+$wb['Policy'] = 'Política';
+$wb['Quarantine'] = 'Cuarentena';
+$wb['Tag-Level'] = 'Nivel de etiquetado';
+$wb['Other'] = 'Otro';
+$wb['Spamfilter users'] = 'Usuarios de filtro de spam';
+$wb['Users'] = 'Usuarios';
+$wb['Spamfilter Whitelist'] = 'Lista blanca de filtro de spam';
+$wb['Email'] = 'Correo';
+$wb['Email Mailbox'] = 'Buzón de correo';
+$wb['Email Accounts'] = 'Cuentas de correo';
+$wb['User / Domain'] = 'Usuario / dominio';
+$wb['Server Settings'] = 'Configuración del servidor';
+$wb['Fetchmail'] = 'Fetchmail';
+$wb['Mailbox traffic'] = 'Tráfico de buzón';
+$wb['Statistics'] = 'Estadísticas';
+$wb['Postfix Whitelist'] = 'Lista blanca Postfix';
+$wb['Postfix Blacklist'] = 'Lista negra Postfix';
+$wb['Content Filter'] = 'Filtro de contenido';
+$wb['Global Filters'] = 'Filtros globales';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_alias.lng b/interface/web/mail/lib/lang/es_mail_alias.lng
new file mode 100644
index 0000000000..7491a893b9
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_alias.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['email_txt'] = 'Correo';
+$wb['destination_txt'] = 'Destino';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['email_error_isemail'] = 'La dirección de correo no es válida';
+$wb['email_error_unique'] = 'Dirección de correo duplicada';
+$wb['no_domain_perm'] = 'No tiene permiso para este dominio';
+$wb['destination_error_isemail'] = 'La dirección de correo de destino no es válida';
+$wb['limit_mailalias_txt'] = 'Ha alcanzado el número máximo de alias de correo para esta cuenta';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_alias_list.lng b/interface/web/mail/lib/lang/es_mail_alias_list.lng
new file mode 100644
index 0000000000..fc5638ac37
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_alias_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Alias de correo';
+$wb['active_txt'] = 'Activar';
+$wb['source_txt'] = 'Origen';
+$wb['destination_txt'] = 'Destino';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['email_txt'] = 'Correo';
+$wb['add_new_record_txt'] = 'Añadir nuevo alias de correo';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_blacklist.lng b/interface/web/mail/lib/lang/es_mail_blacklist.lng
new file mode 100644
index 0000000000..db970f5bb5
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_blacklist.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Direcciones de lista negra';
+$wb['recipient_txt'] = 'Receptor';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['source_error_notempty'] = 'La dirección está vacía';
+$wb['type_txt'] = 'Tipo';
+$wb['limit_mailfilter_txt'] = 'Se ha alcanzado el número máximo de filtros de spam para esta cuenta';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_blacklist_list.lng b/interface/web/mail/lib/lang/es_mail_blacklist_list.lng
new file mode 100644
index 0000000000..cba08f503e
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_blacklist_list.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['list_head_txt'] = 'Lista negra de correo';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Direcciones en lista negra';
+$wb['type_txt'] = 'Tipo';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['recipient_txt'] = 'Receptor';
+$wb['add_new_record_txt'] = 'Añadir nuevo registro a lista negra';
+$wb['access_txt'] = 'access';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_content_filter.lng b/interface/web/mail/lib/lang/es_mail_content_filter.lng
new file mode 100644
index 0000000000..58cb31928d
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_content_filter.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['type_txt'] = 'Filtro';
+$wb['pattern_txt'] = 'Patrón de Expresion Regular';
+$wb['data_txt'] = 'Fecha';
+$wb['action_txt'] = 'Acción';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['pattern_error_empty'] = 'Patrón está vacío';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_content_filter_list.lng b/interface/web/mail/lib/lang/es_mail_content_filter_list.lng
new file mode 100644
index 0000000000..2e6dc241b1
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_content_filter_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Postfix comprueba las cabeceras y el cuerpo del mensaje';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['pattern_txt'] = 'Patrón';
+$wb['action_txt'] = 'Acción';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo filtro de contenido';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_domain.lng b/interface/web/mail/lib/lang/es_mail_domain.lng
new file mode 100644
index 0000000000..9fe2383019
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_domain.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Dominio';
+$wb['type_txt'] = 'Tipo';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['domain_error_empty'] = 'El dominio está vacío';
+$wb['domain_error_unique'] = 'Dominio duplicado';
+$wb['domain_error_regex'] = 'Nombre de dominio no válido';
+$wb['client_txt'] = 'Cliente';
+$wb['limit_maildomain_txt'] = 'Se ha alcanzado el número máximo de dominios de correo para esta cuenta';
+$wb['policy_txt'] = 'Filtro de spam';
+$wb['no_policy'] = '- no activado -';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_domain_catchall.lng b/interface/web/mail/lib/lang/es_mail_domain_catchall.lng
new file mode 100644
index 0000000000..777de89548
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_domain_catchall.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['domain_txt'] = 'Dominio';
+$wb['destination_txt'] = 'Destino';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['domain_error_unique'] = 'Ya hay un registro recogetod para este dominio';
+$wb['no_domain_perm'] = 'No tiene permiso para este dominio';
+$wb['domain_error_regex'] = 'Nombre de dominio no válido o contiene caracteres no válidos';
+$wb['limit_mailcatchall_txt'] = 'Se ha alcanzado el número máximo de cuentas recogetodos para este dominio';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/es_mail_domain_catchall_list.lng
new file mode 100644
index 0000000000..8af2ec19cb
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_domain_catchall_list.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['list_head_txt'] = 'Correo recogetodo';
+$wb['active_txt'] = 'Activar';
+$wb['source_txt'] = 'Origen';
+$wb['destination_txt'] = 'Dirección de correo de destino';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Dominio';
+$wb['add_new_record_txt'] = 'Añadir nuevo recogetodo';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_domain_list.lng b/interface/web/mail/lib/lang/es_mail_domain_list.lng
new file mode 100644
index 0000000000..927d0edeca
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_domain_list.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['list_head_txt'] = 'Dominio de correo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Dominio';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo dominio';
+$wb['active_txt'] = 'Activar';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_forward.lng b/interface/web/mail/lib/lang/es_mail_forward.lng
new file mode 100644
index 0000000000..ec7c8f5ce7
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_forward.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['email_txt'] = 'Correo';
+$wb['destination_txt'] = 'Correo de destino';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_mailforward_txt'] = 'Se ha alcanzado el número máximo de reenvíos para esta cuenta';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_forward_list.lng b/interface/web/mail/lib/lang/es_mail_forward_list.lng
new file mode 100644
index 0000000000..3870d3d683
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_forward_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Reenvío de correo';
+$wb['active_txt'] = 'Activar';
+$wb['source_txt'] = 'Origen';
+$wb['destination_txt'] = 'Destino';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['email_txt'] = 'Correo';
+$wb['add_new_record_txt'] = 'Añadir nuevo reenvío de correo';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_get.lng b/interface/web/mail/lib/lang/es_mail_get.lng
new file mode 100644
index 0000000000..b3f9b8fb1d
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_get.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['type_txt'] = 'Tipo';
+$wb['source_server_txt'] = 'Servidor Pop3/Imap';
+$wb['source_username_txt'] = 'Usuario';
+$wb['source_password_txt'] = 'Contraseña';
+$wb['source_delete_txt'] = 'Borrar los correos después de recibirlos';
+$wb['destination_txt'] = 'Destino';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_fetchmail_txt'] = 'Se ha alcanzado el número máximo de registros Fetchmail';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_get_list.lng b/interface/web/mail/lib/lang/es_mail_get_list.lng
new file mode 100644
index 0000000000..8ae440549e
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_get_list.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['list_head_txt'] = 'Recoger el correo de servidores POP3 / IMAP externos';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_server_txt'] = 'Servidor externo';
+$wb['source_username_txt'] = 'Usuario';
+$wb['destination_txt'] = 'Destino';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nueva cuenta';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_spamfilter.lng b/interface/web/mail/lib/lang/es_mail_spamfilter.lng
new file mode 100644
index 0000000000..d08b3c7b55
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_spamfilter.lng
@@ -0,0 +1,20 @@
+<?php
+$wb['email_txt'] = 'Correo';
+$wb['spam_rewrite_score_int_txt'] = 'Puntuación de reescritura';
+$wb['spam_redirect_score_int_txt'] = 'Puntuación de redirección';
+$wb['spam_delete_score_int_txt'] = 'Borrar puntuación';
+$wb['spam_rewrite_subject_txt'] = 'Reescritura de asunto';
+$wb['spam_redirect_maildir_txt'] = 'Buzón de redirección';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['active_txt'] = 'Activar';
+$wb['spam_rewrite_txt'] = 'Reescribir el asunto del correo por encima de esta puntuación';
+$wb['spam_redirect_txt'] = 'Redirigir el correo por encima de esta puntuación';
+$wb['spam_delete_txt'] = 'Borrar el correo por encima de esta puntuación';
+$wb['disable_txt'] = 'Pista: Para desactivar la opción de filtrado, ponga la puntuación a 0.00.';
+$wb['email_error_isemail'] = 'La dirección de correo no es válida';
+$wb['email_error_unique'] = 'Ya hay un registro de filtrado de spam para este correo';
+$wb['spam_redirect_maildir_purge_txt'] = 'Purgar el buzón después.';
+$wb['days_txt'] = 'Días.';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/es_mail_spamfilter_list.lng
new file mode 100644
index 0000000000..3bc8d120df
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_spamfilter_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Filtro de spam';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['server_name_txt'] = 'server_name';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['email_txt'] = 'Correo';
+$wb['add_new_record_txt'] = 'Añadir nuevo registro de filtro de spam';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_transport.lng b/interface/web/mail/lib/lang/es_mail_transport.lng
new file mode 100644
index 0000000000..ba8cf2d0fe
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_transport.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Dominio';
+$wb['destination_txt'] = 'Destino';
+$wb['type_txt'] = 'Tipo';
+$wb['mx_txt'] = 'Sin búsqueda MX';
+$wb['sort_order_txt'] = 'Ordenado por';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['limit_mailrouting_txt'] = 'Se ha alcanzado el número máximo de rutas para este nivel';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_transport_list.lng b/interface/web/mail/lib/lang/es_mail_transport_list.lng
new file mode 100644
index 0000000000..999f255f04
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_transport_list.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['list_head_txt'] = 'Enrutado de correo avanzado';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Dominio';
+$wb['transport_txt'] = 'Transporte';
+$wb['sort_order_txt'] = 'Ordenado por';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo transporte';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_user.lng b/interface/web/mail/lib/lang/es_mail_user.lng
new file mode 100644
index 0000000000..d675ed0f40
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_user.lng
@@ -0,0 +1,33 @@
+<?php
+$wb['custom_mailfilter_txt'] = 'Custom mail filter recipe';
+$wb['btn_save_txt'] = 'Save';
+$wb['btn_cancel_txt'] = 'Cancel';
+$wb['email_txt'] = 'Email';
+$wb['cryptpwd_txt'] = 'Password';
+$wb['password_strength_txt'] = 'Password strength';
+$wb['active_txt'] = 'Active';
+$wb['email_error_isemail'] = 'Email address is invalid.';
+$wb['email_error_unique'] = 'Duplicate Email address.';
+$wb['autoresponder_text_txt'] = 'Text';
+$wb['autoresponder_txt'] = 'Autoresponder';
+$wb['no_domain_perm'] = 'You have no permission for this domain.';
+$wb['error_no_pwd'] = 'Password is empty.';
+$wb['quota_error_isint'] = 'Mailbox size must be a number.';
+$wb['quota_txt'] = 'quota in MB';
+$wb['server_id_txt'] = 'server_id';
+$wb['password_txt'] = 'password';
+$wb['maildir_txt'] = 'maildir';
+$wb['postfix_txt'] = 'Enable Receiving';
+$wb['access_txt'] = 'Enable Access';
+$wb['policy_txt'] = 'Spamfilter';
+$wb['no_policy'] = '- not enabled -';
+$wb['limit_mailbox_txt'] = 'The max. number of mailboxes for your account is reached.';
+$wb['limit_mailquota_txt'] = 'The max space for mailboxes is reached. The max. available space in MB is';
+$wb['welcome_mail_subject'] = 'Welcome to your new email account.';
+$wb['welcome_mail_message'] = 'Welcome to your new email account.
+
+Your webmaster.';
+$wb['disableimap_txt'] = 'Disable IMAP';
+$wb['disablepop3_txt'] = 'Disable POP3';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_user_filter.lng b/interface/web/mail/lib/lang/es_mail_user_filter.lng
new file mode 100644
index 0000000000..8468143499
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_user_filter.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['rulename_txt'] = 'Name';
+$wb['action_txt'] = 'Action';
+$wb['target_txt'] = 'Folder';
+$wb['active_txt'] = 'Active';
+$wb['btn_save_txt'] = 'Save';
+$wb['btn_cancel_txt'] = 'Cancel';
+$wb['rulename_error_empty'] = 'Name is empty.';
+$wb['searchterm_is_empty'] = 'Search term is empty.';
+$wb['source_txt'] = 'Source';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_user_filter_list.lng b/interface/web/mail/lib/lang/es_mail_user_filter_list.lng
new file mode 100644
index 0000000000..bab5bd70a7
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_user_filter_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['rulename_txt'] = 'Nombre';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo filtro';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_user_list.lng b/interface/web/mail/lib/lang/es_mail_user_list.lng
new file mode 100644
index 0000000000..e99338e134
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_user_list.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['list_head_txt'] = 'Buzón';
+$wb['email_txt'] = 'Dirección de correo';
+$wb['autoresponder_txt'] = 'Autoresponder';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo buzón';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_user_stats_list.lng b/interface/web/mail/lib/lang/es_mail_user_stats_list.lng
new file mode 100644
index 0000000000..b1b184db66
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_user_stats_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Tráfico de correo';
+$wb['email_txt'] = 'Correo';
+$wb['this_month_txt'] = 'Este mes';
+$wb['last_month_txt'] = 'Último mes';
+$wb['this_year_txt'] = 'Este año';
+$wb['last_year_txt'] = 'Último año';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_whitelist.lng b/interface/web/mail/lib/lang/es_mail_whitelist.lng
new file mode 100644
index 0000000000..da5a989102
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_whitelist.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Dirección de lista blanca';
+$wb['recipient_txt'] = 'Receptor';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['source_error_notempty'] = 'La dirección está vacía';
+$wb['type_txt'] = 'Tipo';
+$wb['limit_mailfilter_txt'] = 'Se ha alcanzado el número máximo de filtros de correo para esta cuenta';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_mail_whitelist_list.lng b/interface/web/mail/lib/lang/es_mail_whitelist_list.lng
new file mode 100644
index 0000000000..53c7980c5b
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_mail_whitelist_list.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['list_head_txt'] = 'Lista blanca de correo';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Dirección en lista blanca';
+$wb['type_txt'] = 'Tipo';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['recipient_txt'] = 'Receptor';
+$wb['add_new_record_txt'] = 'Añadir nuevo correo a la lista blanca';
+$wb['access_txt'] = 'access';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/es_spamfilter_blacklist.lng
new file mode 100644
index 0000000000..9aeba27bcc
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_blacklist.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['wb_txt'] = 'wb';
+$wb['rid_txt'] = 'Usuario';
+$wb['email_txt'] = 'Correo';
+$wb['priority_txt'] = 'Prioridad';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/es_spamfilter_blacklist_list.lng
new file mode 100644
index 0000000000..a3ed9b8f37
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_blacklist_list.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['list_head_txt'] = 'Listas negras de spam';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['priority_txt'] = 'Prioridad';
+$wb['rid_txt'] = 'Usuario';
+$wb['email_txt'] = 'Correos en listas blancas';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir registro de lista negra';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_config.lng b/interface/web/mail/lib/lang/es_spamfilter_config.lng
new file mode 100644
index 0000000000..5f09cf1ff8
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_config.lng
@@ -0,0 +1,23 @@
+<?php
+$wb['getmail_config_dir_txt'] = 'Ruta de configuración Getmail';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['ip_address_txt'] = 'Dirección IP';
+$wb['netmask_txt'] = 'Máscara de red';
+$wb['gateway_txt'] = 'Pasarela';
+$wb['hostname_txt'] = 'Nombre de máquina';
+$wb['nameservers_txt'] = 'Servidores de nombres';
+$wb['module_txt'] = 'Módulo de servidor';
+$wb['maildir_path_txt'] = 'Ruta Maildir';
+$wb['homedir_path_txt'] = 'Ruta Homedir';
+$wb['mailuser_uid_txt'] = 'UID usuario de correo';
+$wb['mailuser_gid_txt'] = 'GID usuario de correo';
+$wb['mailuser_name_txt'] = 'Nombre de usuario de correo';
+$wb['mailuser_group_txt'] = 'Grupo de usuario de correo';
+$wb['relayhost_txt'] = 'Relayhost';
+$wb['relayhost_user_txt'] = 'Usuario Relayhost';
+$wb['relayhost_password_txt'] = 'Contraseña Relayhost';
+$wb['mailbox_size_limit_txt'] = 'Límite de tamaño de buzón';
+$wb['message_size_limit_txt'] = 'Límite de tamaño de mensaje';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_config_list.lng b/interface/web/mail/lib/lang/es_spamfilter_config_list.lng
new file mode 100644
index 0000000000..c2f8816e0f
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_config_list.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['list_head_txt'] = 'Configuración de servidor';
+$wb['server_name_txt'] = 'Servidor';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás ';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['server_id_txt'] = 'server_id';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_policy.lng b/interface/web/mail/lib/lang/es_spamfilter_policy.lng
new file mode 100644
index 0000000000..0d66a128b7
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_policy.lng
@@ -0,0 +1,41 @@
+<?php
+$wb['policy_name_txt'] = 'Nombre de política';
+$wb['virus_lover_txt'] = 'Le gustan los virus';
+$wb['spam_lover_txt'] = 'Le gusta el spam';
+$wb['banned_files_lover_txt'] = 'No se admiten los amantes de los virus';
+$wb['bad_header_lover_txt'] = 'Le gustan las cabeceras malas';
+$wb['bypass_virus_checks_txt'] = 'Saltarse la comprobación de virus';
+$wb['bypass_banned_checks_txt'] = 'Saltarse la comprobación de prohibidos';
+$wb['bypass_header_checks_txt'] = 'Saltarse la comprobación de cabeceras';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['virus_quarantine_to_txt'] = 'Reenvíar virus al correo';
+$wb['spam_quarantine_to_txt'] = 'Reenvíar spam al correo';
+$wb['banned_quarantine_to_txt'] = 'Reenvíar correo prohibido';
+$wb['bad_header_quarantine_to_txt'] = 'Reenvíar cabeceras malas al correo';
+$wb['clean_quarantine_to_txt'] = 'Reenvíar correo limpio';
+$wb['other_quarantine_to_txt'] = 'Reenvíar otros al correo';
+$wb['spam_tag_level_txt'] = 'Nivel de etiquetado de spam';
+$wb['spam_tag2_level_txt'] = 'Nivel de etiquetado 2 de spam';
+$wb['spam_kill_level_txt'] = 'Nivel para matar el spam';
+$wb['spam_dsn_cutoff_level_txt'] = 'Nivel de dsn cutoff de spam';
+$wb['spam_quarantine_cutoff_level_txt'] = 'Nivel de cuarentena cutoff de spam';
+$wb['spam_modifies_subj_txt'] = 'El spam modifica el asunto';
+$wb['spam_subject_tag_txt'] = 'Etiqueta de asunto de spam';
+$wb['spam_subject_tag2_txt'] = 'Etiqueta 2 de asunto de spam';
+$wb['addr_extension_virus_txt'] = 'Añadir extensión Virus';
+$wb['addr_extension_spam_txt'] = 'Añadir extensión Spam';
+$wb['addr_extension_banned_txt'] = 'Añadir extensión Prohibido (banned)';
+$wb['addr_extension_bad_header_txt'] = 'Añadir extensión Cabecera mala (bad header)';
+$wb['warnvirusrecip_txt'] = 'Alertar al receptor del virus';
+$wb['warnbannedrecip_txt'] = 'Alertar al receptor del prohibido';
+$wb['warnbadhrecip_txt'] = 'Alertar al receptor de las cabeceras malas';
+$wb['newvirus_admin_txt'] = 'Nuevo administrador de virus';
+$wb['virus_admin_txt'] = 'Administrador de virus';
+$wb['banned_admin_txt'] = 'Administrador de prohibidos';
+$wb['bad_header_admin_txt'] = 'Administrador de cabeceras malas';
+$wb['spam_admin_txt'] = 'Administrador de spam';
+$wb['message_size_limit_txt'] = 'Límite de tamaño de mensaje';
+$wb['banned_rulenames_txt'] = 'Nombre de ordenes de prohibido';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/es_spamfilter_policy_list.lng
new file mode 100644
index 0000000000..e2768968d4
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_policy_list.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['list_head_txt'] = 'Política de filtrado de spam';
+$wb['policy_name_txt'] = 'Nombre';
+$wb['virus_lover_txt'] = 'Le gustan los virus';
+$wb['spam_lover_txt'] = 'Le gusta el spam';
+$wb['banned_files_lover_txt'] = 'Prohibir los coleccionistas de virus';
+$wb['bad_header_lover_txt'] = 'Le gustan las cabeceras malas';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir registros de política';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_users.lng b/interface/web/mail/lib/lang/es_spamfilter_users.lng
new file mode 100644
index 0000000000..fada457fd3
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_users.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['priority_txt'] = 'Prioridad';
+$wb['policy_id_txt'] = 'Política';
+$wb['email_txt'] = 'Patrón de correo';
+$wb['fullname_txt'] = 'Nombre';
+$wb['local_txt'] = 'Local';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_users_list.lng b/interface/web/mail/lib/lang/es_spamfilter_users_list.lng
new file mode 100644
index 0000000000..639ef10d77
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_users_list.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['list_head_txt'] = 'Usuarios de filtros de spam';
+$wb['local_txt'] = 'Local';
+$wb['server_id_txt'] = 'Servidor';
+$wb['priority_txt'] = 'Prioridad';
+$wb['policy_id_txt'] = 'Política';
+$wb['fullname_txt'] = 'Nombre';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['email_txt'] = 'Correo';
+$wb['add_new_record_txt'] = 'Añadir usuario de filtro de spam';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/es_spamfilter_whitelist.lng
new file mode 100644
index 0000000000..9aeba27bcc
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_whitelist.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['wb_txt'] = 'wb';
+$wb['rid_txt'] = 'Usuario';
+$wb['email_txt'] = 'Correo';
+$wb['priority_txt'] = 'Prioridad';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/mail/lib/lang/es_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/es_spamfilter_whitelist_list.lng
new file mode 100644
index 0000000000..adc08fd2f1
--- /dev/null
+++ b/interface/web/mail/lib/lang/es_spamfilter_whitelist_list.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['list_head_txt'] = 'Lista blanca Spamfilter';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['priority_txt'] = 'Prioridad';
+$wb['rid_txt'] = 'Usuario';
+$wb['email_txt'] = 'Dirección de correo en lista blanca';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo registro';
+?>
+
diff --git a/interface/web/monitor/lib/lang/es.lng b/interface/web/monitor/lib/lang/es.lng
new file mode 100644
index 0000000000..9030927fa8
--- /dev/null
+++ b/interface/web/monitor/lib/lang/es.lng
@@ -0,0 +1,42 @@
+<?php
+$wb['Server online since'] = 'Servidor en línea desde';
+$wb['Users online'] = 'Usuarios en línea';
+$wb['System load 1 minute'] = 'Carga del sistema 1 minuto';
+$wb['System load 5 minutes'] = 'Carga del sistema 5 minutos';
+$wb['System load 15 minutes'] = 'Carga del sistema 15 minutos';
+$wb['Server Load'] = 'Carga del servidor';
+$wb['Disk usage'] = 'Uso de disco';
+$wb['Memory usage'] = 'Uso de memoria';
+$wb['no_data_serverload_txt'] = 'No hay datos acerca de la carga del servidor en este momento, por favor intentelo más tarde';
+$wb['no_data_memusage_txt'] = 'No hay datos acerca del uso de memoria en este momento, por favor intentelo más tarde';
+$wb['no_data_diskusage_txt'] = 'No hay datos acerca del uso de disco en este momento, por favor intentelo más tarde';
+$wb['no_data_cpuinfo_txt'] = 'No hay datos acerca de la CPU en este momento, por favor intentelo más tarde';
+$wb['no_data_services_txt'] = 'No hay datos acerca de los servicios  en este momento, por favor intentelo más tarde';
+$wb['no_logdata_txt'] = 'No hay datos acerca de registro en este momento, por favor intentelo más tarde';
+$wb['Monitoring'] = 'Monitorizando';
+$wb['Server to Monitor'] = 'Servidor a monitorizar';
+$wb['Logfiles'] = 'Archivos de registro';
+$wb['Status of services'] = 'Estado de los servicios';
+$wb['No Refresh'] = 'Sin refresco';
+$wb['minutes'] = 'minutos';
+$wb['Show Overview'] = 'Mostrar descripción general';
+$wb['System State (All Servers)'] = 'Estado del sistema (Todos los servidores)';
+$wb['Hardware-Information'] = 'Información del hardware';
+$wb['Show CPU info'] = 'Mostrar info. de la CPU';
+$wb['Server State'] = 'Estado del servidor';
+$wb['Show Update State'] = 'Mostrar estado de actualización';
+$wb['Show RAID state'] = 'Mostrar estado del RAID';
+$wb['Show Server load'] = 'Mostrar la carga del servidor';
+$wb['Show Disk usage'] = 'Mostra el uso del disco';
+$wb['Show Memory usage'] = 'Mostrar uso de la memoria';
+$wb['Show Services'] = 'Mostrar los servicios';
+$wb['Show Mail-Queue'] = 'Mostrar la cola de correo';
+$wb['Show Mail-Log'] = 'Mostrar el registro de correo';
+$wb['Show Mail warn-Log'] = 'Mostrar las advertencias de correo';
+$wb['Show Mail err-Log'] = 'Mostrar los errores de correo';
+$wb['Show System-Log'] = 'Mostrar el registro del sistema';
+$wb['Show Freshclam-Log'] = 'Mostrar el registro de Freshclam';
+$wb['Show Clamav-Log'] = 'Mostrar el registro de ClamAV';
+$wb['Show ISPConfig-Log'] = 'Mostrar el registro de ISPConfig';
+?>
+
diff --git a/interface/web/monitor/lib/module.conf.php b/interface/web/monitor/lib/module.conf.php
index c39234fc83..cfff3e6967 100644
--- a/interface/web/monitor/lib/module.conf.php
+++ b/interface/web/monitor/lib/module.conf.php
@@ -23,6 +23,7 @@ $module["nav"][] = array(	'title'	=> 'System State (All Servers)',
  We need all the available servers on the left navigation.
  So fetch them from the database and add then to the navigation as dropdown-list
 */
+
 $servers = $app->db->queryAllRecords("SELECT server_id, server_name FROM server order by server_name");
 
 $dropDown = "<select id='server_id' onchange=\"loadContent('monitor/show_sys_state.php?state=server&server=' + document.getElementById('server_id').value);\">";
diff --git a/interface/web/sites/lib/lang/es.lng b/interface/web/sites/lib/lang/es.lng
new file mode 100644
index 0000000000..6553a2eb65
--- /dev/null
+++ b/interface/web/sites/lib/lang/es.lng
@@ -0,0 +1,19 @@
+<?php
+$wb['Database'] = 'Base de datos';
+$wb['FTP User'] = 'Usuario FTP';
+$wb['Options'] = 'Opciones';
+$wb['Shell User'] = 'Usuario de consola (shell)';
+$wb['Web Aliasdomain'] = 'Alias de dominio web';
+$wb['Domain'] = 'Dominio';
+$wb['Web Domain'] = 'Dominio web';
+$wb['Redirect'] = 'Redirección';
+$wb['SSL'] = 'SSL';
+$wb['Subdomain'] = 'Subdominio';
+$wb['Sites'] = 'Sitios';
+$wb['Aliasdomain'] = 'Alias de dominio';
+$wb['FTP-User'] = 'Usuario FTP';
+$wb['FTP'] = 'FTP';
+$wb['Shell-User'] = 'Usuario Consola';
+$wb['Shell'] = 'Consola (shell)';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_database.lng b/interface/web/sites/lib/lang/es_database.lng
new file mode 100644
index 0000000000..de172ae42e
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_database.lng
@@ -0,0 +1,24 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['type_txt'] = 'Tipo';
+$wb['database_name_txt'] = 'Nombre DB';
+$wb['database_user_txt'] = 'Usuario DB';
+$wb['database_password_txt'] = 'Contraseña DB';
+$wb['password_strength_txt'] = 'Fortaleza de la contraseña';
+$wb['database_charset_txt'] = 'Tabla caracteres DB';
+$wb['remote_access_txt'] = 'Acceso remoto';
+$wb['client_txt'] = 'Cliente';
+$wb['active_txt'] = 'Activar';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['database_name_error_empty'] = 'Nombre DB vacío';
+$wb['database_name_error_unique'] = 'Ya existe una base de datos con este nombre. Para conseguir un nombre único anteponga su nombre de dominio al nombre de base de datos';
+$wb['database_name_error_regex'] = 'Nombre de base de datos no válido. El nombre de la base de datos puede contener estos caracteres: a-z, A-Z, 0-9 y _ (sin ñ;ç;áéíóú ni signos de puntuación). Longitud: 2-64 carac.';
+$wb['database_user_error_empty'] = 'El usuario DB está vacío';
+$wb['database_user_error_unique'] = 'Ya existe un usuario de DB con este nombre. Para conseguir un nombre único anteponga su nombre de dominio al nombre del usuario';
+$wb['database_user_error_regex'] = 'Nombre de usuario no válido. El nombre de la base de datos puede contener estos caracteres: a-z, A-Z, 0-9 y _ (sin ñ;ç;áéíóú ni signos de puntuación). Longitud: 2-64 carac.';
+$wb['limit_database_txt'] = 'Se ha alcanzado el número máximo de bases de datos';
+$wb['database_name_change_txt'] = 'El nombre de la base de datos no se puede cambiar';
+$wb['database_charset_change_txt'] = 'La tabla de caracteres de la base de datos no se puede cambiar';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_database_list.lng b/interface/web/sites/lib/lang/es_database_list.lng
new file mode 100644
index 0000000000..96a1901a53
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_database_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Base de datos';
+$wb['active_txt'] = 'Activar';
+$wb['remote_access_txt'] = 'Acceso remoto';
+$wb['server_id_txt'] = 'Servidor';
+$wb['database_name_txt'] = 'Nombre de base de datos';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nueva base de datos';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_ftp_user.lng b/interface/web/sites/lib/lang/es_ftp_user.lng
new file mode 100644
index 0000000000..4c9c7485a2
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_ftp_user.lng
@@ -0,0 +1,27 @@
+<?php
+$wb['uid_txt'] = 'UID';
+$wb['gid_txt'] = 'GID';
+$wb['dir_txt'] = 'Directorio';
+$wb['quota_files_txt'] = 'Cuota de Archivo';
+$wb['ul_ratio_txt'] = 'Velocidad subida';
+$wb['dl_ratio_txt'] = 'Velocidad bajada';
+$wb['ul_bandwidth_txt'] = 'Ancho de banda subida';
+$wb['dl_bandwidth_txt'] = 'Ancho de banda bajada';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Sitio web';
+$wb['username_txt'] = 'Usuario';
+$wb['password_txt'] = 'Contraseña';
+$wb['password_strength_txt'] = 'Fortaleza de la contraseña';
+$wb['quota_size_txt'] = 'Cuota de disco';
+$wb['active_txt'] = 'Activar';
+$wb['limit_ftp_user_txt'] = 'Se ha alcanzado el número máximo de usuarios FTP';
+$wb['username_error_empty'] = 'El usuario está vacío';
+$wb['username_error_unique'] = 'El usuario debe ser único';
+$wb['username_error_regex'] = 'El usuario contiene caracteres no válidos';
+$wb['quota_size_error_empty'] = 'Cuota vacía';
+$wb['uid_error_empty'] = 'GID vacío';
+$wb['directory_error_empty'] = 'Directorio vacío';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_ftp_user_list.lng b/interface/web/sites/lib/lang/es_ftp_user_list.lng
new file mode 100644
index 0000000000..bf0967ed4b
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_ftp_user_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Usuario FTP';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Sitio web';
+$wb['username_txt'] = 'Usuario';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo usuario FTP';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_shell_user.lng b/interface/web/sites/lib/lang/es_shell_user.lng
new file mode 100644
index 0000000000..fec9b230ed
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_shell_user.lng
@@ -0,0 +1,24 @@
+<?php
+$wb['uid_txt'] = 'Usuario web';
+$wb['gid_txt'] = 'Grupo';
+$wb['shell_txt'] = 'Consola (shell)';
+$wb['dir_txt'] = 'Dir';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Sitio';
+$wb['username_txt'] = 'Usuario';
+$wb['password_txt'] = 'Contraseña';
+$wb['password_strength_txt'] = 'Fortaleza de la contraseña';
+$wb['chroot_txt'] = 'Consola Chroot';
+$wb['quota_size_txt'] = 'Cuota';
+$wb['active_txt'] = 'Activar';
+$wb['username_error_empty'] = 'El usuario está vacío';
+$wb['username_error_unique'] = 'El nombre de usuario debe ser único';
+$wb['username_error_regex'] = 'El nombre de usuario contiene caracteres no permitidos';
+$wb['quota_size_error_empty'] = 'Cuota vacía';
+$wb['uid_error_empty'] = 'GID vacío';
+$wb['directory_error_empty'] = 'Directorio vacío';
+$wb['limit_shell_user_txt'] = 'Se ha alcanzado el número máximo de usuarios de consola';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_shell_user_list.lng b/interface/web/sites/lib/lang/es_shell_user_list.lng
new file mode 100644
index 0000000000..e648df6142
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_shell_user_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Usuario consola';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Sitio';
+$wb['username_txt'] = 'Usuario';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo usuario de consola';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/es_web_aliasdomain_list.lng
new file mode 100644
index 0000000000..22976ff68c
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_web_aliasdomain_list.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['list_head_txt'] = 'Alias de dominio';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Sitio web';
+$wb['domain_txt'] = 'Alias de dominio';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás ';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo alias de dominio';
+$wb['domain_error_empty'] = 'El dominio está vacío';
+$wb['domain_error_unique'] = 'El domino debe ser único';
+$wb['domain_error_regex'] = 'El nombre de dominio es inválido';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_web_domain.lng b/interface/web/sites/lib/lang/es_web_domain.lng
new file mode 100644
index 0000000000..1ab3396f9e
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_web_domain.lng
@@ -0,0 +1,50 @@
+<?php
+$wb['ssl_state_txt'] = 'Provincia/Estado';
+$wb['ssl_locality_txt'] = 'Localidad';
+$wb['ssl_organisation_txt'] = 'Organización';
+$wb['ssl_organisation_unit_txt'] = 'Unidad de la Organización';
+$wb['ssl_country_txt'] = 'País';
+$wb['ssl_request_txt'] = 'Petición SSL';
+$wb['ssl_cert_txt'] = 'Certificado SSL';
+$wb['ssl_bundle_txt'] = 'Paquete SSL';
+$wb['ssl_action_txt'] = 'Acción SSL';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Dominio';
+$wb['type_txt'] = 'Tipo';
+$wb['parent_domain_id_txt'] = 'Sitio web padre';
+$wb['redirect_type_txt'] = 'Tipo de redirección';
+$wb['redirect_path_txt'] = 'Ruta de redirección';
+$wb['active_txt'] = 'Activar';
+$wb['document_root_txt'] = 'Carpeta inicial';
+$wb['system_user_txt'] = 'Usuario Linux';
+$wb['system_group_txt'] = 'Grupo Linux';
+$wb['ip_address_txt'] = 'Dirección IP';
+$wb['vhost_type_txt'] = 'Tipo vhost';
+$wb['hd_quota_txt'] = 'Cuota de disco';
+$wb['traffic_quota_txt'] = 'Cuota de tráfico';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Documentos de error propios';
+$wb['is_subdomainwww_txt'] = 'www. subdominio';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Cliente';
+$wb['limit_web_domain_txt'] = 'Se ha alcanzado el número máximo de dominios web para esta cuenta';
+$wb['limit_web_aliasdomain_txt'] = 'Se ha alcanzado el número máximo de alias de dominios para esta cuenta';
+$wb['limit_web_subdomain_txt'] = 'Se ha alcanzado el número máximo de subdominios web para esta cuenta';
+$wb['apache_directives_txt'] = 'Directivas de Apache';
+$wb['domain_error_empty'] = 'El dominio está vacío';
+$wb['domain_error_unique'] = 'El dominio debe ser único';
+$wb['domain_error_regex'] = 'El dominio es inválido';
+$wb['hd_quota_error_empty'] = 'La cuota de disco está vacía';
+$wb['traffic_quota_error_empty'] = 'La cuota de tráfico está vacía';
+$wb['error_ssl_state_empty'] = 'Provincia/Estado SSL está vacío';
+$wb['error_ssl_locality_empty'] = 'Localidad SSL está vacío';
+$wb['error_ssl_organisation_empty'] = 'Organización SSL está vacío';
+$wb['error_ssl_organisation_unit_empty'] = 'Unidad de organización de SSL está vacío';
+$wb['error_ssl_country_empty'] = 'País SSL está vacío';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_web_domain_list.lng b/interface/web/sites/lib/lang/es_web_domain_list.lng
new file mode 100644
index 0000000000..804d90fdb0
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_web_domain_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Websites';
+$wb['domain_id_txt'] = 'ID';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['page_txt'] = 'Page';
+$wb['page_of_txt'] = 'of';
+$wb['page_next_txt'] = 'Next';
+$wb['page_back_txt'] = 'Back';
+$wb['delete_txt'] = 'Delete';
+$wb['filter_txt'] = 'Filter';
+$wb['add_new_record_txt'] = 'Add new website';
+?>
+
diff --git a/interface/web/sites/lib/lang/es_web_subdomain_list.lng b/interface/web/sites/lib/lang/es_web_subdomain_list.lng
new file mode 100644
index 0000000000..c5105c12f9
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_web_subdomain_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Subdominio';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Sitio web';
+$wb['domain_txt'] = 'Subdominio';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Siguiente';
+$wb['page_back_txt'] = 'Atrás';
+$wb['delete_txt'] = 'Borrar';
+$wb['filter_txt'] = 'Filtro';
+$wb['add_new_record_txt'] = 'Añadir nuevo subdominio';
+?>
+
diff --git a/interface/web/tools/lib/lang/es.lng b/interface/web/tools/lib/lang/es.lng
new file mode 100644
index 0000000000..dd093ad013
--- /dev/null
+++ b/interface/web/tools/lib/lang/es.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['User Settings'] = 'Configuraciones del usuario';
+$wb['Settings'] = 'Configuraciones';
+$wb['ISPConfig Tools'] = 'Herramientas ISPConfig';
+$wb['Password and Language'] = 'Contraseña e Idioma';
+?>
+
diff --git a/interface/web/tools/lib/lang/es_usersettings.lng b/interface/web/tools/lib/lang/es_usersettings.lng
new file mode 100644
index 0000000000..804ceb252e
--- /dev/null
+++ b/interface/web/tools/lib/lang/es_usersettings.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['passwort_txt'] = 'Contraseña';
+$wb['password_strength_txt'] = 'Fortaleza de la contraseña';
+$wb['language_txt'] = 'Idioma';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['password_mismatch'] = 'La contraseña en el segundo campo no coincide con la del primero.';
+$wb['Form to edit the user password and language.'] = 'Formulario para editar el usuario y la contraseña.';
+$wb['Settings'] = 'Configuraciones';
+?>
+
-- 
GitLab