diff --git a/interface/lib/lang/pt.lng b/interface/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6159c32c1c41a6005204fa15a40bf5ae835bbf7d
--- /dev/null
+++ b/interface/lib/lang/pt.lng
@@ -0,0 +1,35 @@
+<?php
+$wb['conf_format_dateshort'] = 'd/m/Y';
+$wb['conf_format_datelong'] = 'l dS de F Y';
+$wb['conf_format_timeshort'] = 'H:i';
+$wb['conf_format_timelong'] = 'H:i:s';
+$wb['conf_format_datetime'] = 'd/m/Y H:i';
+$wb['301'] = 'Módulo não permitido para o utilizador corrente.';
+$wb['302'] = 'Módulo Inválido';
+$wb['1001'] = 'O nome de utilizador e a senha não podem estar em branco!';
+$wb['1002'] = 'Nome de utilizador ou senha inválida(o)!';
+$wb['1003'] = 'O utilizador está inactivo!';
+$wb['delete_confirmation'] = 'Tem a certeza que deseja remover este registo?';
+$wb['error_no_view_permission'] = 'Não tem permissão para ver este registo ou o mesmo não existe!';
+$wb['error_no_delete_permission'] = 'Não tem permissão para remover este registo!';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['page_next_txt'] = 'Próximo';
+$wb['page_back_txt'] = 'Voltar';
+$wb['delete_txt'] = 'Remover';
+$wb['filter_txt'] = 'Filtrar';
+$wb['add_new_record_txt'] = 'Adicionar novo registo';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Voltar';
+$wb['toolsarea_head_txt'] = 'Ferramentas';
+$wb['page_and_txt'] = 'e';
+$wb['top_menu_system'] = 'Sistema';
+$wb['top_menu_client'] = 'Cliente';
+$wb['top_menu_email'] = 'Correio';
+$wb['top_menu_monitor'] = 'Monitor';
+$wb['top_menu_sites'] = 'Sites';
+$wb['top_menu_dns'] = 'DNS';
+$wb['top_menu_tools'] = 'Ferramentas';
+$wb['top_menu_help'] = 'Ajuda';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt.lng b/interface/web/admin/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..81bcba098114e328c5f0792190da0f8ce183e047
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt.lng
@@ -0,0 +1,41 @@
+<?php
+$wb['1001'] = 'Por favor, preencha o nome do utilizador e senha!';
+$wb['1002'] = 'Nome do utilizador ou senha inválida(o)!';
+$wb['Firewall'] = 'Firewall';
+$wb['Groups'] = 'Grupos';
+$wb['groups_description'] = 'Formulário para edição dos Grupos de utilizadors do sistema.';
+$wb['Server'] = 'Servidor';
+$wb['Services'] = 'Serviços';
+$wb['Config'] = 'Configuração';
+$wb['Server Config'] = 'Configuração do Servidor';
+$wb['Mail'] = 'Mail';
+$wb['Getmail'] = 'Getmail';
+$wb['Web'] = 'Web';
+$wb['FastCGI'] = 'FastCGI';
+$wb['Jailkit'] = 'Jailkit';
+$wb['System'] = 'Sistema';
+$wb['Add user'] = 'Adicionar Utilizador ';
+$wb['Edit user'] = 'Editar Utilizador ';
+$wb['CP Users'] = 'Utilizadores';
+$wb['Add group'] = 'Adicionar Grupo';
+$wb['Edit group'] = 'Editar Grupo';
+$wb['Edit server'] = 'Editar Servidor';
+$wb['Edit Server IP'] = 'Editar Endereço IP do Servidor';
+$wb['Servers'] = 'Servidores';
+$wb['Sync. Now'] = 'Sincronizar agora';
+$wb['DB Sync.'] = 'Sincronizar Base de Dados';
+$wb['Languages'] = 'Idiomas';
+$wb['New Language'] = 'Novo Idioma';
+$wb['Export'] = 'Exportar';
+$wb['Import'] = 'Importar';
+$wb['Language Editor'] = 'Editor de Idiomas';
+$wb['Software'] = 'Software';
+$wb['Repositories'] = 'Repositórios';
+$wb['Server Services'] = 'Serviços do Servidor';
+$wb['Interface Config'] = 'Configuração da Interface';
+$wb['Packages'] = 'Pacotes';
+$wb['Updates'] = 'Updates';
+$wb['Merge'] = 'Mesclar';
+$wb['Remote Users'] = 'Utilizadores Remotos';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_firewall.lng b/interface/web/admin/lib/lang/pt_firewall.lng
new file mode 100644
index 0000000000000000000000000000000000000000..9c1fb784be1d34cb8d92b6d054fc515361e887e6
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_firewall.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['tcp_port_txt'] = 'Portas TCP abertas';
+$wb['udp_port_txt'] = 'Portas UDP abertas';
+$wb['tcp_port_help_txt'] = 'Separado por vírgula';
+$wb['udp_port_help_txt'] = 'Separado por vírgula';
+$wb['active_txt'] = 'Activo';
+$wb['firewall_error_unique'] = 'Já existe uma regra de firewall para este servidor!';
+$wb['tcp_ports_error_regex'] = 'Caractere não permitido para definição de porta tcp. Apenas são permitidos números, : e ,.';
+$wb['udp_ports_error_regex'] = 'Caractere não permitido para definição de porta udp. Apenas são permitidos números, : e ,.';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_firewall_list.lng b/interface/web/admin/lib/lang/pt_firewall_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d1dd50b7194b65e88d747bc68ff202d5cf11ce43
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_firewall_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Firewall';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['tcp_port_txt'] = 'Portas TCP abertas';
+$wb['udp_port_txt'] = 'Portas UDP abertas';
+$wb['add_new_record_txt'] = 'Adicionar registo de firewall';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_groups.lng b/interface/web/admin/lib/lang/pt_groups.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ee7577627264b47328a7f93b8d91529be6f5a50d
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_groups.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['description_txt'] = 'Descrição';
+$wb['name_txt'] = 'Grupo';
+$wb['name_err'] = 'O Nome do Grupo deve conter de 1 a 30 caracteres!';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_groups_list.lng b/interface/web/admin/lib/lang/pt_groups_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6e61aef914db0a9ca1752d7bee6b045023368251
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_groups_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Grupos de utilizadors do sistema';
+$wb['description_txt'] = 'Descrição';
+$wb['name_txt'] = 'Grupo';
+$wb['add_new_record_txt'] = 'Adicionar Grupo';
+$wb['warning_txt'] = '<b>AVISO:</b> Não modifique ou edite qualquer configuração de utilizador aqui. Use o módulo de cliente ou revendedor. Modificar ou alterar utilizadors e grupos aqui pode ocasionar perda de dados!';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_language_add.lng b/interface/web/admin/lib/lang/pt_language_add.lng
new file mode 100644
index 0000000000000000000000000000000000000000..fb1a41ad6d757838b7ee0d5cdc2c2ab74a5ae306
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_language_add.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Adicionar Idioma';
+$wb['language_select_txt'] = 'Seleccione o idioma base';
+$wb['language_new_txt'] = 'Novo Idioma';
+$wb['language_new_hint_txt'] = '2 letras código ISO 639-1 (Veja http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)';
+$wb['btn_save_txt'] = 'Criar um novo conjunto de idioma';
+$wb['btn_cancel_txt'] = 'Voltar';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_language_complete.lng b/interface/web/admin/lib/lang/pt_language_complete.lng
new file mode 100644
index 0000000000000000000000000000000000000000..54f44d0140f316be58636cb4eb706cd5c6c767c0
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_language_complete.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Mesclar Idioma';
+$wb['list_desc_txt'] = 'Mesclar o ficheiro de idioma seleccionado com o ficheiro de idioma principal (em inglês). <br />Isto permite completar qualquer falha de tradução, com o ficheiro principal original em inglês.';
+$wb['language_select_txt'] = 'Seleccionar Idioma';
+$wb['btn_save_txt'] = 'Mesclar ficheiros agora';
+$wb['btn_cancel_txt'] = 'Voltar';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_language_edit.lng b/interface/web/admin/lib/lang/pt_language_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0c6e29a3370203fb5f4e95580436bb6920ed5419
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_language_edit.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Editor de Ficheiros de Idioma';
+$wb['language_select_txt'] = 'Seleccione o idioma';
+$wb['module_txt'] = 'Módulo';
+$wb['lang_file_txt'] = 'Ficheiro de Idioma';
+$wb['btn_save_txt'] = 'Guardar';
+$wb['btn_cancel_txt'] = 'Voltar';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_language_export.lng b/interface/web/admin/lib/lang/pt_language_export.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b4630e5e48a5a647db19150f15bfe602300460a7
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_language_export.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Exportar ficheiros de idioma';
+$wb['language_select_txt'] = 'Seleccione o idioma';
+$wb['btn_save_txt'] = 'Exportar idioma seleccionado para um ficheiro';
+$wb['btn_cancel_txt'] = 'Voltar';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_language_import.lng b/interface/web/admin/lib/lang/pt_language_import.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0d0967b491b86f191ea8970fe369606c27a47215
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_language_import.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Importar ficheiro de idioma';
+$wb['language_import_txt'] = 'Procurar ficheiro de idioma';
+$wb['btn_save_txt'] = 'Importar Ficheiro de Idioma Seleccionado';
+$wb['language_overwrite_txt'] = 'Sobre-escrever o ficheiro se existir.';
+$wb['btn_cancel_txt'] = 'Voltar';
+$wb['ignore_version_txt'] = 'Ignorar verificação da versão do ISPConfig';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_language_list.lng b/interface/web/admin/lib/lang/pt_language_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..649cd9d2fa6dd3417af23331c2f6a0706ee9e48d
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_language_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Editor de ficheiro de idioma';
+$wb['language_select_txt'] = 'Seleccione o idioma';
+$wb['module_txt'] = 'Módulo';
+$wb['lang_file_txt'] = 'Arquido de Idioma';
+$wb['lang_file_date_txt'] = 'Ultima Modificação';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_remote_user.lng b/interface/web/admin/lib/lang/pt_remote_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1db8400502eb68c8d342268fdc15dbcda669b00b
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_remote_user.lng
@@ -0,0 +1,43 @@
+<?php
+$wb['username_txt'] = 'Nome do utilizador:';
+$wb['password_txt'] = 'Senha:';
+$wb['function_txt'] = 'Funções:';
+$wb['username_error_unique'] = 'O nome de utilizador deve ser único';
+$wb['username_error_empty'] = 'O nome de utilizador não pode estar em branco';
+$wb['password_error_empty'] = 'A senha não pode estar em branco';
+$wb['password_strength_txt'] = 'Segurança da senha:';
+$wb['Mail domain functions'] = 'Funções de domínio de correio';
+$wb['Mail user functions'] = 'Funções de utilizador de correio';
+$wb['Mail alias functions'] = 'Funções de aliases de correio';
+$wb['Mail forward functions'] = 'Funções de encaminhamento de correio';
+$wb['Mail catchall functions'] = 'Funções de catch-all de correio';
+$wb['Mail transport functions'] = 'Funções de transporte de correio';
+$wb['Mail whitelist functions'] = 'Funções de lista branca de correio';
+$wb['Mail blacklist functions'] = 'Funções de lista negra de correio';
+$wb['Mail spamfilter user functions'] = 'Funções de spamfilter de utilizador de correio';
+$wb['Mail spamfilter policy functions'] = 'Funções de política de spamfilter de correio';
+$wb['Mail fetchmail functions'] = 'Funções de fetchmail';
+$wb['Mail user filter functions'] = 'Funções de filtro de correio de utilizador';
+$wb['Mail filter functions'] = 'Funções de filtro de correio';
+$wb['Client functions'] = 'Funções de cliente';
+$wb['Sites cron functions'] = 'Funções de cron (Sites)';
+$wb['Sites database functions'] = 'Funções de Base de Dados (Sites)';
+$wb['Sites FTP-User functions'] = 'Funções de Utilizadores FTP (Sites)';
+$wb['Sites Shell-User functions'] = 'Funções de Utilizadores de Shell (Sites)';
+$wb['Sites Domain functions'] = 'Funções de Domínio (Sites)';
+$wb['Sites Aliasdomain functions'] = 'Função de Aliasdomain (Sites)';
+$wb['Sites Subdomain functions'] = 'Função de Subdomain (Sites)';
+$wb['DNS zone functions'] = 'Funções de Zona DNS';
+$wb['DNS a functions'] = 'Funções de a DNS';
+$wb['DNS aaaa functions'] = 'Funções de aaaa DNS';
+$wb['DNS alias functions'] = 'Funções de alias DNS';
+$wb['DNS cname functions'] = 'Funções de cname DNS';
+$wb['DNS hinfo functions'] = 'Funções de hinfo DNS';
+$wb['DNS mx functions'] = 'Funções de mx DNS';
+$wb['DNS ns functions'] = 'Funções de ns DNS';
+$wb['DNS ptr functions'] = 'Funções de ptr DNS';
+$wb['DNS rp functions'] = 'Funções de rp DNS';
+$wb['DNS srv functions'] = 'Funções de srv DNS';
+$wb['DNS txt functions'] = 'Funções de txt DNS';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_remote_user_list.lng b/interface/web/admin/lib/lang/pt_remote_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..850b5ed2ebecee77e614bcfc9f5167e991b9244f
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_remote_user_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Utilizadores Remotos';
+$wb['list_desc_txt'] = '';
+$wb['add_new_record_txt'] = 'Adicionar Utilizador';
+$wb['parent_remote_userid_txt'] = 'ID';
+$wb['username_txt'] = 'Nome do utilizador';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_server.lng b/interface/web/admin/lib/lang/pt_server.lng
new file mode 100644
index 0000000000000000000000000000000000000000..a7cc7cbfab2f3419e5fe52a30447ce8789e3884b
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_server.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['config_txt'] = 'Configuração';
+$wb['server_name_txt'] = 'Nome do Servidor';
+$wb['mail_server_txt'] = 'Servidor de Mail';
+$wb['web_server_txt'] = 'Servidor Web';
+$wb['dns_server_txt'] = 'Servidor DNS';
+$wb['file_server_txt'] = 'Servidor de Ficheiros';
+$wb['db_server_txt'] = 'Servidor de Base de Dados';
+$wb['vserver_server_txt'] = 'Servidor VServer';
+$wb['active_txt'] = 'Activado';
+$wb['mirror_server_id_txt'] = 'É um espelho de servidor';
+$wb['- None -'] = '- Não -';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8c281b919c38bd16c92348a2c0667eeb939c4bcd
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_server_config.lng
@@ -0,0 +1,69 @@
+<?php
+$wb['jailkit_chroot_home_txt'] = 'Raiz do Chroot Jailkit';
+$wb['jailkit_chroot_app_sections_txt'] = 'Aplicações Jailkit chroot (Sessões)';
+$wb['jailkit_chroot_app_programs_txt'] = 'Aplicações Jailkit em ambiente chroot';
+$wb['website_path_txt'] = 'Pasta do Website';
+$wb['website_symlinks_txt'] = 'Website symlinks: link simbólico';
+$wb['website_basedir_txt'] = 'Website basedir: pasta base ';
+$wb['vhost_conf_dir_txt'] = 'Vhost config dir';
+$wb['vhost_conf_enabled_dir_txt'] = 'Vhost pasta de configuração activo';
+$wb['getmail_config_dir_txt'] = 'Getmail config dir';
+$wb['fastcgi_starter_path_txt'] = 'FastCGI: Pasta inicial';
+$wb['fastcgi_starter_script_txt'] = 'FastCGI: Script inicial';
+$wb['fastcgi_alias_txt'] = 'FastCGI: Alias';
+$wb['fastcgi_phpini_path_txt'] = 'FastCGI: Pasta do php.ini ';
+$wb['fastcgi_children_txt'] = 'FastCGI: Filhos';
+$wb['fastcgi_max_requests_txt'] = 'FastCGI: Requisições máximas';
+$wb['fastcgi_bin_txt'] = 'FastCGI Bin';
+$wb['module_txt'] = 'Módulo';
+$wb['maildir_path_txt'] = 'Pasta do Maildir';
+$wb['homedir_path_txt'] = 'Pasta Home';
+$wb['mailuser_uid_txt'] = 'UID utilizador de email';
+$wb['mailuser_gid_txt'] = 'GID utilizador de email';
+$wb['mailuser_name_txt'] = 'Nome utilizador de email';
+$wb['mailuser_group_txt'] = 'Grupo utilizador de email';
+$wb['relayhost_txt'] = 'Host Relay';
+$wb['relayhost_user_txt'] = 'Utilizador do Host Relay';
+$wb['relayhost_password_txt'] = 'Senha do Host Relay';
+$wb['mailbox_size_limit_txt'] = 'Tamanho máximo da Caixa Postal';
+$wb['message_size_limit_txt'] = 'Tamanho máximo de mensagem';
+$wb['ip_address_txt'] = 'Endereço IP';
+$wb['netmask_txt'] = 'Máscara de Rede';
+$wb['gateway_txt'] = 'Gateway';
+$wb['hostname_txt'] = 'Nome do Host';
+$wb['nameservers_txt'] = 'Servidores DNS';
+$wb['auto_network_configuration_txt'] = 'Configuração de Rede';
+$wb['ip_address_error_wrong'] = 'Formato do Endereço IP inválido!';
+$wb['netmask_error_wrong'] = 'Formato da Máscara de Rede inválido!';
+$wb['gateway_error_wrong'] = 'Gateway inválido!';
+$wb['hostname_error_empty'] = 'Por favor, entre com o nome do Host.';
+$wb['nameservers_error_empty'] = 'Por favor, entre com  o Servidor DNS.';
+$wb['jailkit_chroot_cron_programs_txt'] = 'Cron de aplicações Jailkit em ambiente chroot';
+$wb['config_dir_txt'] = 'Pasta de configuração';
+$wb['init_script_txt'] = 'Cron init nome do script';
+$wb['crontab_dir_txt'] = 'Pasta para crontabs individuais';
+$wb['wget_txt'] = 'Pasta para o wget';
+$wb['web_user_txt'] = 'Utilizador Apache';
+$wb['web_group_txt'] = 'Grupo Apache';
+$wb['security_level_txt'] = 'Nível de Segurança';
+$wb['loglevel_txt'] = 'Loglevel';
+$wb['apps_vhost_port_txt'] = 'Apps-vhost port';
+$wb['apps_vhost_ip_txt'] = 'Apps-vhost IP';
+$wb['apps_vhost_servername_txt'] = 'Apps-vhost Domain';
+$wb['bind_user_txt'] = 'Utilizador BIND';
+$wb['bind_group_txt'] = 'Groupo BIND';
+$wb['bind_zonefiles_dir_txt'] = 'Pasta de ficheiros de zona do BIND';
+$wb['named_conf_path_txt'] = 'Pasta do BIND named.conf';
+$wb['bind_user_error_empty'] = 'Utilizador do BIND está em branco.';
+$wb['bind_group_error_empty'] = 'Grupo do BIND está em branco.';
+$wb['bind_zonefiles_dir_error_empty'] = 'Pasta de ficheiros de zona está em branco.';
+$wb['named_conf_path_error_empty'] = 'Pasta do BIND named.conf.';
+$wb['named_conf_local_path_error_empty'] = 'Pasta do BIND named.conf.local está em branco.';
+$wb['mail_filter_syntax_txt'] = 'Sintaxe do Mailfilter';
+$wb['pop3_imap_daemon_txt'] = 'Daemon POP3/IMAP';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['php_open_basedir_error_empty'] = 'PHP open_basedir está em branco.';
+$wb['htaccess_allow_override_txt'] = '.htaccess AllowOverride';
+$wb['htaccess_allow_override_error_empty'] = '.htaccess AllowOverride está em branco.';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_server_config_list.lng b/interface/web/admin/lib/lang/pt_server_config_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..551867db8ebf6a01058d2a5d53b9138ae1e96540
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_server_config_list.lng
@@ -0,0 +1,5 @@
+<?php
+$wb['list_head_txt'] = 'Configuração do Servidor';
+$wb['server_name_txt'] = 'Servidor';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_server_ip.lng b/interface/web/admin/lib/lang/pt_server_ip.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3fab2638633f3ae7ccbef8ff72c2ec168ce3eb12
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_server_ip.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['ip_address_txt'] = 'Endereço IP';
+$wb['virtualhost_txt'] = 'Nome VirtualHost HTTP';
+$wb['ip_error_wrong'] = 'Endereço IP inválido!';
+$wb['ip_error_unique'] = 'O endereço IP deve ser único';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_server_ip_list.lng b/interface/web/admin/lib/lang/pt_server_ip_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..a9c4ffe2c05f1a8f6c6fb75b95f35a63ef12e2cd
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_server_ip_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Endereço IP';
+$wb['server_id_txt'] = 'Servidor';
+$wb['ip_address_txt'] = 'Endereço IP';
+$wb['add_new_record_txt'] = 'Adicionar Endereço IP';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_server_list.lng b/interface/web/admin/lib/lang/pt_server_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..e3c3c8ad6f8bec624e4247ff3e645a411de5a920
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_server_list.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['list_head_txt'] = 'Servidor';
+$wb['server_name_txt'] = 'Nome';
+$wb['mail_server_txt'] = 'Mail';
+$wb['web_server_txt'] = 'Web';
+$wb['dns_server_txt'] = 'DNS';
+$wb['file_server_txt'] = 'Ficheiros';
+$wb['db_server_txt'] = 'Bases de Dados';
+$wb['vserver_server_txt'] = 'VServer';
+$wb['add_new_record_txt'] = 'Adicionar Servidor';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_software_package_list.lng b/interface/web/admin/lib/lang/pt_software_package_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..cba1c698eb7b482c4f4acd39b6378f619c8ae5a8
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_software_package_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Pacotes de Software';
+$wb['installed_txt'] = 'Status';
+$wb['package_title_txt'] = 'Pacote';
+$wb['package_description_txt'] = 'Descrição';
+$wb['action_txt'] = 'Acção';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_software_repo.lng b/interface/web/admin/lib/lang/pt_software_repo.lng
new file mode 100644
index 0000000000000000000000000000000000000000..257e0b5b8167752acf9fddc13344c8db437a4eec
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_software_repo.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['repo_name_txt'] = 'Repositório';
+$wb['repo_url_txt'] = 'URL';
+$wb['repo_username_txt'] = 'Utilizador (opcional)';
+$wb['repo_password_txt'] = 'Senha (opcional)';
+$wb['active_txt'] = 'Activo';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_software_repo_list.lng b/interface/web/admin/lib/lang/pt_software_repo_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5b60ee24dd1cdb30072b6c8ce10bd6a023224ac8
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_software_repo_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Repositório';
+$wb['active_txt'] = 'Activo';
+$wb['repo_name_txt'] = 'Repositório';
+$wb['repo_url_txt'] = 'URL';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_software_update_list.lng b/interface/web/admin/lib/lang/pt_software_update_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..163731ba7ca1bb97da4a08021f2e8281e3a1f209
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_software_update_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Actualizações de Programas';
+$wb['server_select_txt'] = 'Seleccione o servidor';
+$wb['installed_txt'] = 'Acções';
+$wb['update_title_txt'] = 'Actualizar';
+$wb['version_txt'] = 'Versão';
+$wb['action_txt'] = 'Acção';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_system_config.lng b/interface/web/admin/lib/lang/pt_system_config.lng
new file mode 100644
index 0000000000000000000000000000000000000000..9a662a9a28f1d0afebee1403bf6d40f5db32720e
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_system_config.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['warning'] = 'Edite estes valores com cuidado! Não remova os prefixos em um sistema com mais de um cliente!!';
+$wb['dbname_prefix_txt'] = 'Prefixo Nome da Base de Dados';
+$wb['dbuser_prefix_txt'] = 'Prefixo Utilizador da Base de Dados';
+$wb['shelluser_prefix_txt'] = 'Prefixo Utilizador de Shell';
+$wb['ftpuser_prefix_txt'] = 'Prefixo Utilizador FTP';
+$wb['dbname_prefix_error_regex'] = 'Caractere não permitido para o prefixo do nome da Base de Dados!';
+$wb['dbuser_prefix_error_regex'] = 'Caractere não permitido para o prefixo do Utilizador da Base de Dados!';
+$wb['ftpuser_prefix_error_regex'] = 'Caractere não permitido para o prefixo do Utilizador FTP!';
+$wb['shelluser_prefix_error_regex'] = 'Caractere não permitido para o prefixo do Utilizador Shell!';
+$wb['dblist_phpmyadmin_link_txt'] = 'Link para phpmyadmin';
+$wb['mailboxlist_webmail_link_txt'] = 'Link para o webmail';
+$wb['webmail_url_txt'] = 'URL do Webmail';
+$wb['phpmyadmin_url_txt'] = 'URL do PHPMyAdmin';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_users.lng b/interface/web/admin/lib/lang/pt_users.lng
new file mode 100644
index 0000000000000000000000000000000000000000..fdf07aa3e95a8e7534856c58a27ef1f09e27c0ef
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_users.lng
@@ -0,0 +1,29 @@
+<?php
+$wb['username_txt'] = 'Utilizador ';
+$wb['username_err'] = 'O Nome do utilizador é muito longo ou contém caracteres inválidos!';
+$wb['username_empty'] = 'Por favor, entre com um nome de utilizador .';
+$wb['username_unique'] = 'Já existe um utilizador com este nome!';
+$wb['passwort_txt'] = 'Senha';
+$wb['password_strength_txt'] = 'Segurança da Senha';
+$wb['modules_txt'] = 'Módulos';
+$wb['startmodule_txt'] = 'Módulo Inicial';
+$wb['app_theme_txt'] = 'Tema';
+$wb['typ_txt'] = 'Tipo';
+$wb['active_txt'] = 'Activo';
+$wb['language_txt'] = 'Idioma';
+$wb['name_txt'] = 'Nome';
+$wb['vorname_txt'] = 'Sobrenome';
+$wb['unternehmen_txt'] = 'Empresa';
+$wb['strasse_txt'] = 'Endereço';
+$wb['ort_txt'] = 'Cidade';
+$wb['plz_txt'] = 'Cod.Postal';
+$wb['land_txt'] = 'País';
+$wb['email_txt'] = 'E-mail';
+$wb['url_txt'] = 'Site';
+$wb['telefon_txt'] = 'Telefone';
+$wb['fax_txt'] = 'Fax';
+$wb['groups_txt'] = 'Grupos';
+$wb['default_group_txt'] = 'Grupo Padrão';
+$wb['startmodule_err'] = 'O módulo inicial não está contido nos módulos.';
+?>
+
diff --git a/interface/web/admin/lib/lang/pt_users_list.lng b/interface/web/admin/lib/lang/pt_users_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6ebec0a12a28ee66f619bc454f13a57eea7b5c0f
--- /dev/null
+++ b/interface/web/admin/lib/lang/pt_users_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Utilizadores';
+$wb['username_txt'] = 'Nome de Utilizador ';
+$wb['name_txt'] = 'Nome';
+$wb['vorname_txt'] = 'Sobrenome';
+$wb['ort_txt'] = 'Cidade';
+$wb['add_new_record_txt'] = 'Adicionar Utilizador';
+$wb['warning_txt'] = '<b>AVISO:</b> Não modifique ou edite qualquer configuração de utilizador aqui. Use o módulo de cliente ou revendedor. Modificar ou alterar utilizadors e grupos aqui pode resultar na perda de dados!';
+?>
+
diff --git a/interface/web/client/lib/lang/pt.lng b/interface/web/client/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..e8313728ebc238720b9e1a4b77d70a7dbc5017af
--- /dev/null
+++ b/interface/web/client/lib/lang/pt.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['Client'] = 'Cliente';
+$wb['Address'] = 'Endereço';
+$wb['Limits'] = 'Limites';
+$wb['Add Client'] = 'Adicionar Cliente';
+$wb['Edit Client'] = 'Editar Cliente';
+$wb['Clients'] = 'Clientes';
+$wb['Edit Client-Templates'] = 'Editar Templates de Clientes';
+$wb['Add Reseller'] = 'Adicionar Revendedor';
+$wb['Edit Reseller'] = 'Editar Revendedor';
+$wb['Resellers'] = 'Revendedores';
+$wb['error_has_clients'] = 'Este revendedor possui clientes. Deve remover os clientes primeiro.';
+?>
+
diff --git a/interface/web/client/lib/lang/pt_client.lng b/interface/web/client/lib/lang/pt_client.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0f7d32ab49a1a867213bfaa3ded35d904960d6be
--- /dev/null
+++ b/interface/web/client/lib/lang/pt_client.lng
@@ -0,0 +1,95 @@
+<?php
+$wb['limit_maildomain_txt'] = 'Número máximo de domínios de correio';
+$wb['limit_mailbox_txt'] = 'Número máximo de caixas de correio';
+$wb['limit_mailalias_txt'] = 'Número máximo de aliases de correio';
+$wb['limit_mailforward_txt'] = 'Número máximo de redireccionamento de correio';
+$wb['limit_mailcatchall_txt'] = 'Número máximo de catchall de correio';
+$wb['limit_mailrouting_txt'] = 'Número máximo de rotas de correio';
+$wb['limit_mailfilter_txt'] = 'Número máximo de filtros de correio';
+$wb['limit_fetchmail_txt'] = 'Número máximo de fetchmail de correio';
+$wb['limit_mailquota_txt'] = 'Quota de Correio';
+$wb['limit_spamfilter_wblist_txt'] = 'Número máximo de filtros spam lista branca / negra';
+$wb['limit_spamfilter_user_txt'] = 'Número máximo de utilizadors de filtros spam';
+$wb['limit_spamfilter_policy_txt'] = 'Número máximo de políticas de filtros spam';
+$wb['default_mailserver_txt'] = 'Servidor de Correio Padrão';
+$wb['company_name_txt'] = 'Empresa';
+$wb['contact_name_txt'] = 'Contato';
+$wb['username_txt'] = 'Nome de Utilizador ';
+$wb['password_txt'] = 'Senha';
+$wb['password_strength_txt'] = 'Segurança da senha';
+$wb['language_txt'] = 'Idioma';
+$wb['usertheme_txt'] = 'Tema';
+$wb['street_txt'] = 'Rua';
+$wb['zip_txt'] = 'CEP';
+$wb['city_txt'] = 'Cidade';
+$wb['state_txt'] = 'Estado';
+$wb['country_txt'] = 'País';
+$wb['telephone_txt'] = 'Telefone';
+$wb['mobile_txt'] = 'Celular';
+$wb['fax_txt'] = 'Fax';
+$wb['email_txt'] = 'Correio Eletrônico';
+$wb['internet_txt'] = 'Internet';
+$wb['icq_txt'] = 'ICQ';
+$wb['notes_txt'] = 'Notas';
+$wb['company_txt'] = 'Empresa';
+$wb['title_txt'] = 'Título';
+$wb['firstname_txt'] = 'Nome';
+$wb['surname_txt'] = 'Sobrenome';
+$wb['limit_domain_txt'] = 'limite_dominio';
+$wb['limit_subdomain_txt'] = 'limit_subdominio';
+$wb['limit_webquota_txt'] = 'limit_webquota';
+$wb['limit_database_txt'] = 'Número máximo de bases de dados';
+$wb['ip_address_txt'] = 'endereco_ip';
+$wb['limit_client_error_notint'] = 'O limite de um sub-cliente deve ser um número';
+$wb['firstname_error_empty'] = 'Nome está em branco.';
+$wb['contact_error_empty'] = 'Contato está em branco.';
+$wb['default_webserver_txt'] = 'Servidor Web Padrão';
+$wb['limit_web_domain_txt'] = 'Número máximo de domínios web';
+$wb['limit_web_aliasdomain_txt'] = 'Número máximo de domínios alias';
+$wb['limit_web_subdomain_txt'] = 'Número máximo de sub-domínios';
+$wb['limit_ftp_user_txt'] = 'Número máximo de utilizadors FTP';
+$wb['default_dnsserver_txt'] = 'Servidor de Nomes Padrão';
+$wb['limit_dns_zone_txt'] = 'Número máximo de zonas DNS';
+$wb['limit_dns_record_txt'] = 'Número máximo de registos DNS';
+$wb['limit_shell_user_txt'] = 'Número máximo de utilizadors de shell';
+$wb['limit_client_txt'] = 'Número máximo de clientes';
+$wb['username_error_empty'] = 'Nome do utilizador está em branco';
+$wb['username_error_unique'] = 'O nome do utilizador deve ser único';
+$wb['limit_maildomain_error_notint'] = 'O limite de caixas de correio no domínio deve ser um número.';
+$wb['limit_mailbox_error_notint'] = 'Limite da caixa de correio deve ser um número.';
+$wb['limit_mailalias_error_notint'] = 'Limite do alias de correio deve ser um número.';
+$wb['limit_mailforward_error_notint'] = 'Limite de redireccionamento de correio deve ser um número';
+$wb['limit_mailcatchall_error_notint'] = 'Limite de catchall deve ser um número.';
+$wb['limit_mailrouting_error_notint'] = 'Limite de rotas de correio deve ser um número.';
+$wb['limit_mailfilter_error_notint'] = 'Limite de filtros de correio deve ser um número.';
+$wb['limit_mailfetchmail_error_notint'] = 'Limite de fetchmail deve ser um número.';
+$wb['limit_mailquota_error_notint'] = 'A quota de correio deve ser um número';
+$wb['limit_spamfilter_wblist_error_notint'] = 'O limite de filtros spam lista branca / negra deve ser um número.';
+$wb['limit_spamfilter_user_error_notint'] = 'O limite de filtros spam do utilizador deve ser um número.';
+$wb['limit_spamfilter_policy_error_notint'] = 'O limite de políticas de filtros spam deve ser um número.';
+$wb['limit_web_domain_error_notint'] = 'O limite de sites deve ser um número.';
+$wb['limit_web_aliasdomain_error_notint'] = 'O limite de alias de domínios de sites deve ser um número.';
+$wb['limit_web_subdomain_error_notint'] = 'O limite de sub-domínios de sites deve ser um número';
+$wb['limit_ftp_user_error_notint'] = 'O limite de utilizadors de FTP deve ser um número.';
+$wb['limit_shell_user_error_notint'] = 'O limite de utilizadors de Shell deve ser um número.';
+$wb['limit_dns_zone_error_notint'] = 'O limite de registos de DNS deve ser um número';
+$wb['default_dbserver_txt'] = 'Servidor de Base de Dados Padrão';
+$wb['limit_database_error_notint'] = 'O limite de bases de dados deve ser um número';
+$wb['username_error_regex'] = 'O nome de utilizador contem caracteres inválidos.';
+$wb['template_master_txt'] = 'Template Principal';
+$wb['template_additional_txt'] = 'Template Adicional';
+$wb['ssh_chroot_txt'] = 'Opções de SSH Chroot';
+$wb['web_php_options_txt'] = 'Opções do PHP';
+$wb['limit_client_error'] = 'O número máximo de clientes foi atingido.';
+$wb['limit_cron_txt'] = 'Número máximo de tarefas no cron.';
+$wb['limit_cron_type_txt'] = 'Máximo de tipos de tarefas no cron (em chroot e url completas)';
+$wb['limit_cron_frequency_txt'] = 'Intervalo mínimo entre as execuções';
+$wb['limit_cron_error_notint'] = 'O limite do cron deve ser um número.';
+$wb['limit_cron_error_frequency'] = 'O limite de frequência do cron deve ser um número.';
+$wb['limit_mailaliasdomain_txt'] = 'Número máximo de domínios aliases';
+$wb['limit_mailaliasdomain_error_notint'] = 'O domínio aliases de correio precisa ser um número.';
+$wb['limit_web_quota_txt'] = 'Cota Web';
+$wb['limit_traffic_quota_txt'] = 'Cota de Tráfego';
+$wb['limit_trafficquota_error_notint'] = 'A cota de tráfego precisa ser um número..';
+?>
+
diff --git a/interface/web/client/lib/lang/pt_client_del.lng b/interface/web/client/lib/lang/pt_client_del.lng
new file mode 100644
index 0000000000000000000000000000000000000000..769975296615569129f0992dd565221e755a0034
--- /dev/null
+++ b/interface/web/client/lib/lang/pt_client_del.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['confirm_action_txt'] = 'Confirmar acção';
+$wb['delete_explanation'] = 'Atenção: está acção ira remover todos os objectos associados ao cliente!';
+$wb['btn_save_txt'] = 'Remover o cliente';
+$wb['btn_cancel_txt'] = 'Cancelar sem remover o cliente';
+?>
+
diff --git a/interface/web/client/lib/lang/pt_client_template.lng b/interface/web/client/lib/lang/pt_client_template.lng
new file mode 100644
index 0000000000000000000000000000000000000000..153cc5bd0d059dd3db42446ecd6754054811c292
--- /dev/null
+++ b/interface/web/client/lib/lang/pt_client_template.lng
@@ -0,0 +1,58 @@
+<?php
+$wb['limit_client_error_notint'] = 'O limite do cliente não é um número.';
+$wb['limit_maildomain_txt'] = 'Limite Máximo de domínios de correio';
+$wb['limit_mailbox_txt'] = 'Limite Máximo de caixas de correio';
+$wb['limit_mailalias_txt'] = 'Limite Máximo de alias de correio';
+$wb['limit_mailforward_txt'] = 'Limite Máximo de redireccionamentos de correio';
+$wb['limit_mailcatchall_txt'] = 'Limite máximo de contas catchall';
+$wb['limit_mailrouting_txt'] = 'Limite máximo de rotas de Correio';
+$wb['limit_mailfilter_txt'] = 'Número Máximo de Filtros de Correio';
+$wb['limit_fetchmail_txt'] = 'Número Máximo de Contas fetchmail';
+$wb['limit_mailquota_txt'] = 'Espaço de Caixa de Correio';
+$wb['limit_spamfilter_wblist_txt'] = 'Número máximo de spamfilter permitidos /lista negra';
+$wb['limit_spamfilter_user_txt'] = 'Número máx de utilizadors spamfilter';
+$wb['limit_spamfilter_policy_txt'] = 'Número máx de políticas spamfilter';
+$wb['limit_domain_txt'] = 'limite_dominio';
+$wb['limit_subdomain_txt'] = 'limite_subdominio';
+$wb['limit_webquota_txt'] = 'limite_webquota';
+$wb['limit_database_txt'] = 'Número máximo de bases de dados';
+$wb['limit_web_domain_txt'] = 'Número máximo de domínios web';
+$wb['limit_web_aliasdomain_txt'] = 'Número maximo de apelidos web';
+$wb['limit_web_subdomain_txt'] = 'Número máximo de sub-domínios';
+$wb['limit_ftp_user_txt'] = 'Número máximo de utilizadors de FTP';
+$wb['limit_dns_zone_txt'] = 'Número máximo de zonas DNS';
+$wb['limit_dns_record_txt'] = 'Número máximo de registos DNS';
+$wb['limit_shell_user_txt'] = 'Número máximo de utilizadors de Shell';
+$wb['limit_client_txt'] = 'Número máximo de clientes';
+$wb['limit_maildomain_error_notint'] = 'O limite de correio de domínio deve ser numérico';
+$wb['limit_mailbox_error_notint'] = 'O limite da caixa de correio deve ser numérico';
+$wb['limit_mailalias_error_notint'] = 'O limite do apelido de correio deve ser númerico';
+$wb['limit_mailforward_error_notint'] = 'O limite de direccionamento de correio deve ser um número';
+$wb['limit_mailcatchall_error_notint'] = 'O limite de catchall do domínio deve ser um número';
+$wb['limit_mailrouting_error_notint'] = 'Limite de rota de correio deve ser um número';
+$wb['limit_mailfilter_error_notint'] = 'O limite de filtro de correio deve ser um número.';
+$wb['limit_mailfetchmail_error_notint'] = 'Limite fetchmail deve ser um número.';
+$wb['limit_mailquota_error_notint'] = 'Cota de correio deve ser um número.';
+$wb['limit_spamfilter_wblist_error_notint'] = 'O limite de spamfilter permitido / lista negra deve ser um número';
+$wb['limit_spamfilter_user_error_notint'] = 'O limite do spamfilter deve ser um número.';
+$wb['limit_spamfilter_policy_error_notint'] = 'O limite da política do spamfilter deve ser um número.';
+$wb['limit_web_domain_error_notint'] = 'O limite de websites deve ser um número';
+$wb['limit_web_aliasdomain_error_notint'] = 'O limite de apelidos de domínio deve ser um número';
+$wb['limit_web_subdomain_error_notint'] = 'O limite de sub-domínios deve ser um número';
+$wb['limit_ftp_user_error_notint'] = 'O limite de contas FTP deve ser um número';
+$wb['limit_shell_user_error_notint'] = 'O limite de contas shell DNS deve ser um número';
+$wb['limit_dns_zone_error_notint'] = 'O limite de zonas DNS deve ser um número';
+$wb['limit_database_error_notint'] = 'O limite de bases de dados deve ser um número';
+$wb['error_template_name_empty'] = 'Por favor insira o nome da template';
+$wb['limit_cron_txt'] = 'Número máximo de tarefas no cron';
+$wb['limit_cron_type_txt'] = 'Máximo de tipos de tarefas no cron (em chroot e url completas)';
+$wb['limit_cron_frequency_txt'] = 'Intervalo mínimo entre as execuções';
+$wb['limit_cron_error_notint'] = 'O limite do cron deve ser um número.';
+$wb['limit_cron_error_frequency'] = 'O limite de frequência do cron deve ser um número.';
+$wb['limit_mailaliasdomain_txt'] = 'Número máximo de aliases de correio';
+$wb['limit_mailaliasdomain_error_notint'] = 'A alias de domínio de correio deve ser um número.';
+$wb['limit_web_quota_txt'] = 'Cota Web';
+$wb['limit_traffic_quota_txt'] = 'Cota de Tráfego';
+$wb['limit_trafficquota_error_notint'] = 'A cota de tráfego precisa ser um número.';
+?>
+
diff --git a/interface/web/client/lib/lang/pt_client_template_list.lng b/interface/web/client/lib/lang/pt_client_template_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0587b04f328e7ee189685ea9a32f0075f872549a
--- /dev/null
+++ b/interface/web/client/lib/lang/pt_client_template_list.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['list_head_txt'] = 'Templates de Cliente ';
+$wb['template_type_txt'] = 'Tipo';
+$wb['template_name_txt'] = 'Nome da template';
+?>
+
diff --git a/interface/web/client/lib/lang/pt_clients_list.lng b/interface/web/client/lib/lang/pt_clients_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..53ceab0536a2a1cf8ff538d9e65d02f013737e40
--- /dev/null
+++ b/interface/web/client/lib/lang/pt_clients_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Clientes';
+$wb['client_id_txt'] = 'ID';
+$wb['company_name_txt'] = 'Empresa';
+$wb['contact_name_txt'] = 'Nome do contato';
+$wb['city_txt'] = 'Cidade';
+$wb['country_txt'] = 'País';
+$wb['add_new_record_txt'] = 'Adicionar Cliente';
+?>
+
diff --git a/interface/web/client/lib/lang/pt_reseller.lng b/interface/web/client/lib/lang/pt_reseller.lng
new file mode 100644
index 0000000000000000000000000000000000000000..9aa64e0a7e51ee7893ddbe40979a8d200f1170ed
--- /dev/null
+++ b/interface/web/client/lib/lang/pt_reseller.lng
@@ -0,0 +1,94 @@
+<?php
+$wb['limit_maildomain_txt'] = 'Número máximo de domínios de correio';
+$wb['limit_mailbox_txt'] = 'Número máximo de caixas de correio';
+$wb['limit_mailalias_txt'] = 'Número máximo de aliases de correio';
+$wb['limit_mailforward_txt'] = 'Número máximo de encaminhamentos de correio';
+$wb['limit_mailcatchall_txt'] = 'Número máximo de contas catchall';
+$wb['limit_mailrouting_txt'] = 'Número máximo de rotas de correio';
+$wb['limit_mailfilter_txt'] = 'Número máximo de filtros de correio';
+$wb['limit_fetchmail_txt'] = 'Número máximo de contas fetchmail ';
+$wb['limit_mailquota_txt'] = 'Quota de correio';
+$wb['limit_spamfilter_wblist_txt'] = 'Número máximo de filtros do spamfilter lista branca / negra';
+$wb['limit_spamfilter_user_txt'] = 'Número máximo de utilizadors de spamfilter';
+$wb['limit_spamfilter_policy_txt'] = 'Número máximo de políticas de spamfilter';
+$wb['default_mailserver_txt'] = 'Servidor de Correio Padrão';
+$wb['company_name_txt'] = 'Empresa';
+$wb['contact_name_txt'] = 'Contato';
+$wb['username_txt'] = 'Utilizador ';
+$wb['password_txt'] = 'Senha';
+$wb['password_strength_txt'] = 'Segurança de senha';
+$wb['language_txt'] = 'Idioma';
+$wb['usertheme_txt'] = 'Tema';
+$wb['street_txt'] = 'Rua';
+$wb['zip_txt'] = 'CEP';
+$wb['city_txt'] = 'Cidade';
+$wb['state_txt'] = 'Estado';
+$wb['country_txt'] = 'País';
+$wb['telephone_txt'] = 'Telefone';
+$wb['mobile_txt'] = 'Celular';
+$wb['fax_txt'] = 'Fax';
+$wb['email_txt'] = 'Correio Eletrônico';
+$wb['internet_txt'] = 'Internet';
+$wb['icq_txt'] = 'MSN ou ICQ';
+$wb['notes_txt'] = 'Notas';
+$wb['company_txt'] = 'Empresa';
+$wb['title_txt'] = 'Título';
+$wb['firstname_txt'] = 'Nome';
+$wb['surname_txt'] = 'Sobrenome';
+$wb['limit_domain_txt'] = 'limite_domínio';
+$wb['limit_subdomain_txt'] = 'limite_subdomínio';
+$wb['limit_webquota_txt'] = 'limite_webquota';
+$wb['limit_database_txt'] = 'Número máximo de bases de dados';
+$wb['limit_cron_txt'] = 'Número máximo de tarefas no cron';
+$wb['limit_cron_type_txt'] = 'Máximo de tipos de tarefas no cron (em chroot e url completas)';
+$wb['limit_cron_frequency_txt'] = 'Mínimo de tempo entre as execuções';
+$wb['ip_address_txt'] = 'endereço_ip';
+$wb['limit_client_error_notint'] = 'O limite de clientes para revenda deve ser um número.';
+$wb['firstname_error_empty'] = 'O nome está em branco.';
+$wb['contact_error_empty'] = 'Nome do contato está em branco.';
+$wb['default_webserver_txt'] = 'Servidor web padrão';
+$wb['limit_web_domain_txt'] = 'Máximo de domínios web';
+$wb['limit_web_aliasdomain_txt'] = 'Número máximo de alias web';
+$wb['limit_web_subdomain_txt'] = 'Número máximo de subdomínios';
+$wb['limit_ftp_user_txt'] = 'Max. number of FTP users';
+$wb['default_dnsserver_txt'] = 'Servidor DNS Padrão';
+$wb['limit_dns_zone_txt'] = 'Máximo de zonas DNS';
+$wb['limit_dns_record_txt'] = 'Máximo de registos DNS';
+$wb['limit_shell_user_txt'] = 'Número máximo de utilizadors de shell';
+$wb['limit_client_txt'] = 'Número máximo de clientes';
+$wb['username_error_empty'] = 'O nome do utilizador está em branco.';
+$wb['username_error_unique'] = 'O nome de utilizador deve ser único.';
+$wb['limit_maildomain_error_notint'] = 'O limite de domínios de correio deve ser um número.';
+$wb['limit_mailbox_error_notint'] = 'O limite de caixas de correio deve ser um número.';
+$wb['limit_mailalias_error_notint'] = 'O limite de aliases de correio deve ser um número.';
+$wb['limit_mailforward_error_notint'] = 'O limite de encaminhamentos de correio deve ser um número.';
+$wb['limit_mailcatchall_error_notint'] = 'O limite de contas catchall deve ser um número.';
+$wb['limit_mailrouting_error_notint'] = 'O limite de rotas de correio deve ser um número.';
+$wb['limit_mailfilter_error_notint'] = 'O filtro de correio deve ser um número.';
+$wb['limit_mailfetchmail_error_notint'] = 'O limite de fetchmail deve ser um número.';
+$wb['limit_mailquota_error_notint'] = 'O limite de quota de correio deve ser um número.';
+$wb['limit_spamfilter_wblist_error_notint'] = 'O limite de lista branca / negra do spamfilter deve ser um número.';
+$wb['limit_spamfilter_user_error_notint'] = 'O limite de utilizadors de spamfilter deve ser um número.';
+$wb['limit_spamfilter_policy_error_notint'] = 'O limite de políticas de spamfilter deve ser um número.';
+$wb['limit_web_domain_error_notint'] = 'O limite de web sites deve ser um número.';
+$wb['limit_web_aliasdomain_error_notint'] = 'O limite de utilizadors de aliases de domínio deve ser um número.';
+$wb['limit_web_subdomain_error_notint'] = 'O limite de utilizadors de subdomínios web deve ser um número.';
+$wb['limit_ftp_user_error_notint'] = 'O limite de utilizadors de ftp deve ser um número.';
+$wb['limit_shell_user_error_notint'] = 'O limite de utilizadors de shell deve ser um número.';
+$wb['limit_dns_zone_error_notint'] = 'O limite de registos de dns deve ser um número.';
+$wb['default_dbserver_txt'] = 'Servidor de Base de Dados Padrão';
+$wb['limit_database_error_notint'] = 'O limite de bases de dados deve ser um número.';
+$wb['limit_cron_error_notint'] = 'O limite do cron deve ser um número.';
+$wb['limit_cron_error_frequency'] = 'O limite de frequência no cron deve ser um número.';
+$wb['username_error_regex'] = 'O nome do utilizador contém caracteres inválidos.';
+$wb['template_master_txt'] = 'Template Mestre';
+$wb['template_additional_txt'] = 'Template de Addon';
+$wb['ssh_chroot_txt'] = 'Opções do Chroot-SSH';
+$wb['web_php_options_txt'] = 'Opções do PHP';
+$wb['limit_client_error'] = 'O número máximo de clientes foi atingido.';
+$wb['limit_client_error_positive'] = 'O número de clientes precisa ser > 0';
+$wb['limit_web_quota_txt'] = 'Cota Web';
+$wb['limit_traffic_quota_txt'] = 'Cota de Tráfego';
+$wb['limit_trafficquota_error_notint'] = 'Traffic Quota must be a number.';
+?>
+
diff --git a/interface/web/client/lib/lang/pt_resellers_list.lng b/interface/web/client/lib/lang/pt_resellers_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8df917d4f242ab3d475339009e9fdaacab4ab7d5
--- /dev/null
+++ b/interface/web/client/lib/lang/pt_resellers_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Revendedores';
+$wb['client_id_txt'] = 'ID';
+$wb['company_name_txt'] = 'Empresa';
+$wb['contact_name_txt'] = 'Contato';
+$wb['city_txt'] = 'Cidade';
+$wb['country_txt'] = 'País';
+$wb['add_new_record_txt'] = 'Adicionar um novo revendedor';
+?>
+
diff --git a/interface/web/designer/lib/lang/pt.lng b/interface/web/designer/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..29f4a51efebb370aeb04c5144a604ca2c04e02be
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt.lng
@@ -0,0 +1,3 @@
+<?php
+?>
+
diff --git a/interface/web/designer/lib/lang/pt_form_edit.lng b/interface/web/designer/lib/lang/pt_form_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..75869ca5c525bd217640d67c0fc70ef1a68e442f
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt_form_edit.lng
@@ -0,0 +1,25 @@
+<?php
+$wb['name_txt'] = 'Nome do Formulário';
+$wb['title_txt'] = 'Título do Formulário';
+$wb['template_txt'] = 'Template';
+$wb['navframe_txt'] = 'Frame de Navegação';
+$wb['startpage_txt'] = 'Página Inicial';
+$wb['tab_width_txt'] = 'Tamanho da aba';
+$wb['save_txt'] = 'Guardar';
+$wb['cancel_txt'] = 'Cancelar';
+$wb['header_txt'] = 'Propriedades do Formulário';
+$wb['description_txt'] = 'Descrição';
+$wb['action_txt'] = 'Acção (script)';
+$wb['db_table_txt'] = 'Tabela do DB';
+$wb['db_table_idx_txt'] = 'Indíce da tabela do DB';
+$wb['db_history_txt'] = 'Desfazer Log';
+$wb['tab_default_txt'] = 'Aba Padrão';
+$wb['list_default_txt'] = 'Exibir Padrão';
+$wb['auth_txt'] = 'Permissões';
+$wb['auth_preset_userid_txt'] = 'Utilizador (ID)';
+$wb['auth_preset_groupid_txt'] = 'Grupo(ID)';
+$wb['auth_preset_perm_user_txt'] = 'Perm. Utilizador ';
+$wb['auth_preset_perm_group_txt'] = 'Perm. Grupo';
+$wb['auth_preset_perm_other_txt'] = 'Perm. Outros';
+?>
+
diff --git a/interface/web/designer/lib/lang/pt_form_list.lng b/interface/web/designer/lib/lang/pt_form_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..01d0f28e9b96c9b1adfe751eb4fb4ebf04584083
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt_form_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Formulário de Backend';
+$wb['form_txt'] = 'Formulário';
+$wb['module_txt'] = 'Módulo';
+$wb['title_txt'] = 'Título';
+$wb['description_txt'] = 'Descrição';
+?>
+
diff --git a/interface/web/designer/lib/lang/pt_form_show.lng b/interface/web/designer/lib/lang/pt_form_show.lng
new file mode 100644
index 0000000000000000000000000000000000000000..76e7487900d8503763704af40e087b5d9defbdce
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt_form_show.lng
@@ -0,0 +1,19 @@
+<?php
+$wb['header_txt'] = 'Editor de Formulários';
+$wb['title_txt'] = 'Título do Formulário';
+$wb['name_txt'] = 'Nome do Formulário';
+$wb['delete_txt'] = 'Remover';
+$wb['properties_txt'] = 'Propriedades';
+$wb['new_tab_txt'] = 'Nova Aba';
+$wb['edit_txt'] = 'Editar';
+$wb['new_txt'] = 'Novo';
+$wb['up_txt'] = '^';
+$wb['down_txt'] = 'v';
+$wb['module_txt'] = 'Módulo';
+$wb['form_txt'] = 'Formulário';
+$wb['description_txt'] = 'Descrição';
+$wb['module_del_txt'] = 'Remover o módulo e todas as suas sub-pastas?';
+$wb['menu_del_txt'] = 'Remover o menu e todos os seus itens?';
+$wb['item_del_txt'] = 'Remover o item de menu?';
+?>
+
diff --git a/interface/web/designer/lib/lang/pt_module_edit.lng b/interface/web/designer/lib/lang/pt_module_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b04975d26a12d1c86e7ac73a9f66483d5e288ebf
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt_module_edit.lng
@@ -0,0 +1,23 @@
+<?php
+$wb['name_txt'] = 'Nome do Módulo';
+$wb['title_txt'] = 'Título do Módulo';
+$wb['template_txt'] = 'Ficheiro de Template';
+$wb['navframe_txt'] = 'Frame de Navegação';
+$wb['startpage_txt'] = 'Página Padrão';
+$wb['tab_width_txt'] = 'Tamanho da Aba';
+$wb['save_txt'] = 'Guardar';
+$wb['cancel_txt'] = 'Cancelar';
+$wb['header_txt'] = 'Propriedades do Módulo';
+$wb['description_txt'] = '
+<b>Descrição</b>
+<br><br>
+<b>Nome do Módulo:</b> Nome da pasta do módulo. Apenas números, letras e underscores são permitidos.<br>
+<b>Título do Módulo:</b> Será exibido em caixa alta no menu de navegação.<br>
+<b>Ficheiro de Template:</b> Ficheiros de Template do Módulo Disponível: modulo.tpl.htm e modulo_tree.tpl.htm. O padrão é modulo.tpl.htm.<br>
+<b>Frame de Navegação:</b> Se modulo_tree.tpl.htm foi seleccionado como ficheiro de template, insira aqui a pasta do script para o frame a esquerda.<br>
+<b>Página Padrão:</b> Esta página será exibida quando o módulo for aberto.<br>
+<b>Tamanho da Aba:</b> Tamanho das abas na navegação principal. Este campo fica em branco por padrão. Pode fornecer valores absolutos em pixels (ex.: 20) ou valores relativos (ex.: 20%).<br>
+<b>Dica:</b> Todos as pastas são relativas à pasta web.
+';
+?>
+
diff --git a/interface/web/designer/lib/lang/pt_module_list.lng b/interface/web/designer/lib/lang/pt_module_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8b8f24775510746de6338d2a6587fa52eadde7a7
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt_module_list.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['list_head_txt'] = 'Módulo do Backend';
+$wb['module_txt'] = 'Módulo';
+$wb['title_txt'] = 'Título';
+?>
+
diff --git a/interface/web/designer/lib/lang/pt_module_nav_edit.lng b/interface/web/designer/lib/lang/pt_module_nav_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3a98235985cd8b28306582e23ddc4889fd2b1118
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt_module_nav_edit.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['title_txt'] = 'Título';
+$wb['header_txt'] = 'Propriedades de Navegação';
+$wb['save_txt'] = 'Guardar';
+$wb['cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng b/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4cb7df1afc9e803fb0708dc3c61c7c2f04e7d155
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['title_txt'] = 'Título';
+$wb['target_txt'] = 'Target';
+$wb['link_txt'] = 'Link';
+$wb['header_txt'] = 'Propriedades de Navegação';
+$wb['save_txt'] = 'Guardar';
+$wb['cancel_txt'] = 'Cancelar';
+?>
+
diff --git a/interface/web/designer/lib/lang/pt_module_show.lng b/interface/web/designer/lib/lang/pt_module_show.lng
new file mode 100644
index 0000000000000000000000000000000000000000..606181de601f0bf1950e00d96050d027654da8e0
--- /dev/null
+++ b/interface/web/designer/lib/lang/pt_module_show.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['header_txt'] = 'Editor de Menu';
+$wb['title_txt'] = 'Título';
+$wb['name_txt'] = 'Módulo';
+$wb['delete_txt'] = 'Remover';
+$wb['properties_txt'] = 'Propriedades';
+$wb['new_menu_txt'] = 'Novo Menu';
+$wb['edit_txt'] = 'Editar';
+$wb['new_txt'] = 'Novo';
+$wb['up_txt'] = 'Subir';
+$wb['down_txt'] = 'Descer';
+$wb['module_txt'] = 'Módulo';
+$wb['module_del_txt'] = 'Deseja eliminar este módulo e todos os ficheiros contidos na pasta?';
+$wb['menu_del_txt'] = 'Deseja apagar este menu e todos seus elementos?';
+$wb['item_del_txt'] = 'Deseja apagar este elemento do menu?';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt.lng b/interface/web/dns/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..9f1ccffb47923267eb1b3b9af44ac83bbfeb736f
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt.lng
@@ -0,0 +1,21 @@
+<?php
+$wb['DNS'] = 'DNS';
+$wb['Zones'] = 'Zonas';
+$wb['DNS A'] = 'DNS A';
+$wb['DNS ALIAS'] = 'ALIAS DNS';
+$wb['DNS CNAME'] = 'CNAME DNS';
+$wb['DNS hinfo'] = 'hinfo DNS';
+$wb['DNS mx'] = 'mx DNS';
+$wb['DNS ns'] = 'ns DNS';
+$wb['DNS ptr'] = 'ptr DNS';
+$wb['DNS RP'] = 'RP DNS';
+$wb['DNS Zone'] = 'Zona DNS';
+$wb['Records'] = 'Registos';
+$wb['DNS SRV'] = 'SRV DNS';
+$wb['DNS TXT Record'] = 'Registo TXT DNS';
+$wb['DNS TXT'] = 'TXT DNS';
+$wb['DNS Wizard'] = 'Assistente de DNS';
+$wb['Add DNS Zone'] = 'Adicionar Zona DNS';
+$wb['Templates'] = 'Templates';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_a.lng b/interface/web/dns/lib/lang/pt_dns_a.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3774b1a74291f2359a166cc26e073596f86ef609
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_a.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Endereço-IP';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'Hostname em branco.';
+$wb['name_error_regex'] = 'Hostname tem um formato inválido.';
+$wb['data_error_empty'] = 'Endereço-IP em branco';
+$wb['data_error_regex'] = 'Endereço-IP formato inválido';
+$wb['data_error_duplicate'] = 'Registo-A duplicado';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_a_list.lng b/interface/web/dns/lib/lang/pt_dns_a_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d7d55f21a224b89f4b3ed68cc082e0b14e09d896
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_a_list.lng
@@ -0,0 +1,15 @@
+<?php
+$wb['list_head_txt'] = 'Registo (A)';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nome';
+$wb['data_txt'] = 'Data';
+$wb['aux_txt'] = 'Prioridade';
+$wb['type_txt'] = 'Tipo';
+$wb['add_new_record_txt'] = 'Adicionar um novo registo DNS (A)';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['delete_confirmation'] = 'Tem certeza que deseja remover este registo?';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_aaaa.lng b/interface/web/dns/lib/lang/pt_dns_aaaa.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4b4524b6055a785bc1a16484b63e65f43a860eea
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_aaaa.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Endereço-IPv6';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'O Hostname está em branco.';
+$wb['name_error_regex'] = 'O Hostname está com formato inválido.';
+$wb['data_error_empty'] = 'Endereço-IP em branco';
+$wb['data_error_regex'] = 'Endereço-IP com formato inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_alias.lng b/interface/web/dns/lib/lang/pt_dns_alias.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d7e91e6857a869c209f1b4528ebd666aed99cc58
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_alias.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Hostname Alvo';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de registos DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'Hostname está em branco.';
+$wb['name_error_regex'] = 'O hostname está em um formato inválido.';
+$wb['data_error_empty'] = 'Hostname de destino está em branco';
+$wb['data_error_regex'] = 'O hostname de destino está em um formato inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_cname.lng b/interface/web/dns/lib/lang/pt_dns_cname.lng
new file mode 100644
index 0000000000000000000000000000000000000000..bb75bcc21d20c31da64add144dbbba7acbb5bf5a
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_cname.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Hostname de Destino';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de registos DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'Hostname está em branco.';
+$wb['name_error_regex'] = 'O hostname está em um formato inválido.';
+$wb['data_error_empty'] = 'Hostname de destino está em branco';
+$wb['data_error_regex'] = 'O hostname de destino está em um formato inválido.';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_hinfo.lng b/interface/web/dns/lib/lang/pt_dns_hinfo.lng
new file mode 100644
index 0000000000000000000000000000000000000000..66829172781bd952145a0edffe2601e00c863451
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_hinfo.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Informações do Host';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a esta zona DNS.';
+$wb['name_error_empty'] = 'Hostname em branco.';
+$wb['name_error_regex'] = 'Hostname tem um formato inválido.';
+$wb['data_error_empty'] = 'Endereço-IP em branco';
+$wb['data_error_regex'] = 'Endereço-IP formato inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_mx.lng b/interface/web/dns/lib/lang/pt_dns_mx.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d8b59a7659cda9718f578e2f4de65af853fac1f0
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_mx.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Hostname do servidor de correio';
+$wb['aux_txt'] = 'Prioridade';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'Hostname em branco.';
+$wb['name_error_regex'] = 'Hostname tem um formato inválido.';
+$wb['data_error_empty'] = 'Hostname do servidor de correio em branco';
+$wb['data_error_regex'] = 'Hostname do servidor de correio formato inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_ns.lng b/interface/web/dns/lib/lang/pt_dns_ns.lng
new file mode 100644
index 0000000000000000000000000000000000000000..2e16d94de9de995bcd0c7e173fbd4c382fd29dec
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_ns.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Zona';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Hostname Servidor de Nomes';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'A zona está em branco.';
+$wb['name_error_regex'] = 'A zona está com formato inválido.';
+$wb['data_error_empty'] = 'Servidor de nomes em branco';
+$wb['data_error_regex'] = 'Servidor de nomes com formato inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_ptr.lng b/interface/web/dns/lib/lang/pt_dns_ptr.lng
new file mode 100644
index 0000000000000000000000000000000000000000..298872ad1f20c916ff739dd9b8cc9867ef0d21fc
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_ptr.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Nnome';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Hostname Canônico';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'Hostname em branco.';
+$wb['name_error_regex'] = 'Hostname tem um formato inválido.';
+$wb['data_error_empty'] = 'Endereço-IP em branco';
+$wb['data_error_regex'] = 'Endereço-IP formato inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_rp.lng b/interface/web/dns/lib/lang/pt_dns_rp.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ba45e858ce74c6a387b9d5527870815fb796822f
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_rp.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Pessoa Responsável';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'O Hostname está em branco.';
+$wb['name_error_regex'] = 'O Hostname está com formato inválido.';
+$wb['data_error_empty'] = 'Pessoa responsável em branco';
+$wb['data_error_regex'] = 'Pessoa responsável formato inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_soa.lng b/interface/web/dns/lib/lang/pt_dns_soa.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5d10de28d60359a9be993c78830749a84e2f44fe
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_soa.lng
@@ -0,0 +1,27 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['origin_txt'] = 'Zona (SOA)';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Correio';
+$wb['serial_txt'] = 'Serial';
+$wb['refresh_txt'] = 'Refresh';
+$wb['retry_txt'] = 'Retry';
+$wb['expire_txt'] = 'Expire';
+$wb['minimum_txt'] = 'Minimum';
+$wb['ttl_txt'] = 'TTL';
+$wb['xfer_txt'] = 'Permitir transferências de zona para <br />estes IPs (lista separada por ponto e vírgula)';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_zone_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['client_txt'] = 'Cliente';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['server_id_error_empty'] = 'Servidor não seleccionado';
+$wb['origin_error_empty'] = 'Zona vazia.';
+$wb['origin_error_unique'] = 'Este registo já existe nesta zona.';
+$wb['origin_error_regex'] = 'Formato de zona inválido.';
+$wb['ns_error_regex'] = 'NS tem um formato inválido.';
+$wb['mbox_error_empty'] = 'Correio está em branco.';
+$wb['mbox_error_regex'] = 'Correio com formato inválido.';
+$wb['also_notify_txt'] = 'Also Notify';
+$wb['update_acl_txt'] = 'Actualizar ACL';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_soa_list.lng b/interface/web/dns/lib/lang/pt_dns_soa_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1345fafe3c724cdb52b2a2173c0a6934957cc0c4
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_soa_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Zonas DNS';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['origin_txt'] = 'Zona';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Correio';
+$wb['add_new_record_txt'] = 'Adicionar uma nova zona dns (SOA)';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_srv.lng b/interface/web/dns/lib/lang/pt_dns_srv.lng
new file mode 100644
index 0000000000000000000000000000000000000000..853bcf5aabf0a3bc26bdfb15d102b25b9d1b3518
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_srv.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Registo do Servidor';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'O Hostname está em branco.';
+$wb['name_error_regex'] = 'O Hostname está com formato inválido.';
+$wb['data_error_empty'] = 'Registo do Servidor em branco';
+$wb['data_error_regex'] = 'Registo do Servidor com formato inválido';
+$wb['srv_error_regex'] = 'Registo do Servidor com formato inválido. São necessários 3 textos separados por espaços';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_template.lng b/interface/web/dns/lib/lang/pt_dns_template.lng
new file mode 100644
index 0000000000000000000000000000000000000000..9ee4e72228d1fd2572cb1947cb2a87297d8ce831
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_template.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['name_txt'] = 'Nome';
+$wb['fields_txt'] = 'Campos';
+$wb['template_txt'] = 'Template';
+$wb['visible_txt'] = 'Visível';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_template_list.lng b/interface/web/dns/lib/lang/pt_dns_template_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1c89fd5156b89795c437d85cd76cd31b92cf6ea9
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_template_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Assistente de Templates DNS';
+$wb['visible_txt'] = 'Visível';
+$wb['name_txt'] = 'Nome';
+$wb['add_new_record_txt'] = 'Adicionar novo registo';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_txt.lng b/interface/web/dns/lib/lang/pt_dns_txt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8e731078ac92bce2939eb048a3fb57a652e5a03e
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_txt.lng
@@ -0,0 +1,16 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['zone_txt'] = 'Zona';
+$wb['name_txt'] = 'Hostname';
+$wb['type_txt'] = 'tipo';
+$wb['data_txt'] = 'Text';
+$wb['ttl_txt'] = 'TTL';
+$wb['active_txt'] = 'Activo';
+$wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
+$wb['no_zone_perm'] = 'Não tem permissão para adicionar registos a está zona DNS.';
+$wb['name_error_empty'] = 'Hostname em branco.';
+$wb['name_error_regex'] = 'Hostname tem um formato inválido.';
+$wb['data_error_empty'] = 'Endereço-IP em branco';
+$wb['data_error_regex'] = 'Endereço-IP formato inválido';
+?>
+
diff --git a/interface/web/dns/lib/lang/pt_dns_wizard.lng b/interface/web/dns/lib/lang/pt_dns_wizard.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8e1663c1e2828c1801319c7f08e8d0c9a7f69fba
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_wizard.lng
@@ -0,0 +1,30 @@
+<?php
+$wb['template_id_txt'] = 'Template';
+$wb['server_id_txt'] = 'Servidor';
+$wb['client_txt'] = 'Cliente';
+$wb['btn_save_txt'] = 'Criar Registo DNS';
+$wb['btn_cancel_txt'] = 'Cancelar';
+$wb['domain_txt'] = 'Domínio';
+$wb['email_txt'] = 'Correio';
+$wb['ns1_txt'] = 'NS 1';
+$wb['ns2_txt'] = 'NS 2';
+$wb['ip_txt'] = 'Endereço IP';
+$wb['error_origin_empty'] = 'Origem em branco.';
+$wb['error_ns_empty'] = 'NS vazio.';
+$wb['error_mbox_empty'] = 'Mbox vazia.';
+$wb['error_refresh_empty'] = 'Refresh vazio.';
+$wb['error_retry_empty'] = 'Retry vazio.';
+$wb['error_expire_empty'] = 'Expire vazio.';
+$wb['error_minimum_empty'] = 'Minimum vazio.';
+$wb['error_ttl_empty'] = 'TTL vazio.';
+$wb['error_domain_empty'] = 'Domínio vazio';
+$wb['error_ip_empty'] = 'IP vazio.';
+$wb['error_ns1_empty'] = 'NS1 vazio.';
+$wb['error_ns2_empty'] = 'NS2 vazio.';
+$wb['error_email_empty'] = 'Correio vazio.';
+$wb['error_domain_regex'] = 'Domínio contém caracteres inválidos.';
+$wb['error_ns1_regex'] = 'NS1 contém caracteres inválidos.';
+$wb['error_ns2_regex'] = 'NS2 contém caracteres inválidos.';
+$wb['error_email_regex'] = 'Email não contém um endereço de correio válido.';
+?>
+
diff --git a/interface/web/help/lib/lang/pt.lng b/interface/web/help/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..adace22c82874490a56500045f509dc5a0b8e8f5
--- /dev/null
+++ b/interface/web/help/lib/lang/pt.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['Support Message'] = 'Mensagem de Suporte';
+$wb['Message'] = 'Mensagem';
+$wb['Send message'] = 'Enviar Mensagem';
+$wb['View messages'] = 'Ver Mensagem';
+$wb['Support'] = 'Suporte';
+$wb['About ISPConfig'] = 'Sobre o ISPConfig';
+$wb['Version'] = 'Versão';
+?>
+
diff --git a/interface/web/help/lib/lang/pt_support_message.lng b/interface/web/help/lib/lang/pt_support_message.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ce48ca9d28166d29c72d7c439732496dc1895424
--- /dev/null
+++ b/interface/web/help/lib/lang/pt_support_message.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['recipient_id_txt'] = 'Para';
+$wb['sender_id_txt'] = 'De';
+$wb['subject_txt'] = 'Assunto';
+$wb['message_txt'] = 'Mensagem';
+$wb['tstamp_txt'] = 'Data';
+?>
+
diff --git a/interface/web/help/lib/lang/pt_support_message_list.lng b/interface/web/help/lib/lang/pt_support_message_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ffd7d85cecb7edabbd5eb429f78888d5b0410cfc
--- /dev/null
+++ b/interface/web/help/lib/lang/pt_support_message_list.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['list_head_txt'] = 'Mensagens de Suporte';
+$wb['sender_id_txt'] = 'De';
+$wb['subject_txt'] = 'Assunto';
+$wb['add_new_record_txt'] = 'Crie uma nova mensagem de suporte';
+?>
+
diff --git a/interface/web/login/lib/lang/pt.lng b/interface/web/login/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..48e217f598081726a8eb4c9c9906bfe995c7f71d
--- /dev/null
+++ b/interface/web/login/lib/lang/pt.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['pass_reset_txt'] = 'Uma nova senha foi gerada e ser-lhe-á enviada para o correio eletrônico registado no sistema.';
+$wb['pw_reset'] = 'Senha restabelecida! Ser-lhe-á enviada para o correio eletrônico registado no sistema.';
+$wb['pw_error'] = 'Nome de utilizador ou correio eletrônico não coincidem.';
+$wb['pw_error_noinput'] = 'Favor informar nome de utilizador e endereço de correio válidos.';
+$wb['pw_reset_mail_msg'] = 'A senha do painel de controle foi restabelecida. A nova senha é: ';
+$wb['pw_reset_mail_title'] = 'A senha do painel de controle foi restabelecida.';
+$wb['user_regex_error'] = 'O nome de utilizador contém mais de 64 caracteres ou contém caracteres inválidos.';
+$wb['pw_error_length'] = 'Tamanho da senha não pode ser maior do que 64 caracteres.';
+$wb['error_user_password_empty'] = 'Utilizador ou Senha em branco.';
+$wb['error_user_password_incorrect'] = 'Utilizador ou Senha inválida(o).';
+$wb['error_user_blocked'] = 'O utilizador está bloqueado.';
+$wb['error_user_too_many_logins'] = 'Várias tentativas de logins inválidas, faça uma nova tentativa dentro de 15 minutos.';
+$wb['username_txt'] = 'Utilizador ';
+$wb['password_txt'] = 'Senha';
+$wb['login_button_txt'] = 'Entrar';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt.lng b/interface/web/mail/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..2c051ce57a41aad36be62f9cc78e9792621f0177
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt.lng
@@ -0,0 +1,48 @@
+<?php
+$wb['Email Alias'] = 'Aliases de Correio';
+$wb['Email Blacklist'] = 'Lista Negra de Correio';
+$wb['Blacklist'] = 'Lista Negra';
+$wb['Mail Content Filter'] = 'Filtro de Conteúdo de Correio';
+$wb['Filter'] = 'Filtro';
+$wb['Mail Domain'] = 'Domínio de Correio';
+$wb['Domain'] = 'Domínio';
+$wb['Email Catchall'] = 'Correio Catchall';
+$wb['Email Forward'] = 'Encaminhamento de Correio';
+$wb['Get Email'] = 'Get Email';
+$wb['Spamfilter'] = 'Filtro Spam';
+$wb['Email Routing'] = 'Rota de Correio';
+$wb['Email transport'] = 'Transporte de Correio';
+$wb['Mailbox'] = 'Caixa de Correio';
+$wb['Autoresponder'] = 'Autoresponder';
+$wb['Mail Filter'] = 'Filtro de Correio';
+$wb['Custom Rules'] = 'Regras Personalizadas';
+$wb['Email filter'] = 'Filtro de Correio';
+$wb['Email Whitelist'] = 'Lista Branca de Correio';
+$wb['Whitelist'] = 'Lista Branca';
+$wb['Spamfilter blacklist'] = 'Filtro Spam (Lista Negra)';
+$wb['Spamfilter Config'] = 'Configuração do Filtro Spam';
+$wb['Server'] = 'Servidor';
+$wb['Spamfilter policy'] = 'Políticas de Filtro Spam';
+$wb['Policy'] = 'Política';
+$wb['Quarantine'] = 'Quarentena';
+$wb['Tag-Level'] = 'Tag-Level';
+$wb['Other'] = 'Outros';
+$wb['Spamfilter users'] = 'Utilizadores de Filtro Spam';
+$wb['Users'] = 'Utilizadores';
+$wb['Spamfilter Whitelist'] = 'Filtro Spam Lista Branca';
+$wb['Email'] = 'Correio';
+$wb['Email Mailbox'] = 'Caixa de Correio';
+$wb['Email Accounts'] = 'Contas de Correio';
+$wb['User / Domain'] = 'Utilizador / Domínio';
+$wb['Server Settings'] = 'Configurações do Servidor';
+$wb['Fetchmail'] = 'Fetchmail';
+$wb['Mailbox traffic'] = 'Tráfego de Correio';
+$wb['Statistics'] = 'Estatísticas';
+$wb['Postfix Whitelist'] = 'Postfix (Lista Branca)';
+$wb['Postfix Blacklist'] = 'Postfix (Lista Negra)';
+$wb['Content Filter'] = 'Filtros de Conteúdo';
+$wb['Global Filters'] = 'Filtros Globais';
+$wb['Domain Alias'] = 'Domínios Alias';
+$wb['Relay Recipients'] = 'Recipientes de Relay';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_alias.lng b/interface/web/mail/lib/lang/pt_mail_alias.lng
new file mode 100644
index 0000000000000000000000000000000000000000..abb37dc553a90d1db43e7228f1e8d8fe714d192a
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_alias.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['email_txt'] = 'Correio';
+$wb['destination_txt'] = 'Destino';
+$wb['active_txt'] = 'Activo';
+$wb['email_error_isemail'] = 'Endereço de correio inválido.';
+$wb['email_error_unique'] = 'Endereço de correio duplicado.';
+$wb['no_domain_perm'] = 'Não tem permissão para este domínio.';
+$wb['destination_error_isemail'] = 'Endereço de destino inválido';
+$wb['limit_mailalias_txt'] = 'O número máximo de aliases para a conta foi atingido.';
+$wb['duplicate_mailbox_txt'] = 'Já existe uma caixa de correio com este endereço.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_alias_list.lng b/interface/web/mail/lib/lang/pt_mail_alias_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7c5c9e3fc25adebc5900deb520c2f3c0ef1df0c5
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_alias_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Aliases de Correio';
+$wb['active_txt'] = 'Activo';
+$wb['source_txt'] = 'origem';
+$wb['destination_txt'] = 'Destino';
+$wb['email_txt'] = 'Correio';
+$wb['add_new_record_txt'] = 'Adicionar Alias';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_aliasdomain.lng b/interface/web/mail/lib/lang/pt_mail_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f98f59e764543c6cc86e9643c7d07ae2b702b5dc
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_aliasdomain.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['source_txt'] = 'Origem';
+$wb['destination_txt'] = 'Destino';
+$wb['active_txt'] = 'Activo';
+$wb['no_domain_perm'] = 'Não tem permissão para este domínio.';
+$wb['limit_mailaliasdomain_txt'] = 'O número máximo de domínios aliases para a conta foi atingido.';
+$wb['source_destination_identical_txt'] = 'Origem e Destino são os mesmos.';
+$wb['source_error_empty'] = 'Domínio de origem está em branco.';
+$wb['source_error_unique'] = 'Domínio de origem duplicado.';
+$wb['source_error_regex'] = 'Nome do domínio de origem inválido.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/pt_mail_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..518720679586ad419db40f44a4517edd260a8abb
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Domínio Alias';
+$wb['active_txt'] = 'Activo';
+$wb['source_txt'] = 'Origem';
+$wb['destination_txt'] = 'Destino';
+$wb['add_new_record_txt'] = 'Adicionar Domínio Alias';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_blacklist.lng b/interface/web/mail/lib/lang/pt_mail_blacklist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5a2da4f48e7f70653a4796d7dd509d25f4691511
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_blacklist.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Endereço Lista Negra';
+$wb['recipient_txt'] = 'Recipiente';
+$wb['active_txt'] = 'Activo';
+$wb['source_error_notempty'] = 'Endereço em branco.';
+$wb['type_txt'] = 'Tipo';
+$wb['limit_mailfilter_txt'] = 'O número máximo de filtros de correio para a conta foi atingido..';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_blacklist_list.lng b/interface/web/mail/lib/lang/pt_mail_blacklist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..efb50b1d9a063a90f1f8d74c3086333a9966ec12
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_blacklist_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Correio Lista Negra';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Correio na lista negra';
+$wb['type_txt'] = 'Tipo';
+$wb['recipient_txt'] = 'Recipiente';
+$wb['add_new_record_txt'] = 'Adicionar novo registo à lista';
+$wb['access_txt'] = 'acesso';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_content_filter.lng b/interface/web/mail/lib/lang/pt_mail_content_filter.lng
new file mode 100644
index 0000000000000000000000000000000000000000..39c0a618dfa358708bee0509c8230e5e346c3830
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_content_filter.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['type_txt'] = 'Filtro';
+$wb['pattern_txt'] = 'Padrão de Expressão Regular.';
+$wb['data_txt'] = 'Data';
+$wb['action_txt'] = 'Acção';
+$wb['active_txt'] = 'Activo';
+$wb['pattern_error_empty'] = 'Padrão em branco';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_content_filter_list.lng b/interface/web/mail/lib/lang/pt_mail_content_filter_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..e81fded7bc3bb1cf6350fc77f48e2da0fc50a49d
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_content_filter_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Cabeçalhos Postfix e Body Checks';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['pattern_txt'] = 'Padrão';
+$wb['action_txt'] = 'Acção';
+$wb['add_new_record_txt'] = 'Adicionar Filtro de Conteúdo';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_domain.lng b/interface/web/mail/lib/lang/pt_mail_domain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ec01a7eb789aedc7ce56b5133f46e49de6fc78cd
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_domain.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Domínio';
+$wb['type_txt'] = 'Tipo';
+$wb['active_txt'] = 'Activo';
+$wb['domain_error_empty'] = 'Domínio em branco.';
+$wb['domain_error_unique'] = 'Domínio duplicado';
+$wb['domain_error_regex'] = 'Nome de domínio inválido';
+$wb['client_txt'] = 'Cliente';
+$wb['limit_maildomain_txt'] = 'O número máximo de contas de correio eletrônico para este domínio foi atingido.';
+$wb['policy_txt'] = 'Filtro Anti-Spam';
+$wb['no_policy'] = '- desactivado -';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_domain_catchall.lng b/interface/web/mail/lib/lang/pt_mail_domain_catchall.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3a18b2f55ec6aa48911edd9df0768a59b24b085c
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_domain_catchall.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['domain_txt'] = 'Domínio';
+$wb['destination_txt'] = 'Destino';
+$wb['active_txt'] = 'Activo';
+$wb['domain_error_unique'] = 'Já existe um registo de Catchall para este domínio.';
+$wb['no_domain_perm'] = 'Não tem permissão para este domínio.';
+$wb['domain_error_regex'] = 'O nome do domínio contém caracteres inválidos';
+$wb['limit_mailcatchall_txt'] = 'O número máximo de catchall para este domínio foi atingido.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/pt_mail_domain_catchall_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f23bc678169138ee8c0e40edfd6b0b5418db1f5e
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_domain_catchall_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Catch-all de Correio';
+$wb['active_txt'] = 'Activo';
+$wb['source_txt'] = 'origem';
+$wb['destination_txt'] = 'Endereço de destino';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Domínio';
+$wb['add_new_record_txt'] = 'Adicionar Catch-all';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_domain_list.lng b/interface/web/mail/lib/lang/pt_mail_domain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6a493a18702efb790d0728625442abb59d9dbbb7
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_domain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Domínio de Correio';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Domínio';
+$wb['add_new_record_txt'] = 'Adicionar Domínio';
+$wb['active_txt'] = 'Activo';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_forward.lng b/interface/web/mail/lib/lang/pt_mail_forward.lng
new file mode 100644
index 0000000000000000000000000000000000000000..9acc18a911a3417551fe5e61150b81e9a1c56733
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_forward.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['email_txt'] = 'Correio';
+$wb['destination_txt'] = 'Correio de Destino';
+$wb['active_txt'] = 'Activo';
+$wb['limit_mailforward_txt'] = 'O número máximo de encaminhamentos para a conta foi atingido.';
+$wb['duplicate_mailbox_txt'] = 'Já existe uma caixa de correio com este endereço.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_forward_list.lng b/interface/web/mail/lib/lang/pt_mail_forward_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..db6622f6babefcc84f2518bd82cfa1287dc65418
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_forward_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Encaminhamento de Correio';
+$wb['active_txt'] = 'Activo';
+$wb['source_txt'] = 'origem';
+$wb['destination_txt'] = 'Destino';
+$wb['email_txt'] = 'Correio';
+$wb['add_new_record_txt'] = 'Adicionar Encaminhamento';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_get.lng b/interface/web/mail/lib/lang/pt_mail_get.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0d86fe648aa0dee923b0d04a69f00c13ca80f2cd
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_get.lng
@@ -0,0 +1,17 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['type_txt'] = 'Tipo';
+$wb['source_server_txt'] = 'Servidor Pop3/Imap';
+$wb['source_username_txt'] = 'Utilizador ';
+$wb['source_password_txt'] = 'Senha';
+$wb['source_delete_txt'] = 'Remover mensagens da origem após a recepção';
+$wb['destination_txt'] = 'Destino';
+$wb['active_txt'] = 'Activo';
+$wb['limit_fetchmail_txt'] = 'O número máximo de Fetchmail para a conta foi atingido.';
+$wb['source_server_error_isempty'] = 'Servidor em branco.';
+$wb['source_username_error_isempty'] = 'Utilizador em branco.';
+$wb['source_password_error_isempty'] = 'Senha em branco.';
+$wb['destination_error_isemail'] = 'Destino não seleccionado.';
+$wb['source_server_error_regex'] = 'Servidor Pop3/Imap não é um nome de domínio válido.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_get_list.lng b/interface/web/mail/lib/lang/pt_mail_get_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3ec9b263ce1258ebf8faa7005c0fd12f8bf1f584
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_get_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Fetch de mensagens de um servidor POP3 / IMAP';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_server_txt'] = 'Servidor Externo';
+$wb['source_username_txt'] = 'Utilizador ';
+$wb['destination_txt'] = 'Destino';
+$wb['add_new_record_txt'] = 'Adicionar Conta';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_relay_recipient.lng b/interface/web/mail/lib/lang/pt_mail_relay_recipient.lng
new file mode 100644
index 0000000000000000000000000000000000000000..fe741e2719f92674b6024ba909ac448ea8bf3b49
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_relay_recipient.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Recipiente de Relay';
+$wb['recipient_txt'] = 'Recipiente';
+$wb['active_txt'] = 'Activo';
+$wb['source_error_notempty'] = 'Endereço em branco.';
+$wb['type_txt'] = 'Type';
+$wb['limit_mailfilter_txt'] = 'O número máximo de filtros para esta conta já foi atingido.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/pt_mail_relay_recipient_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4e2ca4c9304e9a9e6da62a45228308c906a738ce
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_relay_recipient_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Recipientes Relay';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Endereço Recipiente';
+$wb['recipient_txt'] = 'Recipiente';
+$wb['add_new_record_txt'] = 'Adicionar Recipiente Relay';
+$wb['access_txt'] = 'acesso';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_spamfilter.lng b/interface/web/mail/lib/lang/pt_mail_spamfilter.lng
new file mode 100644
index 0000000000000000000000000000000000000000..580c204b55ffc634c3d1ee9e7626a1d77c0fce7b
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_spamfilter.lng
@@ -0,0 +1,18 @@
+<?php
+$wb['email_txt'] = 'Email';
+$wb['spam_rewrite_score_int_txt'] = 'Pontução de Rewrite';
+$wb['spam_redirect_score_int_txt'] = 'Pontuação de Redireccionamento';
+$wb['spam_delete_score_int_txt'] = 'Remover Pontuação';
+$wb['spam_rewrite_subject_txt'] = 'Re-escrever assunto';
+$wb['spam_redirect_maildir_txt'] = 'Redireccionar Caixa de Correio';
+$wb['active_txt'] = 'Active';
+$wb['spam_rewrite_txt'] = 'Re-escrever assunto da mensagem depois desta pontuação.';
+$wb['spam_redirect_txt'] = 'Redireccione esta mensagem depois desta pontuação para esta caixa postal';
+$wb['spam_delete_txt'] = 'Remover esta mensagem depois desta pontuação.';
+$wb['disable_txt'] = 'Dica: Para desactivar uma opção de filtro, configure a pontuação como 0.00.';
+$wb['email_error_isemail'] = 'Endereço de correio inválido.';
+$wb['email_error_unique'] = 'Já existem registos de spamfilter para esta caixa de correio.';
+$wb['spam_redirect_maildir_purge_txt'] = 'Remover Maildir depois';
+$wb['days_txt'] = 'Dias.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/pt_mail_spamfilter_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..03ef40df84183d6f6e599a235603be54988554fe
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_spamfilter_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Filtro Anti-Spam';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['server_name_txt'] = 'nome_servidor';
+$wb['email_txt'] = 'Correio';
+$wb['add_new_record_txt'] = 'Adicionar Filtro anti-spam';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_transport.lng b/interface/web/mail/lib/lang/pt_mail_transport.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c749a81574b849a5d91000637f0f717019e9bf56
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_transport.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Domínio';
+$wb['destination_txt'] = 'Destino';
+$wb['type_txt'] = 'Tipo';
+$wb['mx_txt'] = 'Sem MX lookup';
+$wb['sort_order_txt'] = 'Ordenar por';
+$wb['active_txt'] = 'Activo';
+$wb['limit_mailrouting_txt'] = 'O número máximo de rotas para a conta foi atingido.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_transport_list.lng b/interface/web/mail/lib/lang/pt_mail_transport_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..43136582a6a2f7b1ebbe393daaecf8837e7b676f
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_transport_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Rota Avançada de Correio';
+$wb['active_txt'] = 'Activa';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Domínio';
+$wb['transport_txt'] = 'Transporte';
+$wb['sort_order_txt'] = 'Ordenar por';
+$wb['add_new_record_txt'] = 'Adicionar Transporte';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_user.lng b/interface/web/mail/lib/lang/pt_mail_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..939dade35e62683cb3afd8812ca503e1e017f268
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_user.lng
@@ -0,0 +1,40 @@
+<?php
+$wb['custom_mailfilter_txt'] = 'Formula de filtro de correio';
+$wb['email_txt'] = 'Correio';
+$wb['cryptpwd_txt'] = 'Senha';
+$wb['password_strength_txt'] = 'Tamanho da Senha';
+$wb['active_txt'] = 'Activo';
+$wb['email_error_isemail'] = 'Endereço de Correio Inválido.';
+$wb['email_error_unique'] = 'Endereço de Correio Duplicado.';
+$wb['autoresponder_text_txt'] = 'Texto';
+$wb['autoresponder_txt'] = 'Autoresponder';
+$wb['no_domain_perm'] = 'Sem permissão para este domínio.';
+$wb['error_no_pwd'] = 'Senha em branco.';
+$wb['quota_error_isint'] = 'O tamanho da caixa de correio deve ser um número.';
+$wb['quota_txt'] = 'Cota';
+$wb['server_id_txt'] = 'Aerver_id';
+$wb['password_txt'] = 'Senha';
+$wb['maildir_txt'] = 'Maildir';
+$wb['postfix_txt'] = 'Permitir Recepção';
+$wb['access_txt'] = 'Permitir Acesso';
+$wb['policy_txt'] = 'Spamfilter';
+$wb['no_policy'] = '- desactivado -';
+$wb['limit_mailbox_txt'] = 'O número máximo de caixas de correio para a conta foi atingido.';
+$wb['limit_mailquota_txt'] = 'O espaço em disco disponível para criação de contas foi atingido.';
+$wb['welcome_mail_fromname_txt'] = 'LAsi';
+$wb['welcome_mail_fromemail_txt'] = 'webmaster@localhost.tld';
+$wb['welcome_mail_subject'] = 'Nova conta de correio.';
+$wb['welcome_mail_message'] = 'Parabéns a conta de correio foi criada.';
+$wb['disableimap_txt'] = 'Desactivar IMAP';
+$wb['disablepop3_txt'] = 'Desactivar POP3';
+$wb['duplicate_alias_or_forward_txt'] = 'Já existe um alias ou encaminhamento com este endereço de correio.';
+$wb['quota_error_value'] = 'Valor de cota inválido. Valores válidos são: 0 para ilimitado ou números > 1';
+$wb['autoresponder_start_date_txt'] = 'Início:';
+$wb['autoresponder_start_date_isfuture'] = 'A data de ínicio não pode estar no passado.';
+$wb['autoresponder_end_date_txt'] = 'Termino:';
+$wb['autoresponder_end_date_isgreater'] = 'A data de início deve ser menor que a data de termino.';
+$wb['move_junk_txt'] = 'Mover Spam para a pasta JUNK';
+$wb['name_txt'] = 'Realname';
+$wb['name_optional_txt'] = '(Optional)';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_user_filter.lng b/interface/web/mail/lib/lang/pt_mail_user_filter.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7554389ffb64314c4abf56e1b5d915545a73da32
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_user_filter.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['rulename_txt'] = 'Nome';
+$wb['action_txt'] = 'Acção';
+$wb['target_txt'] = 'Pasta';
+$wb['active_txt'] = 'Activo';
+$wb['rulename_error_empty'] = 'Nome está em branco.';
+$wb['searchterm_is_empty'] = 'Termo de busca em branco.';
+$wb['source_txt'] = 'Origem';
+$wb['target_error_regex'] = 'O alvo só pode conter os caracteres: a-z, 0-9, -, . e _';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_user_filter_list.lng b/interface/web/mail/lib/lang/pt_mail_user_filter_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f0075f92ba46a46e6929c6e7d8bf7c0949ea9495
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_user_filter_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['rulename_txt'] = 'Nome';
+$wb['add_new_record_txt'] = 'Adicionar Filtro';
+$wb['page_txt'] = 'Página';
+$wb['page_of_txt'] = 'de';
+$wb['delete_confirmation'] = 'Tem a certeza que deseja remover este mailfilter?';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_user_list.lng b/interface/web/mail/lib/lang/pt_mail_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6150045615d82d45e6cf43345a9eb2ba30eb9118
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_user_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Caixa de Correio';
+$wb['email_txt'] = 'Correio';
+$wb['autoresponder_txt'] = 'Autoresponder';
+$wb['add_new_record_txt'] = 'Adicionar nova caixa de correio';
+$wb['name_txt'] = 'Realname';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_user_stats_list.lng b/interface/web/mail/lib/lang/pt_mail_user_stats_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..bb8a6a4cde9a107ee18d62b6c610b282daa9c67d
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_user_stats_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Tráfego de Correio';
+$wb['email_txt'] = 'Correio';
+$wb['this_month_txt'] = 'Este Mês';
+$wb['last_month_txt'] = 'Último Mês';
+$wb['this_year_txt'] = 'Este Ano';
+$wb['last_year_txt'] = 'Último Ano';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_whitelist.lng b/interface/web/mail/lib/lang/pt_mail_whitelist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6853a4b83a04326bb8705d174eff3bcdf1da1264
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_whitelist.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Endereço Lista Branca';
+$wb['recipient_txt'] = 'Recipiente';
+$wb['active_txt'] = 'Activo';
+$wb['source_error_notempty'] = 'Endereço em Branco.';
+$wb['type_txt'] = 'Tipo';
+$wb['limit_mailfilter_txt'] = 'O número máximo de filtros para a conta foi atingido.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_mail_whitelist_list.lng b/interface/web/mail/lib/lang/pt_mail_whitelist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1ec69a34bb8364f8de607ffce4889eb4e5a88dc4
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_mail_whitelist_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Correio Lista Branca';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['source_txt'] = 'Endereços na Lista Branca';
+$wb['type_txt'] = 'Tipo';
+$wb['recipient_txt'] = 'Recipiente';
+$wb['add_new_record_txt'] = 'Adicionar Endereço';
+$wb['access_txt'] = 'acesso';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/pt_spamfilter_blacklist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..16b8bc6329bafc39477c1def39a0ac2632f5e9ff
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_blacklist.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['wb_txt'] = 'wb';
+$wb['rid_txt'] = 'Utilizador ';
+$wb['email_txt'] = 'Email';
+$wb['priority_txt'] = 'Prioridade';
+$wb['active_txt'] = 'Activo';
+$wb['limit_spamfilter_wblist_txt'] = 'O número máximo de registos de lista negra /  branca foi atingido para esta conta.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/pt_spamfilter_blacklist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b93d91b8d947d36c08975159ffa7530390f3990f
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_blacklist_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Spamfilter Lista Negra';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['priority_txt'] = 'Prioridade';
+$wb['rid_txt'] = 'Utilizador ';
+$wb['email_txt'] = 'Correio na Lista Negra';
+$wb['add_new_record_txt'] = 'Adicionar novo registo à lista';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_config.lng b/interface/web/mail/lib/lang/pt_spamfilter_config.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5d2d639a16b2f1cbf5df1dd3144456894b716687
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_config.lng
@@ -0,0 +1,21 @@
+<?php
+$wb['getmail_config_dir_txt'] = 'Pasta de Configuração Getmail ';
+$wb['ip_address_txt'] = 'Endereço IP';
+$wb['netmask_txt'] = 'Mascara de Rede';
+$wb['gateway_txt'] = 'Gateway';
+$wb['hostname_txt'] = 'Hostname';
+$wb['nameservers_txt'] = 'Servidor de Nomes';
+$wb['module_txt'] = 'Server Module';
+$wb['maildir_path_txt'] = 'Pasta Maildir';
+$wb['homedir_path_txt'] = 'Pasta Homedir';
+$wb['mailuser_uid_txt'] = 'Utilizador de Correio UID';
+$wb['mailuser_gid_txt'] = 'Utilizador de Correio GID';
+$wb['mailuser_name_txt'] = 'Nome do Utilizador de Correio';
+$wb['mailuser_group_txt'] = 'Grupo do Utilizador de Correio';
+$wb['relayhost_txt'] = 'Host Relay';
+$wb['relayhost_user_txt'] = 'Utilizador Host Relay';
+$wb['relayhost_password_txt'] = 'Senha Host Relay';
+$wb['mailbox_size_limit_txt'] = 'Tamanho Caixa de Correio';
+$wb['message_size_limit_txt'] = 'Tamanho da Mensagem';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_config_list.lng b/interface/web/mail/lib/lang/pt_spamfilter_config_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..9857bc7599d1f64d9afc44ca767936a0b8c2a0f7
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_config_list.lng
@@ -0,0 +1,6 @@
+<?php
+$wb['list_head_txt'] = 'Configurações do Servidor';
+$wb['server_name_txt'] = 'Servidor';
+$wb['server_id_txt'] = 'id_servidor';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_policy.lng b/interface/web/mail/lib/lang/pt_spamfilter_policy.lng
new file mode 100644
index 0000000000000000000000000000000000000000..18df72b1f689034a19a9f880dbc96eb9c825ba4b
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_policy.lng
@@ -0,0 +1,39 @@
+<?php
+$wb['policy_name_txt'] = 'Nome da Regra';
+$wb['virus_lover_txt'] = 'Permitir Vírus';
+$wb['spam_lover_txt'] = 'Permitir SPAM';
+$wb['banned_files_lover_txt'] = 'Permitir Extensões Banidas';
+$wb['bad_header_lover_txt'] = 'Permitir Bad header';
+$wb['bypass_virus_checks_txt'] = 'Bypassar checagem de vírus';
+$wb['bypass_banned_checks_txt'] = 'Bypassar checagem de banimento';
+$wb['bypass_header_checks_txt'] = 'Bypassar checagem de header';
+$wb['virus_quarantine_to_txt'] = 'Encaminhar o vírus para o correio';
+$wb['spam_quarantine_to_txt'] = 'Encaminhar o spam para o correio';
+$wb['banned_quarantine_to_txt'] = 'Encaminhar banimento para o correio';
+$wb['bad_header_quarantine_to_txt'] = 'Encaminhar bad header para o correio';
+$wb['clean_quarantine_to_txt'] = 'Encaminhamento limpo para o correio';
+$wb['other_quarantine_to_txt'] = 'Encaminhar para outro correio';
+$wb['spam_tag_level_txt'] = 'Nível 1 de marcação de SPAM';
+$wb['spam_tag2_level_txt'] = 'Nível 1 de marcação de SPAM';
+$wb['spam_kill_level_txt'] = 'Nível kill de SPAM';
+$wb['spam_dsn_cutoff_level_txt'] = 'Nível de corte de dns SPAM';
+$wb['spam_quarantine_cutoff_level_txt'] = 'Nível de corte de quarentena SPAM';
+$wb['spam_modifies_subj_txt'] = 'Modificar assunto de mensagem com SPAM';
+$wb['spam_subject_tag_txt'] = 'Marcação de assunto SPAM 1';
+$wb['spam_subject_tag2_txt'] = 'Marcação de assunto SPAM 1';
+$wb['addr_extension_virus_txt'] = 'Addr. extensão de virus';
+$wb['addr_extension_spam_txt'] = 'Addr. extensão de SPAM';
+$wb['addr_extension_banned_txt'] = 'Addr. extensão de banimento';
+$wb['addr_extension_bad_header_txt'] = 'Addr extensão de bad header';
+$wb['warnvirusrecip_txt'] = 'Aviso de recipiente de vírus.';
+$wb['warnbannedrecip_txt'] = 'Aviso de recipiente de banimento.';
+$wb['warnbadhrecip_txt'] = 'Aviso de recipiente de bad header.';
+$wb['newvirus_admin_txt'] = 'Administrador Novo vírus';
+$wb['virus_admin_txt'] = 'Administrador Vírus';
+$wb['banned_admin_txt'] = 'Administrador de banimento';
+$wb['bad_header_admin_txt'] = 'Administrador de Bad header';
+$wb['spam_admin_txt'] = 'Administrador SPAM';
+$wb['message_size_limit_txt'] = 'Tamanho limite da mensagem';
+$wb['banned_rulenames_txt'] = 'Regras de Banimento';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/pt_spamfilter_policy_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7675b1de2758cf683e9669169d3ef53b940559a3
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_policy_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Políticas de Spam';
+$wb['policy_name_txt'] = 'Nome';
+$wb['virus_lover_txt'] = 'Permitir Virus';
+$wb['spam_lover_txt'] = 'Permitir Spam';
+$wb['banned_files_lover_txt'] = 'Permitir Extensões Banidas';
+$wb['bad_header_lover_txt'] = 'Permitir Bad Header';
+$wb['add_new_record_txt'] = 'Adicionar Registo';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_users.lng b/interface/web/mail/lib/lang/pt_spamfilter_users.lng
new file mode 100644
index 0000000000000000000000000000000000000000..aa8eea9d19b5657581b0d515923a2fb0b85d5703
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_users.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['priority_txt'] = 'Prioridade';
+$wb['policy_id_txt'] = 'Política';
+$wb['email_txt'] = 'Correio (Padrão)';
+$wb['fullname_txt'] = 'Nome';
+$wb['local_txt'] = 'Local';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_users_list.lng b/interface/web/mail/lib/lang/pt_spamfilter_users_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b2398ddcf0a567d42e339d3be4ec3644fb0a4c37
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_users_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Filtro Anti-Spam Utilizadores';
+$wb['local_txt'] = 'Local';
+$wb['server_id_txt'] = 'Servidor';
+$wb['priority_txt'] = 'Prioridade';
+$wb['policy_id_txt'] = 'Políticas';
+$wb['fullname_txt'] = 'Nome';
+$wb['email_txt'] = 'Email';
+$wb['add_new_record_txt'] = 'Adicionar Utilizador ';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/pt_spamfilter_whitelist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..092bf347a5d6afd3271b45580bf0c301e78a8ead
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_whitelist.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['wb_txt'] = 'wb';
+$wb['rid_txt'] = 'Utilizador ';
+$wb['email_txt'] = 'Correio Eletrônico';
+$wb['priority_txt'] = 'Prioridade';
+$wb['active_txt'] = 'Activo';
+$wb['limit_spamfilter_wblist_txt'] = 'O número máximo de registos da lista branca / negra foi atingido para esta conta.';
+?>
+
diff --git a/interface/web/mail/lib/lang/pt_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/pt_spamfilter_whitelist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b5b68ba1e4b7bbca63c10e0f0ba0d7f70212b859
--- /dev/null
+++ b/interface/web/mail/lib/lang/pt_spamfilter_whitelist_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Spamfilter Lista Branca';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['priority_txt'] = 'Prioridade';
+$wb['rid_txt'] = 'Utilizador ';
+$wb['email_txt'] = 'Correio na lista branca';
+$wb['add_new_record_txt'] = 'Adicionar um novo correio';
+?>
+
diff --git a/interface/web/monitor/lib/lang/pt.lng b/interface/web/monitor/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6720285f44e3e7bb9fce91230cddb4ac949cf871
--- /dev/null
+++ b/interface/web/monitor/lib/lang/pt.lng
@@ -0,0 +1,139 @@
+<?php
+$wb['Server online since'] = 'Servidor online desde';
+$wb['Users online'] = 'Utilizadores Online';
+$wb['System load 1 minute'] = 'Sistema carregado 1 Min';
+$wb['System load 5 minutes'] = 'Sistema carregado 5 Min';
+$wb['System load 15 minutes'] = 'Sistema carregado 15 Min';
+$wb['Server Load'] = 'Servidor carregado';
+$wb['Disk usage'] = 'Uso do disco';
+$wb['Memory usage'] = 'Uso da memória';
+$wb['no_data_serverload_txt'] = 'Sem registo carga do servidor disponíveis no momento. Tente novamente mais tarde.';
+$wb['no_data_memusage_txt'] = 'Sem registo uso de memória disponíveis no momento. Tente novamente mais tarde.';
+$wb['no_data_diskusage_txt'] = 'Sem registo de uso de disco disponíveis no momento. Tente novamente mais tarde.';
+$wb['no_data_cpuinfo_txt'] = 'Sem registo de CPU disponíveis no momento. Tente novamente mais tarde.';
+$wb['no_data_services_txt'] = 'Sem registo sobre os serviços disponíveis no momento. Tente novamente mais tarde.';
+$wb['no_data_updates_txt'] = 'Sem actualização de dados disponíveis no momento. Tente novamente mais tarde.';
+$wb['no_data_raid_txt'] = 'Sem registo de RAID disponível no momento. Tente novamente mais tarde.';
+$wb['no_data_rkhunter_txt'] = 'Sem registo de RKHUNTER disponível no momento. Tente novamente mais tarde.';
+$wb['no_data_mailq_txt'] = 'Sem registo de fila de correio disponível no momento. Tente novamente mais tarde.';
+$wb['no_logdata_txt'] = 'Sem registo de log disponível no momento. Tente novamente mais tarde.';
+$wb['Monitoring'] = 'Monitoramento';
+$wb['Server to Monitor'] = 'Servidor a monitorar';
+$wb['Logfiles'] = 'Ficheiros de log';
+$wb['Status of services'] = 'Status dos serviços';
+$wb['No Refresh'] = 'Não actualize';
+$wb['minutes'] = 'minutos';
+$wb['Show Overview'] = 'Exibir Visão Geral';
+$wb['System State (All Servers)'] = 'Estado do Sistema (Todos os Servidores)';
+$wb['Hardware-Information'] = 'Informação de Hardware';
+$wb['Show CPU info'] = 'Exibir informações da CPU';
+$wb['Server State'] = 'Estado do Servidor';
+$wb['Show Update State'] = 'Exiba Status Actualizado';
+$wb['Show RAID state'] = 'Exiba Status do RAID';
+$wb['Show Server load'] = 'Exiba Carga do Servidor';
+$wb['Show Disk usage'] = 'Exiba Uso de Disco';
+$wb['Show Memory usage'] = 'Exiba Uso de Memória';
+$wb['Show Services'] = 'Exibir Serviços';
+$wb['Show Mail-Queue'] = 'Exibir Fila de Correio';
+$wb['Show Mail-Log'] = 'Exibir Log de Correio';
+$wb['Show Mail warn-Log'] = 'Exibir Log de Avisos de Correio';
+$wb['Show Mail err-Log'] = 'Exibir Log de Erros de Correio';
+$wb['Show System-Log'] = 'Exibir Log de Sistema';
+$wb['Show ISPC Cron-Log'] = 'Exibir ISPC Log do Cron';
+$wb['Show Freshclam-Log'] = 'Exibir Log do Freshclam';
+$wb['Show Clamav-Log'] = 'Exibir Log do Clamav';
+$wb['Show ISPConfig-Log'] = 'Exibir Log do ISPConfig';
+$wb['Show RKHunter-Log'] = 'Exibir Log do RKHunter';
+$wb['Show Jobqueue'] = 'Exibir Fila de Trabalho';
+$wb['monitor_general_serverstate_txt'] = 'Estado do Servidor';
+$wb['monitor_general_systemstate_txt'] = 'Estado do Sistema';
+$wb['monitor_diskusage_filesystem_txt'] = 'Sistema de Ficheiros';
+$wb['monitor_diskusage_type_txt'] = 'Tipo';
+$wb['monitor_diskusage_size_txt'] = 'Tamanho';
+$wb['monitor_diskusage_used_txt'] = 'Usado';
+$wb['monitor_diskusage_available_txt'] = 'Disponível';
+$wb['monitor_diskusage_usage_txt'] = 'Uso %';
+$wb['monitor_diskusage_mounted_txt'] = 'Montado em';
+$wb['monitor_logs_mail_txt'] = 'Log de Correio';
+$wb['monitor_logs_mailwarn_txt'] = 'Log de Avisos';
+$wb['monitor_logs_mailerr_txt'] = 'Log de Erros';
+$wb['monitor_logs_messages_txt'] = 'Log de Sistema';
+$wb['monitor_logs_ispccron_txt'] = 'Log do ISPConfig Cron';
+$wb['monitor_logs_freshclam_txt'] = 'Logo do Freshclam';
+$wb['monitor_logs_clamav_txt'] = 'Log do Clamav ';
+$wb['monitor_logs_ispc_txt'] = 'Log do ISPConfig';
+$wb['monitor_nomdadm_txt'] = 'mdadm não está instalado ou o servidor não suporta RAID';
+$wb['monitor_norkhunter_txt'] = 'RKHunter não está instalado, então não existem logs a exibir';
+$wb['monitor_serverstate_server_txt'] = 'Servidor';
+$wb['monitor_serverstate_state_txt'] = 'Estado';
+$wb['monitor_serverstate_unknown_txt'] = 'desconhecido';
+$wb['monitor_serverstate_info_txt'] = 'informações';
+$wb['monitor_serverstate_warning_txt'] = 'aviso';
+$wb['monitor_serverstate_critical_txt'] = 'crítico';
+$wb['monitor_serverstate_error_txt'] = 'erro';
+$wb['monitor_serverstate_moreinfo_txt'] = 'Mais informações..';
+$wb['monitor_serverstate_more_txt'] = 'Mais...';
+$wb['monitor_serverstate_fclamok_txt'] = 'Definições de anti-virus ok ...';
+$wb['monitor_serverstate_fclamoutdated_txt'] = 'Definições de anti-virus DESACTUALIZADAS!';
+$wb['monitor_serverstate_fclamunknown_txt'] = 'Freshclam: ???!';
+$wb['monitor_serverstate_hdok_txt'] = 'Espaço em disco está ok';
+$wb['monitor_serverstate_hdgoingfull_txt'] = 'O espaço em disco está cheio';
+$wb['monitor_serverstate_hdnearlyfull_txt'] = 'O disco está a ficar cheio';
+$wb['monitor_serverstate_hdveryfull_txt'] = 'O disco está muito cheio';
+$wb['monitor_serverstate_hdfull_txt'] = 'O disco não tem mais espaço';
+$wb['monitor_serverstate_hdunknown_txt'] = 'Disco Rígido: ???';
+$wb['monitor_serverstate_listok_txt'] = 'ok';
+$wb['monitor_serverstate_listinfo_txt'] = 'infomação';
+$wb['monitor_serverstate_listwarning_txt'] = 'aviso';
+$wb['monitor_serverstate_listcritical_txt'] = 'crítico';
+$wb['monitor_serverstate_listerror_txt'] = 'erro';
+$wb['monitor_serverstate_listunknown_txt'] = 'desconhecido';
+$wb['monitor_serverstate_loadok_txt'] = 'Servidor carregado ok';
+$wb['monitor_serverstate_loadheavy_txt'] = 'O servidor está com uma carga alta';
+$wb['monitor_serverstate_loadhigh_txt'] = 'O servidor está a ficar com uma carga alta';
+$wb['monitor_serverstate_loaghigher_txt'] = 'O servidor está com uma carga muito alta';
+$wb['monitor_serverstate_loadhighest_txt'] = 'O servidor está com uma carga extremamente alta';
+$wb['monitor_serverstate_loadunknown_txt'] = 'Carga do Servidor: ???';
+$wb['monitor_serverstate_mailqok_txt'] = 'A fila de correio está OK';
+$wb['monitor_serverstate_mailqheavy_txt'] = 'A fila de correio está a ficar com uma carga alta';
+$wb['monitor_serverstate_mailqhigh_txt'] = 'A fila de correio está com uma carga alta';
+$wb['monitor_serverstate_mailqhigher_txt'] = 'A fila de correio está com uma carga muito alta';
+$wb['monitor_serverstate_mailqhighest_txt'] = 'A fila de correio está com uma carga extremamente alta';
+$wb['monitor_serverstate_mailqunknown_txt'] = 'Fila de Correio: ???';
+$wb['monitor_serverstate_raidok_txt'] = 'O RAID está ok';
+$wb['monitor_serverstate_raidresync_txt'] = 'O RAID está em modo RESYNC';
+$wb['monitor_serverstate_raidfault_txt'] = 'O RAID possui um disco com falhas. Troque-o o mais rápido possível!';
+$wb['monitor_serverstate_raiderror_txt'] = 'O RAID deixou de funcionar.';
+$wb['monitor_serverstate_raidunknown_txt'] = 'Estado do RAID: ???';
+$wb['monitor_serverstate_servicesonline_txt'] = 'Todos os serviços necessários estão on-line';
+$wb['monitor_serverstate_servicesoffline_txt'] = 'Um ou mais serviços necessários estão off-line';
+$wb['monitor_serverstate_servicesunknown_txt'] = 'Serviços:???';
+$wb['monitor_serverstate_syslogok_txt'] = 'O System-Log está O.K.';
+$wb['monitor_serverstate_syslogwarning_txt'] = 'Existem alguns avisos no System-Log';
+$wb['monitor_serverstate_syslogerror_txt'] = 'Existem erros no System-Log';
+$wb['monitor_serverstate_syslogunknown_txt'] = 'sys-log:???';
+$wb['monitor_serverstate_updatesok_txt'] = 'O sistema está actualizado.';
+$wb['monitor_serverstate_updatesneeded_txt'] = 'Um ou mais componentes necessitam de actualização';
+$wb['monitor_serverstate_updatesunknown_txt'] = 'Actualização-Sistema:???';
+$wb['monitor_services_online_txt'] = 'Online';
+$wb['monitor_services_offline_txt'] = 'Offline';
+$wb['monitor_services_web_txt'] = 'Servidor Webr:';
+$wb['monitor_services_ftp_txt'] = 'Servidor FTP:';
+$wb['monitor_services_smtp_txt'] = 'Servidor SMTP:';
+$wb['monitor_services_pop_txt'] = 'Servidor POP:';
+$wb['monitor_services_imap_txt'] = 'Servidor IMAP:';
+$wb['monitor_services_mydns_txt'] = 'Servidor myDNS:';
+$wb['monitor_services_mysql_txt'] = 'Servidor MySql:';
+$wb['monitor_settings_datafromdate_txt'] = 'Data de: ';
+$wb['monitor_settings_datetimeformat_txt'] = 'd/m/Y H:i';
+$wb['monitor_settings_refreshsq_txt'] = 'Actualizar sequência:';
+$wb['monitor_settings_server_txt'] = 'Servidor';
+$wb['monitor_title_cpuinfo_txt'] = 'Informação da CPU';
+$wb['monitor_title_updatestate_txt'] = 'Actualizar Estado';
+$wb['monitor_title_mailq_txt'] = 'Fila de Correio';
+$wb['monitor_title_raidstate_txt'] = 'Estado do RAID';
+$wb['monitor_title_rkhunterlog_txt'] = 'Log do RKHunter';
+$wb['monitor_updates_nosupport_txt'] = 'Esta distribuição Linux não suporta este tipo de monitorização';
+$wb['monitor_title_fail2ban_txt'] = 'Log do Fail2Ban';
+?>
+
diff --git a/interface/web/monitor/lib/lang/pt_datalog_list.lng b/interface/web/monitor/lib/lang/pt_datalog_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..655e1e3f576f9b7dabbba68fc03260ca8eeeed18
--- /dev/null
+++ b/interface/web/monitor/lib/lang/pt_datalog_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Fila de Trabalho';
+$wb['tstamp_txt'] = 'Data';
+$wb['server_id_txt'] = 'Servidor';
+$wb['dbtable_txt'] = 'Tabela BD';
+$wb['action_txt'] = 'Acção';
+$wb['status_txt'] = 'Situação';
+?>
+
diff --git a/interface/web/monitor/lib/lang/pt_syslog_list.lng b/interface/web/monitor/lib/lang/pt_syslog_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f8ff04ce03d25af283d799c48242dd610dbdf157
--- /dev/null
+++ b/interface/web/monitor/lib/lang/pt_syslog_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Log do Painel';
+$wb['tstamp_txt'] = 'Data';
+$wb['server_id_txt'] = 'Servidor';
+$wb['loglevel_txt'] = 'Nível do Log';
+$wb['message_txt'] = 'Mensagem';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt.lng b/interface/web/sites/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d6bc1e110fb90e6e12174f7d505ca2da0a0035f4
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt.lng
@@ -0,0 +1,23 @@
+<?php
+$wb['Database'] = 'Base de Dados';
+$wb['Options'] = 'Opções';
+$wb['Shell User'] = 'Utilizador de Shell';
+$wb['Domain'] = 'Website';
+$wb['Redirect'] = 'Redireccionamento';
+$wb['SSL'] = 'SSL';
+$wb['Subdomain'] = 'Sub-domínio';
+$wb['Sites'] = 'Sites';
+$wb['Aliasdomain'] = 'Alias de Domínio';
+$wb['FTP-User'] = 'Utilizador -FTP';
+$wb['FTP'] = 'FTP';
+$wb['Shell-User'] = 'Utilizador -Shell';
+$wb['Shell'] = 'Shell';
+$wb['Websites'] = 'Websites';
+$wb['Stats'] = 'Estatísticas';
+$wb['Website'] = 'Website';
+$wb['Cron'] = 'Cron';
+$wb['Cron Jobs'] = 'Tarefas no Cron';
+$wb['Statistics'] = 'Estatísticas';
+$wb['Web traffic'] = 'Tráfego Web';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_cron.lng b/interface/web/sites/lib/lang/pt_cron.lng
new file mode 100644
index 0000000000000000000000000000000000000000..373a37dcc6b2809ae6281af70aebb7695f7d1bd1
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_cron.lng
@@ -0,0 +1,22 @@
+<?php
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Site Web Parente';
+$wb['active_txt'] = 'Activo';
+$wb['client_txt'] = 'Cliente';
+$wb['run_min_txt'] = 'Minutos';
+$wb['run_hour_txt'] = 'Horas';
+$wb['run_mday_txt'] = 'Dias do mês';
+$wb['run_month_txt'] = 'Meses';
+$wb['run_wday_txt'] = 'Dias da semana';
+$wb['command_txt'] = 'Comando a executar (os comandos serão executados via sh ou urls via wget)';
+$wb['limit_cron_txt'] = 'O número máximo de tarefas no cron foi atingido.';
+$wb['limit_cron_frequency_txt'] = 'A frequência das tarefas no cron ultrapassou o limite permitido.';
+$wb['run_min_error_format'] = 'Formato dos minutos inválido.';
+$wb['run_hour_error_format'] = 'Formato dos horas inválido.';
+$wb['run_mday_error_format'] = 'Formato dos dias do mês inválido.';
+$wb['run_month_error_format'] = 'Formato dos meses inválido.';
+$wb['run_wday_error_format'] = 'Formato dos dias da semana inválido.';
+$wb['command_error_format'] = 'Formato de comando inválido. Apenas endereços url http/https são permitidos.';
+$wb['unknown_fieldtype_error'] = 'Um tipo desconhecido de campo foi usado.';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_cron_list.lng b/interface/web/sites/lib/lang/pt_cron_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f5cd15a3f9598dd6d73a9a689694dccae8478027
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_cron_list.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['list_head_txt'] = 'Tarefas no Cron';
+$wb['active_txt'] = 'Activas';
+$wb['server_id_txt'] = 'Servidor';
+$wb['run_min_txt'] = 'Minutos';
+$wb['run_hour_txt'] = 'Horas';
+$wb['run_mday_txt'] = 'Dias do mês';
+$wb['run_month_txt'] = 'Mês';
+$wb['run_wday_txt'] = 'Dia da semana';
+$wb['command_txt'] = 'Comando';
+$wb['add_new_cron_txt'] = 'Adicionar uma nova tarefa no cron';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_database.lng b/interface/web/sites/lib/lang/pt_database.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5ffc49eb340b655edd551e9a9a18a157241b90e1
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_database.lng
@@ -0,0 +1,26 @@
+<?php
+$wb['server_id_txt'] = 'Servidor';
+$wb['type_txt'] = 'Tipo';
+$wb['database_name_txt'] = 'Nome da Base de Dados';
+$wb['database_user_txt'] = 'Utilizador da Base de Dados';
+$wb['database_password_txt'] = 'Senha da Base de Dados';
+$wb['password_strength_txt'] = 'Segurança da Senha';
+$wb['database_charset_txt'] = 'Charset da Base de Dados';
+$wb['remote_access_txt'] = 'Acesso Remoto';
+$wb['client_txt'] = 'Cliente';
+$wb['active_txt'] = 'Activo';
+$wb['database_name_error_empty'] = 'O nome da base de dados está em branco.';
+$wb['database_name_error_unique'] = 'Já existe uma base de dados com este nome no servidor. O nome escolhido deve ser único.';
+$wb['database_name_error_regex'] = 'Nome inválido. O nome da base de dados só pode conter estes caracteres: a-z, A-Z, 0-9 e o underscore. Tamanho: 2 - 64 caracteres.';
+$wb['database_user_error_empty'] = 'O nome do utilizador está em branco.';
+$wb['database_user_error_unique'] = 'Já existe uma base de dados com este nome no servidor. O nome escolhido deve ser único.';
+$wb['database_user_error_regex'] = 'Nome inválido. O nome da base de dados só pode conter estes caracteres: a-z, A-Z, 0-9 e o underscore. Tamanho: 2 - 64 caracteres.';
+$wb['limit_database_txt'] = 'O limite máximo de bases de dados foi atingido.';
+$wb['database_name_change_txt'] = 'O nome da base de dados não pode ser modificado';
+$wb['database_charset_change_txt'] = 'O charset da base de dados não pode ser mudado';
+$wb['remote_ips_txt'] = 'Endereços IP Remotos (separados por , deixe em branco para <i>quaisquer ips</i>)';
+$wb['database_remote_error_ips'] = 'Pelo menos um dos endereços ip informados não é válido.';
+$wb['database_name_error_len'] = 'O nome da base de dados - {db} - é muito longo. 64 caracteres é o número máximo permitido incluindo prefixo.';
+$wb['database_user_error_len'] = 'O nome de utilizador da base de dados - {user}- é muito longo. 16 caracteres é o número máximo permitido incluindo prefixo.';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_database_list.lng b/interface/web/sites/lib/lang/pt_database_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..6a09c69010e3d5cc72b4cf4be0ffc35b648f942d
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_database_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Base de Dados';
+$wb['active_txt'] = 'Activo';
+$wb['remote_access_txt'] = 'Acesso Remoto';
+$wb['server_id_txt'] = 'Servidor';
+$wb['database_name_txt'] = 'Nome da Base de Dados';
+$wb['add_new_record_txt'] = 'Adicionar uma nova base de dados';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_ftp_user.lng b/interface/web/sites/lib/lang/pt_ftp_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..5573ba300b0fbdcc52274bbbd0087b07f07181fb
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_ftp_user.lng
@@ -0,0 +1,28 @@
+<?php
+$wb['uid_txt'] = 'UID';
+$wb['gid_txt'] = 'GID';
+$wb['dir_txt'] = 'Pasta';
+$wb['quota_files_txt'] = 'Cota de Ficheiros';
+$wb['quota_files_unity_txt'] = 'Ficheiros';
+$wb['ul_ratio_txt'] = 'Taxa de Upload';
+$wb['dl_ratio_txt'] = 'Taxa de Download';
+$wb['ul_bandwidth_txt'] = 'Banda de Upload';
+$wb['dl_bandwidth_txt'] = 'Banda de Download';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['username_txt'] = 'Utilizador ';
+$wb['password_txt'] = 'Senha';
+$wb['password_strength_txt'] = 'Tamanho da senha';
+$wb['quota_size_txt'] = 'Cota de Disco';
+$wb['active_txt'] = 'Activo';
+$wb['limit_ftp_user_txt'] = 'O número máximo de utilizadors de FTP para a conta foi atingido.';
+$wb['username_error_empty'] = 'Nome de utilizador em branco.';
+$wb['username_error_unique'] = 'O nome de utilizador deve ser único.';
+$wb['username_error_regex'] = 'O nome de utilizador contém caracteres não permitidos.';
+$wb['quota_size_error_empty'] = 'Quota em branco.';
+$wb['uid_error_empty'] = 'GID em branco.';
+$wb['directory_error_empty'] = 'Pasta vazia.';
+$wb['directory_error_notinweb'] = 'A pasta não esta dentro da pasta web principal.';
+$wb['parent_domain_id_error_empty'] = 'Nenhum website seleccionado.';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_ftp_user_list.lng b/interface/web/sites/lib/lang/pt_ftp_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9f7ed2c280a9104471497f1eb6a59f2653e8b90
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_ftp_user_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Utilizador -FTP';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Site';
+$wb['username_txt'] = 'Utilizador ';
+$wb['add_new_record_txt'] = 'Adicionar um novo Utilizador FTP';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_shell_user.lng b/interface/web/sites/lib/lang/pt_shell_user.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4e4cddb6cb6735306b873997987bce03aa5aecb1
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_shell_user.lng
@@ -0,0 +1,23 @@
+<?php
+$wb['uid_txt'] = 'Nome do utilizador';
+$wb['gid_txt'] = 'Groupo';
+$wb['shell_txt'] = 'Shell';
+$wb['dir_txt'] = 'Pasta';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Site';
+$wb['username_txt'] = 'Nome do utilizador';
+$wb['password_txt'] = 'Senha';
+$wb['password_strength_txt'] = 'Dificuldade da senha';
+$wb['chroot_txt'] = 'Chroot Shell';
+$wb['quota_size_txt'] = 'Quota';
+$wb['active_txt'] = 'Activo';
+$wb['username_error_empty'] = 'Nome de utilizador em branco.';
+$wb['username_error_unique'] = 'O nome de utilizador deve ser único.';
+$wb['username_error_regex'] = 'O nome do utilizador contém caracteres não permitidos.';
+$wb['quota_size_error_empty'] = 'Quota em branco.';
+$wb['uid_error_empty'] = 'GID em branco.';
+$wb['directory_error_empty'] = 'Pasta vazia.';
+$wb['limit_shell_user_txt'] = 'O número máximo de utilizadors shell para a conta foi atingido.';
+$wb['parent_domain_id_error_empty'] = 'Nenhum website seleccionado.';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_shell_user_list.lng b/interface/web/sites/lib/lang/pt_shell_user_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f704ab6207caebf946a01817b09824119f833a5a
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_shell_user_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Utilizador de Shell';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Site';
+$wb['username_txt'] = 'Utilizador ';
+$wb['add_new_record_txt'] = 'Adicionar Utilizador de Shell';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/pt_web_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..9295fb1092e28cbd56d616cebb221864be2bbf33
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_web_aliasdomain_list.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['list_head_txt'] = 'Domínio Alias';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Domínio Alias';
+$wb['add_new_record_txt'] = 'Adicionar Alias de Domínio';
+$wb['domain_error_empty'] = 'Domínio em branco.';
+$wb['domain_error_unique'] = 'O domínio deve ser único.';
+$wb['domain_error_regex'] = 'Nome de domínio inválido.';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_web_domain.lng b/interface/web/sites/lib/lang/pt_web_domain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0cf10f81c87dbf2049bcce11645b5ce647b165ce
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_web_domain.lng
@@ -0,0 +1,61 @@
+<?php
+$wb['ssl_state_txt'] = 'Estado';
+$wb['ssl_locality_txt'] = 'Localização';
+$wb['ssl_organisation_txt'] = 'Empresa';
+$wb['ssl_organisation_unit_txt'] = 'Departamento';
+$wb['ssl_country_txt'] = 'País';
+$wb['ssl_request_txt'] = 'Requisição SSL';
+$wb['ssl_cert_txt'] = 'Certificado SSL';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Domínio';
+$wb['type_txt'] = 'Tipo';
+$wb['parent_domain_id_txt'] = 'Site Parente';
+$wb['redirect_type_txt'] = 'Tipo Redireccionamento';
+$wb['redirect_path_txt'] = 'Pasta de redireccionamento';
+$wb['active_txt'] = 'Activo';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Utilizador Linux';
+$wb['system_group_txt'] = 'Groupo Linux';
+$wb['ip_address_txt'] = 'Endereço-IP';
+$wb['vhost_type_txt'] = 'Tipo de VHost';
+$wb['hd_quota_txt'] = 'Cota de Disco';
+$wb['traffic_quota_txt'] = 'Cota de Tráfego';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Páginas de Erro';
+$wb['subdomain_txt'] = 'Auto-Subdomínio';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Cliente';
+$wb['limit_web_domain_txt'] = 'O número máximo de domínios web para a conta foi atingido.';
+$wb['limit_web_aliasdomain_txt'] = 'O número máximo de aliases domínio para a conta foi atingido.';
+$wb['limit_web_subdomain_txt'] = 'O número máximo de sub-domínios para a conta foi atingido.';
+$wb['apache_directives_txt'] = 'Directivas do Apache';
+$wb['domain_error_empty'] = 'Domínio em branco.';
+$wb['domain_error_unique'] = 'Já existe site, alias ou sub-domínio com este nome';
+$wb['domain_error_regex'] = 'Nome de domínio inválido.';
+$wb['hd_quota_error_empty'] = 'Quota de disco está em branco.';
+$wb['traffic_quota_error_empty'] = 'Quota de tráfego está em branco.';
+$wb['error_ssl_state_empty'] = 'Estado do SSL está em branco.';
+$wb['error_ssl_locality_empty'] = 'Localização do SSL está em branco.';
+$wb['error_ssl_organisation_empty'] = 'Empresa do SSL está em branco.';
+$wb['error_ssl_organisation_unit_empty'] = 'Departamento do SSL está em branco.';
+$wb['error_ssl_country_empty'] = 'País do SSL em branco.';
+$wb['client_group_id_txt'] = 'Cliente';
+$wb['stats_password_txt'] = 'Senha da pasta de estatísticas';
+$wb['ssl_domain_txt'] = 'Domínio SSL';
+$wb['allow_override_txt'] = 'Permitir Sobrescrever';
+$wb['limit_web_quota_free_txt'] = 'Cota Max. de disco disponível';
+$wb['ssl_state_error_regex'] = 'Estado inválido para SSL. São caracteres válidos: a-z, 0-9 e .,-_';
+$wb['ssl_locality_error_regex'] = 'Localidade inválida para SSL. São caracteres válidos: a-z, 0-9 e .,-_';
+$wb['ssl_organisation_error_regex'] = 'Empresa inválida para SSL. São caracteres válidos: a-z, 0-9 e .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Departamento inválido para SSL. São caracteres válidos: a-z, 0-9 e .,-_';
+$wb['ssl_country_error_regex'] = 'País inválido para SSL. São caracteres válidos: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Cota máxima de Tráfego disponível';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_web_domain_list.lng b/interface/web/sites/lib/lang/pt_web_domain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..fadc95c848628e37f11c36e3f9b362040abe712c
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_web_domain_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Websites';
+$wb['domain_id_txt'] = 'ID';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Domínio';
+$wb['add_new_record_txt'] = 'Adicionar um novo site';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_web_sites_stats_list.lng b/interface/web/sites/lib/lang/pt_web_sites_stats_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..18bf04427b2d87976e52ce6ca7f03542127c78b1
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_web_sites_stats_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Tráfego Web';
+$wb['domain_txt'] = 'Domínio';
+$wb['this_month_txt'] = 'Este mês';
+$wb['last_month_txt'] = 'Último mês';
+$wb['this_year_txt'] = 'Este ano';
+$wb['last_year_txt'] = 'Último ano';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_web_subdomain.lng b/interface/web/sites/lib/lang/pt_web_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..a1f332d9d8a59948f2532dc906315c3ce67a02ba
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_web_subdomain.lng
@@ -0,0 +1,41 @@
+<?php
+$wb['ssl_state_txt'] = 'Estado';
+$wb['ssl_locality_txt'] = 'Localidade';
+$wb['ssl_organisation_txt'] = 'Empresa';
+$wb['ssl_organisation_unit_txt'] = 'Departamento';
+$wb['ssl_country_txt'] = 'País';
+$wb['ssl_request_txt'] = 'Requisição SSL';
+$wb['ssl_cert_txt'] = 'Certificado SSL';
+$wb['ssl_bundle_txt'] = 'Pacote SSL';
+$wb['ssl_action_txt'] = 'Acção SSL';
+$wb['server_id_txt'] = 'Servidor';
+$wb['domain_txt'] = 'Domínio';
+$wb['type_txt'] = 'Tipo';
+$wb['parent_domain_id_txt'] = 'Site Parente';
+$wb['redirect_type_txt'] = 'Tipo do Redireccionamento';
+$wb['redirect_path_txt'] = 'Pasta do Redireccionamento';
+$wb['active_txt'] = 'Activo';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Utilizador no Linux';
+$wb['system_group_txt'] = 'Grupo no Linux';
+$wb['ip_address_txt'] = 'Endereço-IP';
+$wb['vhost_type_txt'] = 'Tipo de VHost';
+$wb['hd_quota_txt'] = 'Cota de Disco';
+$wb['traffic_quota_txt'] = 'Cota de Tráfico';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Cliente';
+$wb['limit_web_domain_txt'] = 'O número máximo de domínios web para esta conta foi atingido.';
+$wb['limit_web_aliasdomain_txt'] = 'O número máximo de aliases para esta conta foi atingido.';
+$wb['limit_web_subdomain_txt'] = 'O número máximo de sub-domínios para esta conta foi atingido.';
+$wb['apache_directives_txt'] = 'Directivas apache';
+$wb['domain_error_empty'] = 'Domínio em branco.';
+$wb['domain_error_unique'] = 'Já existe um alias ou sub-domínio com este nome.';
+$wb['domain_error_regex'] = 'Nome de domínio inválido.';
+$wb['host_txt'] = 'Host';
+$wb['redirect_error_regex'] = 'Pasta de redireccionamento inválida. Exemplos de redireccionamentos válidos: /test/ or http://www.dominio.pt/test/';
+?>
+
diff --git a/interface/web/sites/lib/lang/pt_web_subdomain_list.lng b/interface/web/sites/lib/lang/pt_web_subdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ce29103f9e29515cd35229e9881ac773402e1d6c
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_web_subdomain_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Sub-domínios';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Sub-domínio';
+$wb['add_new_record_txt'] = 'Adicionar um novo sub-domínio';
+?>
+
diff --git a/interface/web/tools/lib/lang/pt.lng b/interface/web/tools/lib/lang/pt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..292274fa4a832813a5a8fc3428d52e20371833dc
--- /dev/null
+++ b/interface/web/tools/lib/lang/pt.lng
@@ -0,0 +1,7 @@
+<?php
+$wb['User Settings'] = 'Configurações do Utilizador ';
+$wb['Settings'] = 'Configurações';
+$wb['ISPConfig Tools'] = 'Ferramentas';
+$wb['Password and Language'] = 'Senha e Idioma';
+?>
+
diff --git a/interface/web/tools/lib/lang/pt_usersettings.lng b/interface/web/tools/lib/lang/pt_usersettings.lng
new file mode 100644
index 0000000000000000000000000000000000000000..999611e94921f452f2e4ec164044e0c7be6f2978
--- /dev/null
+++ b/interface/web/tools/lib/lang/pt_usersettings.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['passwort_txt'] = 'Senha';
+$wb['password_strength_txt'] = 'Segurança de Senha';
+$wb['language_txt'] = 'Idioma';
+$wb['password_mismatch'] = 'As senhas não coincidem';
+$wb['Form to edit the user password and language.'] = 'Formulário para alterar idioma e senha';
+$wb['Settings'] = 'Configurações';
+?>
+