Merged branch master and fixed conflict

After Password Strength merge this branch have 2 conflict:
- gulpfile.js
- public/build/rev-manifest.json

All conflicts solved now
This commit is contained in:
Davide Bellini
2015-10-03 12:53:43 +02:00
34 changed files with 372 additions and 110 deletions

View File

@@ -21,6 +21,8 @@ use CachetHQ\Cachet\Models\User;
use DateInterval;
use DateTime;
use Illuminate\Console\Command;
use Illuminate\Console\ConfirmableTrait;
use Symfony\Component\Console\Input\InputOption;
/**
* This is the demo seeder command.
@@ -29,6 +31,8 @@ use Illuminate\Console\Command;
*/
class DemoSeederCommand extends Command
{
use ConfirmableTrait;
/**
* The console command name.
*
@@ -50,6 +54,10 @@ class DemoSeederCommand extends Command
*/
public function fire()
{
if (!$this->confirmToProceed()) {
return;
}
$this->seedComponentGroups();
$this->seedComponents();
$this->seedIncidents();
@@ -57,6 +65,8 @@ class DemoSeederCommand extends Command
$this->seedMetrics();
$this->seedSettings();
$this->seedUsers();
$this->info('Database seeded with demo data successfully!');
}
/**
@@ -306,4 +316,16 @@ class DemoSeederCommand extends Command
User::create($user);
}
}
/**
* Get the console command options.
*
* @return array
*/
protected function getOptions()
{
return [
['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production.'],
];
}
}

View File

@@ -147,11 +147,11 @@ abstract class AbstractApiController extends Controller
$pagination = [
'pagination' => [
'total' => $paginator->total(),
'total' => (int) $paginator->total(),
'count' => count($paginator->items()),
'per_page' => $paginator->perPage(),
'current_page' => $paginator->currentPage(),
'total_pages' => $paginator->lastPage(),
'per_page' => (int) $paginator->perPage(),
'current_page' => (int) $paginator->currentPage(),
'total_pages' => (int) $paginator->lastPage(),
'links' => [
'next_page' => $paginator->nextPageUrl(),
'previous_page' => $paginator->previousPageUrl(),

View File

@@ -168,7 +168,9 @@ class SettingsController extends Controller
return Redirect::route('dashboard.settings.setup')->withErrors(trans('dashboard.settings.edit.failure'));
}
if (Binput::has('app_locale')) {
Lang::setLocale(Binput::get('app_locale'));
}
return Redirect::route('dashboard.settings.setup')
->withSuccess(trans('dashboard.settings.edit.success'));

View File

@@ -83,6 +83,9 @@
]
},
"config": {
"platform": {
"php": "5.5.9"
},
"preferred-install": "dist"
},
"extra": {

21
composer.lock generated
View File

@@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "5fcb1ee71470887bd1dca3ef98e61bc5",
"content-hash": "d73310d7327fc68c212b2fb76f30ee7d",
"hash": "4b5a5184752be8d270d8be97d85d26fd",
"content-hash": "dc1e35be9fd2c68b8409f2512d3daed6",
"packages": [
{
"name": "alt-three/emoji",
@@ -1665,7 +1665,7 @@
"name": "Jeremy Lindblom",
"email": "jeremeamia@gmail.com",
"homepage": "https://github.com/jeremeamia",
"role": "Developer"
"role": "developer"
}
],
"description": "Serialize Closure objects, including their context and binding",
@@ -3927,16 +3927,16 @@
},
{
"name": "phpunit/phpunit-mock-objects",
"version": "2.3.7",
"version": "2.3.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "5e2645ad49d196e020b85598d7c97e482725786a"
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5e2645ad49d196e020b85598d7c97e482725786a",
"reference": "5e2645ad49d196e020b85598d7c97e482725786a",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
"shasum": ""
},
"require": {
@@ -3979,7 +3979,7 @@
"mock",
"xunit"
],
"time": "2015-08-19 09:14:08"
"time": "2015-10-02 06:51:40"
},
{
"name": "sebastian/comparator",
@@ -4410,5 +4410,8 @@
"platform": {
"php": "^5.5.9"
},
"platform-dev": []
"platform-dev": [],
"platform-overrides": {
"php": "5.5.9"
}
}

View File

@@ -25,6 +25,7 @@ elixir(function (mix) {
'vendor/bower_components/chartjs/Chart.js',
'vendor/bower_components/jquery-sparkline/dist/jquery.sparkline.js',
'vendor/bower_components/sweetalert/dist/sweetalert.min.js',
'resources/assets/js/password-strength.js',
'resources/assets/js/app.js',
'resources/assets/js/**/*.js'
], 'public/dist/js/all.js', './')

19
public/build/dist/css/all-fbd1bacde1.css vendored Executable file

File diff suppressed because one or more lines are too long

16
public/build/dist/js/all-1c16482be2.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
{
"dist/css/all.css": "dist/css/all-1fd79ec356.css",
"dist/js/all.js": "dist/js/all-29dc2bf4b8.js"
"dist/css/all.css": "dist/css/all-fbd1bacde1.css",
"dist/js/all.js": "dist/js/all-1c16482be2.js"
}

View File

@@ -360,6 +360,9 @@ $(function() {
.filter(":lt(" + (next) + ")")
.addClass("active");
}
// Password strength
$('.password-strength').strengthify();
});
function askConfirmation(callback) {

View File

@@ -0,0 +1,80 @@
/**
* Combine jQuery and zxcvbn to create a password strength meter.
* Based on : strengthify https://github.com/kabum/strengthify
*/
(function($) {
$.fn.strengthify = function(paramOptions) {
var me = this,
defaults = {
zxcvbn: 'https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/2.0.2/zxcvbn.min.js'
},
options = $.extend(defaults, paramOptions);
// Add elements to the DOM
$('.strengthify-wrapper')
.append('<div class="strengthify-bg" />')
.append('<div class="strengthify-container" />')
.append('<div class="strengthify-separator" style="left: 25%" />')
.append('<div class="strengthify-separator" style="left: 50%" />')
.append('<div class="strengthify-separator" style="left: 75%" />');
$.ajax({
cache: true,
dataType: 'script',
url: options.zxcvbn
}).done(function() {
me.bind('keyup input', function() {
var password = $(this).val(),
// Hide strengthigy if no input is provided
opacity = (password === '') ? 0 : 1,
// Calculate result
result = zxcvbn(password),
css = '',
// cache jQuery selections
$container = $('.strengthify-container'),
$wrapper = $('.strengthify-wrapper');
$wrapper.children().css(
'opacity',
opacity
).css(
'-ms-filter',
'"progid:DXImageTransform.Microsoft.Alpha(Opacity=' + opacity * 100 + ')"'
);
// Style strengthify bar
// possible scores: 0, 1, 2, 3, 4
switch (result.score) {
case 0:
case 1:
css = 'password-bad';
break;
case 2:
css = 'password-medium';
break;
case 3:
case 4:
css = 'password-good';
break;
}
$container
.attr('class', css + ' strengthify-container')
// possible scores: 0, 1, 2, 3, 4
.css(
'width',
// if score is '0' it will be changed to '1' to
// not hide strengthify if the password is extremely weak
((result.score === 0 ? 1 : result.score) * 25) + '%'
);
// Reset state for empty string password
if (password === '') {
$container.css('width', 0);
}
});
});
return me;
};
}(jQuery));

View File

@@ -43,6 +43,7 @@ body {
@import "plugins/messenger";
@import "plugins/animate";
@import "plugins/bootstrap-datetimepicker/bootstrap-datetimepicker";
@import "plugins/password-strength";
// Status Page will need to override certain styles.
@import "status-page";

View File

@@ -0,0 +1,46 @@
.strengthify-wrapper > * {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
-webkit-transition:all .5s ease-in-out;
-moz-transition:all .5s ease-in-out;
transition:all .5s ease-in-out;
}
.strengthify-wrapper {
position: relative;
}
.strengthify-bg, .strengthify-container, .strengthify-wrapper, .strengthify-separator {
height: 8px;
}
.strengthify-bg, .strengthify-container {
display: block;
position: absolute;
width: 100%;
}
.strengthify-bg {
background-color: #eeeeee;
}
.strengthify-separator {
display: inline-block;
position: absolute;
background-color: #ffffff;
width: 2px;
z-index: 10;
}
.password-bad {
background-color: $cachet-red;
}
.password-medium {
background-color: $cachet-yellow;
}
.password-good {
background-color: $cachet-green;
}

View File

@@ -52,9 +52,9 @@ return [
// Metrics
'metrics' => [
'filter' => [
'hourly' => 'Last 12 Hours',
'weekly' => 'Week',
'monthly' => 'Month',
'hourly' => 'Letzte 12 Stunden',
'weekly' => 'Wöchentlich',
'monthly' => 'Monatlich',
],
],
@@ -63,16 +63,16 @@ return [
'subscribe' => 'Abonnieren Sie um die neuesten Updates zu erhalten.',
'button' => 'Abonnieren',
'email' => [
'subscribe' => 'Aktualisierungen per e-Mail abonnieren.',
'subscribed' => 'Sie haben e-Mail-Benachrichtigungen abonniert, überprüfen Sie bitte Ihre e-Mail, um Ihr Abonnement zu bestätigen.',
'verified' => 'Ihre e-Mail-Abonnement ist bestätigt worden. Danke!',
'unsubscribe' => 'Von e-Mail-Updates deabonnieren.',
'unsubscribed' => 'Ihre e-Mail-Abonnement wurde gekündigt.',
'subscribe' => 'Aktualisierungen per E-Mail abonnieren.',
'subscribed' => 'Sie haben E-Mail-Benachrichtigungen abonniert, überprüfen Sie bitte Ihre E-Mail, um Ihr Abonnement zu bestätigen.',
'verified' => 'Ihre E-Mail-Abonnement ist bestätigt worden. Danke!',
'unsubscribe' => 'Von E-Mail-Updates deabonnieren.',
'unsubscribed' => 'Ihre E-Mail-Abonnement wurde gekündigt.',
'failure' => 'Etwas ist mit dem Abonnement schief gelaufen.',
'verify' => [
'text' => 'Bitte bestätigen Sie Ihre e-Mail-Abonnement zu :app_name Status-Aktualisierungen.\\n:link\\nDanke, :app_name',
'html-preheader' => 'Bitte bestätigen Sie Ihre e-Mail-Abonnement zu :app_name Status-Aktualisierungen.',
'html' => '<p>Bestätigen Sie bitte Ihr e-Mail-Abonnement für :app_name Statusaktualisierungen.</p><p><a href=":link">:link</a></p><p>Danke, :app_name</p>',
'text' => 'Bitte bestätigen Sie Ihre E-Mail-Abonnement zu :app_name Status-Aktualisierungen.\\n:link\\nDanke, :app_name',
'html-preheader' => 'Bitte bestätigen Sie Ihre E-Mail-Abonnement zu :app_name Status-Aktualisierungen.',
'html' => '<p>Bestätigen Sie bitte Ihr E-Mail-Abonnement für :app_name Statusaktualisierungen.</p><p><a href=":link">:link</a></p><p>Danke, :app_name</p>',
],
'maintenance' => [
'text' => 'Neue Wartung wurde für :app_name geplant.\\nDanke, :app_name',

View File

@@ -76,7 +76,7 @@ return [
'title' => 'Komponente hinzufügen',
'message' => 'Sie sollten eine Komponente erstellen.',
'success' => 'Komponente erstellt.',
'failure' => 'Mit der Komponente ist etwas schiefgegangen.',
'failure' => 'Beim Erstellen der Komponente ist etwas schiefgegangen.',
],
'edit' => [
'title' => 'Komponente bearbeiten',
@@ -118,7 +118,7 @@ return [
// Subscribers
'subscribers' => [
'subscribers' => 'Abonnenten',
'description' => 'Abonnenten erhalten e-Mail-Updates, wenn Vorfälle erstellt werden.',
'description' => 'Abonnenten erhalten E-Mail Updates wenn Vorfälle erstellt werden.',
'verified' => 'Verifiziert',
'not_verified' => 'Nicht verifiziert',
'add' => [
@@ -129,7 +129,7 @@ return [
'edit' => [
'title' => 'Abonnent aktualisieren',
'success' => 'Abonnent aktualisiert.',
'failure' => 'Bei der Aktualisierung ging etwas schief.',
'failure' => 'Bei der Aktualisierung ist etwas schiefgegangen.',
],
],
@@ -151,7 +151,7 @@ return [
],
'delete' => [
'success' => 'Benutzer aktualisiert.',
'failure' => 'Bei dem Löschen dieses Benutzers ging etwas ging schief.',
'failure' => 'Bei dem Löschen dieses Benutzers ging etwas schief.',
],
],
@@ -160,8 +160,8 @@ return [
'settings' => 'Einstellungen',
'app-setup' => [
'app-setup' => 'Anwendungsinstallation',
'images-only' => 'Nur Bilder können hochgeladen werden.',
'too-big' => 'Die von die Ihnen hochgeladene Datei ist zu groß. Laden Sie ein Bild welches kleiner als :size ist hoch',
'images-only' => 'Es können nur Bilder hochgeladen werden.',
'too-big' => 'Die von Ihnen hochgeladene Datei ist zu groß. Laden Sie ein Bild welches kleiner als :size ist hoch',
],
'security' => [
'security' => 'Sicherheit',
@@ -181,10 +181,10 @@ return [
// Login
'login' => [
'login' => 'Login',
'logged_in' => 'Sie sind eingeloggt.',
'login' => 'Anmelden',
'logged_in' => 'Sie sind angemeldet.',
'welcome' => 'Willkommen zurück!',
'two-factor' => 'Bitte geben Sie Ihr Token ein.',
'two-factor' => 'Bitte geben Sie Ihren Token ein.',
],
// Sidebar footer

View File

@@ -31,7 +31,7 @@ return [
'password' => 'Passwort',
'2fauth' => 'Authentifizierungscode',
'invalid' => 'E-Mail-Adresse oder Passwort ungültig',
'invalid-token' => 'Token ungültig',
'invalid-token' => 'Token ist ungültig',
'cookies' => 'Sie müssen Cookies aktivieren um sich anzumelden.',
],
@@ -105,7 +105,7 @@ return [
'analytics_gosquared' => 'GoSquared Analytics Code',
'analytics_piwik_url' => 'URL der Piwik-Instanz (ohne http(s)://)',
'analytics_piwik_siteid' => 'Piwik\'s Seiten-ID',
'subscribers' => 'Personen die Anmeldung für e-Mail-Benachrichtigung erlauben?',
'subscribers' => 'Personen die Anmeldung für E-Mail-Benachrichtigung erlauben?',
],
'security' => [
'allowed-domains' => 'Erlaubte Domains',
@@ -143,5 +143,5 @@ return [
'remove' => 'Entfernen',
// Other
'optional' => '* Optional',
'optional' => '* optional',
];

View File

@@ -23,7 +23,7 @@ return [
*/
'password' => 'Passwörter müssen mindestens sechs Zeichen lang sein und equivalent zu der Bestätigung sein.',
'user' => 'Wir können keinen Benutzer mit dieser E-Mail Adresse finden.',
'user' => 'Es konnte kein Benutzer mit dieser E-Mail Adresse gefunden werden.',
'token' => 'Dieser Passwort-Reset-Token ist ungültig.',
'sent' => 'Passworterinnerung gesendet!',
'reset' => 'Passwort wurde zurückgesetzt!',

View File

@@ -16,7 +16,7 @@ return [
'env_setup' => 'Einrichtung der Systemumgebung',
'status_page_setup' => 'Statusseite einrichten',
'show_support' => 'Möchten Sie Cachet unterstützen?',
'admin_account' => 'Administrator Konto',
'admin_account' => 'Administratorkonto',
'complete_setup' => 'Installation abschließen',
'completed' => 'Cachet wurde erfolgreich konfiguriert!',
'finish_setup' => 'Zum Dashboard wechseln',

View File

@@ -0,0 +1,28 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
return [
/*
|--------------------------------------------------------------------------
| Authentication Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used during authentication for various
| messages that we need to display to the user. You are free to modify
| these language lines according to your application's requirements.
|
*/
'failed' => 'These credentials do not match our records.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
];

View File

@@ -47,7 +47,7 @@ return [
'notify_subscribers' => 'Notify subscribers',
'visibility' => 'Incident Visibility',
'public' => 'Viewable by public',
'logged_in_only' => 'Only visible logged in users',
'logged_in_only' => 'Only visible to logged in users',
'templates' => [
'name' => 'Name',
'template' => 'Template',

View File

@@ -23,9 +23,9 @@ return [
*/
'password' => 'Passwords must be at least six characters and match the confirmation.',
'user' => 'We can\'t find a user with that e-mail address.',
'reset' => 'Your password has been reset!',
'sent' => 'We have e-mailed your password reset link!',
'token' => 'This password reset token is invalid.',
'sent' => 'Password reminder sent!',
'reset' => 'Password has been reset!',
'user' => "We can't find a user with that e-mail address.",
];

View File

@@ -45,10 +45,12 @@ return [
'digits_between' => 'The :attribute must be between :min and :max digits.',
'email' => 'The :attribute must be a valid email address.',
'exists' => 'The selected :attribute is invalid.',
'filled' => 'The :attribute field is required.',
'image' => 'The :attribute must be an image.',
'in' => 'The selected :attribute is invalid.',
'integer' => 'The :attribute must be an integer.',
'ip' => 'The :attribute must be a valid IP address.',
'json' => 'The :attribute must be a valid JSON string.',
'max' => [
'numeric' => 'The :attribute may not be greater than :max.',
'file' => 'The :attribute may not be greater than :max kilobytes.',
@@ -79,9 +81,9 @@ return [
'array' => 'The :attribute must contain :size items.',
],
'string' => 'The :attribute must be a string.',
'timezone' => 'The :attribute must be a valid zone.',
'unique' => 'The :attribute has already been taken.',
'url' => 'The :attribute format is invalid.',
'timezone' => 'The :attribute must be a valid zone.',
/*
|--------------------------------------------------------------------------

View File

@@ -22,11 +22,11 @@ return [
// Incidents
'incidents' => [
'none' => 'No hay ninguna incidencia reportada.',
'none' => 'No hay ningún incidente reportado.',
'past' => 'Incidentes anteriores',
'previous_week' => 'Semana anterior',
'next_week' => 'Siguiente semana',
'none' => 'No hay ninguna incidencia reportada.',
'none' => 'No hay ningún incidente reportado.',
'status' => [
0 => '',
1 => 'Investigando',
@@ -50,37 +50,37 @@ return [
// Metrics
'metrics' => [
'filter' => [
'hourly' => 'Last 12 Hours',
'weekly' => 'Week',
'monthly' => 'Month',
'hourly' => 'Últimas 12 horas',
'weekly' => 'Semana',
'monthly' => 'Mes',
],
],
// Subscriber
'subscriber' => [
'subscribe' => 'Subscribe to get the most recent updates.',
'button' => 'Subscribe',
'subscribe' => 'Suscríbete para recibir las actualizaciones más recientes.',
'button' => 'Suscribirse',
'email' => [
'subscribe' => 'Subscribe to email updates.',
'subscribed' => 'You\'ve been subscribed to email notifications, please check your email to confirm your subscription.',
'verified' => 'Your email subscription has been confirmed. Thank you!',
'unsubscribe' => 'Unsuscribe from email updates.',
'unsubscribed' => 'Your email subscription has been cancelled.',
'failure' => 'Something went wrong with the subscription.',
'subscribe' => 'Suscríbete a las actualizaciones por correo electrónico.',
'subscribed' => 'Se te ha suscrito a la la lista de notificaciones por correo electónico, por favor comprueba tu email para confirmar la suscripción.',
'verified' => 'Tu suscripción a la lista de notificaciones por correo electrónico ha sido confirmada. ¡Gracias!',
'unsubscribe' => 'Desuscribirse de la lista de notificaciones por correo electrónico.',
'unsubscribed' => 'Tu suscripción a la lista de notificaciones por correo electrónico has sido cancelada.',
'failure' => 'Algo salió mal con la suscripción.',
'verify' => [
'text' => "Please confirm your email subscription to :app_name status updates.\n:link\nThank you, :app_name",
'html-preheader' => 'Please confirm your email subscription to :app_name status updates.',
'html' => '<p>Please confirm your email subscription to :app_name status updates.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
'text' => "Por favor confirma tu suscripción por correo electrónico a las actualizaciones de estado de :app_name.\n:link\nGracias, :app_name",
'html-preheader' => 'Por favor confirma tu suscripción por correo electrónico a las actualizaciones de estado de :app_name.',
'html' => '<p>Por favor confirma tu suscripción por correo electrónico a las actualizaciones de estado de :app_name.</p><p><a href=":link">:link</a></p><p>Gracias, :app_name</p>',
],
'maintenance' => [
'text' => "New maintenance has been scheduled on :app_name.\nThank you, :app_name",
'html-preheader' => 'New maintenance has been scheduled on :app_name.',
'html' => '<p>New maintenance has been scheduled on :app_name.</p><p>Thank you, :app_name</p>',
'text' => "Se ha programado una tarea de mantenimiento en :app_name.\nGracias, :app_name",
'html-preheader' => 'Se ha programado una tarea de mantenimiento en :app_name.',
'html' => '<p>Se ha programado una tarea de mantenimiento en :app_name.</p><p>Gracias, :app_name</p>',
],
'incident' => [
'text' => "New incident has been reported on :app_name.\nThank you, :app_name",
'html-preheader' => 'New incident has been reported on :app_name.',
'html' => '<p>New incident has been reported on :app_name.</p><p>Thank you, :app_name</p>',
'text' => "Se ha informado de un nuevo incidente en :app_name.\nGracias, :app_name",
'html-preheader' => 'Se ha informado de un nuevo incidente en :app_name.',
'html' => '<p>Se ha informado de un nuevo incidente en :app_name.</p><p>Gracias, :app_name</p>',
],
],
],

View File

@@ -16,7 +16,7 @@ return [
// Incidents
'incidents' => [
'incidents' => 'Incidentes',
'logged' => '{0} No hay incidencias, ¡buen trabajo!|Has registrado una incidencia.|Has reportado <strong>:count</strong> incidencias.',
'logged' => '{0} No hay incidentes, ¡buen trabajo!|Has registrado un incidente.|Has reportado <strong>:count</strong> incidentes.',
'incident-create-template' => 'Crear plantilla',
'incident-templates' => 'Plantillas de incidente',
'add' => [
@@ -65,16 +65,16 @@ return [
// Component groups
'groups' => [
'groups' => 'Grupo de componente|Grupos de componente',
'no_components' => 'You should add a component group.',
'no_components' => 'Deberías añadir un grupo de componentes.',
'add' => [
'title' => 'Agregar un grupo',
'success' => 'Grupo componente agregado.',
'failure' => 'Algo salió mal con el grupo del componente.',
],
'edit' => [
'title' => 'Edit a component group',
'success' => 'Component group updated.',
'failure' => 'Something went wrong with the component group.',
'title' => 'Editar un grupo de componentes',
'success' => 'Grupo de componentes actualizado.',
'failure' => 'Algo salió mal con el grupo de componentes.',
],
],
],
@@ -147,13 +147,13 @@ return [
'notifications' => [
'notifications' => 'Notificaciones',
'awesome' => 'Excelente.',
'whoops' => 'Whoops.',
'whoops' => 'Ups.',
],
// Welcome modal
'welcome' => [
'welcome' => 'Bienvenido a Cachet',
'message' => 'La página de estado está casi lista! Tal vez quieras configurar estos ajustes adicionales',
'message' => '¡La página de estado está casi lista! Tal vez quieras configurar estos ajustes adicionales',
'close' => 'Ir directo al Panel de Control',
'steps' => [
'component' => 'Crear componentes',

View File

@@ -30,7 +30,7 @@ return [
'2fauth' => 'Código de Autenticación',
'invalid' => 'Dirección de correo o contraseña incorrectos',
'invalid-token' => 'Token inválido',
'cookies' => 'You must enable cookies to login.',
'cookies' => 'Debes activar las cookies para poder entrar.',
],
// Incidents form fields
@@ -69,9 +69,9 @@ return [
'description' => 'Descripción',
'description-help' => 'Puedes usar también Markdown.',
'display-chart' => '¿Vizualizar gráfica en la página de estado?',
'calc_type' => 'Calculation of metrics',
'type_sum' => 'Sum',
'type_avg' => 'Average',
'calc_type' => 'Cálculo de métricas',
'type_sum' => 'Suma',
'type_avg' => 'Media',
'points' => [
'value' => 'Valor',
@@ -91,11 +91,11 @@ return [
'about-this-page' => 'Sobre esta página',
'days-of-incidents' => '¿Cuántos días de incidentes mostrar?',
'banner' => 'Imagen de inicio',
'banner-help' => 'Se recomienda subir una imagen no más grande de 930px de ancho .',
'analytics_google' => 'Google Analytics code',
'analytics_gosquared' => 'GoSquared Analytics code',
'analytics_piwik_url' => 'URL of your Piwik instance (without http(s)://)',
'analytics_piwik_siteid' => 'Piwik\'s site id',
'banner-help' => 'Se recomienda subir una imagen no más grande de 930px de ancho.',
'analytics_google' => 'Código de Google Analytics',
'analytics_gosquared' => 'Código de GoSquared Analytics',
'analytics_piwik_url' => 'URL de tu instancia Piwik (sin http(s)://)',
'analytics_piwik_siteid' => 'Id sitio Piwik',
],
'security' => [
'allowed-domains' => 'Dominios permitidos',
@@ -107,7 +107,7 @@ return [
'theme' => [
'background-color' => 'Color de fondo',
'text-color' => 'Color de Texto',
'dashboard-login' => 'Show dashboard button in the footer?',
'dashboard-login' => '¿Mostrar botón del panel en el pie?',
],
],
@@ -116,9 +116,9 @@ return [
'email' => 'Correo electrónico',
'password' => 'Contraseña',
'api-token' => 'API Token',
'api-token-help' => 'Al regenerar su API key revocara todas las aplicaciones existentes.',
'api-token-help' => 'Al regenerar tu API key revocarás todas las aplicaciones existentes.',
'2fa' => [
'help' => 'Habilitar autenticación de dos pasos aumenta la seguridad de tu cuenta. Necesitarás descargar <a href="https://support.google.com/accounts/answer/1066447?hl=en"> Google Authenticator</a> o una aplicación similar a su dispositivo móvil. Al iniciar sesión, te pedirá proporcionar un token generado por la aplicación.',
'help' => 'Habilitar autenticación de dos pasos aumenta la seguridad de tu cuenta. Necesitarás descargar <a href="https://support.google.com/accounts/answer/1066447?hl=en"> Google Authenticator</a> o una aplicación similar en tu dispositivo móvil. Al iniciar sesión te pedirá proporcionar un token generado por la aplicación.',
],
],

View File

@@ -24,8 +24,8 @@ return [
'password' => 'Las contraseñas deben tener al menos seis caracteres y coincidir con la confirmación.',
'user' => 'No podemos encontrar un usuario con esa dirección de correo electrónico.',
'token' => 'El token para resetear el password no es válido.',
'sent' => '!Recordatorio de contraseña enviado!',
'reset' => '!La contraseña ha sido restablecida!',
'token' => 'El token para resetear la contraseña no es válido.',
'sent' => '¡Recordatorio de contraseña enviado!',
'reset' => '¡La contraseña ha sido restablecida!',
];

View File

@@ -0,0 +1,28 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
return [
/*
|--------------------------------------------------------------------------
| Authentication Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used during authentication for various
| messages that we need to display to the user. You are free to modify
| these language lines according to your application's requirements.
|
*/
'failed' => 'Credenziali non corrispondenti ai dati registrati.',
'throttle' => 'Troppi tentativi di accesso. Riprova tra :seconds secondi.',
];

View File

@@ -191,7 +191,7 @@ return [
// Notifications
'notifications' => [
'notifications' => 'Notifiche',
'awesome' => 'Eccezionale.',
'awesome' => 'Fantastico.',
'whoops' => 'Whoops.',
],
@@ -199,7 +199,7 @@ return [
'welcome' => [
'welcome' => 'Benvenuto in Cachet',
'message' => 'La tua Status Page è quasi pronta! Potresti voler configurare queste impostazioni aggiuntive',
'close' => 'Vai direttamente alla mia dashboard',
'close' => 'Vai alla dashboard',
'steps' => [
'component' => 'Crea componenti',
'incident' => 'Crea incidenti',

View File

@@ -23,9 +23,9 @@ return [
*/
'password' => 'Le password devono essere di almeno 6 caratteri e devono coincidere.',
'user' => 'Non esiste un utente associato a questo indirizzo e-mail.',
'token' => 'Questo token per la reimpostazione della password non è valido.',
'sent' => 'Promemoria della password inviato!',
'reset' => 'La password è stata reimpostata!',
'sent' => 'Promemoria della password inviato!',
'token' => 'Questo token per la reimpostazione della password non è valido.',
'user' => 'Non esiste un utente associato a questo indirizzo e-mail.',
];

View File

@@ -36,6 +36,7 @@ return [
'string' => ':attribute deve trovarsi tra :min - :max caratteri.',
'array' => ':attribute deve avere tra :min - :max elementi.',
],
'boolean' => 'Il campo :attribute deve essere vero o falso.',
'confirmed' => 'Il campo di conferma per :attribute non coincide.',
'date' => ':attribute non è una data valida.',
@@ -45,27 +46,30 @@ return [
'digits_between' => ':attribute deve essere tra :min e :max cifre.',
'email' => ':attribute non è valido.',
'exists' => ':attribute selezionato/a non è valido.',
'filled' => 'Il campo :attribute è richiesto.',
'image' => ':attribute deve essere un\'immagine.',
'in' => ':attribute selezionato non è valido.',
'integer' => ':attribute deve essere un numero intero.',
'ip' => ':attribute deve essere un indirizzo IP valido.',
'json' => ':attribute deve essere una stringa JSON valida.',
'max' => [
'numeric' => ':attribute deve essere minore di :max.',
'file' => ':attribute non deve essere più grande di :max kilobytes.',
'numeric' => ':attribute non può essere superiore a :max.',
'file' => ':attribute non può essere superiore a :max kilobytes.',
'string' => ':attribute non può contenere più di :max caratteri.',
'array' => ':attribute non può avere più di :max elementi.',
],
'mimes' => ':attribute deve essere del tipo: :values.',
'min' => [
'numeric' => ':attribute deve valere almeno :min.',
'file' => ':attribute deve essere più grande di :min kilobytes.',
'numeric' => ':attribute deve essere almeno :min.',
'file' => ':attribute deve essere almeno di :min kilobytes.',
'string' => ':attribute deve contenere almeno :min caratteri.',
'array' => ':attribute deve avere almeno :min elementi.',
],
'not_in' => 'Il valore selezionato per :attribute non è valido.',
'numeric' => ':attribute deve essere un numero.',
'regex' => 'Il formato del campo :attribute non è valido.',
'required' => ':attribute è richiesto.',
'required' => 'Il campo :attribute è richiesto.',
'required_if' => 'Il campo :attribute è richiesto quando :other è :value.',
'required_with' => 'Il campo :attribute è richiesto quando :values è presente.',
'required_with_all' => 'Il campo :attribute è richiesto quando :values è presente.',
@@ -73,15 +77,15 @@ return [
'required_without_all' => 'Il campo :attribute è richiesto quando nessuno di :values è presente.',
'same' => ':attribute e :other devono coincidere.',
'size' => [
'numeric' => ':attribute deve valere :size.',
'file' => ':attribute deve essere grande :size kilobytes.',
'numeric' => ':attribute deve essere :size.',
'file' => ':attribute deve essere :size kilobytes.',
'string' => ':attribute deve contenere :size caratteri.',
'array' => ':attribute deve contenere :size elementi.',
],
'string' => 'The :attribute deve essere una stringa.',
'unique' => ':attribute deve essere una zona valida.',
'url' => ':attribute è stato già utilizzato.',
'timezone' => ':attribute deve essere un URL.',
'string' => ':attribute deve essere una stringa.',
'timezone' => ':attribute deve essere una zona valida.',
'unique' => ':attribute è stato già utilizzato.',
'url' => 'Il formato del campo :attribute non è valido.',
/*
|--------------------------------------------------------------------------

View File

@@ -26,7 +26,8 @@
</div>
<div class="form-group">
<label>{{ trans('forms.user.password') }}</label>
<input type="password" class="form-control" name="password" value="">
<input type="password" class="form-control password-strength" name="password" value="">
<div class="strengthify-wrapper"></div>
</div>
@if($current_user->isAdmin)
<div class="form-group">

View File

@@ -26,7 +26,8 @@
</div>
<div class="form-group">
<label>{{ trans('forms.user.password') }}</label>
<input type="password" class="form-control" name="password" value="" {{ !$current_user->isAdmin ? "disabled": "" }}>
<input type="password" class="form-control password-strength" name="password" value="" {{ !$current_user->isAdmin ? "disabled": "" }}>
<div class="strengthify-wrapper"></div>
</div>
</fieldset>

View File

@@ -25,7 +25,8 @@
</div>
<div class="form-group">
<label>{{ trans('forms.user.password') }}</label>
<input type="password" class="form-control" name="password" value="">
<input type="password" class="form-control password-strength" name="password" value="">
<div class="strengthify-wrapper"></div>
</div>
<hr>
<div class="form-group">

View File

@@ -145,7 +145,8 @@
</div>
<div class="form-group">
<label>{{ trans("forms.setup.password") }}</label>
<input type="password" name="user[password]" class="form-control" placeholder="{{ trans('forms.setup.password') }}" value="{{ Input::old('user.password', '') }}" required>
<input type="password" name="user[password]" class="form-control password-strength" placeholder="{{ trans('forms.setup.password') }}" value="{{ Input::old('user.password', '') }}" required>
<div class="strengthify-wrapper"></div>
@if($errors->has('user.password'))
<span class="text-danger">{{ $errors->first('user.password') }}</span>
@endif