issue #128: adding SSL/TLS support forr SMTP

This commit is contained in:
Pepijn Over 2014-11-06 14:29:11 +01:00
parent 54f5dbf8f3
commit 391701721b
20 changed files with 647 additions and 595 deletions

View File

@ -14,6 +14,7 @@ not yet released
* #144: Updated Brazilian translation.
* #146: Updated Russian translation.
* #147: Updated Spanish translation.
* #128: Added SSL/TLS option for SMTP config.
* #131: Allow URL and timeout to be passed as argument to the cronjob.
* #135: Uptime percentage above 100%.
* #151: Links in install results were stripped automatically from template.

View File

@ -394,6 +394,7 @@ function psm_build_mail($from_name = null, $from_email = null) {
$phpmailer->IsSMTP();
$phpmailer->Host = psm_get_conf('email_smtp_host');
$phpmailer->Port = psm_get_conf('email_smtp_port');
$phpmailer->SMTPSecure = psm_get_conf('email_smtp_security');
$smtp_user = psm_get_conf('email_smtp_username');
$smtp_pass = psm_get_conf('email_smtp_password');

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'Активиране на SMTP',
'email_smtp_host' => 'SMTP сървър',
'email_smtp_port' => 'SMTP порт',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP потребителско име',
'email_smtp_password' => 'SMTP парола',
'email_smtp_noauth' => 'Оставете празно за "без аутентикация"',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'Zapnout SMTP',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP uživatelské jméno',
'email_smtp_password' => 'SMTP heslo',
'email_smtp_noauth' => 'Ponechte prázdné pro použití SMTP bez hesla',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'Aktiver SMTP',
'email_smtp_host' => 'SMTP vært',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP brugernavn',
'email_smtp_password' => 'SMTP adgangskode',
'email_smtp_noauth' => 'Efterladt blank hvis det ikke er opkrævet',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'SMTP-Versand aktivieren',
'email_smtp_host' => 'SMTP Server/Host',
'email_smtp_port' => 'SMTP Port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP Benutzername',
'email_smtp_password' => 'SMTP Passwort',
'email_smtp_noauth' => 'Feld leer lassen, bei fehlender Authentifizierung',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'Enable SMTP',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP username',
'email_smtp_password' => 'SMTP password',
'email_smtp_noauth' => 'Leave blank for no authentication',

View File

@ -181,6 +181,8 @@ $sm_lang = array(
'email_smtp' => 'Habilitar SMTP',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP username',
'email_smtp_password' => 'SMTP contraseña',
'email_smtp_noauth' => 'Deja en blanco para ninguna autenticación',

View File

@ -1,298 +1,300 @@
<?php
/**
* PHP Server Monitor
* Monitor your servers and websites.
*
* This file is part of PHP Server Monitor.
* PHP Server Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PHP Server Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PHP Server Monitor. If not, see <http://www.gnu.org/licenses/>.
*
* @package phpservermon
* @author David Ribeiro
* @author Jérôme Cabanis <jerome@lauraly.com>
* @copyright Copyright (c) 2008-2014 Pepijn Over <pep@neanderthal-technology.com>
* @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3
* @version Release: @package_version@
* @link http://www.phpservermonitor.org/
**/
$sm_lang = array(
'name' => 'Français - French',
'locale' => array('fr_FR.UTF-8', 'fr_FR', 'french'),
'system' => array(
'title' => 'Server Monitor',
'install' => 'Installer',
'action' => 'Action',
'save' => 'Enregistrer',
'edit' => 'Editer',
'delete' => 'Supprimer',
'date' => 'Date',
'message' => 'Message',
'yes' => 'Oui',
'no' => 'Non',
'insert' => 'Nouveau',
'add_new' => 'Nouveau',
'update_available' => 'Une nouvelle version ({version}) est disponible à l\'adresse <a href="http://www.phpservermonitor.org" target="_blank">http://www.phpservermonitor.org</a>.',
'back_to_top' => 'Haut de page',
'go_back' => 'Retour',
'ok' => 'OK',
'cancel' => 'Annuler',
// date/time format according the strftime php function format parameter http://php.net/manual/function.strftime.php
'short_day_format' => 'Le %e %B',
'long_day_format' => 'Le %e %B %Y',
'yesterday_format' => 'Hier à %kh%M',
'other_day_format' => '%A à %kh%M',
'never' => 'Jamais',
'hours_ago' => 'Il y a %d heures',
'an_hour_ago' => 'Il y a une heure',
'minutes_ago' => 'Il y a %d minutes',
'a_minute_ago' => 'Il y a une minute',
'seconds_ago' => 'Il y a %d secondes',
'a_second_ago' => 'Il y a une seconde',
),
'menu' => array(
'config' => 'Configuration',
'server' => 'Serveurs',
'server_log' => 'Événements',
'server_status' => 'États',
'server_update' => 'Mise à jour',
'user' => 'Utilisateurs',
'help' => 'Aide',
),
'users' => array(
'user' => 'Utilisateur',
'name' => 'Nom',
'user_name' => 'Nom d\'utilisateur',
'password' => 'Mot de passe',
'password_repeat' => 'Répéter le mot de passe',
'password_leave_blank' => 'Laisser vide pour ne pas le modifier',
'level' => 'Niveau',
'level_10' => 'Administrateur',
'level_20' => 'Utilisateur',
'level_description' => 'Les <b>Administrateurs</b> ont un accès total. Ils peuvent gérer les serveurs, les utilisateurs et éditer la configuration globale.<br/>Les <b>Utilisateurs</b> ne peuvent que voir et mettre à jour les serveurs qui leur ont été assignés.',
'mobile' => 'Téléphone',
'email' => 'Email',
'pushover' => 'Pushover',
'pushover_description' => 'Pushover est un service qui simplifie les notifications en temps réel. Voir <a href="https://pushover.net/">leur site web</a> pour plus d\'informations.',
'pushover_key' => 'Clé Pushover',
'pushover_device' => 'Appareil Pushover',
'pushover_device_description' => 'Nom de l\'appareil auquel le message doit être envoyé. Laissez vide pour l\'envoyer à tout les appareils.',
'delete_title' => 'Supprimer un utilisateur',
'delete_message' => 'Êtes-vous sûr de vouloir supprimer l\'utilisateur \'%1\' ?',
'deleted' => 'Utilisateur supprimé.',
'updated' => 'Utilisateur mis à jour.',
'inserted' => 'Utilisateur ajouté.',
'profile' => 'Profil',
'profile_updated' => 'Votre profil a été mis à jour.',
'error_user_name_bad_length' => 'Le nom d\'utilisateur doit avoir entre 2 et 64 caractères.',
'error_user_name_invalid' => 'Le nom d\'utilisateur ne peut contenir que des caractères alphabetiques (a-z, A-Z), des chiffres (0-9) ou underscore (_).',
'error_user_name_exists' => 'Ce nom d\'utilisateur existe déjà.',
'error_user_email_bad_length' => 'L\'adresse email doit avoir entre 5 et 255 caractères.',
'error_user_email_invalid' => 'L\'adresse email n\'est pas valide.',
'error_user_level_invalid' => 'Le niveau d\'utilisateur n\'est pas valide.',
'error_user_no_match' => 'L\'utilisateur n\'a pas été trouvé dans la base de donnée.',
'error_user_password_invalid' => 'Le mot de passe n\'est pas valide.',
'error_user_password_no_match' => 'Le mot de passe est incorrect.',
),
'log' => array(
'title' => 'Événements',
'type' => 'Type',
'status' => 'État',
'email' => 'email',
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Aucun événement',
),
'servers' => array(
'server' => 'Serveur',
'status' => 'État',
'label' => 'Nom',
'domain' => 'Domaine/IP',
'timeout' => 'Délai d\'attente',
'timeout_description' => 'Nombre de secondes à attendre une réponse du serveur.',
'port' => 'Port',
'type' => 'Type',
'type_website' => 'Site Web',
'type_service' => 'Service',
'pattern' => 'Rechercher un texte/motif',
'pattern_description' => 'Si ce texte n\'est par retrouvé sur le site web, le serveur est marqué hors-service. Les expressions réguliaires sont autorisées.',
'last_check' => 'Dernière vérification',
'last_online' => 'Dernière fois OK',
'monitoring' => 'Serveillé',
'no_monitoring' => 'Non serveillé',
'email' => 'Email',
'send_email' => 'Envoyer un email',
'sms' => 'SMS',
'send_sms' => 'Envoyer un SMS',
'pushover' => 'Pushover',
'users' => 'Users',
'delete_title' => 'Supprimer un serveur',
'delete_message' => 'Êtes-vous sûr de vouloir supprimer le serveur \'%1\' ?',
'deleted' => 'Serveur supprimé.',
'updated' => 'Serveur mis à jour.',
'inserted' => 'Serveur ajouté.',
'latency' => 'Temps de réponse',
'latency_max' => 'Temps de réponse maximum',
'latency_min' => 'Temps de réponse minimum',
'latency_avg' => 'Temps de réponse moyen',
'uptime' => 'Disponibilité',
'year' => 'Année',
'month' => 'Mois',
'week' => 'Semaine',
'day' => 'Jour',
'hour' => 'Heure',
'warning_threshold' => 'Seuil d\'alerte',
'warning_threshold_description' => 'Nombre d\'échecs de connexion avant que le serveur soit marqué hors-service.',
'chart_last_week' => 'La dernière semaine',
'chart_history' => 'Historique',
// Charts date format according jqPlot date format http://www.jqplot.com/docs/files/plugins/jqplot-dateAxisRenderer-js.html
'chart_day_format' => '%d/%m/%Y',
'chart_long_date_format' => '%d/%m/%Y %H:%M:%S',
'chart_short_date_format' => '%d/%m %H:%M',
'chart_short_time_format' => '%H:%M',
'warning_notifications_disabled_sms' => 'Les notifications SMS sont désactivées.',
'warning_notifications_disabled_email' => 'Les notifications par email sont désactivées.',
'warning_notifications_disabled_pushover' => 'Les notifications Pushover sont désactivées.',
'error_server_no_match' => 'Serveur non trouvé.',
'error_server_label_bad_length' => 'Le nom doit avoir entre 1 et 255 caractères.',
'error_server_ip_bad_length' => 'Domaine/IP doit avoir entre 1 et 255 caractères.',
'error_server_ip_bad_service' => 'L\'adresse IP n\'est pas valide.',
'error_server_ip_bad_website' => 'L\'URL du site web n\'est pas valide.',
'error_server_type_invalid' => 'Le type de service sélectionné n\'est pas valide.',
'error_server_warning_threshold_invalid' => 'Le seuil d\'alerte doit être un nombre entier supérieur à 0.',
),
'config' => array(
'general' => 'Général',
'language' => 'Langue',
'show_update' => 'Vérifier les nouvelles mise à jour chaque semaine',
'email_status' => 'Autoriser l\'envoi de mail',
'email_from_email' => 'Adresse de l\'expéditeur',
'email_from_name' => 'Nom de l\'expéditeur',
'email_smtp' => 'Utiliser un serveur SMTP',
'email_smtp_host' => 'Adresse serveur SMTP',
'email_smtp_port' => 'Port SMTP',
'email_smtp_username' => 'Nom utilisateur SMTP',
'email_smtp_password' => 'Mot de passe SMTP',
'email_smtp_noauth' => 'Laisser vide si pas d\'authentication',
'sms_status' => 'Autoriser l\'envoi de SMS',
'sms_gateway' => 'Passerelle à utiliser pour l\'envoi de SMS',
'sms_gateway_mosms' => 'Mosms',
'sms_gateway_mollie' => 'Mollie',
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
'sms_gateway_username' => 'Nom utilisateur de la passerelle',
'sms_gateway_password' => 'Mot de passe de la passerelle',
'sms_from' => 'SMS de l\'expéditeur',
'pushover_status' => 'Autoriser l\'envoi des messages Pushover',
'pushover_description' => 'Pushover est un service qui simplifie les notifications en temps réel. Voir <a href="https://pushover.net/">leur site web</a> pour plus d\'informations.',
'pushover_clone_app' => 'Cliquez ici pour créer votre application Pushover',
'pushover_api_token' => 'Jeton application Pushover',
'pushover_api_token_description' => 'Avant de pouvoir utiliser Pushover, vous devez <a href="%1$s" target="_blank">créer une application</a> sur leur site web et entrer ici le jeton (Token) de l\'application.',
'alert_type' => 'Choisissez quand vous souhaitez être notifié',
'alert_type_description' => '<b>Changement d\'état : </b>'.
'Vous recevez une notification chaque fois que le serveur change d\'état. C\'est-à-dire passe de l\'état OK à HORS SERVICE ou de HORS SERVICE à OK.<br/>'.
'<br/><b>Hors service : </b>'.
'Vous ne recevez une notification que quand le serveur passe de l\'état OK à HORS SERVICE. Par exemple, '.
'Votre tache planifiée s\'exécute toute les 15 minutes et votre serveur passe à l\'état HORS SERVICE à 1 heure du matin et le reste jusqu\'à 6 heures du matin.'.
'Vous ne recevez qu\'une seule notification à 1 heure du matin.<br/>'.
'<br/><b>Toujours : </b>'.
'Vous recevez une notification à chaque exécution de la tache planifiée si le serveur est à l\'état HORS SERVICE ',
'alert_type_status' => 'Changement d\'état',
'alert_type_offline' => 'Hors service',
'alert_type_always' => 'Toujours',
'log_status' => 'Etat des événements',
'log_status_description' => 'Si l\'option est activée, un événement est enregistré chaque fois qu\'une notification a lieu.',
'log_email' => 'Enregistrer tout les emails envoyés',
'log_sms' => 'Enregistrer tout les SMS envoyés',
'log_pushover' => 'Enregistrer tout les messages Pushover envoyés',
'updated' => 'La configuration a été mise à jour.',
'tab_email' => 'Email',
'tab_sms' => 'SMS',
'tab_pushover' => 'Pushover',
'settings_email' => 'Configuration email',
'settings_sms' => 'Configuration SMS',
'settings_pushover' => 'Configuration Pushover',
'settings_notification' => 'Configuration des notifications',
'settings_log' => 'Configuration des événements',
'auto_refresh' => 'Auto-rachaîchissement',
'auto_refresh_servers' =>
'Auto-rachaîchissement de la page serveurs.<br/>'.
'<span class="small">'.
'Temps en secondes. Si 0, la page n\'est pas rafraîchie.'.
'</span>',
'seconds' => 'secondes',
'test' => 'Tester',
'test_email' => 'Un email va vous être envoyé à l\'adresse définie dans votre profil utilisateur.',
'test_sms' => 'Un SMS va vous être envoyé au numéro défini dans votre profil utilisateur.',
'test_pushover' => 'Une notification Pushover va être envoyée en utilisant la clé spécifiée dans votre profil utilisateur.',
'send' => 'Envoyer',
'test_subject' => 'Test',
'test_message' => 'Message de test',
'email_sent' => 'Email envoyé',
'email_error' => 'Erreur lors de l\'envoi de l\'email',
'sms_sent' => 'Sms envoyé',
'sms_error' => 'Erreur lors de l\'envoi du sms',
'sms_error_nomobile' => 'Impossible d\'envoyer un SMS de test: aucun numéro de téléphone défini dans votre profil.',
'pushover_sent' => 'Notification Pushover envoyée',
'pushover_error' => 'Une erreur s\'est produite lors de l\'envoi de la notification Pushover : %s',
'pushover_error_noapp' => 'Impossible d\'envoyer une notification de test: Aucun jeton application Pushover n\'a été défini dans la configuration Pushover.',
'pushover_error_nokey' => 'Impossible d\'envoyer une notification de test: Aucune clé Pushover n\'a été définie dans votre profil.',
'log_retention_period' => 'Durée de conservation',
'log_retention_period_description' => 'Nombre de jours de conservation des événements envoyés et des temps de réponse des serveurs. Entrez 0 pour les conserver indéfiniment.',
'log_retention_days' => 'jours',
),
// for newlines in the email messages use <br/>
'notifications' => array(
'off_sms' => 'Le Serveur \'%LABEL%\' est HORS SERVICE: IP=%IP%, Port=%PORT%. Erreur=%ERROR%',
'off_email_subject' => 'IMPORTANT: Le Serveur \'%LABEL%\' est HORS SERVICE',
'off_email_body' => "Impossible de se connecter au serveur suivant:<br/><br/>Serveur: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Erreur: %ERROR%<br/>Date: %DATE%",
'off_pushover_title' => 'Le Serveur \'%LABEL%\' est HORS SERVICE',
'off_pushover_message' => "Impossible de se connecter au serveur suivant:<br/><br/>Serveur: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Erreur: %ERROR%<br/>Date: %DATE%",
'on_sms' => 'Le Serveur \'%LABEL%\' est OK: IP=%IP%, Port=%PORT%',
'on_email_subject' => 'IMPORTANT: Le Serveur \'%LABEL%\' est OK',
'on_email_body' => "Le Serveur '%LABEL%' est de nouveau OK:<br/><br/>Serveur: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Date: %DATE%",
'on_pushover_title' => 'Le Serveur \'%LABEL%\' est OK',
'on_pushover_message' => "Le Serveur '%LABEL%' est de nouveau OK:<br/><br/>Serveur: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Date: %DATE%",
),
'login' => array(
'welcome_usermenu' => 'Bonjour %user_name%',
'title_sign_in' => 'Connectez vous SVP',
'title_forgot' => 'Mot de passe oublié ?',
'title_reset' => 'Réinitialisation du mot de passe',
'submit' => 'Envoyer',
'remember_me' => 'Se vouvenir de moi',
'login' => 'Connexion',
'logout' => 'Déconnexion',
'username' => 'Nom',
'password' => 'Mot de passe',
'password_repeat' => 'Répéter le mot de passe',
'password_forgot' => 'Mot de passe oublié ?',
'password_reset' => 'Réinitialiser le mot de passe',
'password_reset_email_subject' => 'Réinitialisation du mot de passe pour PHP Server Monitor',
'password_reset_email_body' => 'Cliquez sur le lien ci-dessous pour réinitialiser votre mot de passe. Veuillez noter qu\'il expire dans une heure.<br/><br/>%link%',
'error_user_incorrect' => 'Nom d\'utilisateur invalide.',
'error_login_incorrect' => 'Informations incorrectes.',
'error_login_passwords_nomatch' => 'Mot de passe invalide.',
'error_reset_invalid_link' => 'Le lien d\initialisation du mot de passe n\'est pas valide.',
'success_password_forgot' => 'Un email vous a été envoyé pour réinitialiser votre mot de passe.',
'success_password_reset' => 'Votre mot de passe a été réinitialisé.',
),
'error' => array(
'401_unauthorized' => 'Non autorisée',
'401_unauthorized_description' => 'Vous n\'avez pas les privilèges nécessaires pour voir cette page.',
),
);
<?php
/**
* PHP Server Monitor
* Monitor your servers and websites.
*
* This file is part of PHP Server Monitor.
* PHP Server Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PHP Server Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PHP Server Monitor. If not, see <http://www.gnu.org/licenses/>.
*
* @package phpservermon
* @author David Ribeiro
* @author Jérôme Cabanis <jerome@lauraly.com>
* @copyright Copyright (c) 2008-2014 Pepijn Over <pep@neanderthal-technology.com>
* @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3
* @version Release: @package_version@
* @link http://www.phpservermonitor.org/
**/
$sm_lang = array(
'name' => 'Français - French',
'locale' => array('fr_FR.UTF-8', 'fr_FR', 'french'),
'system' => array(
'title' => 'Server Monitor',
'install' => 'Installer',
'action' => 'Action',
'save' => 'Enregistrer',
'edit' => 'Editer',
'delete' => 'Supprimer',
'date' => 'Date',
'message' => 'Message',
'yes' => 'Oui',
'no' => 'Non',
'insert' => 'Nouveau',
'add_new' => 'Nouveau',
'update_available' => 'Une nouvelle version ({version}) est disponible à l\'adresse <a href="http://www.phpservermonitor.org" target="_blank">http://www.phpservermonitor.org</a>.',
'back_to_top' => 'Haut de page',
'go_back' => 'Retour',
'ok' => 'OK',
'cancel' => 'Annuler',
// date/time format according the strftime php function format parameter http://php.net/manual/function.strftime.php
'short_day_format' => 'Le %e %B',
'long_day_format' => 'Le %e %B %Y',
'yesterday_format' => 'Hier à %kh%M',
'other_day_format' => '%A à %kh%M',
'never' => 'Jamais',
'hours_ago' => 'Il y a %d heures',
'an_hour_ago' => 'Il y a une heure',
'minutes_ago' => 'Il y a %d minutes',
'a_minute_ago' => 'Il y a une minute',
'seconds_ago' => 'Il y a %d secondes',
'a_second_ago' => 'Il y a une seconde',
),
'menu' => array(
'config' => 'Configuration',
'server' => 'Serveurs',
'server_log' => 'Événements',
'server_status' => 'États',
'server_update' => 'Mise à jour',
'user' => 'Utilisateurs',
'help' => 'Aide',
),
'users' => array(
'user' => 'Utilisateur',
'name' => 'Nom',
'user_name' => 'Nom d\'utilisateur',
'password' => 'Mot de passe',
'password_repeat' => 'Répéter le mot de passe',
'password_leave_blank' => 'Laisser vide pour ne pas le modifier',
'level' => 'Niveau',
'level_10' => 'Administrateur',
'level_20' => 'Utilisateur',
'level_description' => 'Les <b>Administrateurs</b> ont un accès total. Ils peuvent gérer les serveurs, les utilisateurs et éditer la configuration globale.<br/>Les <b>Utilisateurs</b> ne peuvent que voir et mettre à jour les serveurs qui leur ont été assignés.',
'mobile' => 'Téléphone',
'email' => 'Email',
'pushover' => 'Pushover',
'pushover_description' => 'Pushover est un service qui simplifie les notifications en temps réel. Voir <a href="https://pushover.net/">leur site web</a> pour plus d\'informations.',
'pushover_key' => 'Clé Pushover',
'pushover_device' => 'Appareil Pushover',
'pushover_device_description' => 'Nom de l\'appareil auquel le message doit être envoyé. Laissez vide pour l\'envoyer à tout les appareils.',
'delete_title' => 'Supprimer un utilisateur',
'delete_message' => 'Êtes-vous sûr de vouloir supprimer l\'utilisateur \'%1\' ?',
'deleted' => 'Utilisateur supprimé.',
'updated' => 'Utilisateur mis à jour.',
'inserted' => 'Utilisateur ajouté.',
'profile' => 'Profil',
'profile_updated' => 'Votre profil a été mis à jour.',
'error_user_name_bad_length' => 'Le nom d\'utilisateur doit avoir entre 2 et 64 caractères.',
'error_user_name_invalid' => 'Le nom d\'utilisateur ne peut contenir que des caractères alphabetiques (a-z, A-Z), des chiffres (0-9) ou underscore (_).',
'error_user_name_exists' => 'Ce nom d\'utilisateur existe déjà.',
'error_user_email_bad_length' => 'L\'adresse email doit avoir entre 5 et 255 caractères.',
'error_user_email_invalid' => 'L\'adresse email n\'est pas valide.',
'error_user_level_invalid' => 'Le niveau d\'utilisateur n\'est pas valide.',
'error_user_no_match' => 'L\'utilisateur n\'a pas été trouvé dans la base de donnée.',
'error_user_password_invalid' => 'Le mot de passe n\'est pas valide.',
'error_user_password_no_match' => 'Le mot de passe est incorrect.',
),
'log' => array(
'title' => 'Événements',
'type' => 'Type',
'status' => 'État',
'email' => 'email',
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Aucun événement',
),
'servers' => array(
'server' => 'Serveur',
'status' => 'État',
'label' => 'Nom',
'domain' => 'Domaine/IP',
'timeout' => 'Délai d\'attente',
'timeout_description' => 'Nombre de secondes à attendre une réponse du serveur.',
'port' => 'Port',
'type' => 'Type',
'type_website' => 'Site Web',
'type_service' => 'Service',
'pattern' => 'Rechercher un texte/motif',
'pattern_description' => 'Si ce texte n\'est par retrouvé sur le site web, le serveur est marqué hors-service. Les expressions réguliaires sont autorisées.',
'last_check' => 'Dernière vérification',
'last_online' => 'Dernière fois OK',
'monitoring' => 'Serveillé',
'no_monitoring' => 'Non serveillé',
'email' => 'Email',
'send_email' => 'Envoyer un email',
'sms' => 'SMS',
'send_sms' => 'Envoyer un SMS',
'pushover' => 'Pushover',
'users' => 'Users',
'delete_title' => 'Supprimer un serveur',
'delete_message' => 'Êtes-vous sûr de vouloir supprimer le serveur \'%1\' ?',
'deleted' => 'Serveur supprimé.',
'updated' => 'Serveur mis à jour.',
'inserted' => 'Serveur ajouté.',
'latency' => 'Temps de réponse',
'latency_max' => 'Temps de réponse maximum',
'latency_min' => 'Temps de réponse minimum',
'latency_avg' => 'Temps de réponse moyen',
'uptime' => 'Disponibilité',
'year' => 'Année',
'month' => 'Mois',
'week' => 'Semaine',
'day' => 'Jour',
'hour' => 'Heure',
'warning_threshold' => 'Seuil d\'alerte',
'warning_threshold_description' => 'Nombre d\'échecs de connexion avant que le serveur soit marqué hors-service.',
'chart_last_week' => 'La dernière semaine',
'chart_history' => 'Historique',
// Charts date format according jqPlot date format http://www.jqplot.com/docs/files/plugins/jqplot-dateAxisRenderer-js.html
'chart_day_format' => '%d/%m/%Y',
'chart_long_date_format' => '%d/%m/%Y %H:%M:%S',
'chart_short_date_format' => '%d/%m %H:%M',
'chart_short_time_format' => '%H:%M',
'warning_notifications_disabled_sms' => 'Les notifications SMS sont désactivées.',
'warning_notifications_disabled_email' => 'Les notifications par email sont désactivées.',
'warning_notifications_disabled_pushover' => 'Les notifications Pushover sont désactivées.',
'error_server_no_match' => 'Serveur non trouvé.',
'error_server_label_bad_length' => 'Le nom doit avoir entre 1 et 255 caractères.',
'error_server_ip_bad_length' => 'Domaine/IP doit avoir entre 1 et 255 caractères.',
'error_server_ip_bad_service' => 'L\'adresse IP n\'est pas valide.',
'error_server_ip_bad_website' => 'L\'URL du site web n\'est pas valide.',
'error_server_type_invalid' => 'Le type de service sélectionné n\'est pas valide.',
'error_server_warning_threshold_invalid' => 'Le seuil d\'alerte doit être un nombre entier supérieur à 0.',
),
'config' => array(
'general' => 'Général',
'language' => 'Langue',
'show_update' => 'Vérifier les nouvelles mise à jour chaque semaine',
'email_status' => 'Autoriser l\'envoi de mail',
'email_from_email' => 'Adresse de l\'expéditeur',
'email_from_name' => 'Nom de l\'expéditeur',
'email_smtp' => 'Utiliser un serveur SMTP',
'email_smtp_host' => 'Adresse serveur SMTP',
'email_smtp_port' => 'Port SMTP',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'Nom utilisateur SMTP',
'email_smtp_password' => 'Mot de passe SMTP',
'email_smtp_noauth' => 'Laisser vide si pas d\'authentication',
'sms_status' => 'Autoriser l\'envoi de SMS',
'sms_gateway' => 'Passerelle à utiliser pour l\'envoi de SMS',
'sms_gateway_mosms' => 'Mosms',
'sms_gateway_mollie' => 'Mollie',
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
'sms_gateway_username' => 'Nom utilisateur de la passerelle',
'sms_gateway_password' => 'Mot de passe de la passerelle',
'sms_from' => 'SMS de l\'expéditeur',
'pushover_status' => 'Autoriser l\'envoi des messages Pushover',
'pushover_description' => 'Pushover est un service qui simplifie les notifications en temps réel. Voir <a href="https://pushover.net/">leur site web</a> pour plus d\'informations.',
'pushover_clone_app' => 'Cliquez ici pour créer votre application Pushover',
'pushover_api_token' => 'Jeton application Pushover',
'pushover_api_token_description' => 'Avant de pouvoir utiliser Pushover, vous devez <a href="%1$s" target="_blank">créer une application</a> sur leur site web et entrer ici le jeton (Token) de l\'application.',
'alert_type' => 'Choisissez quand vous souhaitez être notifié',
'alert_type_description' => '<b>Changement d\'état : </b>'.
'Vous recevez une notification chaque fois que le serveur change d\'état. C\'est-à-dire passe de l\'état OK à HORS SERVICE ou de HORS SERVICE à OK.<br/>'.
'<br/><b>Hors service : </b>'.
'Vous ne recevez une notification que quand le serveur passe de l\'état OK à HORS SERVICE. Par exemple, '.
'Votre tache planifiée s\'exécute toute les 15 minutes et votre serveur passe à l\'état HORS SERVICE à 1 heure du matin et le reste jusqu\'à 6 heures du matin.'.
'Vous ne recevez qu\'une seule notification à 1 heure du matin.<br/>'.
'<br/><b>Toujours : </b>'.
'Vous recevez une notification à chaque exécution de la tache planifiée si le serveur est à l\'état HORS SERVICE ',
'alert_type_status' => 'Changement d\'état',
'alert_type_offline' => 'Hors service',
'alert_type_always' => 'Toujours',
'log_status' => 'Etat des événements',
'log_status_description' => 'Si l\'option est activée, un événement est enregistré chaque fois qu\'une notification a lieu.',
'log_email' => 'Enregistrer tout les emails envoyés',
'log_sms' => 'Enregistrer tout les SMS envoyés',
'log_pushover' => 'Enregistrer tout les messages Pushover envoyés',
'updated' => 'La configuration a été mise à jour.',
'tab_email' => 'Email',
'tab_sms' => 'SMS',
'tab_pushover' => 'Pushover',
'settings_email' => 'Configuration email',
'settings_sms' => 'Configuration SMS',
'settings_pushover' => 'Configuration Pushover',
'settings_notification' => 'Configuration des notifications',
'settings_log' => 'Configuration des événements',
'auto_refresh' => 'Auto-rachaîchissement',
'auto_refresh_servers' =>
'Auto-rachaîchissement de la page serveurs.<br/>'.
'<span class="small">'.
'Temps en secondes. Si 0, la page n\'est pas rafraîchie.'.
'</span>',
'seconds' => 'secondes',
'test' => 'Tester',
'test_email' => 'Un email va vous être envoyé à l\'adresse définie dans votre profil utilisateur.',
'test_sms' => 'Un SMS va vous être envoyé au numéro défini dans votre profil utilisateur.',
'test_pushover' => 'Une notification Pushover va être envoyée en utilisant la clé spécifiée dans votre profil utilisateur.',
'send' => 'Envoyer',
'test_subject' => 'Test',
'test_message' => 'Message de test',
'email_sent' => 'Email envoyé',
'email_error' => 'Erreur lors de l\'envoi de l\'email',
'sms_sent' => 'Sms envoyé',
'sms_error' => 'Erreur lors de l\'envoi du sms',
'sms_error_nomobile' => 'Impossible d\'envoyer un SMS de test: aucun numéro de téléphone défini dans votre profil.',
'pushover_sent' => 'Notification Pushover envoyée',
'pushover_error' => 'Une erreur s\'est produite lors de l\'envoi de la notification Pushover : %s',
'pushover_error_noapp' => 'Impossible d\'envoyer une notification de test: Aucun jeton application Pushover n\'a été défini dans la configuration Pushover.',
'pushover_error_nokey' => 'Impossible d\'envoyer une notification de test: Aucune clé Pushover n\'a été définie dans votre profil.',
'log_retention_period' => 'Durée de conservation',
'log_retention_period_description' => 'Nombre de jours de conservation des événements envoyés et des temps de réponse des serveurs. Entrez 0 pour les conserver indéfiniment.',
'log_retention_days' => 'jours',
),
// for newlines in the email messages use <br/>
'notifications' => array(
'off_sms' => 'Le Serveur \'%LABEL%\' est HORS SERVICE: IP=%IP%, Port=%PORT%. Erreur=%ERROR%',
'off_email_subject' => 'IMPORTANT: Le Serveur \'%LABEL%\' est HORS SERVICE',
'off_email_body' => "Impossible de se connecter au serveur suivant:<br/><br/>Serveur: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Erreur: %ERROR%<br/>Date: %DATE%",
'off_pushover_title' => 'Le Serveur \'%LABEL%\' est HORS SERVICE',
'off_pushover_message' => "Impossible de se connecter au serveur suivant:<br/><br/>Serveur: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Erreur: %ERROR%<br/>Date: %DATE%",
'on_sms' => 'Le Serveur \'%LABEL%\' est OK: IP=%IP%, Port=%PORT%',
'on_email_subject' => 'IMPORTANT: Le Serveur \'%LABEL%\' est OK',
'on_email_body' => "Le Serveur '%LABEL%' est de nouveau OK:<br/><br/>Serveur: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Date: %DATE%",
'on_pushover_title' => 'Le Serveur \'%LABEL%\' est OK',
'on_pushover_message' => "Le Serveur '%LABEL%' est de nouveau OK:<br/><br/>Serveur: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Date: %DATE%",
),
'login' => array(
'welcome_usermenu' => 'Bonjour %user_name%',
'title_sign_in' => 'Connectez vous SVP',
'title_forgot' => 'Mot de passe oublié ?',
'title_reset' => 'Réinitialisation du mot de passe',
'submit' => 'Envoyer',
'remember_me' => 'Se vouvenir de moi',
'login' => 'Connexion',
'logout' => 'Déconnexion',
'username' => 'Nom',
'password' => 'Mot de passe',
'password_repeat' => 'Répéter le mot de passe',
'password_forgot' => 'Mot de passe oublié ?',
'password_reset' => 'Réinitialiser le mot de passe',
'password_reset_email_subject' => 'Réinitialisation du mot de passe pour PHP Server Monitor',
'password_reset_email_body' => 'Cliquez sur le lien ci-dessous pour réinitialiser votre mot de passe. Veuillez noter qu\'il expire dans une heure.<br/><br/>%link%',
'error_user_incorrect' => 'Nom d\'utilisateur invalide.',
'error_login_incorrect' => 'Informations incorrectes.',
'error_login_passwords_nomatch' => 'Mot de passe invalide.',
'error_reset_invalid_link' => 'Le lien d\initialisation du mot de passe n\'est pas valide.',
'success_password_forgot' => 'Un email vous a été envoyé pour réinitialiser votre mot de passe.',
'success_password_reset' => 'Votre mot de passe a été réinitialisé.',
),
'error' => array(
'401_unauthorized' => 'Non autorisée',
'401_unauthorized_description' => 'Vous n\'avez pas les privilèges nécessaires pour voir cette page.',
),
);

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'Enable SMTP',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP username',
'email_smtp_password' => 'SMTP password',
'email_smtp_noauth' => 'Leave blank for no authentication',

View File

@ -1,297 +1,299 @@
<?php
/**
* PHP Server Monitor
* Monitor your servers and websites.
*
* This file is part of PHP Server Monitor.
* PHP Server Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PHP Server Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PHP Server Monitor. If not, see <http://www.gnu.org/licenses/>.
*
* @package phpservermon
* @author Ik-Jun
* @copyright Copyright (c) 2008-2014 Pepijn Over <pep@neanderthal-technology.com>
* @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3
* @version Release: @package_version@
* @link http://www.phpservermonitor.org/
**/
$sm_lang = array(
'name' => '한국 - Korean',
'locale' => array('ko_KR.UTF-8', 'ko_KR', 'korean'),
'system' => array(
'title' => 'Server Monitor',
'install' => 'Install',
'action' => 'Action',
'save' => '저장',
'edit' => '수정',
'delete' => '삭제',
'date' => '날짜',
'message' => '메세지',
'yes' => '예',
'no' => '아니오',
'insert' => '삽입',
'add_new' => '새계정 추가',
'update_available' => '새로운 업데이트가 있습니다 ({version}). 다음사이트를 방문 해 주십시오. <a href="http://www.phpservermonitor.org" target="_blank">http://www.phpservermonitor.org</a>.',
'back_to_top' => 'Back to top',
'go_back' => 'Go back',
'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 %X',
'other_day_format' => '%A at %X',
'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',
),
'menu' => array(
'config' => '설정',
'server' => '서버목록',
'server_log' => '로그',
'server_status' => 'Status',
'server_update' => '업데이트',
'user' => '사용자',
'help' => '도움말',
),
'users' => array(
'user' => '사용자',
'name' => '이름',
'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' => '<b>Administrators</b> have full access: they can manage servers, users and edit the global configuration.<br/><b>Users</b> can only view and run the updater for the servers that have been assigned to them.',
'mobile' => '휴대폰',
'email' => 'Email',
'pushover' => 'Pushover',
'pushover_description' => 'Pushover is a service that makes it easy to get real-time notifications. See <a href="https://pushover.net/">their website</a> for more info.',
'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.',
'updated' => '수정되었습니다.',
'inserted' => '추가되었습니다.',
'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' => 'It 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.',
),
'log' => array(
'title' => 'Log entries',
'type' => '속성',
'status' => '상태',
'email' => 'email',
'sms' => 'sms',
'pushover' => 'Pushover',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => '서버',
'status' => 'Status',
'label' => 'Label',
'domain' => 'Domain/IP',
'timeout' => 'Timeout',
'timeout_description' => 'Number of seconds to wait for the server to respond.',
'port' => 'Port',
'type' => 'Type',
'type_website' => 'Website',
'type_service' => 'Service',
'pattern' => 'Search string/regex',
'pattern_description' => 'If this pattern is not found on the website, the server will be marked offline. Regular expressions are allowed.',
'last_check' => '최근체크',
'last_online' => '최근접속',
'monitoring' => '확인중',
'no_monitoring' => 'No monitoring',
'email' => '메일 전송',
'send_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.',
'updated' => '서버가 수정되었습니다.',
'inserted' => '서버가 추가되었습니다.',
'latency' => '응답',
'latency_max' => 'Latency (maximum)',
'latency_min' => 'Latency (minimum)',
'latency_avg' => 'Latency (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',
// 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.',
),
'config' => array(
'general' => '일반',
'language' => '언어',
'show_update' => '매주 업데이트를 확인하시겠습니까?',
'email_status' => '메일전송 허용',
'email_from_email' => 'Email 주소',
'email_from_name' => 'Email 사용자',
'email_smtp' => 'Enable 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',
'sms_status' => 'SMS전송 허용',
'sms_gateway' => '메세지 전송을 위한 게이트웨이 허용',
'sms_gateway_mosms' => 'Mosms',
'sms_gateway_mollie' => 'Mollie',
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
'sms_gateway_smsit' => 'Smsit',
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_username' => 'Gateway username',
'sms_gateway_password' => 'Gateway password',
'sms_from' => 'Sender\'s phone number',
'pushover_status' => 'Allow sending Pushover messages',
'pushover_description' => 'Pushover is a service that makes it easy to get real-time notifications. See <a href="https://pushover.net/">their website</a> for more info.',
'pushover_clone_app' => 'Click here to create your Pushover app',
'pushover_api_token' => 'Pushover App API Token',
'pushover_api_token_description' => 'Before you can use Pushover, you need to <a href="%1$s" target="_blank">register an App</a> at their website and enter the App API Token here.',
'alert_type' => '알림을 원하면 다음과 같이 변경하십시오.',
'alert_type_description' => '<b>상태 변경: </b><br/>'.
'서버 상태가 변경이되면 알림을 받습니다. online -> offline -> online.<br/>'.
'<br/><b>오프라인: </b><br/>'.
'서버가 첫번째로 오프라인이 되었을 때 알림을 받습니다. 예를들어, '.
'cron이 매 15분이고 오전1시 부터 오전6시까지 다운되었을때 오전1시에 한번 알림을 받습니다.<br />' .
'<br/><b>항상: </b><br/>'.
'사이트가 다운되었을 때 매시간 알림을 받습니다.',
'alert_type_status' => '상태 변경',
'alert_type_offline' => '오프라인',
'alert_type_always' => '항상',
'log_status' => '로그 상태',
'log_status_description' => '로그상태가 TRUE이면 알림설정이 통과할때마다 이벤트를 기록합니다.',
'log_email' => '이메일로 로그를 전송하시겠습니까?',
'log_sms' => 'SMS로 로그를 전송하시겠습니까?',
'log_pushover' => 'Log pushover messages sent by the script',
'updated' => '설정이 수정되었습니다.',
'tab_email' => 'Email',
'tab_sms' => 'SMS',
'tab_pushover' => 'Pushover',
'settings_email' => 'Email 설정',
'settings_sms' => 'SMS 설정',
'settings_pushover' => 'Pushover settings',
'settings_notification' => '알림 설정',
'settings_log' => '로그 설정',
'auto_refresh' => 'Auto-refresh',
'auto_refresh_servers' =>
'서버페이지를 자동으로 새로고침.<br/>'.
'<span class="small">'.
'시간은 초(sec)로 설정을 하고, 0은 새로고침을 하지 않습니다.'.
'</span>',
'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.',
'send' => 'Send',
'test_subject' => 'Test',
'test_message' => 'Test message',
'email_sent' => 'Email sent',
'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',
),
// for newlines in the email messages use <br/>
'notifications' => array(
'off_sms' => '서버(\'%LABEL%\')가 다운되었습니다. : ip=%IP%, port=%PORT%. Error=%ERROR%',
'off_email_subject' => '중요: 서버(\'%LABEL%\')가 다운되었습니다.',
'off_email_body' => "서버 접속을 실패하였습니다.<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Error: %ERROR%<br/>Date: %DATE%",
'off_pushover_title' => '서버(\'%LABEL%\')가 다운되었습니다.',
'off_pushover_message' => "서버 접속을 실패하였습니다.<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Error: %ERROR%<br/>Date: %DATE%",
'on_sms' => '서버(\'%LABEL%\') 가동중: ip=%IP%, port=%PORT%',
'on_email_subject' => '중요: 서버(\'%LABEL%\')가 가동중입니다.',
'on_email_body' => "서버('%LABEL%')가 재가동됩니다.:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Date: %DATE%",
'on_pushover_title' => '서버(\'%LABEL%\')가 가동중입니다.',
'on_pushover_message' => "서버('%LABEL%')가 재가동됩니다.:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Date: %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.<br/><br/>%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.',
),
'error' => array(
'401_unauthorized' => 'Unauthorized',
'401_unauthorized_description' => 'You do not have the privileges to view this page.',
),
);
<?php
/**
* PHP Server Monitor
* Monitor your servers and websites.
*
* This file is part of PHP Server Monitor.
* PHP Server Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PHP Server Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PHP Server Monitor. If not, see <http://www.gnu.org/licenses/>.
*
* @package phpservermon
* @author Ik-Jun
* @copyright Copyright (c) 2008-2014 Pepijn Over <pep@neanderthal-technology.com>
* @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3
* @version Release: @package_version@
* @link http://www.phpservermonitor.org/
**/
$sm_lang = array(
'name' => '한국 - Korean',
'locale' => array('ko_KR.UTF-8', 'ko_KR', 'korean'),
'system' => array(
'title' => 'Server Monitor',
'install' => 'Install',
'action' => 'Action',
'save' => '저장',
'edit' => '수정',
'delete' => '삭제',
'date' => '날짜',
'message' => '메세지',
'yes' => '예',
'no' => '아니오',
'insert' => '삽입',
'add_new' => '새계정 추가',
'update_available' => '새로운 업데이트가 있습니다 ({version}). 다음사이트를 방문 해 주십시오. <a href="http://www.phpservermonitor.org" target="_blank">http://www.phpservermonitor.org</a>.',
'back_to_top' => 'Back to top',
'go_back' => 'Go back',
'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 %X',
'other_day_format' => '%A at %X',
'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',
),
'menu' => array(
'config' => '설정',
'server' => '서버목록',
'server_log' => '로그',
'server_status' => 'Status',
'server_update' => '업데이트',
'user' => '사용자',
'help' => '도움말',
),
'users' => array(
'user' => '사용자',
'name' => '이름',
'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' => '<b>Administrators</b> have full access: they can manage servers, users and edit the global configuration.<br/><b>Users</b> can only view and run the updater for the servers that have been assigned to them.',
'mobile' => '휴대폰',
'email' => 'Email',
'pushover' => 'Pushover',
'pushover_description' => 'Pushover is a service that makes it easy to get real-time notifications. See <a href="https://pushover.net/">their website</a> for more info.',
'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.',
'updated' => '수정되었습니다.',
'inserted' => '추가되었습니다.',
'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' => 'It 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.',
),
'log' => array(
'title' => 'Log entries',
'type' => '속성',
'status' => '상태',
'email' => 'email',
'sms' => 'sms',
'pushover' => 'Pushover',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => '서버',
'status' => 'Status',
'label' => 'Label',
'domain' => 'Domain/IP',
'timeout' => 'Timeout',
'timeout_description' => 'Number of seconds to wait for the server to respond.',
'port' => 'Port',
'type' => 'Type',
'type_website' => 'Website',
'type_service' => 'Service',
'pattern' => 'Search string/regex',
'pattern_description' => 'If this pattern is not found on the website, the server will be marked offline. Regular expressions are allowed.',
'last_check' => '최근체크',
'last_online' => '최근접속',
'monitoring' => '확인중',
'no_monitoring' => 'No monitoring',
'email' => '메일 전송',
'send_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.',
'updated' => '서버가 수정되었습니다.',
'inserted' => '서버가 추가되었습니다.',
'latency' => '응답',
'latency_max' => 'Latency (maximum)',
'latency_min' => 'Latency (minimum)',
'latency_avg' => 'Latency (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',
// 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.',
),
'config' => array(
'general' => '일반',
'language' => '언어',
'show_update' => '매주 업데이트를 확인하시겠습니까?',
'email_status' => '메일전송 허용',
'email_from_email' => 'Email 주소',
'email_from_name' => 'Email 사용자',
'email_smtp' => 'Enable SMTP',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP username',
'email_smtp_password' => 'SMTP password',
'email_smtp_noauth' => 'Leave blank for no authentication',
'sms_status' => 'SMS전송 허용',
'sms_gateway' => '메세지 전송을 위한 게이트웨이 허용',
'sms_gateway_mosms' => 'Mosms',
'sms_gateway_mollie' => 'Mollie',
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
'sms_gateway_smsit' => 'Smsit',
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_username' => 'Gateway username',
'sms_gateway_password' => 'Gateway password',
'sms_from' => 'Sender\'s phone number',
'pushover_status' => 'Allow sending Pushover messages',
'pushover_description' => 'Pushover is a service that makes it easy to get real-time notifications. See <a href="https://pushover.net/">their website</a> for more info.',
'pushover_clone_app' => 'Click here to create your Pushover app',
'pushover_api_token' => 'Pushover App API Token',
'pushover_api_token_description' => 'Before you can use Pushover, you need to <a href="%1$s" target="_blank">register an App</a> at their website and enter the App API Token here.',
'alert_type' => '알림을 원하면 다음과 같이 변경하십시오.',
'alert_type_description' => '<b>상태 변경: </b><br/>'.
'서버 상태가 변경이되면 알림을 받습니다. online -> offline -> online.<br/>'.
'<br/><b>오프라인: </b><br/>'.
'서버가 첫번째로 오프라인이 되었을 때 알림을 받습니다. 예를들어, '.
'cron이 매 15분이고 오전1시 부터 오전6시까지 다운되었을때 오전1시에 한번 알림을 받습니다.<br />' .
'<br/><b>항상: </b><br/>'.
'사이트가 다운되었을 때 매시간 알림을 받습니다.',
'alert_type_status' => '상태 변경',
'alert_type_offline' => '오프라인',
'alert_type_always' => '항상',
'log_status' => '로그 상태',
'log_status_description' => '로그상태가 TRUE이면 알림설정이 통과할때마다 이벤트를 기록합니다.',
'log_email' => '이메일로 로그를 전송하시겠습니까?',
'log_sms' => 'SMS로 로그를 전송하시겠습니까?',
'log_pushover' => 'Log pushover messages sent by the script',
'updated' => '설정이 수정되었습니다.',
'tab_email' => 'Email',
'tab_sms' => 'SMS',
'tab_pushover' => 'Pushover',
'settings_email' => 'Email 설정',
'settings_sms' => 'SMS 설정',
'settings_pushover' => 'Pushover settings',
'settings_notification' => '알림 설정',
'settings_log' => '로그 설정',
'auto_refresh' => 'Auto-refresh',
'auto_refresh_servers' =>
'서버페이지를 자동으로 새로고침.<br/>'.
'<span class="small">'.
'시간은 초(sec)로 설정을 하고, 0은 새로고침을 하지 않습니다.'.
'</span>',
'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.',
'send' => 'Send',
'test_subject' => 'Test',
'test_message' => 'Test message',
'email_sent' => 'Email sent',
'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',
),
// for newlines in the email messages use <br/>
'notifications' => array(
'off_sms' => '서버(\'%LABEL%\')가 다운되었습니다. : ip=%IP%, port=%PORT%. Error=%ERROR%',
'off_email_subject' => '중요: 서버(\'%LABEL%\')가 다운되었습니다.',
'off_email_body' => "서버 접속을 실패하였습니다.<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Error: %ERROR%<br/>Date: %DATE%",
'off_pushover_title' => '서버(\'%LABEL%\')가 다운되었습니다.',
'off_pushover_message' => "서버 접속을 실패하였습니다.<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Error: %ERROR%<br/>Date: %DATE%",
'on_sms' => '서버(\'%LABEL%\') 가동중: ip=%IP%, port=%PORT%',
'on_email_subject' => '중요: 서버(\'%LABEL%\')가 가동중입니다.',
'on_email_body' => "서버('%LABEL%')가 재가동됩니다.:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Date: %DATE%",
'on_pushover_title' => '서버(\'%LABEL%\')가 가동중입니다.',
'on_pushover_message' => "서버('%LABEL%')가 재가동됩니다.:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Date: %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.<br/><br/>%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.',
),
'error' => array(
'401_unauthorized' => 'Unauthorized',
'401_unauthorized_description' => 'You do not have the privileges to view this page.',
),
);

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'SMTP gebruiken',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP poort',
'email_smtp_security' => 'SMTP beveiliging',
'email_smtp_security_none' => 'Geen',
'email_smtp_username' => 'SMTP gebruikersnaam',
'email_smtp_password' => 'SMTP wachtwoord',
'email_smtp_noauth' => 'Laat leeg voor geen authenticatie',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'Włącz SMTP',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP login',
'email_smtp_password' => 'SMTP hasło',
'email_smtp_noauth' => 'Pozostaw puste dla braku autentykacji',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'Enable SMTP',
'email_smtp_host' => 'SMTP host',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP username',
'email_smtp_password' => 'SMTP password',
'email_smtp_noauth' => 'Deixe em branco para nenhuma autenticação',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'Включить SMTP',
'email_smtp_host' => 'SMTP сервер',
'email_smtp_port' => 'SMTP порт',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP пользователь',
'email_smtp_password' => 'SMTP пароль',
'email_smtp_noauth' => 'Оставить пустым, если без аутентификации',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => 'SMTP\'yi aktif et',
'email_smtp_host' => 'SMTP sunucusu',
'email_smtp_port' => 'SMTP port',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP kullanıcı adı',
'email_smtp_password' => 'SMTP şifre',
'email_smtp_noauth' => 'Doğrulama yapmamak için boş bırakın',

View File

@ -180,6 +180,8 @@ $sm_lang = array(
'email_smtp' => '使用SMTP发送',
'email_smtp_host' => 'SMTP主机',
'email_smtp_port' => 'SMTP端口',
'email_smtp_security' => 'SMTP security',
'email_smtp_security_none' => 'None',
'email_smtp_username' => 'SMTP用户名',
'email_smtp_password' => 'SMTP密码',
'email_smtp_noauth' => '留空为无验证',

View File

@ -109,8 +109,11 @@ class ConfigController extends AbstractController {
);
}
// @todo these selected values can easily be rewritten in the template using twig
$tpl_data['sms_selected_' . $config['sms_gateway']] = 'selected="selected"';
$tpl_data['alert_type_selected_' . $config['alert_type']] = 'selected="selected"';
$smtp_sec = isset($config['email_smtp_security']) ? $config['email_smtp_security'] : '';
$tpl_data['email_smtp_security_selected_' . $smtp_sec] = 'selected="selected"';
$tpl_data['auto_refresh_servers'] = (isset($config['auto_refresh_servers'])) ? $config['auto_refresh_servers'] : '0';
$tpl_data['log_retention_period'] = (isset($config['log_retention_period'])) ? $config['log_retention_period'] : '365';
@ -149,6 +152,10 @@ class ConfigController extends AbstractController {
'language' => $_POST['language'],
'sms_gateway' => $_POST['sms_gateway'],
'alert_type' => $_POST['alert_type'],
'email_smtp_security' =>
in_array($_POST['email_smtp_security'], array('', 'ssl', 'tls'))
? $_POST['email_smtp_security']
: '',
'auto_refresh_servers' => intval(psm_POST('auto_refresh_servers', 0)),
'log_retention_period' => intval(psm_POST('log_retention_period', 365)),
);
@ -292,6 +299,8 @@ class ConfigController extends AbstractController {
'label_email_smtp' => psm_get_lang('config', 'email_smtp'),
'label_email_smtp_host' => psm_get_lang('config', 'email_smtp_host'),
'label_email_smtp_port' => psm_get_lang('config', 'email_smtp_port'),
'label_email_smtp_security' => psm_get_lang('config', 'email_smtp_security'),
'label_email_smtp_security_none' => psm_get_lang('config', 'email_smtp_security_none'),
'label_email_smtp_username' => psm_get_lang('config', 'email_smtp_username'),
'label_email_smtp_password' => psm_get_lang('config', 'email_smtp_password'),
'label_email_smtp_noauth' => psm_get_lang('config', 'email_smtp_noauth'),

View File

@ -136,6 +136,7 @@ class Installer {
('email_smtp', ''),
('email_smtp_host', ''),
('email_smtp_port', ''),
('email_smtp_security', ''),
('email_smtp_username', ''),
('email_smtp_password', ''),
('sms_status', '0'),

View File

@ -100,6 +100,16 @@
<input type="text" class="input-small" id="email_smtp_port" name="email_smtp_port" value="{{ email_smtp_port }}" maxlength="10" placeholder="{{ label_email_smtp_port }}" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="email_smtp_security">{{ label_email_smtp_security }}</label>
<div class="controls">
<select id="email_smtp_security" name="email_smtp_security">
<option value="" {{ email_smtp_security_selected_|raw }}>{{ label_email_smtp_security_none }}</option>
<option value="ssl" {{ email_smtp_security_selected_ssl|raw }}>SSL</option>
<option value="tls" {{ email_smtp_security_selected_tls|raw }}>TLS</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="email_smtp_username">{{ label_email_smtp_username }}</label>
<div class="controls">