Merge remote-tracking branch 'forked/2.4' into upgrade-google2fa

# Conflicts:
#	composer.lock
This commit is contained in:
Max Kovalenko
2019-07-13 10:39:25 +03:00
55 changed files with 788 additions and 991 deletions

View File

@@ -251,7 +251,8 @@ $(function () {
// Only validate going forward. If current group is invalid, do not go further
if (next > current) {
var url = '/setup/step' + current;
var currentUrl = window.location.href.replace(/step\d/, '');
var url = currentUrl + '/step' + current;
$.post(url, $form.serializeObject())
.done(function(response) {
goToStep(current, next);

View File

@@ -21,6 +21,7 @@ body.dashboard {
margin: 0;
padding: 0;
list-style: none;
padding-bottom: 64px; /* Ensure the sidebar isn't being covered by the bottom links */
.profile {
text-align: center;

View File

@@ -13,134 +13,134 @@ return [
// Setup form fields
'setup' => [
'email' => 'Email',
'username' => 'Username',
'password' => 'Password',
'site_name' => 'Site Name',
'site_domain' => 'Site Domain',
'site_timezone' => 'Select your timezone',
'site_locale' => 'Select your language',
'enable_google2fa' => 'Enable Google Two Factor Authentication',
'cache_driver' => 'Cache Driver',
'queue_driver' => 'Queue Driver',
'session_driver' => 'Session Driver',
'mail_driver' => 'Mail Driver',
'mail_host' => 'Mail Host',
'mail_address' => 'Mail From Address',
'mail_username' => 'Mail Username',
'mail_password' => 'Mail Password',
'email' => 'E-mail',
'username' => 'Uživatelské jméno',
'password' => 'Heslo',
'site_name' => 'Název webu',
'site_domain' => 'Doména webu',
'site_timezone' => 'Vyberte vaše časové pásmo',
'site_locale' => 'Vyberte svůj jazyk',
'enable_google2fa' => 'Povolit dvoufaktorové ověřování Google',
'cache_driver' => 'Ovladač cache',
'queue_driver' => 'Řadič fronty',
'session_driver' => 'Ovladač sezení',
'mail_driver' => 'Ovladač pro e-mail',
'mail_host' => 'Host pro Mail',
'mail_address' => 'Adresa Mailu',
'mail_username' => 'Uživatelské jméno pro Mail účet',
'mail_password' => 'Heslo pro Mail účet',
],
// Login form fields
'login' => [
'login' => 'Username or Email',
'email' => 'Email',
'password' => 'Password',
'2fauth' => 'Authentication Code',
'invalid' => 'Invalid username or password',
'invalid-token' => 'Invalid token',
'cookies' => 'You must enable cookies to login.',
'rate-limit' => 'Rate limit exceeded.',
'remember_me' => 'Remember me',
'login' => 'Uživatelské jméno nebo e-mail',
'email' => 'E-mail',
'password' => 'Heslo',
'2fauth' => 'Ověřovací kód',
'invalid' => 'Nesprávné uživatelské jméno nebo heslo',
'invalid-token' => 'Neplatný token',
'cookies' => 'Pro přihlášení je třeba povolit soubory cookie.',
'rate-limit' => 'Překročen limit.',
'remember_me' => 'Zůstat přihlášený',
],
// Incidents form fields
'incidents' => [
'name' => 'Name',
'status' => 'Status',
'component' => 'Component',
'component_status' => 'Component Status',
'message' => 'Message',
'message-help' => 'You may also use Markdown.',
'occurred_at' => 'When did this incident occur?',
'notify_subscribers' => 'Notify subscribers?',
'notify_disabled' => 'Due to scheduled maintenance, notifications about this incident or its components will be suppressed.',
'visibility' => 'Incident Visibility',
'stick_status' => 'Stick Incident',
'stickied' => 'Stickied',
'not_stickied' => 'Not Stickied',
'public' => 'Viewable by public',
'logged_in_only' => 'Only visible to logged in users',
'name' => 'Jméno',
'status' => 'Stav',
'component' => 'Komponenta',
'component_status' => 'Stavy služeb',
'message' => 'Zpráva',
'message-help' => 'Můžete také použít Markdown.',
'occurred_at' => 'Kdy došlo k incidentu?',
'notify_subscribers' => 'Oznámit odběratelům?',
'notify_disabled' => 'Z důvodu plánované údržby budou oznámení o tomto incidentu nebo jeho součástech potlačena.',
'visibility' => 'Viditelnost incidentu',
'stick_status' => 'Připnout událost',
'stickied' => 'Připnuté',
'not_stickied' => 'Nepřipnuté',
'public' => 'Viditelné veřejnosti',
'logged_in_only' => 'Viditelné pouze pro přihlášené uživatele',
'templates' => [
'name' => 'Name',
'template' => 'Template',
'twig' => 'Incident Templates can make use of the <a href="http://twig.sensiolabs.org/" target="_blank">Twig</a> templating language.',
'name' => 'Jméno',
'template' => 'Šablona',
'twig' => 'Šablony pro incidenty mohou používat šablonovací jazyk <a href="http://twig.sensiolabs.org/" target="_blank">Twing</a>.',
],
],
'schedules' => [
'name' => 'Name',
'status' => 'Status',
'message' => 'Message',
'message-help' => 'You may also use Markdown.',
'scheduled_at' => 'When is this maintenance scheduled for?',
'completed_at' => 'When did this maintenance complete?',
'name' => 'Jméno',
'status' => 'Stav',
'message' => 'Zpráva',
'message-help' => 'Můžete také použít Markdown.',
'scheduled_at' => 'Na kdy je naplánovaná údržba?',
'completed_at' => 'Kdy bude údržba hotová?',
'templates' => [
'name' => 'Name',
'template' => 'Template',
'twig' => 'Incident Templates can make use of the <a href="http://twig.sensiolabs.org/" target="_blank">Twig</a> templating language.',
'name' => 'Jméno',
'template' => 'Šablona',
'twig' => 'Šablony pro incidenty mohou používat šablonovací jazyk <a href="http://twig.sensiolabs.org/" target="_blank">Twing</a>.',
],
],
// Components form fields
'components' => [
'name' => 'Name',
'status' => 'Status',
'group' => 'Group',
'description' => 'Description',
'link' => 'Link',
'tags' => 'Tags',
'tags-help' => 'Comma separated.',
'enabled' => 'Component enabled?',
'name' => 'Jméno',
'status' => 'Stav',
'group' => 'Skupina',
'description' => 'Popis',
'link' => 'Odkaz',
'tags' => 'Štítky',
'tags-help' => 'Oddělené čárkou.',
'enabled' => 'Je služba povolena?',
'groups' => [
'name' => 'Name',
'collapsing' => 'Expand/Collapse options',
'visible' => 'Always expanded',
'collapsed' => 'Collapse the group by default',
'collapsed_incident' => 'Collapse the group, but expand if there are issues',
'visibility' => 'Visibility',
'visibility_public' => 'Visible to public',
'visibility_authenticated' => 'Visible only to logged in users',
'name' => 'Jméno',
'collapsing' => 'Rozbalit nebo sbalit možnosti',
'visible' => 'Vždy rozbalené',
'collapsed' => 'Sbalit skupinu ve výchozím nastavení',
'collapsed_incident' => 'Sbalit skupinu, ale rozšířit, pokud existují problémy',
'visibility' => 'Viditelnost',
'visibility_public' => 'Viditelné pro veřejnost',
'visibility_authenticated' => 'Viditelné pouze pro přihlášené uživatele',
],
],
// Action form fields
'actions' => [
'name' => 'Name',
'description' => 'Description',
'start_at' => 'Schedule start time',
'timezone' => 'Timezone',
'schedule_frequency' => 'Schedule frequency (in seconds)',
'completion_latency' => 'Completion latency (in seconds)',
'group' => 'Group',
'active' => 'Active?',
'name' => 'Jméno',
'description' => 'Popis',
'start_at' => 'Naplánovat čas spuštění',
'timezone' => 'Časová zóna',
'schedule_frequency' => 'Naplánovat frekvenci (ve vteřinách)',
'completion_latency' => 'Prodleva dokončení (ve vteřinách)',
'group' => 'Skupina',
'active' => 'Aktiv?',
'groups' => [
'name' => 'Group Name',
'name' => 'Název skupiny',
],
],
// Metric form fields
'metrics' => [
'name' => 'Name',
'suffix' => 'Suffix',
'description' => 'Description',
'description-help' => 'You may also use Markdown.',
'display-chart' => 'Display chart on status page?',
'default-value' => 'Default value',
'calc_type' => 'Calculation of metrics',
'type_sum' => 'Sum',
'type_avg' => 'Average',
'places' => 'Decimal places',
'default_view' => 'Default view',
'threshold' => 'How many minutes of threshold between metric points?',
'visibility' => 'Visibility',
'visibility_authenticated' => 'Visible to authenticated users',
'visibility_public' => 'Visible to everybody',
'visibility_hidden' => 'Always hidden',
'name' => 'Jméno',
'suffix' => 'Přípona',
'description' => 'Popis',
'description-help' => 'Můžete také použít Markdown.',
'display-chart' => 'Zobrazovat graf na stavové stránce?',
'default-value' => 'Výchozí hodnota',
'calc_type' => 'Výpočet metrik',
'type_sum' => 'Celkem',
'type_avg' => 'Průměr',
'places' => 'Počet desetinných míst',
'default_view' => 'Výchozí zobrazení',
'threshold' => 'Jak často se mají snímat metrické body?',
'visibility' => 'Viditelnost',
'visibility_authenticated' => 'Viditelné přihlášeným uživatelům',
'visibility_public' => 'Viditelný všem',
'visibility_hidden' => 'Vždy skrýt',
'points' => [
'value' => 'Value',
'value' => 'Hodnota',
],
],
@@ -148,101 +148,101 @@ return [
'settings' => [
// Application setup
'app-setup' => [
'site-name' => 'Site Name',
'site-url' => 'Site URL',
'display-graphs' => 'Display graphs on status page?',
'about-this-page' => 'About this page',
'days-of-incidents' => 'How many days of incidents to show?',
'time_before_refresh' => 'Status page refresh rate (in seconds)',
'major_outage_rate' => 'Major outage threshold (in %)',
'banner' => 'Banner Image',
'banner-help' => "It's recommended that you upload files no bigger than 930px wide",
'subscribers' => 'Allow people to signup to email notifications?',
'suppress_notifications_in_maintenance' => 'Suppress notifications when incident occurs during maintenance period?',
'skip_subscriber_verification' => 'Skip verifying of users? (Be warned, you could be spammed)',
'automatic_localization' => 'Automatically localise your status page to your visitor\'s language?',
'enable_external_dependencies' => 'Enable Third Party Dependencies (Google Fonts, Trackers, etc...)',
'show_timezone' => 'Show the timezone the status page is running in',
'only_disrupted_days' => 'Only show days containing incidents in the timeline?',
'site-name' => 'Název webu',
'site-url' => 'URL adresa webu',
'display-graphs' => 'Zobrazit grafy na stavové stránce?',
'about-this-page' => 'O této stránce',
'days-of-incidents' => 'Kolik dní incidentů zobrazovat?',
'time_before_refresh' => 'Obnovovací frekvence status stránky (v sekundách)',
'major_outage_rate' => 'Hlavní doba výpadků (v %)',
'banner' => 'Obrázek banneru',
'banner-help' => 'Doručuje se nenahrávat soubory větší než 930 pixelů na šířku',
'subscribers' => 'Umožnit lidem, aby se přihlašovali k odběru e-mailových upozornění?',
'suppress_notifications_in_maintenance' => 'Potlačit oznámení dojde-li k události během během času údržby?',
'skip_subscriber_verification' => 'Přestat ověřovat uživatele? (Pozor na spammery)',
'automatic_localization' => 'Automaticky lokalizovat stránku do jazyka návštěvníka?',
'enable_external_dependencies' => 'Povolit závislosti třetích stran (Google písma, Trackery, atd...)',
'show_timezone' => 'Zobrazit časové pásmo, ve které je zobrazena stavová stránka',
'only_disrupted_days' => 'Zobrazit na časové ose pouze dny, kdy došlo k incidentu?',
],
'analytics' => [
'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',
'analytics_google' => 'Kód pro Google Analytics',
'analytics_gosquared' => 'Kód pro GoSquared Analytics',
'analytics_piwik_url' => 'URL tvojí instance Piwik (bez http(s)://)',
'analytics_piwik_siteid' => 'Id webu Piwik',
],
'localization' => [
'site-timezone' => 'Site timezone',
'site-locale' => 'Site language',
'date-format' => 'Date format',
'incident-date-format' => 'Incident timestamp format',
'site-timezone' => 'Časové pásmo webu',
'site-locale' => 'Jazyk webu',
'date-format' => 'Formát datumu',
'incident-date-format' => 'Formát času pro incident',
],
'security' => [
'allowed-domains' => 'Allowed domains',
'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
'always-authenticate' => 'Always authenticate',
'always-authenticate-help' => 'Require login to view any Cachet page',
'allowed-domains' => 'Povolené domény',
'allowed-domains-help' => 'Oddělené čárkami. Výše uvedené domény jsou ve výchozím nastavení automaticky povoleny.',
'always-authenticate' => 'Vždy ověřovat',
'always-authenticate-help' => 'Požadovat přihlášení k zobrazení jakékoli Cachet stránky',
],
'stylesheet' => [
'custom-css' => 'Custom Stylesheet',
'custom-css' => 'Vlastní šablona stylů',
],
'theme' => [
'background-color' => 'Background color',
'background-fills' => 'Background fills (components, incidents, footer)',
'banner-background-color' => 'Banner background color',
'banner-padding' => 'Banner padding',
'fullwidth-banner' => 'Enable full width banner?',
'text-color' => 'Text color',
'dashboard-login' => 'Show dashboard button in the footer?',
'reds' => 'Red (used for errors)',
'blues' => 'Blue (used for information)',
'greens' => 'Green (used for success)',
'yellows' => 'Yellow (used for alerts)',
'oranges' => 'Orange (used for notices)',
'metrics' => 'Metrics fill',
'links' => 'Links',
'background-color' => 'Barva pozadí',
'background-fills' => 'Pozadí výplně (komponenty, incidenty, zápatí)',
'banner-background-color' => 'Barva pozadí banneru',
'banner-padding' => 'Odsazení banneru',
'fullwidth-banner' => 'Povolit banner přes celou obrazovku?',
'text-color' => 'Barva textu',
'dashboard-login' => 'Zobrazit tlačítko Řídící panel v zápatí?',
'reds' => 'Červená (používané pro chyby)',
'blues' => 'Modrá (používané pro informace)',
'greens' => 'Zelená (používá se pro vyřešení problémů)',
'yellows' => 'Žlutá (používá se pro upozornění)',
'oranges' => 'Oranžová (slouží k oznámení)',
'metrics' => 'Vyplnění metrik',
'links' => 'Odkazy',
],
],
'user' => [
'username' => 'Username',
'email' => 'Email',
'password' => 'Password',
'username' => 'Uživatelské jméno',
'email' => 'E-mail',
'password' => 'Heslo',
'api-token' => 'API Token',
'api-token-help' => 'Regenerating your API token will prevent existing applications from accessing Cachet.',
'gravatar' => 'Change your profile picture at Gravatar.',
'user_level' => 'User Level',
'api-token-help' => 'egenerování vašeho API tokenu zabrání současným aplikacím přistupovat ke Cachet.',
'gravatar' => 'Profilový obrázek si změn na Gravatar.',
'user_level' => 'Úroveň uživatele',
'levels' => [
'admin' => 'Admin',
'user' => 'User',
'admin' => 'Správce',
'user' => 'Uživatel',
],
'2fa' => [
'help' => 'Enabling two factor authentication increases security of your account. You will need to download <a href="https://support.google.com/accounts/answer/1066447?hl=en">Google Authenticator</a> or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
'help' => 'Zapnutí dvoufaktorového ověřování zvýší zabezpečení vašeho účtu. Budete muset stáhnout <a href="https://support.google.com/accounts/answer/1066447?hl=en">Google Authenticator</a> nebo podobnou aplikaci pro mobilní zařízení. Po přihlášení budete vyzváni k zadání tokenu vygenerovaného aplikací.',
],
'team' => [
'description' => 'Invite your team members by entering their email addresses here.',
'email' => 'Your Team Members Email Address',
'description' => 'Pozvi uživatele do týmu zadáním emailové adresy.',
'email' => 'Email #:id',
],
],
'general' => [
'timezone' => 'Select Timezone',
'timezone' => 'Vybrat časové pásmo',
],
// Buttons
'add' => 'Add',
'save' => 'Save',
'update' => 'Update',
'create' => 'Create',
'edit' => 'Edit',
'delete' => 'Delete',
'submit' => 'Submit',
'cancel' => 'Cancel',
'remove' => 'Remove',
'invite' => 'Invite',
'signup' => 'Sign Up',
'manage_updates' => 'Manage Updates',
'add' => 'Přidat',
'save' => 'Uložit',
'update' => 'Aktualizovat',
'create' => 'Vytvořit',
'edit' => 'Upravit',
'delete' => 'Smazat',
'submit' => 'Potvrdit',
'cancel' => 'Zrušit',
'remove' => 'Smazat',
'invite' => 'Pozvat',
'signup' => 'Registrovat se',
'manage_updates' => 'Správa aktualizací',
// Other
'optional' => '* Optional',
'optional' => '* Volitelné',
];

View File

@@ -22,72 +22,72 @@ return [
|
*/
'accepted' => 'The :attribute must be accepted.',
'active_url' => 'The :attribute is not a valid URL.',
'after' => 'The :attribute must be a date after :date.',
'alpha' => 'The :attribute may only contain letters.',
'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
'alpha_num' => 'The :attribute may only contain letters and numbers.',
'array' => 'The :attribute must be an array.',
'before' => 'The :attribute must be a date before :date.',
'accepted' => 'Je potřeba potvrdit :attribute.',
'active_url' => ':attribute není platná adresa URL.',
'after' => ':attribute musí být datum po :date.',
'alpha' => ':attribute může obsahovat pouze písmena.',
'alpha_dash' => ':attribute může obsahovat pouze písmena, čísla a pomlčky.',
'alpha_num' => ':attribute může obsahovat pouze písmena a čísla.',
'array' => ':attribute musí být textové pole.',
'before' => ':attribute musí být datum před :date.',
'between' => [
'numeric' => 'The :attribute must be between :min and :max.',
'file' => 'The :attribute must be between :min and :max kilobytes.',
'numeric' => ':attribute musí mít hodnou mezi :min a :max.',
'file' => ':attribute musí mít velikost v rozmezí :min až :max kilobytů.',
'string' => 'The :attribute must be between :min and :max characters.',
'array' => 'The :attribute must have between :min and :max items.',
'array' => ':attribute musí mít mezi :min a :max položkami.',
],
'boolean' => 'The :attribute field must be true or false.',
'confirmed' => 'The :attribute confirmation does not match.',
'date' => 'The :attribute is not a valid date.',
'date_format' => 'The :attribute does not match the format :format.',
'boolean' => ':attribute musí mít hodnotu pravda nebo nepravda.',
'confirmed' => 'Potvrzení :attribute se neshoduje.',
'date' => ':attribute není platné datum.',
'date_format' => ':attribute se neshoduje se správným formátem :format.',
'different' => 'The :attribute and :other must be different.',
'digits' => 'The :attribute must be :digits digits.',
'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.',
'distinct' => 'The :attribute field has a duplicate value.',
'distinct' => ':attribute má duplicitní hodnotu.',
'filled' => 'The :attribute field is required.',
'image' => 'The :attribute must be an image.',
'image' => ':attribute musí být obrázek.',
'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field does not exist in :other.',
'in_array' => ':attribute není v :other.',
'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.',
'json' => ': attribute musí být ve formátu JSON.',
'max' => [
'numeric' => 'The :attribute may not be greater than :max.',
'file' => 'The :attribute may not be greater than :max kilobytes.',
'string' => 'The :attribute may not be greater than :max characters.',
'array' => 'The :attribute may not have more than :max items.',
'array' => 'Atribut nesmí mít více než :max položek.',
],
'mimes' => 'The :attribute must be a file of type: :values.',
'min' => [
'numeric' => 'The :attribute must be at least :min.',
'file' => 'The :attribute must be at least :min kilobytes.',
'file' => 'Atribut musí mít alespoň :min kB.',
'string' => 'The :attribute must be at least :min characters.',
'array' => 'The :attribute must have at least :min items.',
],
'not_in' => 'The selected :attribute is invalid.',
'numeric' => 'The :attribute must be a number.',
'present' => 'The :attribute field must be present.',
'regex' => 'The :attribute format is invalid.',
'present' => 'Pole :attribute je vyžadováno.',
'regex' => 'Formát :attribute je neplatný.',
'required' => 'The :attribute field is required.',
'required_if' => 'The :attribute field is required when :other is :value.',
'required_unless' => 'The :attribute field is required unless :other is in :values.',
'required_with' => 'The :attribute field is required when :values is present.',
'required_with_all' => 'The :attribute field is required when :values is present.',
'required_unless' => 'Pole :attribute je požadováno, pokud :other není v :value.',
'required_with' => 'Pole :attribute je požadováno, když je zadané :values.',
'required_with_all' => 'Pole :attribute je požadováno, když je zadané :values.',
'required_without' => 'The :attribute field is required when :values is not present.',
'required_without_all' => 'The :attribute field is required when none of :values are present.',
'same' => 'The :attribute and :other must match.',
'size' => [
'numeric' => 'The :attribute must be :size.',
'file' => 'The :attribute must be :size kilobytes.',
'string' => 'The :attribute must be :size characters.',
'file' => 'Atribut musí mít :size kB.',
'string' => 'Atribut musí mít :size znaků.',
'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' => ':attribute musí být platná zóna.',
'unique' => ':attribute byl už použit.',
'url' => 'Formát :attribute je neplatný.',
/*
|--------------------------------------------------------------------------
@@ -102,7 +102,7 @@ return [
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
'rule-name' => 'vlastní zpráva',
],
],

View File

@@ -26,16 +26,16 @@ return [
'count' => '{0}Nenhuma atualização|[1]Uma atualização|[2]Duas atualizações|[3,*]Várias atualizações',
'add' => [
'title' => 'Crie uma nova atualização de incidente',
'success' => 'Your new incident update has been created.',
'success' => 'Sua atualização de incidente foi criada.',
'failure' => 'Algo deu errado com a atualização do incidente.',
],
'edit' => [
'title' => 'Edit incident update',
'success' => 'The incident update has been updated.',
'failure' => 'Something went wrong updating the incident update',
'title' => 'Editar atualização do incidente',
'success' => 'Sua atualização de incidente foi atualizada.',
'failure' => 'Algo deu errado ao atualizar as informações do incidente',
],
],
'reported_by' => 'Reported by :user',
'reported_by' => 'Reportado por :user',
'add' => [
'title' => 'Relatar um incidente',
'success' => 'Incidente adicionado.',
@@ -56,7 +56,7 @@ return [
'title' => 'Template de incidentes',
'add' => [
'title' => 'Criar um modelo de incidente',
'message' => 'Create your first incident template.',
'message' => 'Crie seu primeiro template de incidente.',
'success' => 'Seu novo modelo de incidente foi criado.',
'failure' => 'Algo deu errado com o modelo de incidente.',
],
@@ -75,21 +75,21 @@ return [
// Incident Maintenance
'schedule' => [
'schedule' => 'Manutenção',
'logged' => '{0}There has been no Maintenance, good work.|[1]You have logged one schedule.|[2,*]You have reported <strong>:count</strong> schedules.',
'logged' => '{0}Ainda não ocorreu nenhuma manuteção, bom trabalho. |[1]Você agendou uma manuteção. | [2, *] Você adicionou <strong>:</strong> manutenções.',
'scheduled_at' => 'Agendada em :timestamp',
'add' => [
'title' => 'Adicionar manutenção agendada',
'success' => 'Maintenance added.',
'failure' => 'Something went wrong adding the Maintenance, please try again.',
'success' => 'Manutenção adicionada.',
'failure' => 'Algo deu errado ao adicionar a Manutenção, por favor tente novamente.',
],
'edit' => [
'title' => 'Edit Maintenance',
'success' => 'Maintenance has been updated!',
'failure' => 'Something went wrong editing the Maintenance, please try again.',
'title' => 'Editar Manutenção',
'success' => 'Manutenção atualizada!',
'failure' => 'Algo deu errado ao editar a Manutenção, por favor tente novamente.',
],
'delete' => [
'success' => 'The Maintenance has been deleted and will not show on your status page.',
'failure' => 'The Maintenance could not be deleted, please try again.',
'success' => 'A manutenção programada foi excluída e não aparecerá na sua página de status.',
'failure' => 'A Manutenção não pôde ser excluída, por favor tente novamente.',
],
],
@@ -158,12 +158,12 @@ return [
'subscribers' => [
'subscribers' => 'Assinantes',
'description' => 'Assinantes vão receber atualizações de e-mail quando incidentes criados ou componentes atualizados.',
'description_disabled' => 'To use this feature, you need allow people to signup for notifications.',
'description_disabled' => 'Para utilizar esse recurso, você precisa permitir que as pessoas se cadastrem para notificações.',
'verified' => 'Verificado',
'not_verified' => 'Não verificado',
'subscriber' => ':email, inscreveu-se em :date',
'no_subscriptions' => 'Inscrito em todas as atualizações',
'global' => 'Globally subscribed',
'global' => 'Inscrito globalmente',
'add' => [
'title' => 'Adicionar um novo assinante',
'success' => 'Inscrito adicionado.',

View File

@@ -22,7 +22,7 @@ return [
|
*/
'previous' => 'Previous',
'next' => 'Next',
'previous' => 'Anterior',
'next' => 'Próxima',
];

View File

@@ -23,7 +23,7 @@
@if($components->count() > 1)
<span class="drag-handle"><i class="ion ion-drag"></i></span>
@endif
{{ $component->name }} <small>{{ $component->human_status }}</small>
{!! $component->name !!} <small>{{ $component->human_status }}</small>
</h4>
@if($component->group)
<p><small>{{ trans('dashboard.components.listed_group', ['name' => $component->group->name]) }}</small></p>

View File

@@ -83,12 +83,12 @@
@foreach($componentsInGroups as $group)
<optgroup label="{{ $group->name }}">
@foreach($group->components as $component)
<option value="{{ $component->id }}">{{ $component->name }}</option>
<option value="{{ $component->id }}">{!! $component->name !!}</option>
@endforeach
</optgroup>
@endforeach
@foreach($componentsOutGroups as $component)
<option value="{{ $component->id }}">{{ $component->name }}</option>
<option value="{{ $component->id }}">{!! $component->name !!}</option>
@endforeach
</select>
</div>

View File

@@ -57,7 +57,15 @@
<input type="text" name="completed_at" class="form-control flatpickr-time" data-date-format="Y-m-d H:i" placeholder="{{ trans('forms.schedules.completed_at') }}">
</div>
</fieldset>
@if($notificationsEnabled)
<input type="hidden" name="notify" value="0">
<div class="checkbox">
<label>
<input type="checkbox" name="notify" value="1" checked="{{ Binput::old('notify', 'checked') }}">
{{ trans('forms.incidents.notify_subscribers') }}
</label>
</div>
@endif
<div class="form-group">
<div class="btn-group">
<button type="submit" class="btn btn-success">{{ trans('forms.add') }}</button>

View File

@@ -2,7 +2,7 @@
<form class='component-inline form-vertical' data-messenger="{{trans('dashboard.components.edit.success')}}">
<div class="row striped-list-item">
<div class="col-lg-4 col-md-3 col-sm-12">
<h5 class="{{ $component->status_color }}">{{ $component->name }}</h5>
<h5 class="{{ $component->status_color }}">{!! $component->name !!}</h5>
</div>
<div class="col-lg-8 col-md-9 col-sm-12 radio-items component-inline-update">
@foreach(trans('cachet.components.status') as $statusID => $status)

View File

@@ -2,10 +2,7 @@
<div class="sidebar-inner">
<div class="profile">
<a href="{{ cachet_route('dashboard.user') }}">
<span class="avatar"><img src="{{ $currentUser->avatar }}"></span>
</a>
<a href="{{ cachet_route('dashboard.user') }}">
<h4 class="username">{{ $currentUser->username }}</h4>
<h4 class="username"><i class='ion ion-person'></i> {{ $currentUser->username }}</h4>
</a>
</div>
<div class="clearfix"></div>

View File

@@ -8,7 +8,7 @@
<span class="uppercase">
<i class="ion ion-ios-email-outline"></i> {{ trans('dashboard.subscribers.subscribers') }}
</span>
@if($currentUser->isAdmin && $enableSubscribers)
@if($currentUser->isAdmin)
<a class="btn btn-md btn-success pull-right" href="{{ cachet_route('dashboard.subscribers.create') }}">
{{ trans('dashboard.subscribers.add.title') }}
</a>
@@ -19,11 +19,7 @@
<div class="row">
<div class="col-sm-12">
<p class="lead">
@if($enableSubscribers)
{{ trans('dashboard.subscribers.description') }}
@else
{{ trans('dashboard.subscribers.description_disabled') }}
@endif
</p>
<div class="striped-list">
@@ -51,6 +47,7 @@
@endif
</div>
<div class="col-xs-3 text-right">
<a href="{{ cachet_route('subscribe.manage', $subscriber->verify_code) }}" target="_blank" class="btn btn-success">{{ trans('forms.edit') }}</a>
<a href="{{ cachet_route('dashboard.subscribers.delete', [$subscriber->id], 'delete') }}" class="btn btn-danger confirm-action" data-method='DELETE'>{{ trans('forms.delete') }}</a>
</div>
</div>

View File

@@ -27,13 +27,12 @@
<div class="user-grid">
@foreach($teamMembers as $member)
<div class="user col-sm-3 col-xs-6">
<a href="@if($currentUser->id == $member->id) {{ url('dashboard/user') }} @else /dashboard/team/{{ $member->id }} @endif">
<img src="{{ $member->avatar }}">
</a>
<div class="name">{{ $member->username }}</div>
<div class="email">{{ $member->email }}</div>
</div>
<a href="@if($currentUser->id == $member->id) {{ cachet_route('dashboard.team.edit', $member) }} @else /dashboard/team/{{ $member->id }} @endif">
<div class="user col-sm-3 col-xs-6">
<div class="name">{{ $member->username }}</div>
<div class="email">{{ $member->email }}</div>
</div>
</a>
@endforeach
</div>
</div>

View File

@@ -25,7 +25,7 @@
@if($enableExternalDependencies)
{{-- <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $fontSubset }}" rel="stylesheet" type="text/css"> --}}
@endif
<link rel="stylesheet" href="{{ mix('dist/css/dashboard/dashboard.css') }}">
<link rel="stylesheet" href="{{ asset(mix('dist/css/dashboard/dashboard.css')) }}">
@yield('css')
@include('partials.crowdin')
@@ -35,8 +35,8 @@
Global.locale = '{{ $appLocale }}';
</script>
<script src="{{ mix('dist/js/manifest.js') }}"></script>
<script src="{{ mix('dist/js/vendor.js') }}"></script>
<script src="{{ asset(mix('dist/js/manifest.js')) }}"></script>
<script src="{{ asset(mix('dist/js/vendor.js')) }}"></script>
</head>
<body class="@yield('bodyClass')">
@@ -45,5 +45,5 @@
</div>
</body>
@yield('js')
<script src="{{ mix('dist/js/all.js') }}"></script>
<script src="{{ asset(mix('dist/js/all.js')) }}"></script>
</html>

View File

@@ -31,13 +31,13 @@
@if($enableExternalDependencies)
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $fontSubset }}" rel="stylesheet" type="text/css">
@endif
<link rel="stylesheet" href="{{ mix('dist/css/dashboard/dashboard.css') }}">
<link rel="stylesheet" href="{{ asset(mix('dist/css/dashboard/dashboard.css')) }}">
@yield('css')
@include('partials.crowdin')
<script src="{{ mix('dist/js/manifest.js') }}"></script>
<script src="{{ mix('dist/js/vendor.js') }}"></script>
<script src="{{ asset(mix('dist/js/manifest.js')) }}"></script>
<script src="{{ asset(mix('dist/js/vendor.js')) }}"></script>
</head>
<body class="dashboard">
@@ -61,5 +61,5 @@
</div>
</body>
@yield('js')
<script src="{{ mix('dist/js/all.js') }}"></script>
<script src="{{ asset(mix('dist/js/all.js')) }}"></script>
</html>

View File

@@ -16,7 +16,7 @@
<meta property="og:type" content="website">
<meta property="og:title" content="@yield('title', $siteTitle)">
<meta property="og:image" content="/img/favicon.png">
<meta property="og:image" content=" {{ asset('/img/favicon.png') }}">
<meta property="og:description" content="@yield('description', trans('cachet.meta.description.overview', ['app' => $appName]))">
<!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading -->
@@ -48,7 +48,7 @@
@if($enableExternalDependencies)
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&amp;subset={{ $fontSubset }}" rel="stylesheet" type="text/css">
@endif
<link rel="stylesheet" href="{{ mix('dist/css/app.css') }}">
<link rel="stylesheet" href="{{ asset(mix('dist/css/app.css')) }} ">
@include('partials.stylesheet')
@@ -74,8 +74,8 @@
Global.locale = '{{ $appLocale }}';
</script>
<script src="{{ mix('dist/js/manifest.js') }}"></script>
<script src="{{ mix('dist/js/vendor.js') }}"></script>
<script src="{{ asset(mix('dist/js/manifest.js')) }}"></script>
<script src="{{ asset(mix('dist/js/vendor.js')) }}"></script>
</head>
<body class="status-page @yield('bodyClass')">
@yield('outer-content')
@@ -88,5 +88,5 @@
@yield('bottom-content')
</body>
<script src="{{ mix('dist/js/all.js') }}"></script>
<script src="{{ asset(mix('dist/js/all.js')) }}"></script>
</html>

View File

@@ -1,8 +1,8 @@
<li class="list-group-item {{ $component->group_id ? "sub-component" : "component" }}">
@if($component->link)
<a href="{{ $component->link }}" target="_blank" class="links">{{ $component->name }}</a>
<a href="{{ $component->link }}" target="_blank" class="links">{!! $component->name !!}</a>
@else
{{ $component->name }}
{!! $component->name !!}
@endif
@if($component->description)

View File

@@ -8,7 +8,7 @@
@if (in_array($component->id, $subscriptions) || $subscriber->global)
checked="checked"
@endif />
{{ $component->name }}
{!! $component->name !!}
</label>
@if($component->description)
<i class="ion ion-ios-help-outline help-icon" data-toggle="tooltip" data-title="{{ $component->description }}" data-container="body"></i>

View File

@@ -33,7 +33,8 @@
@if($incident->updates->isNotEmpty())
<div class="list-group">
@foreach($incident->updates as $update)
<a class="list-group-item incident-update-item" href="{{ $update->permalink }}">
<li class="list-group-item incident-update-item">
<i class="{{ $update->icon }}" title="{{ $update->human_status }}" data-toggle="tooltip"></i>
{!! $update->formatted_message !!}
<small>
@@ -42,9 +43,9 @@
data-timeago="{{ $update->timestamp_iso }}">
</abbr>
</small>
<span class="ion-ios-arrow-right pull-right"></span>
<a href="{{ $update->permalink }}" class="pull-right"><span class="ion-ios-arrow-right"></span></a>
</a>
</li>
@endforeach
</div>
@endif