diff --git a/.gitignore b/.gitignore
index 4404b7d9..4f2451a7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
/build
/docs/_build
/vendor/
+.project
\ No newline at end of file
diff --git a/favicon.png b/favicon.png
index 9d4d5f28..17f806fd 100644
Binary files a/favicon.png and b/favicon.png differ
diff --git a/src/lang/es_ES.lang.php b/src/lang/es_ES.lang.php
index 095f3e4b..13b4ca14 100644
--- a/src/lang/es_ES.lang.php
+++ b/src/lang/es_ES.lang.php
@@ -42,28 +42,28 @@ $sm_lang = array(
'insert' => 'Insertar',
'add_new' => 'Agregar nuevo',
'update_available' => 'Hay una nueva versión ({version}) disponible en http://www.phpservermonitor.org.',
- 'back_to_top' => 'Back to top',
- 'go_back' => 'Go back',
+ 'back_to_top' => 'Volver arriba',
+ 'go_back' => 'Volver',
'ok' => 'OK',
'cancel' => 'Cancel',
// date/time format according the strftime php function format parameter http://php.net/manual/function.strftime.php
'short_day_format' => '%B %e',
'long_day_format' => '%B %e, %Y',
- 'yesterday_format' => 'Yesterday at %k:%M',
- 'other_day_format' => '%A at %k:%M',
+ 'yesterday_format' => 'Ayer a las %k:%M',
+ 'other_day_format' => '%A a las %k:%M',
'never' => 'Never',
- 'hours_ago' => '%d hours ago',
- 'an_hour_ago' => 'about an hour ago',
- 'minutes_ago' => '%d minutes ago',
- 'a_minute_ago' => 'about a minute ago',
- 'seconds_ago' => '%d seconds ago',
- 'a_second_ago' => 'a second ago',
+ 'hours_ago' => 'Hace %d horas',
+ 'an_hour_ago' => 'Hace aproximadamente una hora',
+ 'minutes_ago' => 'Hace %d minutos',
+ 'a_minute_ago' => 'Hace aproximadamente un minuto',
+ 'seconds_ago' => 'Hace %d segundos',
+ 'a_second_ago' => 'Hace aproximadamente un segundo',
),
'menu' => array(
'config' => 'Configurar',
'server' => 'Servidores',
- 'server_log' => 'Log',
- 'server_status' => 'Status',
+ 'server_log' => 'Archivo',
+ 'server_status' => 'Estado',
'server_update' => 'Actualizar',
'user' => 'Usuarios',
'help' => 'Ayuda',
@@ -72,72 +72,72 @@ $sm_lang = array(
'user' => 'Usuario',
'name' => 'Nombre',
'user_name' => 'Username',
- 'password' => 'Password',
- 'password_repeat' => 'Password repeat',
- 'password_leave_blank' => 'Leave blank to keep unchanged',
- 'level' => 'Level',
- 'level_10' => 'Administrator',
- 'level_20' => 'User',
- 'level_description' => 'Administrators have full access: they can manage servers, users and edit the global configuration.
Users can only view and run the updater for the servers that have been assigned to them.',
+ 'password' => 'Contraseña',
+ 'password_repeat' => 'Contraseña de nueavo',
+ 'password_leave_blank' => 'Dejar en blanco para mantener sin cambios',
+ 'level' => 'Nivel',
+ 'level_10' => 'Administrador',
+ 'level_20' => 'Usuarios',
+ 'level_description' => 'Administradores tienen acceso completo: pueden manegar servidores, usuarios y editar la configuración global.
Los usuarios sólo pueden ver y ejecutar el programa de actualización para los servidores que se han asignado a los mismos.',
'mobile' => 'Mobil',
'email' => 'Email',
'pushover' => 'Pushover',
- 'pushover_description' => 'Pushover is a service that makes it easy to get real-time notifications. See their website for more info.',
+ 'pushover_description' => 'Pushover es un servicio que hace que sea fácil de obtener notificaciones en tiempo real. Ver la pagina para mas información.',
'pushover_key' => 'Pushover Key',
'pushover_device' => 'Pushover Device',
- 'pushover_device_description' => 'Device name to send the message to. Leave empty to send it to all devices.',
- 'delete_title' => 'Delete User',
- 'delete_message' => 'Are you sure you want to delete user \'%1\'?',
- 'deleted' => 'User deleted.',
+ 'pushover_device_description' => 'Nombre del dispositivo para enviar el mensaje. Dejar en blanco para enviarlo a todos los dispositivos.',
+ 'delete_title' => 'Eliminar usuario',
+ 'delete_message' => '¿Seguro que desea eliminar el usuario \'%1\'?',
+ 'deleted' => 'Suprime usuario.',
'updated' => 'Usuario actualizado.',
'inserted' => 'Usuario ingresado.',
- 'profile' => 'Profile',
- 'profile_updated' => 'Your profile has been updated.',
- 'error_user_name_bad_length' => 'Usernames must be between 2 and 64 characters.',
- 'error_user_name_invalid' => 'The username may only contain alphabetic characters (a-z, A-Z), digits (0-9) and underscores (_).',
- 'error_user_name_exists' => 'The given username already exists in the database.',
- 'error_user_email_bad_length' => 'Email addresses must be between 5 and 255 characters.',
- 'error_user_email_invalid' => 'The email address is invalid.',
- 'error_user_level_invalid' => 'The given user level is invalid.',
- 'error_user_no_match' => 'The user could not be found in the database.',
- 'error_user_password_invalid' => 'The entered password is invalid.',
- 'error_user_password_no_match' => 'The entered passwords do not match.',
+ 'profile' => 'Perfil',
+ 'profile_updated' => 'Su perfil ha sido actualizado.',
+ 'error_user_name_bad_length' => 'Los nombres de usuario deben tener entre 2 y 64 caracteres.',
+ 'error_user_name_invalid' => 'El nombre de usuario sólo puede contener caracteres alfabéticos (az, AZ), números (0-9) y guiones bajos (_).',
+ 'error_user_name_exists' => 'El nombre de usuario dado ya existe en la base de datos.',
+ 'error_user_email_bad_length' => 'Direcciones de correo electrónico deben estar entre 5 y 255 caracteres.',
+ 'error_user_email_invalid' => 'La dirección de correo electrónico no es válida.',
+ 'error_user_level_invalid' => 'El nivel de usuario dado es válido.',
+ 'error_user_no_match' => 'El usuario no se pudo encontrar en la base de datos.',
+ 'error_user_password_invalid' => 'La contraseña introducida no es válida.',
+ 'error_user_password_no_match' => 'Las contraseñas introducidas no coinciden.',
),
'log' => array(
- 'title' => 'Registro Log',
+ 'title' => 'Registro',
'type' => 'Tipo',
'status' => 'Estado',
'email' => 'Email',
'sms' => 'SMS',
'pushover' => 'Pushover',
- 'no_logs' => 'No logs',
+ 'no_logs' => 'No hay registros',
),
'servers' => array(
'server' => 'Servidores',
'status' => 'Status',
'label' => 'Titulo',
- 'domain' => 'Domain/IP',
- 'timeout' => 'Timeout',
- 'timeout_description' => 'Number of seconds to wait for the server to respond.',
- 'port' => 'Port',
+ 'domain' => 'Dominio/IP',
+ 'timeout' => 'Tiempo de espera',
+ 'timeout_description' => 'Número de segundos a esperar para que el servidor responda.',
+ 'port' => 'Puerto',
'type' => 'Tipo',
'type_website' => 'Website',
- 'type_service' => 'Service',
- 'pattern' => 'Search string/pattern',
- 'pattern_description' => 'If this pattern is not found on the website, the server will be marked offline. Regular expressions are allowed.',
+ 'type_service' => 'Servicio',
+ 'pattern' => 'Cadena de búsqueda / patrón',
+ 'pattern_description' => 'Si este patrón no se encuentra en el sitio web, el servidor estará marcada sin conexión. Se permiten expresiones regulares.',
'last_check' => 'Ultima verificación',
'last_online' => 'Última vez en línea',
'monitoring' => 'Monitoreo',
- 'no_monitoring' => 'No monitoring',
+ 'no_monitoring' => 'Sin monitoreo',
'email' => 'Email',
'send_email' => 'Email',
'sms' => 'SMS',
'send_sms' => 'SMS',
'pushover' => 'Pushover',
- 'users' => 'Users',
- 'delete_title' => 'Delete Server',
- 'delete_message' => 'Are you sure you want to delete server \'%1\'?',
- 'deleted' => 'Server deleted.',
+ 'users' => 'Usuarios',
+ 'delete_title' => 'eliminar servidor',
+ 'delete_message' => '¿Seguro que desea eliminar el servidor \'%1\'?',
+ 'deleted' => 'Servidor eliminado.',
'updated' => 'Servidor arctualizado.',
'inserted' => 'Servidor ingresado.',
'latency' => 'Tiempo de respuesta',
@@ -145,30 +145,30 @@ $sm_lang = array(
'latency_min' => 'Tiempo de respuesta (minimum)',
'latency_avg' => 'Tiempo de respuesta (average)',
'uptime' => 'Uptime',
- 'year' => 'Year',
- 'month' => 'Month',
- 'week' => 'Week',
- 'day' => 'Day',
- 'hour' => 'Hour',
- 'warning_threshold' => 'Warning threshold',
- 'warning_threshold_description' => 'Number of failed checks required before it is marked offline.',
- 'chart_last_week' => 'Last week',
- 'chart_history' => 'History',
+ 'year' => 'Año',
+ 'month' => 'Mes',
+ 'week' => 'Semana',
+ 'day' => 'Día',
+ 'hour' => 'Hora',
+ 'warning_threshold' => 'Umbral de advertencia',
+ 'warning_threshold_description' => 'Número de controles fallidos necesarios antes de que se marca fuera de línea.',
+ 'chart_last_week' => 'La semana pasada',
+ 'chart_history' => 'Historia',
// Charts date format according jqPlot date format http://www.jqplot.com/docs/files/plugins/jqplot-dateAxisRenderer-js.html
'chart_day_format' => '%Y-%m-%d',
'chart_long_date_format' => '%Y-%m-%d %H:%M:%S',
'chart_short_date_format' => '%m/%d %H:%M',
'chart_short_time_format' => '%H:%M',
- 'warning_notifications_disabled_sms' => 'SMS notifications are disabled.',
- 'warning_notifications_disabled_email' => 'Email notifications are disabled.',
- 'warning_notifications_disabled_pushover' => 'Pushover notifications are disabled.',
- 'error_server_no_match' => 'Server not found.',
- 'error_server_label_bad_length' => 'The label must be between 1 and 255 characters.',
- 'error_server_ip_bad_length' => 'The domain / IP must be between 1 and 255 characters.',
- 'error_server_ip_bad_service' => 'The IP address is not valid.',
- 'error_server_ip_bad_website' => 'The website URL is not valid.',
- 'error_server_type_invalid' => 'The selected server type is invalid.',
- 'error_server_warning_threshold_invalid' => 'The warning threshold must be a valid integer greater than 0.',
+ 'warning_notifications_disabled_sms' => 'Notificaciones por SMS son discapacitados.',
+ 'warning_notifications_disabled_email' => 'Notificaciones por correo electrónico están desactivados.',
+ 'warning_notifications_disabled_pushover' => 'Pushover notificaciones están desactivadas.',
+ 'error_server_no_match' => 'Servidor no encontrado.',
+ 'error_server_label_bad_length' => 'La etiqueta debe estar entre 1 y 255 caracteres.',
+ 'error_server_ip_bad_length' => 'El dominio / IP debe estar entre 1 y 255 caracteres.',
+ 'error_server_ip_bad_service' => 'La dirección IP no es válida.',
+ 'error_server_ip_bad_website' => 'El URL del sitio Web no es válido.',
+ 'error_server_type_invalid' => 'El tipo de servidor seleccionado no es válido.',
+ 'error_server_warning_threshold_invalid' => 'El umbral de advertencia debe ser un entero válido mayor que 0.',
),
'config' => array(
'general' => 'General',
@@ -177,12 +177,12 @@ $sm_lang = array(
'email_status' => 'Habilitar envio de email ?',
'email_from_email' => 'Email desde dirección',
'email_from_name' => 'Email desde nombre',
- 'email_smtp' => 'Enable SMTP',
+ 'email_smtp' => 'Habilitar SMTP',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP port',
'email_smtp_username' => 'SMTP username',
- 'email_smtp_password' => 'SMTP password',
- 'email_smtp_noauth' => 'Leave blank for no authentication',
+ 'email_smtp_password' => 'SMTP contraseña',
+ 'email_smtp_noauth' => 'Deja en blanco para ninguna autenticación',
'sms_status' => 'Habilitar envio de SMS ?',
'sms_gateway' => 'SMS Gateway',
'sms_gateway_mosms' => 'Mosms',
@@ -196,11 +196,11 @@ $sm_lang = array(
'sms_gateway_username' => 'Gateway username',
'sms_gateway_password' => 'Gateway password',
'sms_from' => 'Número origen del SMS',
- 'pushover_status' => 'Allow sending Pushover messages',
- 'pushover_description' => 'Pushover is a service that makes it easy to get real-time notifications. See their website for more info.',
- 'pushover_clone_app' => 'Click here to create your Pushover app',
+ 'pushover_status' => 'Permitir el envío de mensajes Pushover',
+ 'pushover_description' => 'Pushover es un servicio que hace que sea fácil de obtener notificaciones en tiempo real. Ver su página web para más información.',
+ 'pushover_clone_app' => 'Haga clic aquí para crear tu aplicación Pushover',
'pushover_api_token' => 'Pushover App API Token',
- 'pushover_api_token_description' => 'Before you can use Pushover, you need to register an App at their website and enter the App API Token here.',
+ 'pushover_api_token_description' => 'Antes de poder utilizar Pushover, necesita a registrar una App en su página web y entrar en el App API Token aquí.',
'alert_type' => 'Cuando desea recibir notificaciones ?',
'alert_type_description' => '... Al cambiar el estado: '.
'p.ej. online -> offline o offline -> online.
'.
@@ -233,11 +233,11 @@ $sm_lang = array(
''.
'Tiempo en segundos, indicar "0" para no actualizar.'.
'',
- 'seconds' => 'seconds',
- 'test' => 'Test',
- 'test_email' => 'An email will be sent to the address specified in your user profile.',
- 'test_sms' => 'An SMS will be sent to the phone number specified in your user profile.',
- 'test_pushover' => 'A Pushover notification will be sent to the user key/device specified in your user profile.',
+ 'seconds' => 'segundos',
+ 'test' => 'Prueba',
+ 'test_email' => 'Un correo electrónico será enviado a la dirección especificada en su perfil de usuario.',
+ 'test_sms' => 'Un SMS se enviará al número de teléfono especificado en su perfil de usuario.',
+ 'test_pushover' => 'Una notificación Pushover será enviado a la clave de usuario / dispositivo especificado en su perfil de usuario.',
'send' => 'Send',
'test_subject' => 'Test',
'test_message' => 'Test message',
@@ -245,14 +245,14 @@ $sm_lang = array(
'email_error' => 'Error in email sending',
'sms_sent' => 'Sms sent',
'sms_error' => 'Error in sms sending',
- 'sms_error_nomobile' => 'Unable to send test SMS: no valid phone number found in your profile.',
- 'pushover_sent' => 'Pushover notification sent',
- 'pushover_error' => 'An error has occurred while sending the Pushover notification: %s',
- 'pushover_error_noapp' => 'Unable to send test notification: no Pushover App API token found in the global configuration.',
- 'pushover_error_nokey' => 'Unable to send test notification: no Pushover key found in your profile.',
- 'log_retention_period' => 'Log retention period',
- 'log_retention_period_description' => 'Number of days to keep logs of notifications and archives of server uptime. Enter 0 to disable log cleanup.',
- 'log_retention_days' => 'days',
+ 'sms_error_nomobile' => 'No se puede enviar SMS de prueba: no hay ningún número de teléfono válido encontrado en su perfil.',
+ 'pushover_sent' => 'Notificación Pushover envió',
+ 'pushover_error' => 'Se ha producido un error al enviar la notificación Pushover: %s',
+ 'pushover_error_noapp' => 'No se puede enviar una notificación de prueba: hay un token API Pushover App encontrado en la configuración global.',
+ 'pushover_error_nokey' => 'No se puede enviar una notificación de prueba: ninguna clave Pushover encontrado en su perfil.',
+ 'log_retention_period' => 'Log período de retención',
+ 'log_retention_period_description' => 'Número de días que se conservan registros de las notificaciones y los archivos de tiempo de actividad del servidor. Introduzca 0 para desactivar la limpieza de los registros.',
+ 'log_retention_days' => 'días',
),
// for newlines in the email messages use
'notifications' => array(
@@ -268,30 +268,30 @@ $sm_lang = array(
'on_pushover_message' => "Servidor '%LABEL%' ya está funcionando en línea de nuevo:
Servidor: %LABEL%
IP: %IP%
Port: %PORT%
Fecha: %DATE%",
),
'login' => array(
- 'welcome_usermenu' => 'Welcome, %user_name%',
- 'title_sign_in' => 'Please sign in',
- 'title_forgot' => 'Forgot your password?',
- 'title_reset' => 'Reset your password',
- 'submit' => 'Submit',
- 'remember_me' => 'Remember me',
- 'login' => 'Login',
- 'logout' => 'Logout',
- 'username' => 'Username',
- 'password' => 'Password',
- 'password_repeat' => 'Repeat password',
- 'password_forgot' => 'Forgot password?',
- 'password_reset' => 'Reset password',
- 'password_reset_email_subject' => 'Reset your password for PHP Server Monitor',
- 'password_reset_email_body' => 'Please use the following link to reset your password. Please note it expires in 1 hour.
%link%',
- 'error_user_incorrect' => 'The provided username could not be found.',
- 'error_login_incorrect' => 'The information is incorrect.',
- 'error_login_passwords_nomatch' => 'The provided passwords do not match.',
- 'error_reset_invalid_link' => 'The reset link you provided is invalid.',
- 'success_password_forgot' => 'An email has been sent to you with information how to reset your password.',
- 'success_password_reset' => 'Your password has been reset successfully. Please login.',
+ 'welcome_usermenu' => 'Bienvenido, %user_name%',
+ 'title_sign_in' => 'Por favor, inicie sesión',
+ 'title_forgot' => '¿Olvidaste tu contraseña?',
+ 'title_reset' => 'Restablecer su contraseña',
+ 'submit' => 'Enviar',
+ 'remember_me' => 'Acuérdate de mí',
+ 'login' => 'Iniciar sesión',
+ 'logout' => 'Salir',
+ 'username' => 'Nombre de usuario',
+ 'password' => 'Contraseña',
+ 'password_repeat' => 'Repita la contraseña',
+ 'password_forgot' => '¿Has olvidado tu contraseña?',
+ 'password_reset' => 'Perdí mi contraseña',
+ 'password_reset_email_subject' => 'Restablecer la contraseña para PHP Server Monitor',
+ 'password_reset_email_body' => 'Utilice el siguiente enlace para restablecer tu contraseña. Tenga en cuenta que expire de 1 hora.
%link%',
+ 'error_user_incorrect' => 'El nombre de usuario proporcionado no se pudo encontrar.',
+ 'error_login_incorrect' => 'La información es incorrecta.',
+ 'error_login_passwords_nomatch' => 'Las contraseñas proporcionadas no coinciden.',
+ 'error_reset_invalid_link' => 'El vínculo de cambio que ya ha proporcionado no es válido.',
+ 'success_password_forgot' => 'Un correo electrónico ha sido enviado a usted con información de cómo restablecer su contraseña.',
+ 'success_password_reset' => 'Su contraseña ha sido restablecido correctamente. Por favor, iniciar sesión.',
),
'error' => array(
'401_unauthorized' => 'Unauthorized',
- '401_unauthorized_description' => 'You do not have the privileges to view this page.',
+ '401_unauthorized_description' => 'Usted no tiene los privilegios para ver esta página.',
),
);
diff --git a/static/phpservermon.png b/static/phpservermon.png
index 22cda643..49ad9ab3 100644
Binary files a/static/phpservermon.png and b/static/phpservermon.png differ
diff --git a/static/plugin/twitter-bootstrap/img/glyphicons-halflings-white.png b/static/plugin/twitter-bootstrap/img/glyphicons-halflings-white.png
index 9e7cfb02..7ac87d2f 100644
Binary files a/static/plugin/twitter-bootstrap/img/glyphicons-halflings-white.png and b/static/plugin/twitter-bootstrap/img/glyphicons-halflings-white.png differ
diff --git a/static/plugin/twitter-bootstrap/img/glyphicons-halflings.png b/static/plugin/twitter-bootstrap/img/glyphicons-halflings.png
index 1b7577d8..6dc2d36f 100644
Binary files a/static/plugin/twitter-bootstrap/img/glyphicons-halflings.png and b/static/plugin/twitter-bootstrap/img/glyphicons-halflings.png differ