diff --git a/resources/lang/af-ZA/cachet.php b/resources/lang/af-ZA/cachet.php
new file mode 100644
index 00000000..585f7c2e
--- /dev/null
+++ b/resources/lang/af-ZA/cachet.php
@@ -0,0 +1,129 @@
+ [
+ 'last_updated' => 'Last updated :timestamp',
+ 'status' => [
+ 0 => 'Unknown',
+ 1 => 'Operasioneel',
+ 2 => 'Prestasieprobleme',
+ 3 => 'Gedeeltelike Onderbreking',
+ 4 => 'Groot Onderbreking',
+ ],
+ 'group' => [
+ 'other' => 'Other Components',
+ ],
+ ],
+
+ // Incidents
+ 'incidents' => [
+ 'none' => 'No incidents reported',
+ 'past' => 'Vorige Voorvalle',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'Geskeduleerde Instandhouding',
+ 'scheduled_at' => ', scheduled :timestamp',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
+ 1 => 'Onder die Loep',
+ 2 => 'Geïdentifiseerd',
+ 3 => 'Hou Dop',
+ 4 => 'Opgelos',
+ ],
+ ],
+
+ // Schedule
+ 'schedules' => [
+ 'status' => [
+ 0 => 'Upcoming',
+ 1 => 'In Progress',
+ 2 => 'Complete',
+ ],
+ ],
+
+ // Service Status
+ 'service' => [
+ 'good' => '[0,1] System operational|[2,Inf] All systems are operational',
+ 'bad' => '[0,1] The system is experiencing issues|[2,Inf] Some systems are experiencing issues',
+ 'major' => '[0,1] The system is experiencing major issues|[2,Inf] Some systems are experiencing major issues',
+ ],
+
+ 'api' => [
+ 'regenerate' => 'Regenerate API Key',
+ 'revoke' => 'Revoke API Key',
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'filter' => [
+ 'last_hour' => 'Last Hour',
+ 'hourly' => 'Afgelope 12 Uur',
+ 'weekly' => 'Weekliks',
+ 'monthly' => 'Maandeliks',
+ ],
+ ],
+
+ // Subscriber
+ 'subscriber' => [
+ 'subscribe' => 'Subscribe to get the updates',
+ 'unsubscribe' => 'Unsubscribe at :link',
+ 'button' => 'Teken aan',
+ 'manage' => [
+ 'no_subscriptions' => 'You\'re currently subscribed to all updates.',
+ 'my_subscriptions' => 'You\'re currently subscribed to the following updates.',
+ ],
+ '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!',
+ 'manage' => 'Bestuur Subskripsies',
+ 'unsubscribe' => 'Unsubscribe from email updates.',
+ 'unsubscribed' => 'Your email subscription has been cancelled.',
+ 'failure' => 'Something went wrong with the subscription.',
+ 'already-subscribed' => 'Cannot subscribe :email because they\'re already subscribed.',
+ ],
+ ],
+
+ 'signup' => [
+ 'title' => 'Teken Aan',
+ 'username' => 'Username',
+ 'email' => 'EPos',
+ 'password' => 'Wagwoord',
+ 'success' => 'U rekening is geskep.',
+ 'failure' => 'Something went wrong with the signup.',
+ ],
+
+ 'system' => [
+ 'update' => 'There is a newer version of Cachet available. You can learn how to update here!',
+ ],
+
+ // Modal
+ 'modal' => [
+ 'close' => 'Maak toe',
+ 'subscribe' => [
+ 'title' => 'Subscribe to component updates',
+ 'body' => 'Enter your email address to subscribe to updates for this component. If you\'re already subscribed, you\'ll already receive emails for this component.',
+ 'button' => 'Teken aan',
+ ],
+ ],
+
+ // Other
+ 'home' => 'Tuiste',
+ 'description' => 'Stay up to date with the latest service updates from :app.',
+ 'powered_by' => 'Powered by Cachet.',
+ 'timezone' => 'Times are shown in :timezone.',
+ 'about_this_site' => 'About This Site',
+ 'rss-feed' => 'RSS',
+ 'atom-feed' => 'Atom',
+ 'feed' => 'Status Feed',
+
+];
diff --git a/resources/lang/af-ZA/dashboard.php b/resources/lang/af-ZA/dashboard.php
new file mode 100644
index 00000000..a8e56dc2
--- /dev/null
+++ b/resources/lang/af-ZA/dashboard.php
@@ -0,0 +1,293 @@
+ 'Dashboard',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidents & Schedule',
+ 'incidents' => 'Incidents',
+ 'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
+ 'incident-create-template' => 'Create Template',
+ 'incident-templates' => 'Incident Templates',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Report an incident',
+ 'success' => 'Incident added.',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit an incident',
+ 'success' => 'Incident updated.',
+ 'failure' => 'There was an error editing the incident, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The incident has been deleted and will not show on your status page.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Incident Templates',
+ 'add' => [
+ 'title' => 'Create an incident template',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Template',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Geskeduleerde Instandhouding',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Scheduled at :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Components',
+ 'component_statuses' => 'Component Statuses',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Add a component',
+ 'message' => 'You should add a component.',
+ 'success' => 'Component created.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrics',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Member',
+ 'profile' => 'Profile',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Settings',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Security',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Settings saved.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Login',
+ 'logged_in' => 'You\'re logged in.',
+ 'welcome' => 'Welcome back!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Help',
+ 'status_page' => 'Status Page',
+ 'logout' => 'Logout',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifications',
+ 'awesome' => 'Awesome.',
+ 'whoops' => 'Whoops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Add your components',
+ 'incident' => 'Create an incident',
+ 'customize' => 'Customize your page',
+ 'team' => 'Add your team',
+ 'api' => 'Generate an API token',
+ 'two-factor' => 'Setup Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/af-ZA/forms.php b/resources/lang/af-ZA/forms.php
new file mode 100644
index 00000000..4f123702
--- /dev/null
+++ b/resources/lang/af-ZA/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'EPos',
+ 'username' => 'Username',
+ 'password' => 'Wagwoord',
+ 'site_name' => 'Site Name',
+ 'site_domain' => 'Site Domain',
+ 'site_timezone' => 'Select your timezone',
+ 'site_locale' => 'Kies taal',
+ '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',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Username or Email',
+ 'email' => 'EPos',
+ 'password' => 'Wagwoord',
+ '2fauth' => 'Authentication Code',
+ 'invalid' => 'Ongeldige gebruikernaam of wagwoord',
+ 'invalid-token' => 'Invalid token',
+ 'cookies' => 'You must enable cookies to login.',
+ 'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'component' => 'Komponente',
+ 'message' => 'Boodskap',
+ 'message-help' => 'You may also use Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notify subscribers?',
+ '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',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Templaat',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'message' => 'Boodskap',
+ 'message-help' => 'You may also use Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Templaat',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'group' => 'Group',
+ 'description' => 'Beskrywing',
+ 'link' => 'Link',
+ 'tags' => 'Tags',
+ 'tags-help' => 'Comma separated.',
+ 'enabled' => 'Component enabled?',
+
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Name',
+ 'description' => 'Beskrywing',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Group',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Name',
+ 'suffix' => 'Suffix',
+ 'description' => 'Beskrywing',
+ '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',
+
+ 'points' => [
+ 'value' => 'Value',
+ ],
+ ],
+
+ // Settings
+ '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?',
+ '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?',
+ '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?',
+ ],
+ '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',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Site timezone',
+ 'site-locale' => 'Site language',
+ 'date-format' => 'Date format',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth 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',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Username',
+ 'email' => 'EPos',
+ 'password' => 'Wagwoord',
+ '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',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'User',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Add',
+ 'save' => 'Save',
+ 'update' => 'Update',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'submit' => 'Submit',
+ 'cancel' => 'Cancel',
+ 'remove' => 'Remove',
+ 'invite' => 'Invite',
+ 'signup' => 'Teken Aan',
+
+ // Other
+ 'optional' => '* Optional',
+];
diff --git a/resources/lang/af-ZA/notifications.php b/resources/lang/af-ZA/notifications.php
new file mode 100644
index 00000000..6a65c6bd
--- /dev/null
+++ b/resources/lang/af-ZA/notifications.php
@@ -0,0 +1,108 @@
+ [
+ 'status_update' => [
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ ],
+ ],
+ 'incident' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
+ ],
+ 'update' => [
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
+ ],
+ ],
+ 'schedule' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
+ ],
+ ],
+ 'subscriber' => [
+ 'verify' => [
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
+ ],
+ ],
+ 'system' => [
+ 'test' => [
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
+ ],
+ ],
+ 'user' => [
+ 'invite' => [
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
+ ],
+ ],
+];
diff --git a/resources/lang/af-ZA/pagination.php b/resources/lang/af-ZA/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/af-ZA/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/af-ZA/setup.php b/resources/lang/af-ZA/setup.php
new file mode 100644
index 00000000..bdc2a457
--- /dev/null
+++ b/resources/lang/af-ZA/setup.php
@@ -0,0 +1,23 @@
+ 'Setup',
+ 'title' => 'Install Cachet',
+ 'service_details' => 'Service Details',
+ 'env_setup' => 'Environment Setup',
+ 'status_page_setup' => 'Status Page Setup',
+ 'show_support' => 'Show support for Cachet?',
+ 'admin_account' => 'Administrator Account',
+ 'complete_setup' => 'Complete Setup',
+ 'completed' => 'Cachet has been configured successfully!',
+ 'finish_setup' => 'Go to dashboard',
+];
diff --git a/resources/lang/af-ZA/validation.php b/resources/lang/af-ZA/validation.php
new file mode 100644
index 00000000..7d196d98
--- /dev/null
+++ b/resources/lang/af-ZA/validation.php
@@ -0,0 +1,122 @@
+ '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.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :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.',
+ '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.',
+ ],
+ '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.',
+ '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.',
+ '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_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.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/ar-SA/cachet.php b/resources/lang/ar-SA/cachet.php
index 99d80aa7..193f690a 100644
--- a/resources/lang/ar-SA/cachet.php
+++ b/resources/lang/ar-SA/cachet.php
@@ -12,63 +12,61 @@
return [
// Components
'components' => [
- 'last_updated' => 'Last updated :timestamp',
+ 'last_updated' => 'آخر تحديث :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'مجهول',
1 => 'تشغيل',
- 2 => 'Performance Issues',
- 3 => 'Partial Outage',
- 4 => 'Major Outage',
+ 2 => 'مشاكل أداء',
+ 3 => 'انقطاع جزئي',
+ 4 => 'انقطاع اساسي',
],
'group' => [
- 'other' => 'Other Components',
+ 'other' => 'مكونات أخرى',
],
],
// Incidents
'incidents' => [
- 'none' => 'No incidents reported',
- 'past' => 'Past Incidents',
- 'previous_week' => 'الأسبوع السابق',
- 'next_week' => 'الاسبوع القادم',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Scheduled Maintenance',
- 'scheduled_at' => ', scheduled :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
- 1 => 'Investigating',
- 2 => 'Identified',
- 3 => 'Watching',
- 4 => 'Fixed',
+ 'none' => 'لا توجد حالات تم الإبلاغ عنها',
+ 'past' => 'حالات سابقة',
+ 'stickied' => 'حالات مثبتة',
+ 'scheduled' => 'صيانة مجدولة',
+ 'scheduled_at' => ', مجدولة :timestamp',
+ 'posted' => 'تم الإرسال :timestamp',
+ 'status' => [
+ 1 => 'تحقيق',
+ 2 => 'تم التعرف عليه',
+ 3 => 'مراقبة',
+ 4 => 'تمّ اصلاحها',
],
],
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'القادم',
+ 1 => 'جار المعالجة',
+ 2 => 'مكتملة',
],
],
// Service Status
'service' => [
- 'good' => '[0,1] System operational|[2,Inf] All systems are operational',
- 'bad' => '[0,1] The system is experiencing issues|[2,Inf] Some systems are experiencing issues',
- 'major' => '[0,1] The system is experiencing major issues|[2,Inf] Some systems are experiencing major issues',
+ 'good' => '[0,1] النظام يعمل | [2,Inf] جميع الأنظمة تعمل',
+ 'bad' => '[0,1] النظام يواجه مشاكل | [2,Inf] بعض الأنظمة تواجه مشاكل',
+ 'major' => '[0,1] النظام يواجه مشاكل أساسية | [2,Inf] بعض الأنظمة تواجه مشاكل أساسية',
],
'api' => [
- 'regenerate' => 'Regenerate API Key',
- 'revoke' => 'Revoke API Key',
+ 'regenerate' => 'إعادة إنشاء مفتاح الواجهة البرمجية',
+ 'revoke' => 'إزالة مفتاح الواجهة البرمجية',
],
// Metrics
'metrics' => [
'filter' => [
'last_hour' => 'الساعة الأخيرة',
- 'hourly' => 'Last 12 Hours',
+ 'hourly' => 'آخر 12 ساعة',
'weekly' => 'أسبوع',
'monthly' => 'شهر',
],
@@ -76,32 +74,32 @@ return [
// Subscriber
'subscriber' => [
- 'subscribe' => 'Subscribe to get the updates',
- 'unsubscribe' => 'Unsubscribe at :link',
- 'button' => 'Subscribe',
+ 'subscribe' => 'إشترك للحصول على التحديثات',
+ 'unsubscribe' => 'إلغاء الإشتراك في :link',
+ 'button' => 'اشتراك',
'manage' => [
- 'no_subscriptions' => 'You\'re currently subscribed to all updates.',
- 'my_subscriptions' => 'You\'re currently subscribed to the following updates.',
+ 'no_subscriptions' => 'أنت الآن مشترك للحصول على جميع التحديثات.',
+ 'my_subscriptions' => 'أنت كنت مشترك حاليا بالتحديثات التالية.',
],
'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!',
- 'manage' => 'Manage your subscription',
- 'unsubscribe' => 'Unsubscribe from email updates.',
- 'unsubscribed' => 'Your email subscription has been cancelled.',
- 'failure' => 'Something went wrong with the subscription.',
- 'already-subscribed' => 'Cannot subscribe :email because they\'re already subscribed.',
+ 'subscribe' => 'إشترك في تحديثات البريد الإلكتروني.',
+ 'subscribed' => 'تم تسجيلك في تنبيهات البريد الإلكتروني، الرجاء تفقد بريدك الإلكتروني لتأكيد الإشتراك.',
+ 'verified' => 'تم تأكيد بريدك الإلكتروني. شكراً لك!',
+ 'manage' => 'تحكم في الاشتراكات الخاص بك',
+ 'unsubscribe' => 'إلغاء الإشتراك من تحديثات البريد الإلكتروني.',
+ 'unsubscribed' => 'تم إلغاء إشتراك بريدك الإلكتروني.',
+ 'failure' => 'حدث خلل أثناء الإشتراك.',
+ 'already-subscribed' => 'لا يمكن الاشتراك: البريد الإلكتروني نظراً لأنها كنت الاشتراك مسبقاً.',
],
],
'signup' => [
'title' => 'سجل',
'username' => 'Username',
- 'email' => 'Email',
- 'password' => 'Password',
+ 'email' => 'بريد إلكتروني',
+ 'password' => 'كلمة السر',
'success' => 'Your account has been created.',
- 'failure' => 'Something went wrong with the signup.',
+ 'failure' => 'حدث خطأ مع الاشتراك.',
],
'system' => [
@@ -114,7 +112,7 @@ return [
'subscribe' => [
'title' => 'Subscribe to component updates',
'body' => 'Enter your email address to subscribe to updates for this component. If you\'re already subscribed, you\'ll already receive emails for this component.',
- 'button' => 'Subscribe',
+ 'button' => 'اشتراك',
],
],
diff --git a/resources/lang/ar-SA/dashboard.php b/resources/lang/ar-SA/dashboard.php
new file mode 100644
index 00000000..7af11382
--- /dev/null
+++ b/resources/lang/ar-SA/dashboard.php
@@ -0,0 +1,293 @@
+ 'لوحة التحكم',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidents & Schedule',
+ 'incidents' => 'الحالات',
+ 'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
+ 'incident-create-template' => 'إنشاء قالب',
+ 'incident-templates' => 'قوالب الحالات',
+ 'updates' => '{0} لا توجد تحديثات | تحديث واحد | :count تحديثات',
+ 'add' => [
+ 'title' => 'الإبلاغ عن حالة',
+ 'success' => 'تم إضافة الحالة.',
+ 'failure' => 'حدث خلل أثناء إضافة الحالة، الرجاء المحاولة مرة أخرى.',
+ ],
+ 'edit' => [
+ 'title' => 'تعديل الحالة',
+ 'success' => 'تم تحديث الحالة.',
+ 'failure' => 'حدث خلل أثناء تعديل الحالة، الرجاء المحاولة مرة أخرى.',
+ ],
+ 'delete' => [
+ 'success' => 'تم حذف الحالة و لن تظهر في صفحة الحالة الخاصة بك.',
+ 'failure' => 'حدث خلل أثناء حذف الحالة، الرجاء المحاولة مرة أخرى.',
+ ],
+ 'update' => [
+ 'title' => 'إنشاء تحديث حالة جديد',
+ 'subtitle' => 'إضافة تحديث إلى :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'قوالب الحالات',
+ 'add' => [
+ 'title' => 'إنشاء قالب حالة',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Template',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'صيانة مجدولة',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Scheduled at :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Components',
+ 'component_statuses' => 'Component Statuses',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Add a component',
+ 'message' => 'You should add a component.',
+ 'success' => 'Component created.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrics',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Member',
+ 'profile' => 'Profile',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Settings',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Security',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Settings saved.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Login',
+ 'logged_in' => 'You\'re logged in.',
+ 'welcome' => 'Welcome back!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Help',
+ 'status_page' => 'Status Page',
+ 'logout' => 'Logout',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifications',
+ 'awesome' => 'Awesome.',
+ 'whoops' => 'Whoops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Add your components',
+ 'incident' => 'Create an incident',
+ 'customize' => 'Customize your page',
+ 'team' => 'Add your team',
+ 'api' => 'Generate an API token',
+ 'two-factor' => 'Setup Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/ar-SA/forms.php b/resources/lang/ar-SA/forms.php
new file mode 100644
index 00000000..0fa49486
--- /dev/null
+++ b/resources/lang/ar-SA/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'بريد إلكتروني',
+ 'username' => 'Username',
+ 'password' => 'كلمة السر',
+ 'site_name' => 'اسم الموقع',
+ 'site_domain' => 'عنوان النطاق',
+ 'site_timezone' => 'إختر منطقتك الزمنية',
+ 'site_locale' => 'اختر اللغة',
+ 'enable_google2fa' => 'تفعيل التحقق الثنائي من Google',
+ 'cache_driver' => 'Cache Driver',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Session Driver',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => 'إستضافة البريد الإلكتروني',
+ 'mail_address' => 'Mail From Address',
+ 'mail_username' => 'اسم البريد الإلكتروني',
+ 'mail_password' => 'كلمة السر للبريد الإلكتروني',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'إسم المستخدم أو البريد الإلكتروني',
+ 'email' => 'بريد إلكتروني',
+ 'password' => 'كلمة السر',
+ '2fauth' => 'رمز التحقق',
+ 'invalid' => 'اسم المستخدم أو كلمة المرور غير صحيحة',
+ 'invalid-token' => 'الرمز غير صحيح',
+ 'cookies' => 'يجب عليك تفعيل الكوكيز لتسجيل الدخول.',
+ 'rate-limit' => 'تم إجتياز الحد المسموح به.',
+ 'remember_me' => 'تذكرني',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'الاسم',
+ 'status' => 'الحالة',
+ 'component' => 'المكون',
+ 'message' => 'رسالة',
+ 'message-help' => 'يمكنك إستخدام الـ Markdown.',
+ 'occurred_at' => 'متى ظهرت هذه الحالة؟',
+ 'notify_subscribers' => 'تنبيه المشتركين؟',
+ 'visibility' => 'ظهور الحالة',
+ 'stick_status' => 'تثبيت الحالة',
+ 'stickied' => 'مثبت',
+ 'not_stickied' => 'غير مثبت',
+ 'public' => 'ظاهر للعامة',
+ 'logged_in_only' => 'ظاهر فقط للمستخدمين',
+ 'templates' => [
+ 'name' => 'الاسم',
+ 'template' => 'قالب',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'الاسم',
+ 'status' => 'الحالة',
+ 'message' => 'رسالة',
+ 'message-help' => 'يمكنك إستخدام الـ Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'الاسم',
+ 'template' => 'قالب',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'الاسم',
+ 'status' => 'الحالة',
+ 'group' => 'مجموعة',
+ 'description' => 'وصف',
+ 'link' => 'رابط',
+ 'tags' => 'الوسوم',
+ 'tags-help' => 'Comma separated.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'الاسم',
+ 'description' => 'وصف',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'مجموعة',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'الاسم',
+ 'suffix' => 'Suffix',
+ 'description' => 'وصف',
+ 'description-help' => 'يمكنك إستخدام الـ 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',
+
+ 'points' => [
+ 'value' => 'Value',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ '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?',
+ '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?',
+ '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?',
+ ],
+ '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',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Site timezone',
+ 'site-locale' => 'Site language',
+ 'date-format' => 'Date format',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth 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',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Username',
+ 'email' => 'بريد إلكتروني',
+ 'password' => 'كلمة السر',
+ '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',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'User',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Add',
+ 'save' => 'Save',
+ 'update' => 'Update',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'submit' => 'Submit',
+ 'cancel' => 'Cancel',
+ 'remove' => 'Remove',
+ 'invite' => 'Invite',
+ 'signup' => 'سجل',
+
+ // Other
+ 'optional' => '* Optional',
+];
diff --git a/resources/lang/ar-SA/notifications.php b/resources/lang/ar-SA/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/ar-SA/notifications.php
+++ b/resources/lang/ar-SA/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/ar-SA/pagination.php b/resources/lang/ar-SA/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/ar-SA/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/ar-SA/setup.php b/resources/lang/ar-SA/setup.php
new file mode 100644
index 00000000..a69a647b
--- /dev/null
+++ b/resources/lang/ar-SA/setup.php
@@ -0,0 +1,23 @@
+ 'تنصيب',
+ 'title' => 'إعداد Cachet',
+ 'service_details' => 'تفاصيل الخدمة',
+ 'env_setup' => 'اعداد البيئة',
+ 'status_page_setup' => 'حالة إعداد الصفحة',
+ 'show_support' => 'إظهار الدعم ل Cachet؟',
+ 'admin_account' => 'حساب المسؤول',
+ 'complete_setup' => 'إكمال الإعداد',
+ 'completed' => 'تم إعداد Cachet بنجاح!',
+ 'finish_setup' => 'انتقل إلى لوحة التحكم',
+];
diff --git a/resources/lang/ar-SA/validation.php b/resources/lang/ar-SA/validation.php
new file mode 100644
index 00000000..7d196d98
--- /dev/null
+++ b/resources/lang/ar-SA/validation.php
@@ -0,0 +1,122 @@
+ '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.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :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.',
+ '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.',
+ ],
+ '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.',
+ '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.',
+ '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_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.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/ca-ES/cachet.php b/resources/lang/ca-ES/cachet.php
index 29e0a007..d762c595 100644
--- a/resources/lang/ca-ES/cachet.php
+++ b/resources/lang/ca-ES/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'No s\'han registrat incidents',
- 'past' => 'Incidents anteriors',
- 'previous_week' => 'Setmana Anterior',
- 'next_week' => 'Següent Setmana',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Interrupció programada',
- 'scheduled_at' => ', programat',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'No s\'han registrat incidents',
+ 'past' => 'Incidents anteriors',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'Interrupció programada',
+ 'scheduled_at' => ', programat',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
1 => 'Investigant',
2 => 'Identificat',
3 => 'En observació',
diff --git a/resources/lang/ca-ES/dashboard.php b/resources/lang/ca-ES/dashboard.php
new file mode 100644
index 00000000..bbae5aca
--- /dev/null
+++ b/resources/lang/ca-ES/dashboard.php
@@ -0,0 +1,293 @@
+ 'Taulell de control',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidències i manteniments',
+ 'incidents' => 'Incidències',
+ 'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
+ 'incident-create-template' => 'Crear plantilla',
+ 'incident-templates' => 'Incident Templates',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Informar d\'una incidència',
+ 'success' => 'Incidència afegida.',
+ 'failure' => 'Hi ha hagut un problema afegint l\'incidència, si us plau torni a provar-ho.',
+ ],
+ 'edit' => [
+ 'title' => 'Modificar una incidència',
+ 'success' => 'Incidència actualitzada.',
+ 'failure' => 'There was an error editing the incident, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The incident has been deleted and will not show on your status page.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Incident Templates',
+ 'add' => [
+ 'title' => 'Create an incident template',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Modificar plantilla',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Interrupció programada',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Scheduled at :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Manteniment afegit.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Components',
+ 'component_statuses' => 'Estats dels components',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Afegir component',
+ 'message' => 'You should add a component.',
+ 'success' => 'Component creat.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Modificar un component',
+ 'success' => 'Component actualitzat.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'S\'ha eliminat el component!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Afegir un grup de components',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrics',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Afegir un nou subscriptor',
+ 'success' => 'Subscriptor afegit!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Afegeix únicament un subscriptor per a cada línia.',
+ ],
+ 'edit' => [
+ 'title' => 'Modificar subscriptor',
+ 'success' => 'El subscriptor ha estat actualitzat!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Equip',
+ 'member' => 'Membre',
+ 'profile' => 'Perfil',
+ 'description' => 'Els membres de l\'equip podran afegir i modificar tant components com incidències.',
+ 'add' => [
+ 'title' => 'Afegit un nou membre a l\'equip',
+ 'success' => 'Membre de l\'equip afegit.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Actualitzar perfil',
+ 'success' => 'Perfil actualitzat.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Convidar a un nou membre a l\'equip',
+ 'success' => 'S\'ha enviat una invitació',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Configuracions',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analítiques',
+ ],
+ 'log' => [
+ 'log' => 'Registres',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Personalització',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Seguretat',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Full d\'estils',
+ ],
+ 'theme' => [
+ 'theme' => 'Tema',
+ ],
+ 'edit' => [
+ 'success' => 'Configuració desada.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Crèdits',
+ 'contributors' => 'Contribuïdors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Iniciar Sessió',
+ 'logged_in' => 'You\'re logged in.',
+ 'welcome' => 'Welcome back!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Ajuda',
+ 'status_page' => 'Status Page',
+ 'logout' => 'Logout',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifications',
+ 'awesome' => 'Awesome.',
+ 'whoops' => 'Whoops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Add your components',
+ 'incident' => 'Create an incident',
+ 'customize' => 'Customize your page',
+ 'team' => 'Add your team',
+ 'api' => 'Generate an API token',
+ 'two-factor' => 'Setup Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/ca-ES/forms.php b/resources/lang/ca-ES/forms.php
new file mode 100644
index 00000000..7a78500e
--- /dev/null
+++ b/resources/lang/ca-ES/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Correu electrònic',
+ 'username' => 'Nom de l\'usuari',
+ 'password' => 'Contrasenya',
+ 'site_name' => 'Nom del lloc',
+ 'site_domain' => 'Domini del lloc',
+ 'site_timezone' => 'Seleccionau la vostra zona horària',
+ 'site_locale' => 'Seleccionau el vostre idioma',
+ 'enable_google2fa' => 'Habilita l\'autenticació en dos passos de Google',
+ 'cache_driver' => 'Controlador de memòria cau',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Controlador de sessió',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => 'Mail Host',
+ 'mail_address' => 'Mail From Address',
+ 'mail_username' => 'Mail Username',
+ 'mail_password' => 'Mail Password',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Usuari o correu electrònic',
+ 'email' => 'Correu electrònic',
+ 'password' => 'Contrasenya',
+ '2fauth' => 'Codi d\'autenticació',
+ 'invalid' => 'El nom d\'usuari o contrasenya no és vàlid',
+ 'invalid-token' => 'Token invàlid',
+ 'cookies' => 'Heu d\'habilitar les galetes (cookies) per poder iniciar sessió.',
+ 'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Nom',
+ 'status' => 'Estat',
+ 'component' => 'Component',
+ 'message' => 'Missatge',
+ 'message-help' => 'També podeu fer servir Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notificar els subscriptors?',
+ 'visibility' => 'Visibilitat de l\'incident',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
+ 'public' => 'Visible pel públic',
+ 'logged_in_only' => 'Visible només per a usuaris registrats',
+ 'templates' => [
+ 'name' => 'Nom',
+ 'template' => 'Plantilla',
+ 'twig' => 'Les plantilles d\'incidents poden fer ús del llenguatge de plantilles Twig.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Nom',
+ 'status' => 'Estat',
+ 'message' => 'Missatge',
+ 'message-help' => 'També podeu fer servir Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Nom',
+ 'template' => 'Plantilla',
+ 'twig' => 'Les plantilles d\'incidents poden fer ús del llenguatge de plantilles Twig.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Nom',
+ 'status' => 'Estat',
+ 'group' => 'Grup',
+ 'description' => 'Descripció',
+ 'link' => 'Enllaç',
+ 'tags' => 'Etiquetes',
+ 'tags-help' => 'Separat per comes.',
+ 'enabled' => 'Component habilitat?',
+
+ 'groups' => [
+ 'name' => 'Nom',
+ 'collapsing' => 'Expand/Collapse options',
+ 'visible' => 'Sempre ampliat',
+ 'collapsed' => 'Per defecte redueix el grup',
+ 'collapsed_incident' => 'Per defecte redueix el grup, però amplia\'l si hi ha problemes',
+ 'visibility' => 'Visibility',
+ 'visibility_public' => 'Visible to public',
+ 'visibility_authenticated' => 'Visible only to logged in users',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nom',
+ 'description' => 'Descripció',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Grup',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Nom',
+ 'suffix' => 'Sufix',
+ 'description' => 'Descripció',
+ 'description-help' => 'També podeu fer servir Markdown.',
+ 'display-chart' => 'Mostrar gràfica a la pàgina d\'estat?',
+ 'default-value' => 'Valor per defecte',
+ 'calc_type' => 'Càlcul d\'indicadors',
+ 'type_sum' => 'Suma',
+ 'type_avg' => 'Mitjana',
+ 'places' => 'Nombre de decimals',
+ 'default_view' => 'Vista per defecte',
+ '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',
+
+ 'points' => [
+ 'value' => 'Valor',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Nom del lloc',
+ 'site-url' => 'URL del lloc',
+ 'display-graphs' => 'Mostrar gràfics a la pàgina d\'estat?',
+ 'about-this-page' => 'Sobre aquest lloc',
+ 'days-of-incidents' => 'Quants de dies d\'incidents voleu veure?',
+ 'banner' => 'Imatge del banner',
+ 'banner-help' => "Es recomana que no carregueu arxius més grans de 930 píxels d'ample.",
+ 'subscribers' => 'Permetre el registre per a notificacions per correu electrònic?',
+ '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?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Codi de Google Analytics',
+ 'analytics_gosquared' => 'Codi de GoSquared Analytics',
+ 'analytics_piwik_url' => 'URL de la seva instància Piwik (sense http(s)://)',
+ 'analytics_piwik_siteid' => 'Identificador de lloc del Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Seleccioneu el fus horari',
+ 'site-locale' => 'Idioma del lloc',
+ 'date-format' => 'Format de la data',
+ 'incident-date-format' => 'Format del fus horari dels incidents',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Dominis permesos',
+ 'allowed-domains-help' => 'Separats per comes. El domini especificat a dalt és automàticament permès per defecte.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Full d\'estils personalitzats',
+ ],
+ 'theme' => [
+ 'background-color' => 'Color de fons',
+ 'background-fills' => 'Elements del fons (components, incidents, peu de pàgina)',
+ 'banner-background-color' => 'Color de fons del banner',
+ 'banner-padding' => 'Farciment (padding) del banner',
+ 'fullwidth-banner' => 'Habilitar la màxima amplada del banner?',
+ 'text-color' => 'Color del text',
+ 'dashboard-login' => 'Mostrar el botó del dashboard al peu de pàgina?',
+ 'reds' => 'Vermell (utilitzat per trobar errors)',
+ 'blues' => 'Blau (usat per informació)',
+ 'greens' => 'Verd (utilitzat per l\'èxit)',
+ 'yellows' => 'Groc (utilitzat per alertes)',
+ 'oranges' => 'Taronja (utilitzat per a avisos)',
+ 'metrics' => 'Omplir les mètriques',
+ 'links' => 'Enllaços',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Nom de l\'usuari',
+ 'email' => 'Correu electrònic',
+ 'password' => 'Contrasenya',
+ 'api-token' => 'Token de l\'API',
+ 'api-token-help' => 'Regenerar el seu token de l\'API evitarà a les aplicacions existents accedir al Cachet.',
+ 'gravatar' => 'Canviau la vostra imatge de perfil a Gravatar.',
+ 'user_level' => 'Nivell d\'usuari',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'Usuari',
+ ],
+ '2fa' => [
+ 'help' => 'Habilitar l\'autenticació de dos factor augmenta la seguretat del compte. Necessitareu descarregar Google Authenticator o un app similar al vostre dispositiu mòbil. Quan us identifiqueu haureu de proporcionar el token generat per l\'app.',
+ ],
+ 'team' => [
+ 'description' => 'Convidau els membres del vostre d\'equip introduint les seves adreces de correu electrònic aquí.',
+ 'email' => 'Adreça electrònica #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Afegeix',
+ 'save' => 'Desar',
+ 'update' => 'Actualitzar',
+ 'create' => 'Crear',
+ 'edit' => 'Editar',
+ 'delete' => 'Eliminar',
+ 'submit' => 'Enviar',
+ 'cancel' => 'Cancel·lar',
+ 'remove' => 'Treure',
+ 'invite' => 'Convidar',
+ 'signup' => 'Crea un compte',
+
+ // Other
+ 'optional' => '* Opcional',
+];
diff --git a/resources/lang/ca-ES/notifications.php b/resources/lang/ca-ES/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/ca-ES/notifications.php
+++ b/resources/lang/ca-ES/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/ca-ES/pagination.php b/resources/lang/ca-ES/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/ca-ES/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/ca-ES/setup.php b/resources/lang/ca-ES/setup.php
new file mode 100644
index 00000000..bdbbcd0c
--- /dev/null
+++ b/resources/lang/ca-ES/setup.php
@@ -0,0 +1,23 @@
+ 'Configuració',
+ 'title' => 'Instal·lar Cachet',
+ 'service_details' => 'Service Details',
+ 'env_setup' => 'Configuració de l\'entorn',
+ 'status_page_setup' => 'Configuració de la pàgina d\'estat',
+ 'show_support' => 'Mostrar enllaç de suport de Cachet?',
+ 'admin_account' => 'Administrator Account',
+ 'complete_setup' => 'Completar configuració',
+ 'completed' => 'Cachet s\'ha configurat correctament!',
+ 'finish_setup' => 'Anar al taulell de control',
+];
diff --git a/resources/lang/ca-ES/validation.php b/resources/lang/ca-ES/validation.php
new file mode 100644
index 00000000..7d196d98
--- /dev/null
+++ b/resources/lang/ca-ES/validation.php
@@ -0,0 +1,122 @@
+ '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.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :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.',
+ '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.',
+ ],
+ '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.',
+ '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.',
+ '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_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.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/cs-CZ/cachet.php b/resources/lang/cs-CZ/cachet.php
index 27b963eb..d6beb942 100644
--- a/resources/lang/cs-CZ/cachet.php
+++ b/resources/lang/cs-CZ/cachet.php
@@ -14,7 +14,7 @@ return [
'components' => [
'last_updated' => 'Poslední aktualizace :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Neznámý',
1 => 'V provozu',
2 => 'Problémy s výkonem',
3 => 'Částečný výpadek',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Nejsou nahlášeny žádné incidenty',
- 'past' => 'Minulé incidenty',
- 'previous_week' => 'Předchozí týden',
- 'next_week' => 'Příští týden',
- 'stickied' => 'Připnuté incidenty',
- 'scheduled' => 'Plánovaná odstávka',
- 'scheduled_at' => ', plánované na :timestamp',
- 'posted' => 'Publikováno :timestamp',
- 'status' => [
+ 'none' => 'Nejsou nahlášeny žádné incidenty',
+ 'past' => 'Minulé incidenty',
+ 'stickied' => 'Připnuté incidenty',
+ 'scheduled' => 'Plánovaná odstávka',
+ 'scheduled_at' => ', plánované na :timestamp',
+ 'posted' => 'Publikováno :timestamp',
+ 'status' => [
1 => 'Zkoumání příčiny',
2 => 'Problém identifikován',
3 => 'Sledování',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Blížící se',
+ 1 => 'Probíhající',
+ 2 => 'Hotovo',
],
],
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Přihlásit se k odběru upozornění',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Odhlásit se na :link',
'button' => 'Přihlásit',
'manage' => [
'no_subscriptions' => 'Aktuálně jsi přihlášen(a) ke všem upozorněním.',
diff --git a/resources/lang/cs-CZ/dashboard.php b/resources/lang/cs-CZ/dashboard.php
new file mode 100644
index 00000000..9b5f46dc
--- /dev/null
+++ b/resources/lang/cs-CZ/dashboard.php
@@ -0,0 +1,293 @@
+ 'Řídicí panel',
+ 'writeable_settings' => 'Nelze zapisovat do složky nastavení Cachet. Ujistěte se, že web server může zapisovat do ./bootstrap/cachet.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidenty & Plán',
+ 'incidents' => 'Incidenty',
+ 'logged' => '{0} Nejsou hlášeny žádné incidenty, dobrá práce. | Zapsali jste jeden incident. | Nahlásili jste :count incident(y).',
+ 'incident-create-template' => 'Vytvořit šablonu',
+ 'incident-templates' => 'Šablony incidentů',
+ 'updates' => '{0} Žádné Novinky|Jedna Novinka|:count Novinek',
+ 'add' => [
+ 'title' => 'Nahlásit incident',
+ 'success' => 'Incident byl přidán.',
+ 'failure' => 'Došlo k chybě při přidávání události, opakujte akci.',
+ ],
+ 'edit' => [
+ 'title' => 'Upravit incident',
+ 'success' => 'Incident aktualizován.',
+ 'failure' => 'Došlo k chybě při editaci události, opakujte akci.',
+ ],
+ 'delete' => [
+ 'success' => 'Událost byla odstraněna a už se nebude zobrazovat na stavové stránce.',
+ 'failure' => 'Událost se nepodařilo smazat, opakujte akci.',
+ ],
+ 'update' => [
+ 'title' => 'Vytvořit novou zprávu k události',
+ 'subtitle' => 'Aktualizace k :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Šablony incidentů',
+ 'add' => [
+ 'title' => 'Vytvořit šablonu incidentu',
+ 'message' => 'Měli byste přidat šablonu události.',
+ 'success' => 'Byla vytvořena nová šablona události.',
+ 'failure' => 'Se šablonou události se něco pokazilo.',
+ ],
+ 'edit' => [
+ 'title' => 'Upravit šablonu',
+ 'success' => 'Šablona události byla aktualizována.',
+ 'failure' => 'Při aktualizaci šablony incidentu se něco pokazilo',
+ ],
+ 'delete' => [
+ 'success' => 'Šablona události byla smazána.',
+ 'failure' => 'Šablonu události se nepodařilo smazat, opakujte akci.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Plánovaná odstávka',
+ 'logged' => '{0} Žádná údržba není v plánu, skvělá práce.|Je v plánu jedna údržba.|Je v plánu :count údržb.',
+ 'scheduled_at' => 'Naplánováno na :timestamp',
+ 'add' => [
+ 'title' => 'Přidat plánovanou údržbu',
+ 'success' => 'Údržba byla přidána.',
+ 'failure' => 'Něco se pokazilo při přidávání údržby, zkus to znova.',
+ ],
+ 'edit' => [
+ 'title' => 'Upravit naplánovanou údržbu',
+ 'success' => 'Údržba byla aktualizovaná!',
+ 'failure' => 'Něco se pokazilo při úpravě údržby, zkus to znova.',
+ ],
+ 'delete' => [
+ 'success' => 'Plánovaná údržba byla smazána a nebude se zobrazovat na hlavní stránce.',
+ 'failure' => 'Plánovaná údržba nemohla být smazána, zkus to znova.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Služby',
+ 'component_statuses' => 'Stavy služeb',
+ 'listed_group' => 'Seskupeno podle :name',
+ 'add' => [
+ 'title' => 'Přidat službu',
+ 'message' => 'Měli byste přidat službu.',
+ 'success' => 'Služba vytvořena.',
+ 'failure' => 'Něco se pokazilo se skupinou služby, zkus to znova.',
+ ],
+ 'edit' => [
+ 'title' => 'Upravit službu',
+ 'success' => 'Služba byla aktualizována.',
+ 'failure' => 'Něco se pokazilo se skupinou služby, zkus to znova.',
+ ],
+ 'delete' => [
+ 'success' => 'Služba byla smazána!',
+ 'failure' => 'Služba nemůže být odstraněna, opakujte akci.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Skupina služeb|Skupiny služeb',
+ 'no_components' => 'Můžete přidat skupinu služeb.',
+ 'add' => [
+ 'title' => 'Přidat skupinu služeb',
+ 'success' => 'Skupina služeb byla přidána.',
+ 'failure' => 'Něco se pokazilo se skupinou služby, zkus to znova.',
+ ],
+ 'edit' => [
+ 'title' => 'Upravit skupinu komponent',
+ 'success' => 'Skupina služeb byla aktualizována.',
+ 'failure' => 'Něco se pokazilo se skupinou služby, zkus to znova.',
+ ],
+ 'delete' => [
+ 'success' => 'Skupina služeb byla smazána!',
+ 'failure' => 'Skupina komponent nemohla být smazána, zkus to znova.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metriky',
+ 'add' => [
+ 'title' => 'Vytvořit metriku',
+ 'message' => 'Měli byste přidat metriku.',
+ 'success' => 'Metrika vytvořena.',
+ 'failure' => 'Něco se pokazilo s metrikou, zkus to znova.',
+ ],
+ 'edit' => [
+ 'title' => 'Upravit metriku',
+ 'success' => 'Metrika aktualizována.',
+ 'failure' => 'Něco se pokazilo s metrikou, zkus to znova.',
+ ],
+ 'delete' => [
+ 'success' => 'Měření bylo smazáno a už se nebude zobrazovat na stavové stránce.',
+ 'failure' => 'Měření nemohlo být odstraněno, opakujte akci.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Odběratelé',
+ 'description' => 'Odběratelé obdrží aktualizace e-mailem, pokuď dojde ke vzniku incidentu.',
+ 'verified' => 'Ověřeno',
+ 'not_verified' => 'Neověřeno',
+ 'subscriber' => ': e-mail, přihlášen: datum',
+ 'no_subscriptions' => 'Přihlášeno k zasílání všech aktualizací',
+ 'add' => [
+ 'title' => 'Přidat nového odběratele',
+ 'success' => 'Odběratel přidán.',
+ 'failure' => 'Něco se pokazilo při přidávání odběratele, opakujte akci.',
+ 'help' => 'Zadejte každého odběratele na nový řádek.',
+ ],
+ 'edit' => [
+ 'title' => 'Aktualizovat odeběratele',
+ 'success' => 'Odběratel aktualizován.',
+ 'failure' => 'Něco se pokazilo při úpravě odběratele, zkus to znova.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Tým',
+ 'member' => 'Člen',
+ 'profile' => 'Profil',
+ 'description' => 'Členové týmu budou schopni přidat nebo upravit komponenty a incidenty.',
+ 'add' => [
+ 'title' => 'Přidat nového člena týmu',
+ 'success' => 'Nový člen týmu byl přidán.',
+ 'failure' => 'Člena týmu se nezdařilo přidat, opakujte akci.',
+ ],
+ 'edit' => [
+ 'title' => 'Aktualizovat profil',
+ 'success' => 'Profil byl aktualizován.',
+ 'failure' => 'Něco se pokazilo při aktualizaci profilu, zkus to znova.',
+ ],
+ 'delete' => [
+ 'success' => 'Člen týmu byl smazán a již nebude mít přístup do řídícího panelu!',
+ 'failure' => 'Člena týmu se nezdařilo přidat, opakujte akci.',
+ ],
+ 'invite' => [
+ 'title' => 'Pozvat nového člena týmu',
+ 'success' => 'Pozvánka byla odeslána',
+ 'failure' => 'Pozvánka nemohla být odeslána, zkus to znova.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Nastavení',
+ 'app-setup' => [
+ 'app-setup' => 'Nastavení aplikace',
+ 'images-only' => 'Nahrány mohou být pouze obrázky.',
+ 'too-big' => 'Soubor, který nahráváte, je příliš velký. Nahrajte obrázek menší než :velikost',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytiky',
+ ],
+ 'log' => [
+ 'log' => 'Záznamy',
+ ],
+ 'localization' => [
+ 'localization' => 'Lokalizace',
+ ],
+ 'customization' => [
+ 'customization' => 'Vlastní nastavení',
+ 'header' => 'Vlastní hlavička HTML',
+ 'footer' => 'Vlastní zápatí HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Vyzkoušet',
+ 'email' => [
+ 'subject' => 'Testovací oznámení z Cachet',
+ 'body' => 'Toto je testovací oznámení z Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Zabezpečení',
+ 'two-factor' => 'Uživatelé bez dvoufaktorového ověřování',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Šablona stylů',
+ ],
+ 'theme' => [
+ 'theme' => 'Motiv vzhledu',
+ ],
+ 'edit' => [
+ 'success' => 'Nastavení uložena.',
+ 'failure' => 'Nastavení nelze uložit.',
+ ],
+ 'credits' => [
+ 'credits' => 'Autoři',
+ 'contributors' => 'Přispěvatelé',
+ 'license' => 'Cachet je open-sourcový projekt pod BSD-3-licencí, vydávaný Alt Three Services Limited.',
+ 'backers-title' => 'Podporovatelé a sponzoři',
+ 'backers' => 'Pokud chcete podpořit další vývoj aplikace, běžte se podívat na kampaň Cachet Patreon.',
+ 'thank-you' => 'Děkujeme každému z :count přispěvatelů.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Přihlášení',
+ 'logged_in' => 'Jste přihlášeni.',
+ 'welcome' => 'Vítejte zpátky!',
+ 'two-factor' => 'Zadejte prosím váš token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Nápověda',
+ 'status_page' => 'Stavová stránka',
+ 'logout' => 'Odhlásit',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Ozmámení',
+ 'awesome' => 'Vynikající.',
+ 'whoops' => 'Jejda.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Podpořit Cachet',
+ 'support_subtitle' => 'Mrkněte na náš Patreon page!',
+ 'news' => 'Poslední novinky',
+ 'news_subtitle' => 'Získat nejnovější aktualizace',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Vítej na tvé nové Status stránce!',
+ 'message' => 'Vaše stavová stránka je téměř připravena! Možná budete chtít upravit další nastavení',
+ 'close' => 'Přejít rovnou do řídícího panelu',
+ 'steps' => [
+ 'component' => 'Vytvoření komponent',
+ 'incident' => 'Vytvoření incidentů',
+ 'customize' => 'Přizpůsobit',
+ 'team' => 'Přidat uživatele',
+ 'api' => 'Vygenerovat API token',
+ 'two-factor' => 'Dvoufaktorové ověření',
+ ],
+ ],
+
+];
diff --git a/resources/lang/cs-CZ/forms.php b/resources/lang/cs-CZ/forms.php
new file mode 100644
index 00000000..5b22fa6d
--- /dev/null
+++ b/resources/lang/cs-CZ/forms.php
@@ -0,0 +1,240 @@
+ [
+ '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' => 'Driver pro 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' => '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' => 'Jméno',
+ 'status' => 'Stav',
+ 'component' => 'Komponenta',
+ '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?',
+ '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' => 'Jméno',
+ 'template' => 'Šablona',
+ 'twig' => 'Šablony pro incidenty mohou používat šablonovací jazyk Twing.',
+ ],
+ ],
+
+ 'schedules' => [
+ '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' => 'Jméno',
+ 'template' => 'Šablona',
+ 'twig' => 'Šablony pro incidenty mohou používat šablonovací jazyk Twing.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ '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' => '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' => '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' => 'Aktivní?',
+ 'groups' => [
+ 'name' => 'Název skupiny',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ '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' => 'Hodnota',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ '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?',
+ '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í?',
+ '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' => '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' => 'Časové pásmo webu',
+ 'site-locale' => 'Jazyk webu',
+ 'date-format' => 'Formát datumu',
+ 'incident-date-format' => 'Formát času pro incident',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Povolené domény',
+ 'allowed-domains-help' => 'Oddělené čárkami. Výše uvedené domény jsou ve výchozím nastavení automaticky povoleny.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Vlastní šablona stylů',
+ ],
+ 'theme' => [
+ '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' => 'Uživatelské jméno',
+ 'email' => 'E-mail',
+ 'password' => 'Heslo',
+ 'api-token' => 'API Token',
+ 'api-token-help' => 'Př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' => 'Správce',
+ 'user' => 'Uživatel',
+ ],
+ '2fa' => [
+ 'help' => 'Zapnutí dvoufaktorového ověřování zvýší zabezpečení vašeho účtu. Budete muset stáhnout Google Authenticator nebo podobnou aplikaci pro mobilní zařízení. Po přihlášení budete vyzváni k zadání tokenu vygenerovaného aplikací.',
+ ],
+ 'team' => [
+ 'description' => 'Pozvi uživatele do týmu zadáním emailové adresy.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Vybrat časové pásmo',
+ ],
+
+ // Buttons
+ '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',
+
+ // Other
+ 'optional' => '* Volitelné',
+];
diff --git a/resources/lang/cs-CZ/notifications.php b/resources/lang/cs-CZ/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/cs-CZ/notifications.php
+++ b/resources/lang/cs-CZ/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/cs-CZ/pagination.php b/resources/lang/cs-CZ/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/cs-CZ/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/cs-CZ/setup.php b/resources/lang/cs-CZ/setup.php
new file mode 100644
index 00000000..7c254245
--- /dev/null
+++ b/resources/lang/cs-CZ/setup.php
@@ -0,0 +1,23 @@
+ 'Instalace',
+ 'title' => 'Instalace Cachet',
+ 'service_details' => 'Podrobnosti o službě',
+ 'env_setup' => 'Nastavení prostředí',
+ 'status_page_setup' => 'Nastavení Stavové stránky',
+ 'show_support' => 'Zobrazit podporu pro Cachet?',
+ 'admin_account' => 'Účet správce',
+ 'complete_setup' => 'Dokončení instalace',
+ 'completed' => 'Cachet byl úspěšně nakonfigurován!',
+ 'finish_setup' => 'Přejít na řídící panel',
+];
diff --git a/resources/lang/cs-CZ/validation.php b/resources/lang/cs-CZ/validation.php
new file mode 100644
index 00000000..43d5e772
--- /dev/null
+++ b/resources/lang/cs-CZ/validation.php
@@ -0,0 +1,122 @@
+ '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' => ':attribute musí mít hodnou mezi :min a :max.',
+ 'file' => ':attribute musí mít velikost v rozmezí :min až :max kilobytů.',
+ 'string' => ':attribute musí mít délku v rozmezí :min a :max znaků.',
+ 'array' => ':attribute musí mít mezi :min a :max položkami.',
+ ],
+ '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' => ':attribute a :other se musí lišit.',
+ 'digits' => ':attribute musí obsahovat :digits číslice.',
+ 'digits_between' => ':attribute musí být v rozmezí :min a :max číslic.',
+ 'email' => ':attribute musí být platná e-mailová adresa.',
+ 'exists' => 'Vybraný :attribute je neplatný.',
+ 'distinct' => ':attribute má duplicitní hodnotu.',
+ 'filled' => 'Pole :attribute je vyžadováno.',
+ 'image' => ':attribute musí být obrázek.',
+ 'in' => 'Vybraný :attribute je neplatný.',
+ 'in_array' => ':attribute není v :other.',
+ 'integer' => ':attribute musí být celé číslo.',
+ 'ip' => ':attribute musí být platná IP adresa.',
+ 'json' => ': attribute musí být ve formátu JSON.',
+ 'max' => [
+ 'numeric' => ':attribute nesmí být větší než :max.',
+ 'file' => ':attribute nesmí být větší než :max kb.',
+ 'string' => ':attribute nesmí být delší než :max znaků.',
+ 'array' => 'Atribut nesmí mít více než :max položek.',
+ ],
+ 'mimes' => ':attribute musí být soubor typu: :values.',
+ 'min' => [
+ 'numeric' => ':attribute musí být alespoň :min.',
+ 'file' => 'Atribut musí mít alespoň :min kB.',
+ 'string' => ':attribute musí být dlouhý alespoň :min znaků.',
+ 'array' => ':attribute musí mít alespoň :min položek.',
+ ],
+ 'not_in' => 'Vybraný :attribute je neplatný.',
+ 'numeric' => 'Pole :attribute musí být číslo.',
+ 'present' => 'Pole :attribute je vyžadováno.',
+ 'regex' => 'Formát :attribute je neplatný.',
+ 'required' => 'Pole :attribute je vyžadováno.',
+ 'required_if' => 'Pole :attribute je požadováno, když :other je :value.',
+ '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' => 'Pole :attribute je požadováno když :values není k dispozici.',
+ 'required_without_all' => 'Pole :attribute je požadováno když :values není k dispozici.',
+ 'same' => ':attribute a: :other se musí shodovat.',
+ 'size' => [
+ 'numeric' => ':attribute musí mít velikost: :size.',
+ 'file' => 'Atribut musí mít :size kB.',
+ 'string' => 'Atribut musí mít :size znaků.',
+ 'array' => ':attribute musí obsahovat :size položek.',
+ ],
+ 'string' => ':attribute musí být text.',
+ 'timezone' => ':attribute musí být platná zóna.',
+ 'unique' => ':attribute byl už použit.',
+ 'url' => 'Formát :attribute je neplatný.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'vlastní zpráva',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/da-DK/cachet.php b/resources/lang/da-DK/cachet.php
index 19671c6f..160ec27d 100644
--- a/resources/lang/da-DK/cachet.php
+++ b/resources/lang/da-DK/cachet.php
@@ -14,7 +14,7 @@ return [
'components' => [
'last_updated' => 'Sidst opdateret :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Ukendt',
1 => 'Normal',
2 => 'Hastighedsproblemer',
3 => 'Nogen udfald',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Ingen hændelser er rapporteret',
- 'past' => 'Tidligere hændelser',
- 'previous_week' => 'Forrige uge',
- 'next_week' => 'Næste uge',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Planlagt vedligeholdelse',
- 'scheduled_at' => ', planlagt til :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'Ingen hændelser er rapporteret',
+ 'past' => 'Tidligere hændelser',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'Planlagt vedligeholdelse',
+ 'scheduled_at' => ', planlagt til :timestamp',
+ 'posted' => 'Sendt :timestamp',
+ 'status' => [
1 => 'Undersøger',
2 => 'Identificeret',
3 => 'Overvåger',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Kommende',
+ 1 => 'Under udførsel',
+ 2 => 'Fuldført',
],
],
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Tilmeld dig for at få de seneste opdateringer',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Afmeld via :link',
'button' => 'Abonner',
'manage' => [
'no_subscriptions' => 'Du abonner i øjeblikket på alle opdateringer.',
@@ -122,7 +120,7 @@ return [
'home' => 'Hjem',
'description' => 'Hold dig opdateret med de seneste opdateringer fra :app.',
'powered_by' => 'Drevet af Cachet.',
- 'timezone' => 'Tidspunkter er vist i :timezone.',
+ 'timezone' => 'Klokkeslæt angives som :timezone.',
'about_this_site' => 'Om denne side',
'rss-feed' => 'RSS',
'atom-feed' => 'Atom',
diff --git a/resources/lang/da-DK/dashboard.php b/resources/lang/da-DK/dashboard.php
new file mode 100644
index 00000000..0feac1f3
--- /dev/null
+++ b/resources/lang/da-DK/dashboard.php
@@ -0,0 +1,293 @@
+ 'Oversigt',
+ 'writeable_settings' => 'Cachet-indstillingsmappen er ikke skrivbar. Sørg venligst for at webserveren kan skrive til ./bootstrap/cachet.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Hændelser & Planlagte',
+ 'incidents' => 'Incidents',
+ 'logged' => '{0} Ingen åbne hændelser.|Der er en åben hændelse.|Der er :count åbne hændelser.',
+ 'incident-create-template' => 'Create Template',
+ 'incident-templates' => 'Incident Templates',
+ 'updates' => '{0} Nul opdateringer | Én opdatering |:count opdateringer',
+ 'add' => [
+ 'title' => 'Opret hændelse',
+ 'success' => 'Hændelse tilføjet.',
+ 'failure' => 'Der opstod en fejl i forsøget på at tilføje hændelsen. Prøv venligst igen.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigér hændelse',
+ 'success' => 'Hændelse opdateret.',
+ 'failure' => 'Der opstod en fejl under forsøget på at redigere hændelsen. Prøv venligst igen.',
+ ],
+ 'delete' => [
+ 'success' => 'Hændelsen er blevet slettet og vil ikke blive vist på din statusside.',
+ 'failure' => 'Hændelsen kunne ikke slettes. Prøv venligst igen.',
+ ],
+ 'update' => [
+ 'title' => 'Opret ny hændelsesopdatering',
+ 'subtitle' => 'Tilføj en opdatering til :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Incident Templates',
+ 'add' => [
+ 'title' => 'Opret hændelses skabelon',
+ 'message' => 'Du bør tilføje en hændelses skabelon.',
+ 'success' => 'Din nye hændelses skabelon er blevet oprettet.',
+ 'failure' => 'En fejl er opstået med hændelses skabelonen.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigér skabelon',
+ 'success' => 'Hændelses skabelonen er blevet opdateret.',
+ 'failure' => 'Der opstod en fejl under forsøget på at opdatere hændelses skabelonen',
+ ],
+ 'delete' => [
+ 'success' => 'Hændelses skabelonen er blevet slettet.',
+ 'failure' => 'Hændelses skabelonen kunne ikke slettes. Prøv venligst igen.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Planlagt vedligeholdelse',
+ 'logged' => '{0} Der er intet planlagt.|Der er 1 planlagt.|Der er :count planlagte.',
+ 'scheduled_at' => 'Planlagt til :timestamp',
+ 'add' => [
+ 'title' => 'Tilføj planlagt vedligeholdelse',
+ 'success' => 'Planlagt vedligeholdelse tilføjet.',
+ 'failure' => 'Noget gik galt under forsøget på at tilføje planlagt vedligeholdelse. Prøv venligst igen.',
+ ],
+ 'edit' => [
+ 'title' => 'Rediger planlagt vedligeholdelse',
+ 'success' => 'Planlagt vedligeholdelse er blevet opdateret!',
+ 'failure' => 'Noget gik galt under forsøget på at opdatere planlagt vedligeholdelse. Prøv venligst igen.',
+ ],
+ 'delete' => [
+ 'success' => 'Planlagt vedligeholdelse er blevet slette og vil ikke længere blive vist på din status side.',
+ 'failure' => 'Den planlagt vedligeholdelse kunne ikke slettes. Prøv venligst igen.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Components',
+ 'component_statuses' => 'Komponentstatus',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Tilføj komponent',
+ 'message' => 'Du bør tilføje en komponent.',
+ 'success' => 'Komponent oprettet.',
+ 'failure' => 'Noget gik galt med komponentet. Prøv venligst igen.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigér komponent',
+ 'success' => 'Komponent opdateret.',
+ 'failure' => 'Noget gik galt med komponentet. Prøv venligst igen.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponentet er blevet slettet!',
+ 'failure' => 'Komponentet kunne ikke slettes. Prøv venligst igen.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Komponentgruppe|Komponentgrupper',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Tilføj komponentgruppe',
+ 'success' => 'Komponent gruppe tilføjet.',
+ 'failure' => 'Noget gik galt med komponentet. Prøv venligst igen.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigér komponentgruppe',
+ 'success' => 'Komponent gruppe opdateret.',
+ 'failure' => 'Noget gik galt med komponentet. Prøv venligst igen.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponent gruppen er blevet slettet!',
+ 'failure' => 'Komponent gruppen kunne ikke slettes. Prøv venligst igen.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Grafer',
+ 'add' => [
+ 'title' => 'Opret graf',
+ 'message' => 'Du bør tilføje en graf.',
+ 'success' => 'Graf oprettet.',
+ 'failure' => 'Noget gik galt med graffen. Prøv venligst igen.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigér graf',
+ 'success' => 'Graf opdateret.',
+ 'failure' => 'Noget gik galt med graffen. Prøv venligst igen.',
+ ],
+ 'delete' => [
+ 'success' => 'Grafen er blevet slette og vil ikke længere blive vist på din status side.',
+ 'failure' => 'Grafen kunne ikke slettes. Prøv venligst igen.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Abonnenter vil modtage notifikationer når hændelser oprettes eller komponenter opdateres.',
+ 'verified' => 'Bekræftet',
+ 'not_verified' => 'Ej bekræftet',
+ 'subscriber' => ':email, abonnerede :date',
+ 'no_subscriptions' => 'Abonnere på alle opdateringer',
+ 'add' => [
+ 'title' => 'Tilføj abonnent',
+ 'success' => 'Subscriber added.',
+ 'failure' => 'Noget gik galt under forsøget på at tilføje en abonnent. Prøv venligst igen.',
+ 'help' => 'Angiv hver abonnent på en ny linje.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigér abonnent',
+ 'success' => 'Subscriber updated.',
+ 'failure' => 'Noget gik galt under forsøget på at redigere abonnenten. Prøv venligst igen.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Brugere',
+ 'member' => 'Bruger',
+ 'profile' => 'Profile',
+ 'description' => 'Brugere kan oprette og rette komponenter og hændelser.',
+ 'add' => [
+ 'title' => 'Tilføj bruger',
+ 'success' => 'Bruger tilføjet.',
+ 'failure' => 'Brugeren kunne ikke tilføjes. Prøv venligst igen.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigér profil',
+ 'success' => 'Profil opdateret.',
+ 'failure' => 'Noget gik galt under forsøget på at opdatere profilen. Prøv venligst igen.',
+ ],
+ 'delete' => [
+ 'success' => 'Slet bruger.',
+ 'failure' => 'Brugeren kunne ikke tilføjes. Prøv venligst igen.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a New Team Member',
+ 'success' => 'The users invited.',
+ 'failure' => 'Invitationen kunne ikke sendes. Prøv venligst igen.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Settings',
+ 'app-setup' => [
+ 'app-setup' => 'Applikationssetup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'Filen du prøvede at uploade er for stort, billet skal være mindre end :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Tilpasning',
+ 'header' => 'Brugerdefineret header HTML',
+ 'footer' => 'Brugerdefineret footer html',
+ ],
+ 'mail' => [
+ 'mail' => 'E-mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Testnotifikation fra Cachet',
+ 'body' => 'Dette er en testnotifikation fra Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Sikkerhed',
+ 'two-factor' => 'Brugere uden totrinsbekræftelse',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Tema',
+ ],
+ 'edit' => [
+ 'success' => 'Indstillingerne er gemt.',
+ 'failure' => 'Indstillingerne kunne ikke gemmes.',
+ ],
+ 'credits' => [
+ 'credits' => 'Anerkendelser',
+ 'contributors' => 'Bidragsydere',
+ 'license' => 'Cachet er et BSD-3 licenseret open source-projekt udgivet af Alt Three Services Limited.',
+ 'backers-title' => 'Støtter og Sponsorer',
+ 'backers' => 'Ønsker du at støtte fremtidig udvikling, så tjek venligst Cachet Patreon-kampagnen.',
+ 'thank-you' => 'Tak til hver og én af de :count bidragsydere.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Log ind',
+ 'logged_in' => 'Du er logget ind.',
+ 'welcome' => 'Velkommen tilbage!',
+ 'two-factor' => 'Indtast venligst din totrins bekræftelses nøgle.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Hjælp',
+ 'status_page' => 'Status side',
+ 'logout' => 'Log ud',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifikationer',
+ 'awesome' => 'Fantastisk.',
+ 'whoops' => 'Hov.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Støt Cachet',
+ 'support_subtitle' => 'Tjek vores Patreon-side!',
+ 'news' => 'Seneste nyheder',
+ 'news_subtitle' => 'Få den nyeste opdatering',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Velkommen til din statusside!',
+ 'message' => 'Din status side er næsten klar! Du ønsker måske at konfigurere disse ekstra indstillinger',
+ 'close' => 'Til oversigtssiden tak.',
+ 'steps' => [
+ 'component' => 'Opret Komponent',
+ 'incident' => 'Opret hændelser',
+ 'customize' => 'Tilpas',
+ 'team' => 'Tilføj bruger',
+ 'api' => 'Generer API nøgle',
+ 'two-factor' => 'Totrinsbekræftelse',
+ ],
+ ],
+
+];
diff --git a/resources/lang/da-DK/forms.php b/resources/lang/da-DK/forms.php
new file mode 100644
index 00000000..d57c9ec6
--- /dev/null
+++ b/resources/lang/da-DK/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'Brugernavn',
+ 'password' => 'Adgangskode',
+ 'site_name' => 'Sidenavn',
+ 'site_domain' => 'Sidens domæne',
+ 'site_timezone' => 'Vælg din tidszone',
+ 'site_locale' => 'Vælg dit sprog',
+ 'enable_google2fa' => 'Aktiver Googles to-trins bekræftelse',
+ 'cache_driver' => 'Cache Driver',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Session Driver',
+ 'mail_driver' => 'Mail driver',
+ 'mail_host' => 'Mail server',
+ 'mail_address' => 'Mail afsender adresse',
+ 'mail_username' => 'Mail brugernavn',
+ 'mail_password' => 'Mail adgangskode',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Brugernavn eller email',
+ 'email' => 'Email',
+ 'password' => 'Adgangskode',
+ '2fauth' => 'Bekræftelseskode',
+ 'invalid' => 'Ugyldigt brugernavn eller adgangskode',
+ 'invalid-token' => 'Ugyldig token',
+ 'cookies' => 'Du skal tillade cookies for at logge ind.',
+ 'rate-limit' => 'Grænsen er overskredet.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Navn',
+ 'status' => 'Status',
+ 'component' => 'Komponent',
+ 'message' => 'Besked',
+ 'message-help' => 'Du kan benytte Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Underret abonnenter',
+ 'visibility' => 'Hændelses synlighed',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
+ 'public' => 'Kan ses af alle',
+ 'logged_in_only' => 'Kun synlig for brugere der er logget ind',
+ 'templates' => [
+ 'name' => 'Navn',
+ 'template' => 'Skabelon',
+ 'twig' => 'Hændelse skabeloner kan gøre brug af Twigs skabelon sprog.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Navn',
+ 'status' => 'Status',
+ 'message' => 'Besked',
+ 'message-help' => 'Du kan benytte Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Navn',
+ 'template' => 'Skabelon',
+ 'twig' => 'Hændelse skabeloner kan gøre brug af Twigs skabelon sprog.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Navn',
+ 'status' => 'Status',
+ 'group' => 'Gruppe',
+ 'description' => 'Beskrivelse',
+ 'link' => 'Link',
+ 'tags' => 'Mærkat',
+ 'tags-help' => 'Komma adskilt.',
+ 'enabled' => 'Komponent er aktivt',
+
+ 'groups' => [
+ 'name' => 'Navn',
+ 'collapsing' => 'Expand/Collapse options',
+ 'visible' => 'Altid åben',
+ 'collapsed' => 'Minimer gruppen som standard',
+ 'collapsed_incident' => 'Minimer gruppen, men hold den åben hvis der er fejl',
+ 'visibility' => 'Visibility',
+ 'visibility_public' => 'Visible to public',
+ 'visibility_authenticated' => 'Visible only to logged in users',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Navn',
+ 'description' => 'Beskrivelse',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Gruppe',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Navn',
+ 'suffix' => 'Endelse',
+ 'description' => 'Beskrivelse',
+ 'description-help' => 'Du kan benytte Markdown.',
+ 'display-chart' => 'Vis graf på statussiden?',
+ 'default-value' => 'Standard værdi',
+ 'calc_type' => 'Beregning af grafer',
+ 'type_sum' => 'Sum',
+ 'type_avg' => 'Gennemsnit',
+ 'places' => 'Antal decimaler',
+ 'default_view' => 'Standardvisning',
+ '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',
+
+ 'points' => [
+ 'value' => 'Værdi',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Sidenavn',
+ 'site-url' => 'Sidens URL',
+ 'display-graphs' => 'Display graphs on status page?',
+ 'about-this-page' => 'Om',
+ 'days-of-incidents' => 'Hvor mange dage skal der vises hændelser for?',
+ 'banner' => 'Banner billede',
+ 'banner-help' => 'Det anbefales ikke at uploade billeder bredere end 930px.',
+ 'subscribers' => 'Tillad folk at tilmelde sig email underretninger?',
+ 'skip_subscriber_verification' => 'Skip verifying of users? (Be warned, you could be spammed)',
+ 'automatic_localization' => 'Sæt automatisk sproget på din statusside til den besøgendes sprog?',
+ '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?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Google Analytics kode',
+ 'analytics_gosquared' => 'GoSquared Analytics kode',
+ 'analytics_piwik_url' => 'URL til Piwik installation (uden http(s)://)',
+ 'analytics_piwik_siteid' => 'Piwik\'s site id',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Tidszone',
+ 'site-locale' => 'Sprog på siden',
+ 'date-format' => 'Datoformat',
+ 'incident-date-format' => 'Datoformat for hændelser',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Tilladte domæner',
+ 'allowed-domains-help' => 'Komma adskilt. Domænet ovenfor har automatisk adgang.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Tilpasset CSS',
+ ],
+ 'theme' => [
+ 'background-color' => 'Baggrundsfarve',
+ 'background-fills' => 'Baggrundsfyld (Komponenter, hændelser og footer)',
+ 'banner-background-color' => 'Baggrundsfarve bag banneret',
+ 'banner-padding' => 'Banner Padding',
+ 'fullwidth-banner' => 'Slå fuldbrede bannere til?',
+ 'text-color' => 'Tekstfarve',
+ 'dashboard-login' => 'Vis oversigtsside ikon i bunden af siden?',
+ 'reds' => 'Rød (Brugt til fejl)',
+ 'blues' => 'Blå (Brugt til information)',
+ 'greens' => 'Grøn (Brugt til success)',
+ 'yellows' => 'Gul (Brugt til advarsler)',
+ 'oranges' => 'Orange (Brugt til noter)',
+ 'metrics' => 'Graffyld',
+ 'links' => 'Links',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Brugernavn',
+ 'email' => 'Email',
+ 'password' => 'Adgangskode',
+ 'api-token' => 'API nøgle',
+ 'api-token-help' => 'Hvis du regenerere din API nøgle vil eksisterende applikationer ikke kunne tilgå API\'et.',
+ 'gravatar' => 'Ændre dit profilbillede hos Gravatar.',
+ 'user_level' => 'Brugertype',
+ 'levels' => [
+ 'admin' => 'Administrator',
+ 'user' => 'Bruger',
+ ],
+ '2fa' => [
+ 'help' => 'Brug totrinsbekræftelse for større sikkerhed på din konto. Du skal installere Google Authenticator eller en lignende app på din mobile enhed, for at kunne logge ind med nøgler fra appen.',
+ ],
+ 'team' => [
+ 'description' => 'Inviter brugere, ved at indtaste dere email adresser her.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Tilføj',
+ 'save' => 'Gem',
+ 'update' => 'Opdatér',
+ 'create' => 'Opret',
+ 'edit' => 'Rediger',
+ 'delete' => 'Slet',
+ 'submit' => 'Send',
+ 'cancel' => 'Afbryd',
+ 'remove' => 'Fjern',
+ 'invite' => 'Inviter',
+ 'signup' => 'Tilmeld',
+
+ // Other
+ 'optional' => '* ikke påkrævet',
+];
diff --git a/resources/lang/da-DK/notifications.php b/resources/lang/da-DK/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/da-DK/notifications.php
+++ b/resources/lang/da-DK/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/da-DK/pagination.php b/resources/lang/da-DK/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/da-DK/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/da-DK/setup.php b/resources/lang/da-DK/setup.php
new file mode 100644
index 00000000..7bf6b18a
--- /dev/null
+++ b/resources/lang/da-DK/setup.php
@@ -0,0 +1,23 @@
+ 'Opsætning',
+ 'title' => 'Indstil Cachet',
+ 'service_details' => 'Tjenestesdetaljer',
+ 'env_setup' => 'Opsætning af miljø',
+ 'status_page_setup' => 'Status side opsætning',
+ 'show_support' => 'Vis støtte til Cachet?',
+ 'admin_account' => 'Administratorkonto',
+ 'complete_setup' => 'Gennemfør opsætning',
+ 'completed' => 'Cachet er nu sat op og er klar til brug!',
+ 'finish_setup' => 'Gå til oversigtssiden',
+];
diff --git a/resources/lang/da-DK/validation.php b/resources/lang/da-DK/validation.php
new file mode 100644
index 00000000..aea8ef92
--- /dev/null
+++ b/resources/lang/da-DK/validation.php
@@ -0,0 +1,122 @@
+ ':attribute skal accepteres.',
+ 'active_url' => ':attribute er ikke en valid URL.',
+ 'after' => ':attribute skal være efter den :date.',
+ 'alpha' => ':attribute må kun indeholde bogstaver.',
+ 'alpha_dash' => ':attribute må kun indeholde bogstaver, tal og bindestreger.',
+ 'alpha_num' => ':attribute må kun indeholde tal og bogstaver.',
+ 'array' => ':attribute skal være et array.',
+ 'before' => ':attribute skal være før den :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attribute skal have mellem :min og :max emner.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute skal være et billede.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute skal være en gyldig JSON streng.',
+ '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' => ':attribute må ikke have mere end :max emner.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute skal være mindst :min kilobytes.',
+ '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' => 'Formatet af :attribute er ugyldigt.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => ':attribute feltet er påkrævet, medmindre :other er i :values.',
+ 'required_with' => 'Feltet :attribute er krævet når :values eksisterer.',
+ 'required_with_all' => 'Feltet :attribute er krævet når :values eksisterer.',
+ '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' => ':attribute skal være :size kilobytes.',
+ 'string' => ':attribute skal være :size karakterer.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute skal være en gyldig zone.',
+ 'unique' => ':attribute er allerede i brug.',
+ 'url' => 'Formatet af :attribute er ugyldigt.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'tilpasset-besked',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/de-DE/cachet.php b/resources/lang/de-DE/cachet.php
index 22cc8884..56530516 100644
--- a/resources/lang/de-DE/cachet.php
+++ b/resources/lang/de-DE/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Es liegen keine Ereignisse vor',
- 'past' => 'Vergangene Ereignisse',
- 'previous_week' => 'Vorherige Woche',
- 'next_week' => 'Nächste Woche',
- 'stickied' => 'Angepinnte Vorfälle',
- 'scheduled' => 'Geplante Wartungen',
- 'scheduled_at' => ', geplant :timestamp',
- 'posted' => 'Veröffentlicht :timestamp',
- 'status' => [
+ 'none' => 'Es liegen keine Ereignisse vor',
+ 'past' => 'Vergangene Ereignisse',
+ 'stickied' => 'Angepinnte Vorfälle',
+ 'scheduled' => 'Geplante Wartungen',
+ 'scheduled_at' => ', geplant :timestamp',
+ 'posted' => 'Veröffentlicht :timestamp',
+ 'status' => [
1 => 'Untersuchungen laufen',
2 => 'Identifiziert',
3 => 'Unter Beobachtung',
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Abonnieren Sie um die neuesten Updates zu erhalten.',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Deabonnieren unter :link',
'button' => 'Abonnieren',
'manage' => [
'no_subscriptions' => 'Du hast im Augenblick alle Updates abonniert.',
diff --git a/resources/lang/de-DE/dashboard.php b/resources/lang/de-DE/dashboard.php
new file mode 100644
index 00000000..dacadd7b
--- /dev/null
+++ b/resources/lang/de-DE/dashboard.php
@@ -0,0 +1,293 @@
+ 'Dashboard',
+ 'writeable_settings' => 'Das Cachet-Konfigurationsverzeichnis ist nicht beschreibbar. Bitte stellen Sie sicher, dass ./ bootstrap/cachet vom Webserver beschreibbar ist.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Ereignisse & Termine',
+ 'incidents' => 'Ereignisse',
+ 'logged' => '{0} Es gibt keine Ereignisse, gute Arbeit.|Du hast ein Ereignis gemeldet.|Du hast :count Ereignisse gemeldet.',
+ 'incident-create-template' => 'Vorlage erstellen',
+ 'incident-templates' => 'Ereignis Vorlagen',
+ 'updates' => '{0} Keine Updates|Ein Update|:count Updates',
+ 'add' => [
+ 'title' => 'Ereignis hinzufügen',
+ 'success' => 'Ereignis hinzugefügt.',
+ 'failure' => 'Es ist ein Fehler beim Hinzufügen der Störung aufgetreten. Bitte erneut versuchen.',
+ ],
+ 'edit' => [
+ 'title' => 'Ereignis bearbeiten',
+ 'success' => 'Ereignis aktualisiert.',
+ 'failure' => 'Es ist ein Fehler beim Editieren der Störung aufgetreten. Bitte erneut versuchen.',
+ ],
+ 'delete' => [
+ 'success' => 'Das Ereignis wurde gelöscht und wird nicht mehr angezeigt.',
+ 'failure' => 'Die Störung konnte nicht gelöscht werden. Bitte versuche es erneut.',
+ ],
+ 'update' => [
+ 'title' => 'Vorfall-Update erstellen',
+ 'subtitle' => 'Ein Update zu :incident hinzufügen',
+ 'success' => 'Vorfall aktualisiert.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Ereignis Vorlagen',
+ 'add' => [
+ 'title' => 'Ereignisvorlage erstellen',
+ 'message' => 'Du solltest eine Ereignis-Vorlage hinzufügen.',
+ 'success' => 'Deine neue Ereignis-Vorlage wurde angelegt.',
+ 'failure' => 'Etwas ist mit der Ereignis-Vorlage schief gelaufen.',
+ ],
+ 'edit' => [
+ 'title' => 'Vorlage bearbeiten',
+ 'success' => 'Die Ereignis-Vorlage wurde aktualisiert.',
+ 'failure' => 'Etwas ist mit dem Aktualisieren der Ereignis-Vorlage schief gelaufen',
+ ],
+ 'delete' => [
+ 'success' => 'Die Ereignis-Vorlage wurde gelöscht.',
+ 'failure' => 'Die Ereignis-Vorlage konnte nicht gelöscht werden. Bitte versuche es erneut.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Geplante Wartungen',
+ 'logged' => '{0} Es gibt keine Zeitpläne, gute Arbeit.|Du hast einen Zeitplan erstellt.|Du hast :count Zeitpläne gemeldet.',
+ 'scheduled_at' => 'Geplant am :timestamp',
+ 'add' => [
+ 'title' => 'Planmäßige Wartungsarbeiten hinzufügen',
+ 'success' => 'Zeitplan hinzugefügt.',
+ 'failure' => 'Etwas lief schief mit dem Hinzufügen des Zeitplans. Bitte versuchen Sie es erneut.',
+ ],
+ 'edit' => [
+ 'title' => 'Planmäßige Wartung bearbeiten',
+ 'success' => 'Zeitplan wurde aktualisiert!',
+ 'failure' => 'Etwas lief schief mit dem Editieren des Zeitplans. Bitte versuchen Sie es erneut.',
+ ],
+ 'delete' => [
+ 'success' => 'Der Zeitplan wurde gelöscht und wird nicht auf Ihrer Statusseite angezeigt.',
+ 'failure' => 'Der Zeitplan konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Komponenten',
+ 'component_statuses' => 'Komponentenstatus',
+ 'listed_group' => 'Gruppenname :name',
+ 'add' => [
+ 'title' => 'Komponente hinzufügen',
+ 'message' => 'Sie sollten eine Komponente erstellen.',
+ 'success' => 'Komponente erstellt.',
+ 'failure' => 'Etwas ist schief gelaufen mit der Komponenten-Gruppe, versuchen sie es erneut.',
+ ],
+ 'edit' => [
+ 'title' => 'Komponente bearbeiten',
+ 'success' => 'Komponente aktualisiert.',
+ 'failure' => 'Etwas ist schief gelaufen mit der Komponenten-Gruppe, versuchen sie es erneut.',
+ ],
+ 'delete' => [
+ 'success' => 'Die Komponente wurde gelöscht!',
+ 'failure' => 'Die Komponente konnte nicht gelöscht werden. Bitte versuche es erneut.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Komponentengruppe|Komponentengruppen',
+ 'no_components' => 'Sie sollten eine Komponentengruppe hinzufügen.',
+ 'add' => [
+ 'title' => 'Eine Komponentengruppe hinzufügen',
+ 'success' => 'Komponentengruppe hinzugefügt.',
+ 'failure' => 'Etwas ist schief gelaufen mit der Komponenten-Gruppe, versuchen sie es erneut.',
+ ],
+ 'edit' => [
+ 'title' => 'Komponentengruppe bearbeiten',
+ 'success' => 'Komponentengruppe aktualisiert.',
+ 'failure' => 'Etwas ist schief gelaufen mit der Komponenten-Gruppe, versuchen sie es erneut.',
+ ],
+ 'delete' => [
+ 'success' => 'Die Komponentengruppe wurde gelöscht!',
+ 'failure' => 'Die Komponentengruppe konnte nicht gelöscht werden. Bitte versuche es erneut.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metriken',
+ 'add' => [
+ 'title' => 'Metrik erstellen',
+ 'message' => 'Du solltest eine Metrik hinzufügen.',
+ 'success' => 'Metrik erstellt.',
+ 'failure' => 'Es lieft etwas mit der Metrik schief, bitte nochmal versuchen.',
+ ],
+ 'edit' => [
+ 'title' => 'Metrik bearbeiten',
+ 'success' => 'Metrik aktualisiert.',
+ 'failure' => 'Es lieft etwas mit der Metrik schief, bitte nochmal versuchen.',
+ ],
+ 'delete' => [
+ 'success' => 'Die Metrik wurde gelöscht und wird nicht mehr angezeigt.',
+ 'failure' => 'Die Metrik konnte nicht gelöscht werden. Bitte versuche es erneut.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Abonnenten',
+ 'description' => 'Abonnenten erhalten E-Mail Updates, wenn Vorfälle erstellt oder Komponenten bearbeitet werden.',
+ 'verified' => 'Bestätigt',
+ 'not_verified' => 'Nicht Bestätigt',
+ 'subscriber' => ':email, abonniert am :date',
+ 'no_subscriptions' => 'Aktualisierungen per E-Mail abonnieren',
+ 'add' => [
+ 'title' => 'Einen neuen Abonnenten hinzufügen',
+ 'success' => 'Abonnent hinzugefügt.',
+ 'failure' => 'Etwas lief schief dem dem Hinzufügen eines Abonnenten. Bitte versuchen Sie es erneut.',
+ 'help' => 'Gib jeden Abonnenten in eine neue Zeile ein.',
+ ],
+ 'edit' => [
+ 'title' => 'Abonnent aktualisieren',
+ 'success' => 'Abonnent aktualisiert.',
+ 'failure' => 'Etwas lief schief mit dem Bearbeiten eines Abonnenten. Bitte versuchen sie es erneut.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Mitglied',
+ 'profile' => 'Profil',
+ 'description' => 'Teammitglieder werden die Möglichkeit haben, Komponente sowie Vorfälle hinzuzufügen und zu verändern.',
+ 'add' => [
+ 'title' => 'Neues Teammitglied hinzufügen',
+ 'success' => 'Teammitglied hinzugefügt.',
+ 'failure' => 'Teammitglied konnte nicht hinzugefügt werden. Bitte versuchen Sie es erneut.',
+ ],
+ 'edit' => [
+ 'title' => 'Profil aktualisieren',
+ 'success' => 'Profil aktualisiert.',
+ 'failure' => 'Etwas lief schief mit dem Aktualisieren des Profils. Bitte versuchen Sie es erneut.',
+ ],
+ 'delete' => [
+ 'success' => 'Benutzer aktualisiert.',
+ 'failure' => 'Teammitglied konnte nicht hinzugefügt werden. Bitte versuchen Sie es erneut.',
+ ],
+ 'invite' => [
+ 'title' => 'Ein neues Teammitglied einladen',
+ 'success' => 'Eine Einladung wurde verschickt',
+ 'failure' => 'Diese Einladung konnte nicht versendet werden. Bitte versuchen Sie es erneut.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Einstellungen',
+ 'app-setup' => [
+ 'app-setup' => 'Anwendungsinstallation',
+ 'images-only' => 'Es können nur Bilder hochgeladen werden.',
+ 'too-big' => 'Die von Ihnen hochgeladene Datei ist zu groß. Sie können Dateien bis zu einer Maximalgröße von :size hochladen.',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Verlauf',
+ ],
+ 'localization' => [
+ 'localization' => 'Standort',
+ ],
+ 'customization' => [
+ 'customization' => 'Individualisierung',
+ 'header' => 'Benutzerdefinierter HTML Header',
+ 'footer' => 'Benutzerdefinierter HTML Footer',
+ ],
+ 'mail' => [
+ 'mail' => 'E-Mail-Einstellungen',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test-Benachrichtigung von Cachet',
+ 'body' => 'Dies ist ein Test-Benachrichtigung von Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Sicherheit',
+ 'two-factor' => 'Nutzer ohne Zwei-Faktor-Authentifizierung',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Einstellungen gespeichert.',
+ 'failure' => 'Einstellungen konnten nicht gespeichert werden.',
+ ],
+ 'credits' => [
+ 'credits' => 'Danksagungen',
+ 'contributors' => 'Unterstützer',
+ 'license' => 'Cachet ist ein BSD-3-lizensiertes Open Source-Projekt, veröffentlicht von Alt Three Services Limited.',
+ 'backers-title' => 'Unterstützer & Sponsoren',
+ 'backers' => 'Wenn Du die Entwicklung der Software unterstützen möchtest, kannst Du unter Cachet Patreon einen Beitrag leisten.',
+ 'thank-you' => 'Vielen Dank an jeden der :count Unterstützer.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Einloggen',
+ 'logged_in' => 'Sie sind eingeloggt.',
+ 'welcome' => 'Willkommen zurück!',
+ 'two-factor' => 'Bitte geben Sie Ihren Token ein.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Hilfe',
+ 'status_page' => 'Statusseite',
+ 'logout' => 'Abmelden',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Benachrichtigungen',
+ 'awesome' => 'Großartig.',
+ 'whoops' => 'Hoppla.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Cachet unterstützen',
+ 'support_subtitle' => 'Unterstütze uns unter Patreon!',
+ 'news' => 'Aktuelle Neuigkeiten',
+ 'news_subtitle' => 'Erhalte die neusten Nachrichten',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Willkommen zu Deiner Status Seite!',
+ 'message' => 'Ihre Statusseite ist fast fertig! Vielleicht möchten Sie diese zusätzlichen Einstellungen konfigurieren',
+ 'close' => 'Gehe einfach direkt zu meinem Dashboard',
+ 'steps' => [
+ 'component' => 'Komponenten erstellen',
+ 'incident' => 'Ereignis erstellen',
+ 'customize' => 'Seite anpassen',
+ 'team' => 'Benutzer hinzufügen',
+ 'api' => 'API Token generieren',
+ 'two-factor' => 'Zwei-Faktor-Authentifizierung',
+ ],
+ ],
+
+];
diff --git a/resources/lang/de-DE/forms.php b/resources/lang/de-DE/forms.php
new file mode 100644
index 00000000..9d0a4fc1
--- /dev/null
+++ b/resources/lang/de-DE/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'E-Mail',
+ 'username' => 'Benutzername',
+ 'password' => 'Passwort',
+ 'site_name' => 'Seitenname',
+ 'site_domain' => 'Domain ihrer Seite',
+ 'site_timezone' => 'Wählen Sie Ihre Zeitzone',
+ 'site_locale' => 'Wählen Sie Ihre Sprache',
+ 'enable_google2fa' => 'Google Zwei-Faktor-Authentifizierung aktivieren',
+ 'cache_driver' => 'Cache-Treiber',
+ 'queue_driver' => 'Queue-Treiber',
+ 'session_driver' => 'Sitzungs-Treiber',
+ 'mail_driver' => 'Mail Protokoll',
+ 'mail_host' => 'Mail Host',
+ 'mail_address' => 'Absenderadresse',
+ 'mail_username' => 'Mail Nutzername',
+ 'mail_password' => 'Mail Passwort',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Username oder E-Mail',
+ 'email' => 'E-Mail',
+ 'password' => 'Passwort',
+ '2fauth' => 'Authentifizierungscode',
+ 'invalid' => 'Benutzername oder Passwort ungültig',
+ 'invalid-token' => 'Token ist ungültig',
+ 'cookies' => 'Sie müssen Cookies aktivieren um sich anzumelden.',
+ 'rate-limit' => 'Maximale Anzahl von Bewertungen erreicht.',
+ 'remember_me' => 'Eingeloggt bleiben',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'component' => 'Komponente',
+ 'message' => 'Nachricht',
+ 'message-help' => 'Sie können auch Markdown verwenden.',
+ 'occurred_at' => 'Wann ist dieser Vorfall aufgetreten?',
+ 'notify_subscribers' => 'Abonnenten benachrichtigen',
+ 'visibility' => 'Ereignis Sichtbarkeit',
+ 'stick_status' => 'Vorfall anpinnen',
+ 'stickied' => 'Angepinnt',
+ 'not_stickied' => 'Nicht angepinnt',
+ 'public' => 'Öffentlich sichtbar',
+ 'logged_in_only' => 'Nur für angemeldete Benutzer sichtbar',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Vorlage',
+ 'twig' => 'Ereignis Vorlagen können den Twig Syntax nutzen.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'message' => 'Nachricht',
+ 'message-help' => 'Sie können auch Markdown verwenden.',
+ 'scheduled_at' => 'Für wann ist die Wartungsarbeit geplant?',
+ 'completed_at' => 'Wann wurde diese Wartungsarbeit abgeschlossen?',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Vorlage',
+ 'twig' => 'Ereignis Vorlagen können den Twig Syntax nutzen.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'group' => 'Gruppe',
+ 'description' => 'Beschreibung',
+ 'link' => 'Link',
+ 'tags' => 'Schlagwörter',
+ 'tags-help' => 'Durch Kommata trennen.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ 'name' => 'Name',
+ 'collapsing' => 'Optionen Anzeigen/Ausblenden',
+ 'visible' => 'Immer erweitert',
+ 'collapsed' => 'Die Gruppe standardmäßig ausblenden',
+ 'collapsed_incident' => 'Die Gruppe standardmäßig ausblenden, aber erweitern wenn es Probleme gibt',
+ 'visibility' => 'Sichtbarkeit',
+ 'visibility_public' => 'Öffentlich sichtbar',
+ 'visibility_authenticated' => 'Nur für angemeldete Benutzer sichtbar',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Name',
+ 'description' => 'Beschreibung',
+ 'start_at' => 'Startzeit festlegen',
+ 'timezone' => 'Zeitzone',
+ 'schedule_frequency' => 'Häufigkeit festlegen (in Sekunden)',
+ 'completion_latency' => 'Wartezeit bis zur Fertigstellung (in Sekunden)',
+ 'group' => 'Gruppe',
+ 'active' => 'Aktiv?',
+ 'groups' => [
+ 'name' => 'Gruppen Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Name',
+ 'suffix' => 'Suffix',
+ 'description' => 'Beschreibung',
+ 'description-help' => 'Sie können auch Markdown verwenden.',
+ 'display-chart' => 'Diagramm auf der Statusseite anzeigen?',
+ 'default-value' => 'Standardwert',
+ 'calc_type' => 'Berechnung der Metrik',
+ 'type_sum' => 'Summe',
+ 'type_avg' => 'Durchschnitt',
+ 'places' => 'Nachkommastellen',
+ 'default_view' => 'Standardansicht',
+ 'threshold' => 'Wie viele Minuten soll der Abstand zwischen den Messpunkten sein?',
+ 'visibility' => 'Sichtbarkeit',
+ 'visibility_authenticated' => 'Sichtbar für angemeldete Nutzer',
+ 'visibility_public' => 'Sichtbar für alle',
+ 'visibility_hidden' => 'Immer ausgeblendet',
+
+ 'points' => [
+ 'value' => 'Wert',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Seitenname',
+ 'site-url' => 'URL ihrer Seite',
+ 'display-graphs' => 'Graphen auf der Statusseite anzeigen?',
+ 'about-this-page' => 'Über diese Seite',
+ 'days-of-incidents' => 'Wie viele Tage mit Vorfällen sollen gezeigt werden?',
+ 'banner' => 'Banner Bild',
+ 'banner-help' => 'Es wird empfohlen, dass Sie keine Dateien die breiter als 930 Pixel sind hochladen .',
+ 'subscribers' => 'Personen die Anmeldung für E-Mail-Benachrichtigung erlauben?',
+ 'skip_subscriber_verification' => 'Verifizierung der Nutzer überspringen? (Warnung, du könntest gespammt werden)',
+ 'automatic_localization' => 'Die Status-Seite automatisch auf die Sprache deiner Besucher anpassen?',
+ 'enable_external_dependencies' => 'Drittanbieter Abhängigkeiten erlauben (Google Schriftarten, Tracker, etc...)',
+ 'show_timezone' => 'Zeitzone in der sich die Status-Seite befindet anzeigen.',
+ 'only_disrupted_days' => 'Im Verlauf nur Tage mit Vorfällen anzeigen?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Google Analytics Code',
+ 'analytics_gosquared' => 'GoSquared Analytics Code',
+ 'analytics_piwik_url' => 'URL der Piwik-Instanz (ohne http(s)://)',
+ 'analytics_piwik_siteid' => 'Piwik\'s Seiten-ID',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Zeitzone ihrer Seite',
+ 'site-locale' => 'Sprache ihrer Seite',
+ 'date-format' => 'Datumsformat',
+ 'incident-date-format' => 'Ereignis Uhrzeit Format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Erlaubte Domains',
+ 'allowed-domains-help' => 'Durch Kommata trennen. Die oben genannte Domain ist standardmäßig erlaubt.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Benutzerdefiniertes Stylesheet',
+ ],
+ 'theme' => [
+ 'background-color' => 'Hintergrundfarbe',
+ 'background-fills' => 'Hintergrunddateien (Komponenten, Vorfälle, Footer)',
+ 'banner-background-color' => 'Banner Background Color',
+ 'banner-padding' => 'Banner Padding',
+ 'fullwidth-banner' => 'Enable fullwidth banner?',
+ 'text-color' => 'Schriftfarbe',
+ 'dashboard-login' => 'Dashboard-Button im Footer anzeigen?',
+ 'reds' => 'Rot (Genutzt für Fehler)',
+ 'blues' => 'Blau (Genutzt für Informationen)',
+ 'greens' => 'Grün (Genutzt für Erfolgreich)',
+ 'yellows' => 'Gelb (Genutzt für Warnungen)',
+ 'oranges' => 'Orange (Genutzt für Nachrichten)',
+ 'metrics' => 'Kennzahlen-Füllung',
+ 'links' => 'Links',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Benutzername',
+ 'email' => 'E-Mail',
+ 'password' => 'Passwort',
+ 'api-token' => 'API Token',
+ 'api-token-help' => 'Wenn sie ihren API-Token neu generieren, können bestehende Anwendungen nicht mehr auf Cachet zugreifen.',
+ 'gravatar' => 'Change your profile picture at Gravatar.',
+ 'user_level' => 'Benutzerebene',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'Benutzer',
+ ],
+ '2fa' => [
+ 'help' => 'Die Zwei-Faktor-Authentifizierung erhöht die Sicherheit Ihres Kontos. Sie benötigen Google Authenticator oder eine ähnliche App auf Ihrem Mobilgerät. Beim Anmelden werden sie aufgefordert, einen Token einzugeben, der von der App generiert wird.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Zeitzone wählen',
+ ],
+
+ // Buttons
+ 'add' => 'Hinzufügen',
+ 'save' => 'Speichern',
+ 'update' => 'Aktualisieren',
+ 'create' => 'Erstellen',
+ 'edit' => 'Bearbeiten',
+ 'delete' => 'Löschen',
+ 'submit' => 'Abschicken',
+ 'cancel' => 'Abbrechen',
+ 'remove' => 'Entfernen',
+ 'invite' => 'Einladen',
+ 'signup' => 'Registrieren',
+
+ // Other
+ 'optional' => '* optional',
+];
diff --git a/resources/lang/de-DE/notifications.php b/resources/lang/de-DE/notifications.php
index 4db80e7c..4ae2c182 100644
--- a/resources/lang/de-DE/notifications.php
+++ b/resources/lang/de-DE/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Status der Komponente aktualisiert',
+ 'greeting' => 'Ein Komponentenstatus wurde aktualisiert!',
+ 'content' => ':name Status wurde von :old_status zu :new_status geändert.',
+ 'action' => 'Anzeigen',
+ ],
+ 'slack' => [
+ 'title' => 'Status der Komponente aktualisiert',
+ 'content' => ':name Status wurde von :old_status zu :new_status geändert.',
+ ],
+ 'sms' => [
+ 'content' => ':name Status wurde von :old_status zu :new_status geändert.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Neuer Vorfall gemeldet',
+ 'greeting' => 'Ein neuer Vorfall wurde auf der :app_name Status Seite gemeldet.',
+ 'content' => 'Vorfall: Name wurde gemeldet',
+ 'action' => 'Anzeigen',
+ ],
+ 'slack' => [
+ 'title' => 'Vorfall: :name wurde gemeldet',
+ 'content' => 'Ein neuer Vorfall wurde auf der :app_name Status Seite gemeldet',
+ ],
+ 'sms' => [
+ 'content' => 'Ein neuer Vorfall wurde auf der :app_name Status Seite gemeldet.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Vorfall aktualisiert',
+ 'content' => ':name wurde aktualisiert',
+ 'title' => ':name wurde auf :new_status aktualisiert',
+ 'action' => 'Anzeigen',
+ ],
+ 'slack' => [
+ 'title' => ':name wurde aktualisiert',
+ 'content' => ':name wurde auf :new_status aktualisiert',
+ ],
+ 'sms' => [
+ 'content' => 'Vorfall :name wurde aktualisiert',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Neuer Zeitplan erstellt',
+ 'content' => ':name wurde für :date geplant',
+ 'title' => 'Eine neue geplante Wartung wurde erstellt.',
+ 'action' => 'Anzeigen',
+ ],
+ 'slack' => [
+ 'title' => 'Neuer wurde Zeitplan erstellt!',
+ 'content' => ':name wurde für :date geplant',
+ ],
+ 'sms' => [
+ 'content' => ':name wurde für :date geplant',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Bitte bestätigen Sie Ihr Abonnement',
+ 'content' => 'Klicken Sie, um Ihr Abonnement von :app_name Statusseite zu bestätigen.',
+ 'title' => 'Bestätigen Sie Ihr Abonnement für die :app_name Statusseite.',
+ 'action' => 'Bestätigen',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping von Cachet!',
+ 'content' => 'Dies ist eine Test-Benachrichtigung von Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Ihre Einladung wartet auf Sie...',
+ 'content' => 'Sie wurden eingeladen um der :app_name Statusseite beizutreten.',
+ 'title' => 'Sie wurden eingeladen um der :app_name Statusseite beizutreten.',
+ 'action' => 'Akzeptieren',
+ ],
],
],
];
diff --git a/resources/lang/de-DE/pagination.php b/resources/lang/de-DE/pagination.php
new file mode 100644
index 00000000..b52dd5ce
--- /dev/null
+++ b/resources/lang/de-DE/pagination.php
@@ -0,0 +1,28 @@
+ 'Vorherige',
+ 'next' => 'Nächste',
+
+];
diff --git a/resources/lang/de-DE/setup.php b/resources/lang/de-DE/setup.php
new file mode 100644
index 00000000..ccda3bfa
--- /dev/null
+++ b/resources/lang/de-DE/setup.php
@@ -0,0 +1,23 @@
+ 'Installation',
+ 'title' => 'Cachet installieren',
+ 'service_details' => 'Servicedetails',
+ 'env_setup' => 'Einrichtung der Systemumgebung',
+ 'status_page_setup' => 'Statusseite einrichten',
+ 'show_support' => 'Möchten Sie Cachet unterstützen?',
+ 'admin_account' => 'Administrator Konto',
+ 'complete_setup' => 'Installation abschließen',
+ 'completed' => 'Cachet wurde erfolgreich konfiguriert!',
+ 'finish_setup' => 'Zum Dashboard wechseln',
+];
diff --git a/resources/lang/de-DE/validation.php b/resources/lang/de-DE/validation.php
new file mode 100644
index 00000000..9483f418
--- /dev/null
+++ b/resources/lang/de-DE/validation.php
@@ -0,0 +1,122 @@
+ ':attribute muss akzeptiert werden.',
+ 'active_url' => ':attribute ist keine gültige Internet-Adresse.',
+ 'after' => ':attribute muss ein Datum nach dem :date sein.',
+ 'alpha' => ':attribute darf nur aus Buchstaben bestehen.',
+ 'alpha_dash' => ':attribute darf nur aus Buchstaben, Zahlen, Binde- und Unterstrichen bestehen. Umlaute (ä, ö, ü) und Eszett (ß) sind nicht erlaubt.',
+ 'alpha_num' => ':attribute darf nur aus Buchstaben, Zahlen, Binde- und Unterstrichen bestehen. Umlaute (ä, ö, ü) und Eszett (ß) sind nicht erlaubt.',
+ 'array' => ':attribute muss ein Array sein.',
+ 'before' => ':attribute muss ein Datum vor dem :date sein.',
+ 'between' => [
+ 'numeric' => ':attribute muss zwischen :min und :max liegen.',
+ 'file' => ':attribute muss zwischen :min und :max Kilobytes groß sein.',
+ 'string' => ':attribute muss zwischen :min und :max Zeichen lang sein.',
+ 'array' => ':attribute muss zwischen :min & :max Elemente haben.',
+ ],
+ 'boolean' => ':attribute Feld muss true oder false sein.',
+ 'confirmed' => ':attribute Bestätigung stimmt nicht überein.',
+ 'date' => ':attribute ist kein gültiges Datum.',
+ 'date_format' => ':attribute entspricht nicht dem Format :format.',
+ 'different' => ':attribute und :other dürfen nicht identisch sein.',
+ 'digits' => ':attribute muss :digits Zeichen lang sein.',
+ 'digits_between' => ':attribute muss zwischen :min und :max Zeichen lang sein.',
+ 'email' => ':attribute muss eine gültige E-Mail-Adresse sein.',
+ 'exists' => 'Das ausgewählte :attribute ist ungültig.',
+ 'distinct' => ':attribute hat doppelte Werte.',
+ 'filled' => 'Das Feld :attribute ist erforderlich.',
+ 'image' => ':attribute muss ein Bild sein.',
+ 'in' => 'Das ausgewählte :attribute ist ungültig.',
+ 'in_array' => ':attribute existiert nicht in :other.',
+ 'integer' => ':attribute muss eine ganze Zahl sein.',
+ 'ip' => ':attribute muss eine gültige IP-Adresse sein.',
+ 'json' => ':attribut muss ein gültiger JSON-String sein.',
+ 'max' => [
+ 'numeric' => ':attribute darf nicht größer sein als :max.',
+ 'file' => ':attribute darf nicht größer sein als :max kilobytes.',
+ 'string' => ':attribute darf maximal :max Zeichen haben.',
+ 'array' => ':attribute darf nicht mehr als :max Elemente haben.',
+ ],
+ 'mimes' => ':attribute muss einem der Dateitypen: :values entsprechen.',
+ 'min' => [
+ 'numeric' => ':attribute muss mindestens :min sein.',
+ 'file' => ':attribute muss mindestens :min Kilobytes groß sein.',
+ 'string' => ':attribute muss mindestens :min Zeichen enthalten.',
+ 'array' => ':attribute muss mindestens :min Elemente haben.',
+ ],
+ 'not_in' => 'Das ausgewählte :attribute ist ungültig.',
+ 'numeric' => ':attribute muss eine Zahl sein.',
+ 'present' => ':attribute muss ausgefüllt sein.',
+ 'regex' => 'Das Format von :attribute ist ungültig.',
+ 'required' => 'Das Feld :attribute ist erforderlich.',
+ 'required_if' => ':attribute wird benötigt wenn :other :value entspricht.',
+ 'required_unless' => 'Das :attribute Feld ist erforderlich außer :other hat den Wert :values.',
+ 'required_with' => ':attribute muss angegeben werden, wenn :values ausgefüllt wurde.',
+ 'required_with_all' => ':attribute muss angegeben werden, wenn :values ausgefüllt wurde.',
+ 'required_without' => ':attribute muss angegeben werden, wenn :values nicht angegeben wurde.',
+ 'required_without_all' => ':attribute ist erforderlich, wenn keiner von :values vorhanden sind.',
+ 'same' => ':attribute und :other müssen übereinstimmen.',
+ 'size' => [
+ 'numeric' => ':attribute muss :size sein.',
+ 'file' => ':attribute muss :size Kilobytes groß sein.',
+ 'string' => ':attribute muss :size Zeichen lang sein.',
+ 'array' => ':attribute muss :size Elemente beinhalten.',
+ ],
+ 'string' => 'Das :attribute muss eine Zeichenfolge sein.',
+ 'timezone' => ':attribute muss eine gültige Zeitzone sein.',
+ 'unique' => ':attribute ist schon vergeben.',
+ 'url' => 'Das Format von :attribute ist ungültig.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'Individuelle Nachricht',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/el-GR/cachet.php b/resources/lang/el-GR/cachet.php
index c668f806..b02002b0 100644
--- a/resources/lang/el-GR/cachet.php
+++ b/resources/lang/el-GR/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Δεν υπάρχουν περιστατικά',
- 'past' => 'Προηγούμενα περιστατικά',
- 'previous_week' => 'Previous week',
- 'next_week' => 'Next week',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Προγραμματισμένη Συντήρηση',
- 'scheduled_at' => ', προγραμματισμένη :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'Δεν υπάρχουν περιστατικά',
+ 'past' => 'Προηγούμενα περιστατικά',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'Προγραμματισμένη Συντήρηση',
+ 'scheduled_at' => ', προγραμματισμένη :timestamp',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
1 => 'Διερευνάται',
2 => 'Προσδιορίστηκε',
3 => 'Παρακολούθηση',
diff --git a/resources/lang/el-GR/dashboard.php b/resources/lang/el-GR/dashboard.php
new file mode 100644
index 00000000..44a29d75
--- /dev/null
+++ b/resources/lang/el-GR/dashboard.php
@@ -0,0 +1,293 @@
+ 'Πίνακας Ελέγχου',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Περιστατικά & Πρόγραμμα',
+ 'incidents' => 'Περιστατικά',
+ 'logged' => '{0} Δεν υπάρχουν περιστατικά, καλλή δουλειά.|Έχετε καταγράψει ένα περιστατικό.|Έχετε ανάφερει :count περιστατικά.',
+ 'incident-create-template' => 'Δημιουργία προτύπου',
+ 'incident-templates' => 'Πρότυπα Περιστατικών',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Αναφορά περιστατικού',
+ 'success' => 'Incident added.',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Επεξεργασία περιστατικού',
+ 'success' => 'Επεξεργασία περιστατικού επιτυχής.',
+ 'failure' => 'There was an error editing the incident, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Αυτό το περιστατικό έχει διαγραφεί και δε θα εμφανιστή στη σελίδα κατάστασης.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Πρότυπα Περιστατικών',
+ 'add' => [
+ 'title' => 'Δημιουργήστε ένα πρότυπο περιστατικό',
+ 'message' => 'Σας προτείνουμε να προσθέσετε ένα πρότυπο περιστατικό.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Επεξεργασία προτύπου',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'Το πρότυπο περιστατικό έχει διαγραφεί.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Προγραμματισμένη Συντήρηση',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Προγραμματισμένη στις :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Components',
+ 'component_statuses' => 'Component Statuses',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Add a component',
+ 'message' => 'You should add a component.',
+ 'success' => 'Component created.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrics',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Ομάδα',
+ 'member' => 'Member',
+ 'profile' => 'Profile',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Ρυθμίσεις',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Security',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Θέμα',
+ ],
+ 'edit' => [
+ 'success' => 'Settings saved.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Σύνδεση',
+ 'logged_in' => 'You\'re logged in.',
+ 'welcome' => 'Welcome back!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Βοήθεια',
+ 'status_page' => 'Σελίδα Κατάστασης',
+ 'logout' => 'Έξοδος',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Ειδοποιήσεις',
+ 'awesome' => 'Φανταστικό.',
+ 'whoops' => 'Ούπς.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'Η σελίδα κατάστασής σας είναι σχεδόν έτοιμη! Ίσως να θέλετε να κάνετε κάποιες παραμετροποιήσεις',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Δημιουργία συστατικών',
+ 'incident' => 'Δημιουργία περιστατικών',
+ 'customize' => 'Προσαρμογή',
+ 'team' => 'Προσθήκη χρηστών',
+ 'api' => 'Δημιουργία κλειδιού API',
+ 'two-factor' => 'Setup Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/el-GR/forms.php b/resources/lang/el-GR/forms.php
new file mode 100644
index 00000000..d4639d7d
--- /dev/null
+++ b/resources/lang/el-GR/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'E-mail',
+ 'username' => 'Username',
+ 'password' => 'Κωδικός πρόσβασης',
+ 'site_name' => 'Όνομα ιστοσελίδας',
+ 'site_domain' => 'Site Domain',
+ 'site_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',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Username or Email',
+ 'email' => 'E-mail',
+ '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',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Name',
+ 'status' => 'Κατάσταση',
+ 'component' => 'Component',
+ 'message' => 'Μήνυμα',
+ 'message-help' => 'You may also use Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notify subscribers?',
+ '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',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Template',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Name',
+ 'status' => 'Κατάσταση',
+ 'message' => 'Μήνυμα',
+ 'message-help' => 'You may also use Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Template',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Name',
+ 'status' => 'Κατάσταση',
+ 'group' => 'Ομάδα',
+ 'description' => 'Description',
+ 'link' => 'Σύνδεσμος',
+ 'tags' => 'Tags',
+ 'tags-help' => 'Comma separated.',
+ 'enabled' => 'Component enabled?',
+
+ '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',
+ ],
+ ],
+
+ // 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' => 'Ομάδα',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // 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' => 'Μέσος όρος',
+ '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',
+
+ 'points' => [
+ 'value' => 'Value',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Όνομα ιστοσελίδας',
+ 'site-url' => 'Διεύθυνση URL ιστοσελίδας',
+ 'display-graphs' => 'Display graphs on status page?',
+ 'about-this-page' => 'About this page',
+ 'days-of-incidents' => 'How many days of incidents to show?',
+ '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?',
+ '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?',
+ ],
+ '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',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Site timezone',
+ 'site-locale' => 'Site language',
+ 'date-format' => 'Date format',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth 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',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Username',
+ 'email' => 'E-mail',
+ 'password' => 'Κωδικός πρόσβασης',
+ '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',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'User',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Add',
+ 'save' => 'Save',
+ 'update' => 'Update',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'submit' => 'Submit',
+ 'cancel' => 'Cancel',
+ 'remove' => 'Remove',
+ 'invite' => 'Invite',
+ 'signup' => 'Εγγραφή',
+
+ // Other
+ 'optional' => '* Optional',
+];
diff --git a/resources/lang/el-GR/notifications.php b/resources/lang/el-GR/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/el-GR/notifications.php
+++ b/resources/lang/el-GR/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/el-GR/pagination.php b/resources/lang/el-GR/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/el-GR/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/el-GR/setup.php b/resources/lang/el-GR/setup.php
new file mode 100644
index 00000000..076a7dd1
--- /dev/null
+++ b/resources/lang/el-GR/setup.php
@@ -0,0 +1,23 @@
+ 'Εγκατάσταση',
+ 'title' => 'Εγκατάσταση του Cachet',
+ 'service_details' => 'Service Details',
+ 'env_setup' => 'Environment Setup',
+ 'status_page_setup' => 'Status Page Setup',
+ 'show_support' => 'Show support for Cachet?',
+ 'admin_account' => 'Administrator Account',
+ 'complete_setup' => 'Ολοκλήρωση εγκατάστασης',
+ 'completed' => 'Cachet has been configured successfully!',
+ 'finish_setup' => 'Go to dashboard',
+];
diff --git a/resources/lang/el-GR/validation.php b/resources/lang/el-GR/validation.php
new file mode 100644
index 00000000..7d196d98
--- /dev/null
+++ b/resources/lang/el-GR/validation.php
@@ -0,0 +1,122 @@
+ '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.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :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.',
+ '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.',
+ ],
+ '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.',
+ '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.',
+ '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_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.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/en-UD/cachet.php b/resources/lang/en-UD/cachet.php
index 974b32d8..30ededf4 100644
--- a/resources/lang/en-UD/cachet.php
+++ b/resources/lang/en-UD/cachet.php
@@ -12,133 +12,118 @@
return [
// Components
'components' => [
- 'last_updated' => 'crwdns721:0crwdne721:0',
+ 'last_updated' => 'crwdns877:0crwdne877:0',
'status' => [
- 1 => 'crwdns265:0crwdne265:0',
- 2 => 'crwdns293:0crwdne293:0',
- 3 => 'crwdns294:0crwdne294:0',
- 4 => 'crwdns295:0crwdne295:0',
+ 0 => 'crwdns878:0crwdne878:0',
+ 1 => 'crwdns879:0crwdne879:0',
+ 2 => 'crwdns880:0crwdne880:0',
+ 3 => 'crwdns881:0crwdne881:0',
+ 4 => 'crwdns882:0crwdne882:0',
],
'group' => [
- 'other' => 'crwdns659:0crwdne659:0',
+ 'other' => 'crwdns883:0crwdne883:0',
],
],
// Incidents
'incidents' => [
- 'none' => 'crwdns657:0crwdne657:0',
- 'past' => 'crwdns542:0crwdne542:0',
- 'previous_week' => 'crwdns543:0crwdne543:0',
- 'next_week' => 'crwdns544:0crwdne544:0',
- 'scheduled' => 'crwdns438:0crwdne438:0',
- 'scheduled_at' => 'crwdns439:0crwdne439:0',
- 'status' => [
- 0 => 'crwdns440:0crwdne440:0', // TODO: Hopefully remove this.
- 1 => 'crwdns299:0crwdne299:0',
- 2 => 'crwdns300:0crwdne300:0',
- 3 => 'crwdns301:0crwdne301:0',
- 4 => 'crwdns302:0crwdne302:0',
+ 'none' => 'crwdns884:0crwdne884:0',
+ 'past' => 'crwdns885:0crwdne885:0',
+ 'stickied' => 'crwdns888:0crwdne888:0',
+ 'scheduled' => 'crwdns889:0crwdne889:0',
+ 'scheduled_at' => 'crwdns890:0crwdne890:0',
+ 'posted' => 'crwdns891:0crwdne891:0',
+ 'status' => [
+ 1 => 'crwdns892:0crwdne892:0',
+ 2 => 'crwdns893:0crwdne893:0',
+ 3 => 'crwdns894:0crwdne894:0',
+ 4 => 'crwdns895:0crwdne895:0',
+ ],
+ ],
+
+ // Schedule
+ 'schedules' => [
+ 'status' => [
+ 0 => 'crwdns896:0crwdne896:0',
+ 1 => 'crwdns897:0crwdne897:0',
+ 2 => 'crwdns898:0crwdne898:0',
],
],
// Service Status
'service' => [
- 'good' => 'crwdns622:0crwdne622:0',
- 'bad' => 'crwdns623:0crwdne623:0',
- 'major' => 'crwdns624:0crwdne624:0',
+ 'good' => 'crwdns899:0crwdne899:0',
+ 'bad' => 'crwdns900:0crwdne900:0',
+ 'major' => 'crwdns901:0crwdne901:0',
],
'api' => [
- 'regenerate' => 'crwdns271:0crwdne271:0',
- 'revoke' => 'crwdns304:0crwdne304:0',
+ 'regenerate' => 'crwdns902:0crwdne902:0',
+ 'revoke' => 'crwdns903:0crwdne903:0',
],
// Metrics
'metrics' => [
'filter' => [
- 'last_hour' => 'crwdns625:0crwdne625:0',
- 'hourly' => 'crwdns548:0crwdne548:0',
- 'weekly' => 'crwdns549:0crwdne549:0',
- 'monthly' => 'crwdns550:0crwdne550:0',
+ 'last_hour' => 'crwdns904:0crwdne904:0',
+ 'hourly' => 'crwdns905:0crwdne905:0',
+ 'weekly' => 'crwdns906:0crwdne906:0',
+ 'monthly' => 'crwdns907:0crwdne907:0',
],
],
// Subscriber
'subscriber' => [
- 'subscribe' => 'crwdns551:0crwdne551:0',
- 'button' => 'crwdns490:0crwdne490:0',
- 'manage' => [
- 'no_subscriptions' => 'crwdns660:0crwdne660:0',
- 'my_subscriptions' => 'crwdns661:0crwdne661:0',
+ 'subscribe' => 'crwdns908:0crwdne908:0',
+ 'unsubscribe' => 'crwdns1352:0crwdne1352:0',
+ 'button' => 'crwdns909:0crwdne909:0',
+ 'manage' => [
+ 'no_subscriptions' => 'crwdns910:0crwdne910:0',
+ 'my_subscriptions' => 'crwdns911:0crwdne911:0',
],
'email' => [
- 'subscribe' => 'crwdns491:0crwdne491:0',
- 'subscribed' => 'crwdns492:0crwdne492:0',
- 'verified' => 'crwdns493:0crwdne493:0',
- 'manage' => 'crwdns775:0crwdne775:0',
- 'unsubscribe' => 'crwdns552:0crwdne552:0',
- 'unsubscribed' => 'crwdns495:0crwdne495:0',
- 'failure' => 'crwdns496:0crwdne496:0',
- 'already-subscribed' => 'crwdns626:0crwdne626:0',
- 'verify' => [
- 'text' => 'crwdns776:0crwdne776:0',
- 'html' => 'crwdns777:0crwdne777:0',
- 'button' => 'crwdns778:0crwdne778:0',
- ],
- 'maintenance' => [
- 'subject' => 'crwdns779:0crwdne779:0',
- ],
- 'incident' => [
- 'subject' => 'crwdns780:0:status:crwdne780:0',
- ],
- 'component' => [
- 'subject' => 'crwdns627:0crwdne627:0',
- 'text' => 'crwdns628:0crwdne628:0',
- 'html' => 'crwdns630:0crwdne630:0',
- 'tooltip-title' => 'crwdns631:0crwdne631:0',
- ],
- ],
- ],
-
- 'users' => [
- 'email' => [
- 'invite' => [
- 'text' => 'crwdns553:0crwdne553:0',
- 'html' => 'crwdns555:0crwdne555:0',
- ],
+ 'subscribe' => 'crwdns912:0crwdne912:0',
+ 'subscribed' => 'crwdns913:0crwdne913:0',
+ 'verified' => 'crwdns914:0crwdne914:0',
+ 'manage' => 'crwdns915:0crwdne915:0',
+ 'unsubscribe' => 'crwdns916:0crwdne916:0',
+ 'unsubscribed' => 'crwdns917:0crwdne917:0',
+ 'failure' => 'crwdns918:0crwdne918:0',
+ 'already-subscribed' => 'crwdns919:0crwdne919:0',
],
],
'signup' => [
- 'title' => 'crwdns556:0crwdne556:0',
- 'username' => 'crwdns557:0crwdne557:0',
- 'email' => 'crwdns558:0crwdne558:0',
- 'password' => 'crwdns559:0crwdne559:0',
- 'success' => 'crwdns560:0crwdne560:0',
- 'failure' => 'crwdns561:0crwdne561:0',
+ 'title' => 'crwdns931:0crwdne931:0',
+ 'username' => 'crwdns932:0crwdne932:0',
+ 'email' => 'crwdns933:0crwdne933:0',
+ 'password' => 'crwdns934:0crwdne934:0',
+ 'success' => 'crwdns935:0crwdne935:0',
+ 'failure' => 'crwdns936:0crwdne936:0',
],
'system' => [
- 'update' => 'crwdns632:0crwdne632:0',
+ 'update' => 'crwdns937:0crwdne937:0',
],
// Modal
'modal' => [
- 'close' => 'crwdns633:0crwdne633:0',
+ 'close' => 'crwdns938:0crwdne938:0',
'subscribe' => [
- 'title' => 'crwdns634:0crwdne634:0',
- 'body' => 'crwdns658:0crwdne658:0',
- 'button' => 'crwdns636:0crwdne636:0',
+ 'title' => 'crwdns939:0crwdne939:0',
+ 'body' => 'crwdns940:0crwdne940:0',
+ 'button' => 'crwdns941:0crwdne941:0',
],
],
// Other
- 'home' => 'crwdns722:0crwdne722:0',
- 'description' => 'crwdns663:0crwdne663:0',
- 'powered_by' => 'crwdns723:0crwdne723:0',
- 'about_this_site' => 'crwdns563:0crwdne563:0',
- 'rss-feed' => 'crwdns506:0crwdne506:0',
- 'atom-feed' => 'crwdns507:0crwdne507:0',
- 'feed' => 'crwdns275:0crwdne275:0',
+ 'home' => 'crwdns942:0crwdne942:0',
+ 'description' => 'crwdns943:0crwdne943:0',
+ 'powered_by' => 'crwdns944:0crwdne944:0',
+ 'timezone' => 'crwdns945:0crwdne945:0',
+ 'about_this_site' => 'crwdns946:0crwdne946:0',
+ 'rss-feed' => 'crwdns947:0crwdne947:0',
+ 'atom-feed' => 'crwdns948:0crwdne948:0',
+ 'feed' => 'crwdns949:0crwdne949:0',
];
diff --git a/resources/lang/en-UD/dashboard.php b/resources/lang/en-UD/dashboard.php
index f35edc96..852ce7a2 100644
--- a/resources/lang/en-UD/dashboard.php
+++ b/resources/lang/en-UD/dashboard.php
@@ -11,264 +11,282 @@
return [
- 'dashboard' => 'crwdns152:0crwdne152:0',
+ 'dashboard' => 'crwdns950:0crwdne950:0',
+ 'writeable_settings' => 'crwdns951:0crwdne951:0',
// Incidents
'incidents' => [
- 'title' => 'crwdns444:0crwdne444:0',
- 'incidents' => 'crwdns153:0crwdne153:0',
- 'logged' => 'crwdns305:0{0}crwdne305:0',
- 'incident-create-template' => 'crwdns306:0crwdne306:0',
- 'incident-templates' => 'crwdns307:0crwdne307:0',
+ 'title' => 'crwdns1324:0crwdne1324:0',
+ 'incidents' => 'crwdns953:0crwdne953:0',
+ 'logged' => 'crwdns954:0{0}crwdne954:0',
+ 'incident-create-template' => 'crwdns955:0crwdne955:0',
+ 'incident-templates' => 'crwdns956:0crwdne956:0',
+ 'updates' => 'crwdns957:0{0}crwdne957:0',
'add' => [
- 'title' => 'crwdns564:0crwdne564:0',
- 'success' => 'crwdns664:0crwdne664:0',
- 'failure' => 'crwdns665:0crwdne665:0',
+ 'title' => 'crwdns958:0crwdne958:0',
+ 'success' => 'crwdns959:0crwdne959:0',
+ 'failure' => 'crwdns960:0crwdne960:0',
],
'edit' => [
- 'title' => 'crwdns565:0crwdne565:0',
- 'success' => 'crwdns312:0crwdne312:0',
- 'failure' => 'crwdns666:0crwdne666:0',
+ 'title' => 'crwdns961:0crwdne961:0',
+ 'success' => 'crwdns962:0crwdne962:0',
+ 'failure' => 'crwdns963:0crwdne963:0',
],
'delete' => [
- 'success' => 'crwdns637:0crwdne637:0',
- 'failure' => 'crwdns667:0crwdne667:0',
+ 'success' => 'crwdns964:0crwdne964:0',
+ 'failure' => 'crwdns965:0crwdne965:0',
+ ],
+ 'update' => [
+ 'title' => 'crwdns966:0crwdne966:0',
+ 'subtitle' => 'crwdns967:0crwdne967:0',
+ 'success' => 'crwdns1353:0crwdne1353:0',
],
// Incident templates
'templates' => [
- 'title' => 'crwdns314:0crwdne314:0',
+ 'title' => 'crwdns968:0crwdne968:0',
'add' => [
- 'title' => 'crwdns566:0crwdne566:0',
- 'message' => 'crwdns639:0crwdne639:0',
- 'success' => 'crwdns668:0crwdne668:0',
- 'failure' => 'crwdns669:0crwdne669:0',
+ 'title' => 'crwdns969:0crwdne969:0',
+ 'message' => 'crwdns970:0crwdne970:0',
+ 'success' => 'crwdns971:0crwdne971:0',
+ 'failure' => 'crwdns972:0crwdne972:0',
],
'edit' => [
- 'title' => 'crwdns567:0crwdne567:0',
- 'success' => 'crwdns670:0crwdne670:0',
- 'failure' => 'crwdns671:0crwdne671:0',
+ 'title' => 'crwdns973:0crwdne973:0',
+ 'success' => 'crwdns974:0crwdne974:0',
+ 'failure' => 'crwdns975:0crwdne975:0',
],
'delete' => [
- 'success' => 'crwdns640:0crwdne640:0',
- 'failure' => 'crwdns672:0crwdne672:0',
+ 'success' => 'crwdns976:0crwdne976:0',
+ 'failure' => 'crwdns977:0crwdne977:0',
],
],
],
// Incident Maintenance
'schedule' => [
- 'schedule' => 'crwdns445:0crwdne445:0',
- 'logged' => 'crwdns642:0{0}crwdne642:0',
- 'scheduled_at' => 'crwdns446:0crwdne446:0',
+ 'schedule' => 'crwdns978:0crwdne978:0',
+ 'logged' => 'crwdns979:0{0}crwdne979:0',
+ 'scheduled_at' => 'crwdns980:0crwdne980:0',
'add' => [
- 'title' => 'crwdns673:0crwdne673:0',
- 'success' => 'crwdns674:0crwdne674:0',
- 'failure' => 'crwdns675:0crwdne675:0',
+ 'title' => 'crwdns981:0crwdne981:0',
+ 'success' => 'crwdns982:0crwdne982:0',
+ 'failure' => 'crwdns983:0crwdne983:0',
],
'edit' => [
- 'title' => 'crwdns676:0crwdne676:0',
- 'success' => 'crwdns677:0crwdne677:0',
- 'failure' => 'crwdns678:0crwdne678:0',
+ 'title' => 'crwdns984:0crwdne984:0',
+ 'success' => 'crwdns985:0crwdne985:0',
+ 'failure' => 'crwdns986:0crwdne986:0',
],
'delete' => [
- 'success' => 'crwdns679:0crwdne679:0',
- 'failure' => 'crwdns680:0crwdne680:0',
+ 'success' => 'crwdns987:0crwdne987:0',
+ 'failure' => 'crwdns988:0crwdne988:0',
],
],
// Components
'components' => [
- 'components' => 'crwdns431:0crwdne431:0',
- 'component_statuses' => 'crwdns321:0crwdne321:0',
- 'listed_group' => 'crwdns473:0crwdne473:0',
+ 'components' => 'crwdns989:0crwdne989:0',
+ 'component_statuses' => 'crwdns990:0crwdne990:0',
+ 'listed_group' => 'crwdns991:0crwdne991:0',
'add' => [
- 'title' => 'crwdns568:0crwdne568:0',
- 'message' => 'crwdns323:0crwdne323:0',
- 'success' => 'crwdns681:0crwdne681:0',
- 'failure' => 'crwdns682:0crwdne682:0',
+ 'title' => 'crwdns992:0crwdne992:0',
+ 'message' => 'crwdns993:0crwdne993:0',
+ 'success' => 'crwdns994:0crwdne994:0',
+ 'failure' => 'crwdns995:0crwdne995:0',
],
'edit' => [
- 'title' => 'crwdns569:0crwdne569:0',
- 'success' => 'crwdns683:0crwdne683:0',
- 'failure' => 'crwdns684:0crwdne684:0',
+ 'title' => 'crwdns996:0crwdne996:0',
+ 'success' => 'crwdns997:0crwdne997:0',
+ 'failure' => 'crwdns998:0crwdne998:0',
],
'delete' => [
- 'success' => 'crwdns643:0crwdne643:0',
- 'failure' => 'crwdns685:0crwdne685:0',
+ 'success' => 'crwdns999:0crwdne999:0',
+ 'failure' => 'crwdns1000:0crwdne1000:0',
],
// Component groups
'groups' => [
- 'groups' => 'crwdns329:0crwdne329:0',
- 'no_components' => 'crwdns478:0crwdne478:0',
+ 'groups' => 'crwdns1001:0crwdne1001:0',
+ 'no_components' => 'crwdns1002:0crwdne1002:0',
'add' => [
- 'title' => 'crwdns570:0crwdne570:0',
- 'success' => 'crwdns686:0crwdne686:0',
- 'failure' => 'crwdns687:0crwdne687:0',
+ 'title' => 'crwdns1003:0crwdne1003:0',
+ 'success' => 'crwdns1004:0crwdne1004:0',
+ 'failure' => 'crwdns1005:0crwdne1005:0',
],
'edit' => [
- 'title' => 'crwdns571:0crwdne571:0',
- 'success' => 'crwdns688:0crwdne688:0',
- 'failure' => 'crwdns689:0crwdne689:0',
+ 'title' => 'crwdns1006:0crwdne1006:0',
+ 'success' => 'crwdns1007:0crwdne1007:0',
+ 'failure' => 'crwdns1008:0crwdne1008:0',
],
'delete' => [
- 'success' => 'crwdns645:0crwdne645:0',
- 'failure' => 'crwdns690:0crwdne690:0',
+ 'success' => 'crwdns1009:0crwdne1009:0',
+ 'failure' => 'crwdns1010:0crwdne1010:0',
],
],
],
// Metrics
'metrics' => [
- 'metrics' => 'crwdns178:0crwdne178:0',
+ 'metrics' => 'crwdns1011:0crwdne1011:0',
'add' => [
- 'title' => 'crwdns572:0crwdne572:0',
- 'message' => 'crwdns647:0crwdne647:0',
- 'success' => 'crwdns691:0crwdne691:0',
- 'failure' => 'crwdns692:0crwdne692:0',
+ 'title' => 'crwdns1012:0crwdne1012:0',
+ 'message' => 'crwdns1013:0crwdne1013:0',
+ 'success' => 'crwdns1014:0crwdne1014:0',
+ 'failure' => 'crwdns1015:0crwdne1015:0',
],
'edit' => [
- 'title' => 'crwdns573:0crwdne573:0',
- 'success' => 'crwdns693:0crwdne693:0',
- 'failure' => 'crwdns694:0crwdne694:0',
+ 'title' => 'crwdns1016:0crwdne1016:0',
+ 'success' => 'crwdns1017:0crwdne1017:0',
+ 'failure' => 'crwdns1018:0crwdne1018:0',
],
'delete' => [
- 'success' => 'crwdns648:0crwdne648:0',
- 'failure' => 'crwdns695:0crwdne695:0',
+ 'success' => 'crwdns1019:0crwdne1019:0',
+ 'failure' => 'crwdns1020:0crwdne1020:0',
],
],
// Subscribers
'subscribers' => [
- 'subscribers' => 'crwdns522:0crwdne522:0',
- 'description' => 'crwdns696:0crwdne696:0',
- 'verified' => 'crwdns524:0crwdne524:0',
- 'not_verified' => 'crwdns525:0crwdne525:0',
- 'subscriber' => 'crwdns697:0crwdne697:0',
- 'no_subscriptions' => 'crwdns698:0crwdne698:0',
+ 'subscribers' => 'crwdns1021:0crwdne1021:0',
+ 'description' => 'crwdns1022:0crwdne1022:0',
+ 'verified' => 'crwdns1023:0crwdne1023:0',
+ 'not_verified' => 'crwdns1024:0crwdne1024:0',
+ 'subscriber' => 'crwdns1025:0crwdne1025:0',
+ 'no_subscriptions' => 'crwdns1026:0crwdne1026:0',
'add' => [
- 'title' => 'crwdns574:0crwdne574:0',
- 'success' => 'crwdns527:0crwdne527:0',
- 'failure' => 'crwdns699:0crwdne699:0',
- 'help' => 'crwdns724:0crwdne724:0',
+ 'title' => 'crwdns1027:0crwdne1027:0',
+ 'success' => 'crwdns1028:0crwdne1028:0',
+ 'failure' => 'crwdns1029:0crwdne1029:0',
+ 'help' => 'crwdns1030:0crwdne1030:0',
],
'edit' => [
- 'title' => 'crwdns575:0crwdne575:0',
- 'success' => 'crwdns530:0crwdne530:0',
- 'failure' => 'crwdns700:0crwdne700:0',
+ 'title' => 'crwdns1031:0crwdne1031:0',
+ 'success' => 'crwdns1032:0crwdne1032:0',
+ 'failure' => 'crwdns1033:0crwdne1033:0',
],
],
// Team
'team' => [
- 'team' => 'crwdns182:0crwdne182:0',
- 'member' => 'crwdns336:0crwdne336:0',
- 'profile' => 'crwdns337:0crwdne337:0',
- 'description' => 'crwdns338:0crwdne338:0',
+ 'team' => 'crwdns1034:0crwdne1034:0',
+ 'member' => 'crwdns1035:0crwdne1035:0',
+ 'profile' => 'crwdns1036:0crwdne1036:0',
+ 'description' => 'crwdns1325:0crwdne1325:0',
'add' => [
- 'title' => 'crwdns576:0crwdne576:0',
- 'success' => 'crwdns701:0crwdne701:0',
- 'failure' => 'crwdns702:0crwdne702:0',
+ 'title' => 'crwdns1038:0crwdne1038:0',
+ 'success' => 'crwdns1039:0crwdne1039:0',
+ 'failure' => 'crwdns1040:0crwdne1040:0',
],
'edit' => [
- 'title' => 'crwdns578:0crwdne578:0',
- 'success' => 'crwdns703:0crwdne703:0',
- 'failure' => 'crwdns704:0crwdne704:0',
+ 'title' => 'crwdns1041:0crwdne1041:0',
+ 'success' => 'crwdns1042:0crwdne1042:0',
+ 'failure' => 'crwdns1043:0crwdne1043:0',
],
'delete' => [
- 'success' => 'crwdns579:0crwdne579:0',
- 'failure' => 'crwdns705:0crwdne705:0',
+ 'success' => 'crwdns1044:0crwdne1044:0',
+ 'failure' => 'crwdns1045:0crwdne1045:0',
],
'invite' => [
- 'title' => 'crwdns580:0crwdne580:0',
- 'success' => 'crwdns581:0crwdne581:0',
- 'failure' => 'crwdns706:0crwdne706:0',
+ 'title' => 'crwdns1046:0crwdne1046:0',
+ 'success' => 'crwdns1047:0crwdne1047:0',
+ 'failure' => 'crwdns1048:0crwdne1048:0',
],
],
// Settings
'settings' => [
- 'settings' => 'crwdns192:0crwdne192:0',
+ 'settings' => 'crwdns1049:0crwdne1049:0',
'app-setup' => [
- 'app-setup' => 'crwdns345:0crwdne345:0',
- 'images-only' => 'crwdns346:0crwdne346:0',
- 'too-big' => 'crwdns347:0crwdne347:0',
+ 'app-setup' => 'crwdns1050:0crwdne1050:0',
+ 'images-only' => 'crwdns1051:0crwdne1051:0',
+ 'too-big' => 'crwdns1052:0crwdne1052:0',
],
'analytics' => [
- 'analytics' => 'crwdns583:0crwdne583:0',
+ 'analytics' => 'crwdns1053:0crwdne1053:0',
+ ],
+ 'log' => [
+ 'log' => 'crwdns1054:0crwdne1054:0',
],
'localization' => [
- 'localization' => 'crwdns584:0crwdne584:0',
+ 'localization' => 'crwdns1055:0crwdne1055:0',
],
'customization' => [
- 'customization' => 'crwdns707:0crwdne707:0',
- 'header' => 'crwdns708:0crwdne708:0',
- 'footer' => 'crwdns709:0crwdne709:0',
+ 'customization' => 'crwdns1056:0crwdne1056:0',
+ 'header' => 'crwdns1057:0crwdne1057:0',
+ 'footer' => 'crwdns1058:0crwdne1058:0',
+ ],
+ 'mail' => [
+ 'mail' => 'crwdns1059:0crwdne1059:0',
+ 'test' => 'crwdns1060:0crwdne1060:0',
+ 'email' => [
+ 'subject' => 'crwdns1061:0crwdne1061:0',
+ 'body' => 'crwdns1062:0crwdne1062:0',
+ ],
],
'security' => [
- 'security' => 'crwdns348:0crwdne348:0',
- 'two-factor' => 'crwdns474:0crwdne474:0',
+ 'security' => 'crwdns1063:0crwdne1063:0',
+ 'two-factor' => 'crwdns1064:0crwdne1064:0',
],
'stylesheet' => [
- 'stylesheet' => 'crwdns349:0crwdne349:0',
+ 'stylesheet' => 'crwdns1065:0crwdne1065:0',
],
'theme' => [
- 'theme' => 'crwdns350:0crwdne350:0',
+ 'theme' => 'crwdns1066:0crwdne1066:0',
],
'edit' => [
- 'success' => 'crwdns351:0crwdne351:0',
- 'failure' => 'crwdns352:0crwdne352:0',
+ 'success' => 'crwdns1067:0crwdne1067:0',
+ 'failure' => 'crwdns1068:0crwdne1068:0',
],
'credits' => [
- 'credits' => 'crwdns765:0crwdne765:0',
- 'contributors' => 'crwdns766:0crwdne766:0',
- 'license' => 'crwdns767:0%20Ccrwdnd767:0%20Dcrwdne767:0',
- 'backers-title' => 'crwdns768:0crwdne768:0',
- 'backers' => 'crwdns769:0crwdne769:0',
- 'thank-you' => 'crwdns770:0crwdne770:0',
+ 'credits' => 'crwdns1069:0crwdne1069:0',
+ 'contributors' => 'crwdns1070:0crwdne1070:0',
+ 'license' => 'crwdns1071:0%20Ccrwdnd1071:0%20crwdne1071:0',
+ 'backers-title' => 'crwdns1072:0crwdne1072:0',
+ 'backers' => 'crwdns1073:0crwdne1073:0',
+ 'thank-you' => 'crwdns1074:0crwdne1074:0',
],
],
// Login
'login' => [
- 'login' => 'crwdns199:0crwdne199:0',
- 'logged_in' => 'crwdns353:0crwdne353:0',
- 'welcome' => 'crwdns354:0crwdne354:0',
- 'two-factor' => 'crwdns355:0crwdne355:0',
+ 'login' => 'crwdns1075:0crwdne1075:0',
+ 'logged_in' => 'crwdns1076:0crwdne1076:0',
+ 'welcome' => 'crwdns1077:0crwdne1077:0',
+ 'two-factor' => 'crwdns1078:0crwdne1078:0',
],
// Sidebar footer
- 'help' => 'crwdns202:0crwdne202:0',
- 'status_page' => 'crwdns203:0crwdne203:0',
- 'logout' => 'crwdns204:0crwdne204:0',
+ 'help' => 'crwdns1079:0crwdne1079:0',
+ 'status_page' => 'crwdns1080:0crwdne1080:0',
+ 'logout' => 'crwdns1081:0crwdne1081:0',
// Notifications
'notifications' => [
- 'notifications' => 'crwdns205:0crwdne205:0',
- 'awesome' => 'crwdns356:0crwdne356:0',
- 'whoops' => 'crwdns357:0crwdne357:0',
+ 'notifications' => 'crwdns1082:0crwdne1082:0',
+ 'awesome' => 'crwdns1083:0crwdne1083:0',
+ 'whoops' => 'crwdns1084:0crwdne1084:0',
],
// Widgets
'widgets' => [
- 'support' => 'crwdns771:0crwdne771:0',
- 'support_subtitle' => 'crwdns772:0crwdne772:0',
- 'news' => 'crwdns773:0crwdne773:0',
- 'news_subtitle' => 'crwdns774:0crwdne774:0',
+ 'support' => 'crwdns1085:0crwdne1085:0',
+ 'support_subtitle' => 'crwdns1086:0crwdne1086:0',
+ 'news' => 'crwdns1087:0crwdne1087:0',
+ 'news_subtitle' => 'crwdns1088:0crwdne1088:0',
],
// Welcome modal
'welcome' => [
- 'welcome' => 'crwdns650:0crwdne650:0',
- 'message' => 'crwdns359:0crwdne359:0',
- 'close' => 'crwdns710:0crwdne710:0',
+ 'welcome' => 'crwdns1089:0crwdne1089:0',
+ 'message' => 'crwdns1090:0crwdne1090:0',
+ 'close' => 'crwdns1091:0crwdne1091:0',
'steps' => [
- 'component' => 'crwdns361:0crwdne361:0',
- 'incident' => 'crwdns362:0crwdne362:0',
- 'customize' => 'crwdns432:0crwdne432:0',
- 'team' => 'crwdns433:0crwdne433:0',
- 'api' => 'crwdns434:0crwdne434:0',
- 'two-factor' => 'crwdns479:0crwdne479:0',
+ 'component' => 'crwdns1092:0crwdne1092:0',
+ 'incident' => 'crwdns1093:0crwdne1093:0',
+ 'customize' => 'crwdns1094:0crwdne1094:0',
+ 'team' => 'crwdns1095:0crwdne1095:0',
+ 'api' => 'crwdns1096:0crwdne1096:0',
+ 'two-factor' => 'crwdns1097:0crwdne1097:0',
],
],
diff --git a/resources/lang/en-UD/forms.php b/resources/lang/en-UD/forms.php
index 3fe82aea..fb5cd02b 100644
--- a/resources/lang/en-UD/forms.php
+++ b/resources/lang/en-UD/forms.php
@@ -13,175 +13,228 @@ return [
// Setup form fields
'setup' => [
- 'email' => 'crwdns212:0crwdne212:0',
- 'username' => 'crwdns374:0crwdne374:0',
- 'password' => 'crwdns375:0crwdne375:0',
- 'site_name' => 'crwdns376:0crwdne376:0',
- 'site_domain' => 'crwdns377:0crwdne377:0',
- 'site_timezone' => 'crwdns378:0crwdne378:0',
- 'site_locale' => 'crwdns379:0crwdne379:0',
- 'enable_google2fa' => 'crwdns380:0crwdne380:0',
- 'cache_driver' => 'crwdns508:0crwdne508:0',
- 'session_driver' => 'crwdns509:0crwdne509:0',
+ 'email' => 'crwdns1098:0crwdne1098:0',
+ 'username' => 'crwdns1099:0crwdne1099:0',
+ 'password' => 'crwdns1100:0crwdne1100:0',
+ 'site_name' => 'crwdns1101:0crwdne1101:0',
+ 'site_domain' => 'crwdns1102:0crwdne1102:0',
+ 'site_timezone' => 'crwdns1103:0crwdne1103:0',
+ 'site_locale' => 'crwdns1104:0crwdne1104:0',
+ 'enable_google2fa' => 'crwdns1105:0crwdne1105:0',
+ 'cache_driver' => 'crwdns1106:0crwdne1106:0',
+ 'queue_driver' => 'crwdns1107:0crwdne1107:0',
+ 'session_driver' => 'crwdns1108:0crwdne1108:0',
+ 'mail_driver' => 'crwdns1109:0crwdne1109:0',
+ 'mail_host' => 'crwdns1110:0crwdne1110:0',
+ 'mail_address' => 'crwdns1111:0crwdne1111:0',
+ 'mail_username' => 'crwdns1112:0crwdne1112:0',
+ 'mail_password' => 'crwdns1113:0crwdne1113:0',
],
// Login form fields
'login' => [
- 'login' => 'crwdns651:0crwdne651:0',
- 'email' => 'crwdns217:0crwdne217:0',
- 'password' => 'crwdns381:0crwdne381:0',
- '2fauth' => 'crwdns382:0crwdne382:0',
- 'invalid' => 'crwdns652:0crwdne652:0',
- 'invalid-token' => 'crwdns384:0crwdne384:0',
- 'cookies' => 'crwdns480:0crwdne480:0',
- 'rate-limit' => 'crwdns781:0crwdne781:0',
+ 'login' => 'crwdns1114:0crwdne1114:0',
+ 'email' => 'crwdns1115:0crwdne1115:0',
+ 'password' => 'crwdns1116:0crwdne1116:0',
+ '2fauth' => 'crwdns1117:0crwdne1117:0',
+ 'invalid' => 'crwdns1118:0crwdne1118:0',
+ 'invalid-token' => 'crwdns1119:0crwdne1119:0',
+ 'cookies' => 'crwdns1120:0crwdne1120:0',
+ 'rate-limit' => 'crwdns1121:0crwdne1121:0',
+ 'remember_me' => 'crwdns1122:0crwdne1122:0',
],
// Incidents form fields
'incidents' => [
- 'name' => 'crwdns219:0crwdne219:0',
- 'status' => 'crwdns385:0crwdne385:0',
- 'component' => 'crwdns386:0crwdne386:0',
- 'message' => 'crwdns387:0crwdne387:0',
- 'message-help' => 'crwdns388:0crwdne388:0',
- 'scheduled_at' => 'crwdns464:0crwdne464:0',
- 'incident_time' => 'crwdns481:0crwdne481:0',
- 'notify_subscribers' => 'crwdns585:0crwdne585:0',
- 'visibility' => 'crwdns711:0crwdne711:0',
- 'public' => 'crwdns483:0crwdne483:0',
- 'logged_in_only' => 'crwdns586:0crwdne586:0',
+ 'name' => 'crwdns1123:0crwdne1123:0',
+ 'status' => 'crwdns1124:0crwdne1124:0',
+ 'component' => 'crwdns1125:0crwdne1125:0',
+ 'message' => 'crwdns1126:0crwdne1126:0',
+ 'message-help' => 'crwdns1127:0crwdne1127:0',
+ 'occurred_at' => 'crwdns1128:0crwdne1128:0',
+ 'notify_subscribers' => 'crwdns1129:0crwdne1129:0',
+ 'visibility' => 'crwdns1130:0crwdne1130:0',
+ 'stick_status' => 'crwdns1131:0crwdne1131:0',
+ 'stickied' => 'crwdns1132:0crwdne1132:0',
+ 'not_stickied' => 'crwdns1133:0crwdne1133:0',
+ 'public' => 'crwdns1134:0crwdne1134:0',
+ 'logged_in_only' => 'crwdns1135:0crwdne1135:0',
'templates' => [
- 'name' => 'crwdns389:0crwdne389:0',
- 'template' => 'crwdns390:0crwdne390:0',
- 'twig' => 'crwdns653:0crwdne653:0',
+ 'name' => 'crwdns1136:0crwdne1136:0',
+ 'template' => 'crwdns1137:0crwdne1137:0',
+ 'twig' => 'crwdns1138:0crwdne1138:0',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'crwdns1139:0crwdne1139:0',
+ 'status' => 'crwdns1140:0crwdne1140:0',
+ 'message' => 'crwdns1141:0crwdne1141:0',
+ 'message-help' => 'crwdns1142:0crwdne1142:0',
+ 'scheduled_at' => 'crwdns1143:0crwdne1143:0',
+ 'completed_at' => 'crwdns1144:0crwdne1144:0',
+ 'templates' => [
+ 'name' => 'crwdns1145:0crwdne1145:0',
+ 'template' => 'crwdns1146:0crwdne1146:0',
+ 'twig' => 'crwdns1147:0crwdne1147:0',
],
],
// Components form fields
'components' => [
- 'name' => 'crwdns225:0crwdne225:0',
- 'status' => 'crwdns391:0crwdne391:0',
- 'group' => 'crwdns392:0crwdne392:0',
- 'description' => 'crwdns393:0crwdne393:0',
- 'link' => 'crwdns394:0crwdne394:0',
- 'tags' => 'crwdns395:0crwdne395:0',
- 'tags-help' => 'crwdns396:0crwdne396:0',
- 'enabled' => 'crwdns587:0crwdne587:0',
+ 'name' => 'crwdns1148:0crwdne1148:0',
+ 'status' => 'crwdns1149:0crwdne1149:0',
+ 'group' => 'crwdns1150:0crwdne1150:0',
+ 'description' => 'crwdns1151:0crwdne1151:0',
+ 'link' => 'crwdns1152:0crwdne1152:0',
+ 'tags' => 'crwdns1153:0crwdne1153:0',
+ 'tags-help' => 'crwdns1154:0crwdne1154:0',
+ 'enabled' => 'crwdns1155:0crwdne1155:0',
'groups' => [
- 'name' => 'crwdns397:0crwdne397:0',
- 'collapsing' => 'crwdns712:0crwdne712:0',
- 'visible' => 'crwdns713:0crwdne713:0',
- 'collapsed' => 'crwdns714:0crwdne714:0',
- 'collapsed_incident' => 'crwdns715:0crwdne715:0',
+ 'name' => 'crwdns1156:0crwdne1156:0',
+ 'collapsing' => 'crwdns1157:0crwdne1157:0',
+ 'visible' => 'crwdns1158:0crwdne1158:0',
+ 'collapsed' => 'crwdns1159:0crwdne1159:0',
+ 'collapsed_incident' => 'crwdns1160:0crwdne1160:0',
+ 'visibility' => 'crwdns1161:0crwdne1161:0',
+ 'visibility_public' => 'crwdns1162:0crwdne1162:0',
+ 'visibility_authenticated' => 'crwdns1163:0crwdne1163:0',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'crwdns1164:0crwdne1164:0',
+ 'description' => 'crwdns1165:0crwdne1165:0',
+ 'start_at' => 'crwdns1166:0crwdne1166:0',
+ 'timezone' => 'crwdns1167:0crwdne1167:0',
+ 'schedule_frequency' => 'crwdns1168:0crwdne1168:0',
+ 'completion_latency' => 'crwdns1169:0crwdne1169:0',
+ 'group' => 'crwdns1170:0crwdne1170:0',
+ 'active' => 'crwdns1171:0crwdne1171:0',
+ 'groups' => [
+ 'name' => 'crwdns1172:0crwdne1172:0',
],
],
// Metric form fields
'metrics' => [
- 'name' => 'crwdns465:0crwdne465:0',
- 'suffix' => 'crwdns466:0crwdne466:0',
- 'description' => 'crwdns467:0crwdne467:0',
- 'description-help' => 'crwdns468:0crwdne468:0',
- 'display-chart' => 'crwdns469:0crwdne469:0',
- 'default-value' => 'crwdns588:0crwdne588:0',
- 'calc_type' => 'crwdns589:0crwdne589:0',
- 'type_sum' => 'crwdns476:0crwdne476:0',
- 'type_avg' => 'crwdns477:0crwdne477:0',
- 'places' => 'crwdns590:0crwdne590:0',
- 'default_view' => 'crwdns655:0crwdne655:0',
- 'threshold' => 'crwdns725:0crwdne725:0',
+ 'name' => 'crwdns1173:0crwdne1173:0',
+ 'suffix' => 'crwdns1174:0crwdne1174:0',
+ 'description' => 'crwdns1175:0crwdne1175:0',
+ 'description-help' => 'crwdns1176:0crwdne1176:0',
+ 'display-chart' => 'crwdns1177:0crwdne1177:0',
+ 'default-value' => 'crwdns1178:0crwdne1178:0',
+ 'calc_type' => 'crwdns1179:0crwdne1179:0',
+ 'type_sum' => 'crwdns1180:0crwdne1180:0',
+ 'type_avg' => 'crwdns1181:0crwdne1181:0',
+ 'places' => 'crwdns1182:0crwdne1182:0',
+ 'default_view' => 'crwdns1183:0crwdne1183:0',
+ 'threshold' => 'crwdns1184:0crwdne1184:0',
+ 'visibility' => 'crwdns1185:0crwdne1185:0',
+ 'visibility_authenticated' => 'crwdns1186:0crwdne1186:0',
+ 'visibility_public' => 'crwdns1187:0crwdne1187:0',
+ 'visibility_hidden' => 'crwdns1188:0crwdne1188:0',
'points' => [
- 'value' => 'crwdns471:0crwdne471:0',
+ 'value' => 'crwdns1189:0crwdne1189:0',
],
],
// Settings
'settings' => [
- /// Application setup
+ // Application setup
'app-setup' => [
- 'site-name' => 'crwdns716:0crwdne716:0',
- 'site-url' => 'crwdns398:0crwdne398:0',
- 'display-graphs' => 'crwdns472:0crwdne472:0',
- 'about-this-page' => 'crwdns402:0crwdne402:0',
- 'days-of-incidents' => 'crwdns403:0crwdne403:0',
- 'banner' => 'crwdns717:0crwdne717:0',
- 'banner-help' => 'crwdns405:0crwdne405:0',
- 'subscribers' => 'crwdns513:0crwdne513:0',
- 'automatic_localization' => 'crwdns726:0crwdne726:0',
+ 'site-name' => 'crwdns1190:0crwdne1190:0',
+ 'site-url' => 'crwdns1191:0crwdne1191:0',
+ 'display-graphs' => 'crwdns1192:0crwdne1192:0',
+ 'about-this-page' => 'crwdns1193:0crwdne1193:0',
+ 'days-of-incidents' => 'crwdns1194:0crwdne1194:0',
+ 'banner' => 'crwdns1195:0crwdne1195:0',
+ 'banner-help' => 'crwdns1196:0crwdne1196:0',
+ 'subscribers' => 'crwdns1197:0crwdne1197:0',
+ 'skip_subscriber_verification' => 'crwdns1198:0crwdne1198:0',
+ 'automatic_localization' => 'crwdns1199:0crwdne1199:0',
+ 'enable_external_dependencies' => 'crwdns1200:0crwdne1200:0',
+ 'show_timezone' => 'crwdns1201:0crwdne1201:0',
+ 'only_disrupted_days' => 'crwdns1202:0crwdne1202:0',
],
'analytics' => [
- 'analytics_google' => 'crwdns591:0crwdne591:0',
- 'analytics_gosquared' => 'crwdns592:0crwdne592:0',
- 'analytics_piwik_url' => 'crwdns593:0crwdne593:0',
- 'analytics_piwik_siteid' => 'crwdns594:0crwdne594:0',
+ 'analytics_google' => 'crwdns1203:0crwdne1203:0',
+ 'analytics_gosquared' => 'crwdns1204:0crwdne1204:0',
+ 'analytics_piwik_url' => 'crwdns1205:0crwdne1205:0',
+ 'analytics_piwik_siteid' => 'crwdns1206:0crwdne1206:0',
],
'localization' => [
- 'site-timezone' => 'crwdns595:0crwdne595:0',
- 'site-locale' => 'crwdns596:0crwdne596:0',
- 'date-format' => 'crwdns597:0crwdne597:0',
- 'incident-date-format' => 'crwdns598:0crwdne598:0',
+ 'site-timezone' => 'crwdns1207:0crwdne1207:0',
+ 'site-locale' => 'crwdns1208:0crwdne1208:0',
+ 'date-format' => 'crwdns1209:0crwdne1209:0',
+ 'incident-date-format' => 'crwdns1210:0crwdne1210:0',
],
'security' => [
- 'allowed-domains' => 'crwdns599:0crwdne599:0',
- 'allowed-domains-help' => 'crwdns408:0crwdne408:0',
+ 'allowed-domains' => 'crwdns1211:0crwdne1211:0',
+ 'allowed-domains-help' => 'crwdns1212:0crwdne1212:0',
],
'stylesheet' => [
- 'custom-css' => 'crwdns718:0crwdne718:0',
+ 'custom-css' => 'crwdns1213:0crwdne1213:0',
],
'theme' => [
- 'background-color' => 'crwdns719:0crwdne719:0',
- 'background-fills' => 'crwdns600:0crwdne600:0',
- 'banner-background-color' => 'crwdns601:0crwdne601:0',
- 'banner-padding' => 'crwdns602:0crwdne602:0',
- 'fullwidth-banner' => 'crwdns603:0crwdne603:0',
- 'text-color' => 'crwdns720:0crwdne720:0',
- 'dashboard-login' => 'crwdns604:0crwdne604:0',
- 'reds' => 'crwdns605:0crwdne605:0',
- 'blues' => 'crwdns606:0crwdne606:0',
- 'greens' => 'crwdns607:0crwdne607:0',
- 'yellows' => 'crwdns608:0crwdne608:0',
- 'oranges' => 'crwdns609:0crwdne609:0',
- 'metrics' => 'crwdns610:0crwdne610:0',
- 'links' => 'crwdns611:0crwdne611:0',
+ 'background-color' => 'crwdns1214:0crwdne1214:0',
+ 'background-fills' => 'crwdns1215:0crwdne1215:0',
+ 'banner-background-color' => 'crwdns1216:0crwdne1216:0',
+ 'banner-padding' => 'crwdns1217:0crwdne1217:0',
+ 'fullwidth-banner' => 'crwdns1218:0crwdne1218:0',
+ 'text-color' => 'crwdns1219:0crwdne1219:0',
+ 'dashboard-login' => 'crwdns1220:0crwdne1220:0',
+ 'reds' => 'crwdns1221:0crwdne1221:0',
+ 'blues' => 'crwdns1222:0crwdne1222:0',
+ 'greens' => 'crwdns1223:0crwdne1223:0',
+ 'yellows' => 'crwdns1224:0crwdne1224:0',
+ 'oranges' => 'crwdns1225:0crwdne1225:0',
+ 'metrics' => 'crwdns1226:0crwdne1226:0',
+ 'links' => 'crwdns1227:0crwdne1227:0',
],
],
'user' => [
- 'username' => 'crwdns244:0crwdne244:0',
- 'email' => 'crwdns412:0crwdne412:0',
- 'password' => 'crwdns413:0crwdne413:0',
- 'api-token' => 'crwdns414:0crwdne414:0',
- 'api-token-help' => 'crwdns436:0crwdne436:0',
- 'gravatar' => 'crwdns612:0crwdne612:0',
- 'user_level' => 'crwdns613:0crwdne613:0',
+ 'username' => 'crwdns1228:0crwdne1228:0',
+ 'email' => 'crwdns1229:0crwdne1229:0',
+ 'password' => 'crwdns1230:0crwdne1230:0',
+ 'api-token' => 'crwdns1231:0crwdne1231:0',
+ 'api-token-help' => 'crwdns1232:0crwdne1232:0',
+ 'gravatar' => 'crwdns1233:0crwdne1233:0',
+ 'user_level' => 'crwdns1234:0crwdne1234:0',
'levels' => [
- 'admin' => 'crwdns614:0crwdne614:0',
- 'user' => 'crwdns615:0crwdne615:0',
+ 'admin' => 'crwdns1235:0crwdne1235:0',
+ 'user' => 'crwdns1236:0crwdne1236:0',
],
'2fa' => [
- 'help' => 'crwdns416:0crwdne416:0',
+ 'help' => 'crwdns1237:0crwdne1237:0',
],
'team' => [
- 'description' => 'crwdns616:0crwdne616:0',
- 'email' => 'crwdns617:0crwdne617:0',
+ 'description' => 'crwdns1238:0crwdne1238:0',
+ 'email' => 'crwdns1239:0crwdne1239:0',
],
],
+ 'general' => [
+ 'timezone' => 'crwdns1240:0crwdne1240:0',
+ ],
+
// Buttons
- 'add' => 'crwdns249:0crwdne249:0',
- 'save' => 'crwdns250:0crwdne250:0',
- 'update' => 'crwdns251:0crwdne251:0',
- 'create' => 'crwdns252:0crwdne252:0',
- 'edit' => 'crwdns253:0crwdne253:0',
- 'delete' => 'crwdns254:0crwdne254:0',
- 'submit' => 'crwdns255:0crwdne255:0',
- 'cancel' => 'crwdns256:0crwdne256:0',
- 'remove' => 'crwdns257:0crwdne257:0',
- 'invite' => 'crwdns618:0crwdne618:0',
- 'signup' => 'crwdns619:0crwdne619:0',
+ 'add' => 'crwdns1241:0crwdne1241:0',
+ 'save' => 'crwdns1242:0crwdne1242:0',
+ 'update' => 'crwdns1243:0crwdne1243:0',
+ 'create' => 'crwdns1244:0crwdne1244:0',
+ 'edit' => 'crwdns1245:0crwdne1245:0',
+ 'delete' => 'crwdns1246:0crwdne1246:0',
+ 'submit' => 'crwdns1247:0crwdne1247:0',
+ 'cancel' => 'crwdns1248:0crwdne1248:0',
+ 'remove' => 'crwdns1249:0crwdne1249:0',
+ 'invite' => 'crwdns1250:0crwdne1250:0',
+ 'signup' => 'crwdns1251:0crwdne1251:0',
// Other
- 'optional' => 'crwdns417:0crwdne417:0',
+ 'optional' => 'crwdns1252:0crwdne1252:0',
];
diff --git a/resources/lang/en-UD/notifications.php b/resources/lang/en-UD/notifications.php
index 7d3eaa24..5bbb05e7 100644
--- a/resources/lang/en-UD/notifications.php
+++ b/resources/lang/en-UD/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'crwdns1326:0crwdne1326:0',
- 'title' => 'crwdns1327:0crwdne1327:0',
- 'content' => 'crwdns1328:0crwdne1328:0',
+ 'mail' => [
+ 'subject' => 'crwdns1354:0crwdne1354:0',
+ 'greeting' => 'crwdns1355:0crwdne1355:0',
+ 'content' => 'crwdns1356:0crwdne1356:0',
+ 'action' => 'crwdns1357:0crwdne1357:0',
+ ],
+ 'slack' => [
+ 'title' => 'crwdns1358:0crwdne1358:0',
+ 'content' => 'crwdns1359:0crwdne1359:0',
+ ],
+ 'sms' => [
+ 'content' => 'crwdns1360:0crwdne1360:0',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'crwdns1329:0crwdne1329:0',
- 'content' => 'crwdns1330:0crwdne1330:0',
- 'title' => 'crwdns1331:0crwdne1331:0',
- 'action' => 'crwdns1332:0crwdne1332:0',
+ 'mail' => [
+ 'subject' => 'crwdns1361:0crwdne1361:0',
+ 'greeting' => 'crwdns1362:0crwdne1362:0',
+ 'content' => 'crwdns1363:0crwdne1363:0',
+ 'action' => 'crwdns1364:0crwdne1364:0',
+ ],
+ 'slack' => [
+ 'title' => 'crwdns1365:0crwdne1365:0',
+ 'content' => 'crwdns1366:0crwdne1366:0',
+ ],
+ 'sms' => [
+ 'content' => 'crwdns1367:0crwdne1367:0',
+ ],
],
'update' => [
- 'subject' => 'crwdns1333:0crwdne1333:0',
- 'content' => 'crwdns1334:0crwdne1334:0',
- 'title' => 'crwdns1335:0crwdne1335:0',
- 'action' => 'crwdns1336:0crwdne1336:0',
+ 'mail' => [
+ 'subject' => 'crwdns1368:0crwdne1368:0',
+ 'content' => 'crwdns1369:0crwdne1369:0',
+ 'title' => 'crwdns1370:0crwdne1370:0',
+ 'action' => 'crwdns1371:0crwdne1371:0',
+ ],
+ 'slack' => [
+ 'title' => 'crwdns1372:0crwdne1372:0',
+ 'content' => 'crwdns1373:0crwdne1373:0',
+ ],
+ 'sms' => [
+ 'content' => 'crwdns1374:0crwdne1374:0',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'crwdns1337:0crwdne1337:0',
- 'content' => 'crwdns1338:0crwdne1338:0',
- 'title' => 'crwdns1339:0crwdne1339:0',
- 'action' => 'crwdns1340:0crwdne1340:0',
+ 'mail' => [
+ 'subject' => 'crwdns1375:0crwdne1375:0',
+ 'content' => 'crwdns1376:0crwdne1376:0',
+ 'title' => 'crwdns1377:0crwdne1377:0',
+ 'action' => 'crwdns1378:0crwdne1378:0',
+ ],
+ 'slack' => [
+ 'title' => 'crwdns1379:0crwdne1379:0',
+ 'content' => 'crwdns1380:0crwdne1380:0',
+ ],
+ 'sms' => [
+ 'content' => 'crwdns1381:0crwdne1381:0',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'crwdns1341:0crwdne1341:0',
- 'content' => 'crwdns1342:0crwdne1342:0',
- 'title' => 'crwdns1343:0crwdne1343:0',
- 'action' => 'crwdns1344:0crwdne1344:0',
+ 'mail' => [
+ 'subject' => 'crwdns1382:0crwdne1382:0',
+ 'content' => 'crwdns1383:0crwdne1383:0',
+ 'title' => 'crwdns1384:0crwdne1384:0',
+ 'action' => 'crwdns1385:0crwdne1385:0',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'crwdns1345:0crwdne1345:0',
- 'content' => 'crwdns1346:0crwdne1346:0',
- 'title' => 'crwdns1347:0crwdne1347:0',
+ 'mail' => [
+ 'subject' => 'crwdns1386:0crwdne1386:0',
+ 'content' => 'crwdns1387:0crwdne1387:0',
+ 'title' => 'crwdns1388:0crwdne1388:0',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'crwdns1348:0crwdne1348:0',
- 'content' => 'crwdns1349:0crwdne1349:0',
- 'title' => 'crwdns1350:0crwdne1350:0',
- 'action' => 'crwdns1351:0crwdne1351:0',
+ 'mail' => [
+ 'subject' => 'crwdns1389:0crwdne1389:0',
+ 'content' => 'crwdns1390:0crwdne1390:0',
+ 'title' => 'crwdns1391:0crwdne1391:0',
+ 'action' => 'crwdns1392:0crwdne1392:0',
+ ],
],
],
];
diff --git a/resources/lang/en-UD/pagination.php b/resources/lang/en-UD/pagination.php
index 08fa787b..32588206 100644
--- a/resources/lang/en-UD/pagination.php
+++ b/resources/lang/en-UD/pagination.php
@@ -22,7 +22,7 @@ return [
|
*/
- 'previous' => 'crwdns89:0crwdne89:0',
- 'next' => 'crwdns90:0crwdne90:0',
+ 'previous' => 'crwdns1393:0crwdne1393:0',
+ 'next' => 'crwdns1394:0crwdne1394:0',
];
diff --git a/resources/lang/en-UD/setup.php b/resources/lang/en-UD/setup.php
index 754a9d1c..4f7bbbee 100644
--- a/resources/lang/en-UD/setup.php
+++ b/resources/lang/en-UD/setup.php
@@ -10,14 +10,14 @@
*/
return [
- 'setup' => 'crwdns258:0crwdne258:0',
- 'title' => 'crwdns259:0crwdne259:0',
- 'service_details' => 'crwdns260:0crwdne260:0',
- 'env_setup' => 'crwdns514:0crwdne514:0',
- 'status_page_setup' => 'crwdns261:0crwdne261:0',
- 'show_support' => 'crwdns488:0crwdne488:0',
- 'admin_account' => 'crwdns263:0crwdne263:0',
- 'complete_setup' => 'crwdns264:0crwdne264:0',
- 'completed' => 'crwdns291:0crwdne291:0',
- 'finish_setup' => 'crwdns292:0crwdne292:0',
+ 'setup' => 'crwdns1255:0crwdne1255:0',
+ 'title' => 'crwdns1256:0crwdne1256:0',
+ 'service_details' => 'crwdns1257:0crwdne1257:0',
+ 'env_setup' => 'crwdns1258:0crwdne1258:0',
+ 'status_page_setup' => 'crwdns1259:0crwdne1259:0',
+ 'show_support' => 'crwdns1260:0crwdne1260:0',
+ 'admin_account' => 'crwdns1261:0crwdne1261:0',
+ 'complete_setup' => 'crwdns1262:0crwdne1262:0',
+ 'completed' => 'crwdns1263:0crwdne1263:0',
+ 'finish_setup' => 'crwdns1264:0crwdne1264:0',
];
diff --git a/resources/lang/en-UD/validation.php b/resources/lang/en-UD/validation.php
index 0dc3076b..8a727c38 100644
--- a/resources/lang/en-UD/validation.php
+++ b/resources/lang/en-UD/validation.php
@@ -22,72 +22,72 @@ return [
|
*/
- 'accepted' => 'crwdns96:0crwdne96:0',
- 'active_url' => 'crwdns97:0crwdne97:0',
- 'after' => 'crwdns98:0crwdne98:0',
- 'alpha' => 'crwdns99:0crwdne99:0',
- 'alpha_dash' => 'crwdns100:0crwdne100:0',
- 'alpha_num' => 'crwdns101:0crwdne101:0',
- 'array' => 'crwdns102:0crwdne102:0',
- 'before' => 'crwdns103:0crwdne103:0',
+ 'accepted' => 'crwdns1265:0crwdne1265:0',
+ 'active_url' => 'crwdns1266:0crwdne1266:0',
+ 'after' => 'crwdns1267:0crwdne1267:0',
+ 'alpha' => 'crwdns1268:0crwdne1268:0',
+ 'alpha_dash' => 'crwdns1269:0crwdne1269:0',
+ 'alpha_num' => 'crwdns1270:0crwdne1270:0',
+ 'array' => 'crwdns1271:0crwdne1271:0',
+ 'before' => 'crwdns1272:0crwdne1272:0',
'between' => [
- 'numeric' => 'crwdns727:0crwdne727:0',
- 'file' => 'crwdns728:0crwdne728:0',
- 'string' => 'crwdns729:0crwdne729:0',
- 'array' => 'crwdns420:0crwdne420:0',
+ 'numeric' => 'crwdns1273:0crwdne1273:0',
+ 'file' => 'crwdns1274:0crwdne1274:0',
+ 'string' => 'crwdns1275:0crwdne1275:0',
+ 'array' => 'crwdns1276:0crwdne1276:0',
],
- 'boolean' => 'crwdns730:0crwdne730:0',
- 'confirmed' => 'crwdns731:0crwdne731:0',
- 'date' => 'crwdns732:0crwdne732:0',
- 'date_format' => 'crwdns733:0crwdne733:0',
- 'different' => 'crwdns734:0crwdne734:0',
- 'digits' => 'crwdns735:0crwdne735:0',
- 'digits_between' => 'crwdns736:0crwdne736:0',
- 'email' => 'crwdns737:0crwdne737:0',
- 'exists' => 'crwdns738:0crwdne738:0',
- 'distinct' => 'crwdns739:0crwdne739:0',
- 'filled' => 'crwdns740:0crwdne740:0',
- 'image' => 'crwdns117:0crwdne117:0',
- 'in' => 'crwdns741:0crwdne741:0',
- 'in_array' => 'crwdns742:0crwdne742:0',
- 'integer' => 'crwdns743:0crwdne743:0',
- 'ip' => 'crwdns744:0crwdne744:0',
- 'json' => 'crwdns621:0crwdne621:0',
+ 'boolean' => 'crwdns1277:0crwdne1277:0',
+ 'confirmed' => 'crwdns1278:0crwdne1278:0',
+ 'date' => 'crwdns1279:0crwdne1279:0',
+ 'date_format' => 'crwdns1280:0crwdne1280:0',
+ 'different' => 'crwdns1281:0crwdne1281:0',
+ 'digits' => 'crwdns1282:0crwdne1282:0',
+ 'digits_between' => 'crwdns1283:0crwdne1283:0',
+ 'email' => 'crwdns1284:0crwdne1284:0',
+ 'exists' => 'crwdns1285:0crwdne1285:0',
+ 'distinct' => 'crwdns1286:0crwdne1286:0',
+ 'filled' => 'crwdns1287:0crwdne1287:0',
+ 'image' => 'crwdns1288:0crwdne1288:0',
+ 'in' => 'crwdns1289:0crwdne1289:0',
+ 'in_array' => 'crwdns1290:0crwdne1290:0',
+ 'integer' => 'crwdns1291:0crwdne1291:0',
+ 'ip' => 'crwdns1292:0crwdne1292:0',
+ 'json' => 'crwdns1293:0crwdne1293:0',
'max' => [
- 'numeric' => 'crwdns745:0crwdne745:0',
- 'file' => 'crwdns746:0crwdne746:0',
- 'string' => 'crwdns747:0crwdne747:0',
- 'array' => 'crwdns423:0crwdne423:0',
+ 'numeric' => 'crwdns1294:0crwdne1294:0',
+ 'file' => 'crwdns1295:0crwdne1295:0',
+ 'string' => 'crwdns1296:0crwdne1296:0',
+ 'array' => 'crwdns1297:0crwdne1297:0',
],
- 'mimes' => 'crwdns748:0crwdne748:0',
+ 'mimes' => 'crwdns1298:0crwdne1298:0',
'min' => [
- 'numeric' => 'crwdns749:0crwdne749:0',
- 'file' => 'crwdns424:0crwdne424:0',
- 'string' => 'crwdns750:0crwdne750:0',
- 'array' => 'crwdns751:0crwdne751:0',
+ 'numeric' => 'crwdns1299:0crwdne1299:0',
+ 'file' => 'crwdns1300:0crwdne1300:0',
+ 'string' => 'crwdns1301:0crwdne1301:0',
+ 'array' => 'crwdns1302:0crwdne1302:0',
],
- 'not_in' => 'crwdns752:0crwdne752:0',
- 'numeric' => 'crwdns753:0crwdne753:0',
- 'present' => 'crwdns754:0crwdne754:0',
- 'regex' => 'crwdns755:0crwdne755:0',
- 'required' => 'crwdns756:0crwdne756:0',
- 'required_if' => 'crwdns757:0crwdne757:0',
- 'required_unless' => 'crwdns656:0crwdne656:0',
- 'required_with' => 'crwdns758:0crwdne758:0',
- 'required_with_all' => 'crwdns136:0crwdne136:0',
- 'required_without' => 'crwdns759:0crwdne759:0',
- 'required_without_all' => 'crwdns760:0crwdne760:0',
- 'same' => 'crwdns761:0crwdne761:0',
+ 'not_in' => 'crwdns1303:0crwdne1303:0',
+ 'numeric' => 'crwdns1304:0crwdne1304:0',
+ 'present' => 'crwdns1305:0crwdne1305:0',
+ 'regex' => 'crwdns1306:0crwdne1306:0',
+ 'required' => 'crwdns1307:0crwdne1307:0',
+ 'required_if' => 'crwdns1308:0crwdne1308:0',
+ 'required_unless' => 'crwdns1309:0crwdne1309:0',
+ 'required_with' => 'crwdns1310:0crwdne1310:0',
+ 'required_with_all' => 'crwdns1311:0crwdne1311:0',
+ 'required_without' => 'crwdns1312:0crwdne1312:0',
+ 'required_without_all' => 'crwdns1313:0crwdne1313:0',
+ 'same' => 'crwdns1314:0crwdne1314:0',
'size' => [
- 'numeric' => 'crwdns762:0crwdne762:0',
- 'file' => 'crwdns427:0crwdne427:0',
- 'string' => 'crwdns428:0crwdne428:0',
- 'array' => 'crwdns763:0crwdne763:0',
+ 'numeric' => 'crwdns1315:0crwdne1315:0',
+ 'file' => 'crwdns1316:0crwdne1316:0',
+ 'string' => 'crwdns1317:0crwdne1317:0',
+ 'array' => 'crwdns1318:0crwdne1318:0',
],
- 'string' => 'crwdns764:0crwdne764:0',
- 'timezone' => 'crwdns146:0crwdne146:0',
- 'unique' => 'crwdns144:0crwdne144:0',
- 'url' => 'crwdns145:0crwdne145:0',
+ 'string' => 'crwdns1319:0crwdne1319:0',
+ 'timezone' => 'crwdns1320:0crwdne1320:0',
+ 'unique' => 'crwdns1321:0crwdne1321:0',
+ 'url' => 'crwdns1322:0crwdne1322:0',
/*
|--------------------------------------------------------------------------
@@ -102,7 +102,7 @@ return [
'custom' => [
'attribute-name' => [
- 'rule-name' => 'crwdns147:0crwdne147:0',
+ 'rule-name' => 'crwdns1323:0crwdne1323:0',
],
],
diff --git a/resources/lang/en-US/cachet.php b/resources/lang/en-US/cachet.php
index fd0e3832..4174dad0 100644
--- a/resources/lang/en-US/cachet.php
+++ b/resources/lang/en-US/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'No incidents reported',
- 'past' => 'Past Incidents',
- 'previous_week' => 'Previous Week',
- 'next_week' => 'Next Week',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Scheduled Maintenance',
- 'scheduled_at' => ', scheduled :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'No incidents reported',
+ 'past' => 'Past Incidents',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'Scheduled Maintenance',
+ 'scheduled_at' => ', scheduled :timestamp',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
1 => 'Investigating',
2 => 'Identified',
3 => 'Watching',
@@ -47,7 +45,7 @@ return [
'schedules' => [
'status' => [
0 => 'Upcoming',
- 1 => 'In Progress',
+ 1 => 'In progress',
2 => 'Complete',
],
],
diff --git a/resources/lang/en-US/dashboard.php b/resources/lang/en-US/dashboard.php
new file mode 100644
index 00000000..dc81e16d
--- /dev/null
+++ b/resources/lang/en-US/dashboard.php
@@ -0,0 +1,293 @@
+ 'Dashboard',
+ 'writeable_settings' => 'The Cachet settings directory is not writable. Please make sure that ./bootstrap/cachet is writable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidents & Schedule',
+ 'incidents' => 'Incidents',
+ 'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
+ 'incident-create-template' => 'Create Template',
+ 'incident-templates' => 'Incident Templates',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Report an incident',
+ 'success' => 'Incident added.',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit an incident',
+ 'success' => 'Incident updated.',
+ 'failure' => 'There was an error editing the incident, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The incident has been deleted and will not show on your status page.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Incident Templates',
+ 'add' => [
+ 'title' => 'Create an incident template',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Template',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Scheduled Maintenance',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Scheduled at :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Components',
+ 'component_statuses' => 'Component Statuses',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Add a component',
+ 'message' => 'You should add a component.',
+ 'success' => 'Component created.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrics',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Member',
+ 'profile' => 'Profile',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Settings',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Security',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Settings saved.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Login',
+ 'logged_in' => 'You\'re logged in.',
+ 'welcome' => 'Welcome Back!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Help',
+ 'status_page' => 'Status Page',
+ 'logout' => 'Logout',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifications',
+ 'awesome' => 'Awesome.',
+ 'whoops' => 'Whoops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new Status page!',
+ 'message' => 'Your status page is almost ready! You might want to configure these extra settings',
+ 'close' => 'Take me straight to my dashboard',
+ 'steps' => [
+ 'component' => 'Create components',
+ 'incident' => 'Create incidents',
+ 'customize' => 'Customize',
+ 'team' => 'Add users',
+ 'api' => 'Generate API token',
+ 'two-factor' => 'Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/en-US/forms.php b/resources/lang/en-US/forms.php
new file mode 100644
index 00000000..f8866be1
--- /dev/null
+++ b/resources/lang/en-US/forms.php
@@ -0,0 +1,240 @@
+ [
+ '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',
+ ],
+
+ // 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',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'component' => 'Component',
+ 'message' => 'Message',
+ 'message-help' => 'You may also use Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notify subscribers?',
+ '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',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Template',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'message' => 'Message',
+ 'message-help' => 'You may also use Markdown.',
+ 'scheduled_at' => 'When will this maintenance be scheduled?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Template',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'group' => 'Group',
+ 'description' => 'Description',
+ 'link' => 'Link',
+ 'tags' => 'Tags',
+ 'tags-help' => 'Comma separated.',
+ 'enabled' => 'Component enabled?',
+
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Name',
+ 'description' => 'Description',
+ 'start_at' => 'Shedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Group',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // 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 everyone',
+ 'visibility_hidden' => 'Always hidden',
+
+ 'points' => [
+ 'value' => 'Value',
+ ],
+ ],
+
+ // Settings
+ '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?',
+ '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?',
+ '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?',
+ ],
+ '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',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Site timezone',
+ 'site-locale' => 'Site language',
+ 'date-format' => 'Date format',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth 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',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Username',
+ 'email' => 'Email',
+ 'password' => 'Password',
+ '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',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'User',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Add',
+ 'save' => 'Save',
+ 'update' => 'Update',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'submit' => 'Submit',
+ 'cancel' => 'Cancel',
+ 'remove' => 'Remove',
+ 'invite' => 'Invite',
+ 'signup' => 'Sign Up',
+
+ // Other
+ 'optional' => '* Optional',
+];
diff --git a/resources/lang/en-US/notifications.php b/resources/lang/en-US/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/en-US/notifications.php
+++ b/resources/lang/en-US/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/en-US/pagination.php b/resources/lang/en-US/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/en-US/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/en-US/setup.php b/resources/lang/en-US/setup.php
new file mode 100644
index 00000000..044cf2e2
--- /dev/null
+++ b/resources/lang/en-US/setup.php
@@ -0,0 +1,23 @@
+ 'Setup',
+ 'title' => 'Setup Cachet',
+ 'service_details' => 'Service Details',
+ 'env_setup' => 'Environment Setup',
+ 'status_page_setup' => 'Status Page Setup',
+ 'show_support' => 'Show support for Cachet?',
+ 'admin_account' => 'Administrator Account',
+ 'complete_setup' => 'Complete Setup',
+ 'completed' => 'Cachet has been configured successfully!',
+ 'finish_setup' => 'Go to dashboard',
+];
diff --git a/resources/lang/en-US/validation.php b/resources/lang/en-US/validation.php
new file mode 100644
index 00000000..7d196d98
--- /dev/null
+++ b/resources/lang/en-US/validation.php
@@ -0,0 +1,122 @@
+ '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.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :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.',
+ '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.',
+ ],
+ '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.',
+ '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.',
+ '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_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.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/es-ES/cachet.php b/resources/lang/es-ES/cachet.php
index 05ded518..60d39cb9 100644
--- a/resources/lang/es-ES/cachet.php
+++ b/resources/lang/es-ES/cachet.php
@@ -14,7 +14,7 @@ return [
'components' => [
'last_updated' => 'Última actualización :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Desconocido',
1 => 'Operacional',
2 => 'Problemas de rendimiento',
3 => 'Interrupción parcial',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Ningún incidente reportado',
- 'past' => 'Incidencias anteriores',
- 'previous_week' => 'Semana anterior',
- 'next_week' => 'Semana siguiente',
- 'stickied' => 'Incidentes pegados',
- 'scheduled' => 'Mantenimiento programado',
- 'scheduled_at' => ', programado para :timestamp',
- 'posted' => 'Publicado :timestamp',
- 'status' => [
+ 'none' => 'Ningún incidente reportado',
+ 'past' => 'Incidencias anteriores',
+ 'stickied' => 'Incidentes anclados',
+ 'scheduled' => 'Mantenimiento programado',
+ 'scheduled_at' => ', programado para :timestamp',
+ 'posted' => 'Publicado :timestamp',
+ 'status' => [
1 => 'Investigando',
2 => 'Identificado',
3 => 'Observando',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Próximamente',
+ 1 => 'En progreso',
+ 2 => 'Completo',
],
],
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Suscríbete para obtener las actualizaciones más recientes',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Darse de baja en :link',
'button' => 'Suscríbete',
'manage' => [
'no_subscriptions' => 'Actualmente estás suscrito a todas las actualizaciones.',
@@ -122,7 +120,7 @@ return [
'home' => 'Inicio',
'description' => 'Mantente informado con las últimas actualizaciones de servicio de :app.',
'powered_by' => 'La página de estado de :app está proporcionada por Cachet.',
- 'timezone' => 'Las horarios son mostrados en :timezone.',
+ 'timezone' => 'Los horarios son mostrados en :timezone.',
'about_this_site' => 'Acerca de este sitio',
'rss-feed' => 'RSS',
'atom-feed' => 'Atom',
diff --git a/resources/lang/es-ES/dashboard.php b/resources/lang/es-ES/dashboard.php
new file mode 100644
index 00000000..83d978cb
--- /dev/null
+++ b/resources/lang/es-ES/dashboard.php
@@ -0,0 +1,293 @@
+ 'Panel de Control',
+ 'writeable_settings' => 'El directorio de configuración de Cachet no es escribible. Por favor, asegúrese de que ./bootstrap/cachet es escribible por el servidor web.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidencias y horario',
+ 'incidents' => 'Incidentes',
+ 'logged' => '{0} No hay incidencias, ¡buen trabajo!|Has registrado una incidencia.|Has reportado :count incidencias.',
+ 'incident-create-template' => 'Crear plantilla',
+ 'incident-templates' => 'Plantillas de incidente',
+ 'updates' => '{0} Cero actualizaciones|Una actualización|:count actualizaciones',
+ 'add' => [
+ 'title' => 'Reportar incidente',
+ 'success' => 'Incidente agregado.',
+ 'failure' => 'Hubo un error agregando el incidente, por favor intente de nuevo.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar un incidente',
+ 'success' => 'Incidente actualizado.',
+ 'failure' => 'Hubo un error editando el incidente, por favor intente de nuevo.',
+ ],
+ 'delete' => [
+ 'success' => 'El incidente se ha eliminado y no se mostrará en tu página de estado.',
+ 'failure' => 'El incidente no se pudo eliminar, por favor intente de nuevo.',
+ ],
+ 'update' => [
+ 'title' => 'Crea una nueva actualización de incidente',
+ 'subtitle' => 'Agrega una actualización a :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Plantillas de incidente',
+ 'add' => [
+ 'title' => 'Crear una plantilla de incidente',
+ 'message' => 'Deberías añadir una plantilla de incidente.',
+ 'success' => 'Su nueva plantilla de incidentes ha sido creada.',
+ 'failure' => 'Algo salió mal con la plantilla de incidente.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar plantilla',
+ 'success' => 'La plantilla de incidente ha sido actualizada.',
+ 'failure' => 'Algo salió mal actualizando la plantilla de incidente',
+ ],
+ 'delete' => [
+ 'success' => 'La plantilla de incidente se ha eliminado.',
+ 'failure' => 'La plantilla de incidente no se pudo eliminar. Por favor, inténtalo de nuevo.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Mantenimiento programado',
+ 'logged' => '{0} No hay planificaciones, buen trabajo.|Has registrado una planificación.|Has registrado :count planificaciones.',
+ 'scheduled_at' => 'Programado para :timestamp',
+ 'add' => [
+ 'title' => 'Agregar mantenimiento programado',
+ 'success' => 'Planificación agregada.',
+ 'failure' => 'Algo salió mal agregando la planificación, por favor intente de nuevo.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar Mantenimiento Programado',
+ 'success' => 'La planificación ha sido actualizada!',
+ 'failure' => 'Algo salió mal editando la planificación, por favor intente de nuevo.',
+ ],
+ 'delete' => [
+ 'success' => 'La planificación ha sido eliminada y no será mostrada en su página de estado.',
+ 'failure' => 'El mantenimiento programado no pudo ser eliminado, por favor, inténtelo de nuevo.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Componentes',
+ 'component_statuses' => 'Estatus de los componentes',
+ 'listed_group' => 'Agrupado bajo :nombre',
+ 'add' => [
+ 'title' => 'Agregar componente',
+ 'message' => 'Deberías agregar un componente.',
+ 'success' => 'Componente creado.',
+ 'failure' => 'Algo salió mal con el componente, por favor intente de nuevo.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar componente',
+ 'success' => 'Componente actualizado.',
+ 'failure' => 'Algo salió mal con el componente, por favor intente de nuevo.',
+ ],
+ 'delete' => [
+ 'success' => 'El componente se ha eliminado!',
+ 'failure' => 'El componente no pudo ser eliminado, por favor, inténtelo de nuevo.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Grupo de componente|Grupos de componente',
+ 'no_components' => 'Usted debería agregar un grupo de componentes.',
+ 'add' => [
+ 'title' => 'Agregar un grupo de componentes',
+ 'success' => 'Grupo de componentes agregado.',
+ 'failure' => 'Algo salió mal con el componente, por favor intente de nuevo.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar un grupo de componentes',
+ 'success' => 'Grupo de componentes actualizado.',
+ 'failure' => 'Algo salió mal con el componente, por favor intente de nuevo.',
+ ],
+ 'delete' => [
+ 'success' => 'El grupo de componentes se ha eliminado!',
+ 'failure' => 'El grupo de componentes no pudo ser eliminado, por favor, inténtelo de nuevo.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Métricas',
+ 'add' => [
+ 'title' => 'Crear una métrica o indicador',
+ 'message' => 'Deberías añadir una métrica.',
+ 'success' => 'Métrica creada.',
+ 'failure' => 'Algo salió mal con la métrica, por favor, inténtelo de nuevo.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar una métrica',
+ 'success' => 'Métrica actualizada.',
+ 'failure' => 'Algo salió mal con la métrica, por favor, inténtelo de nuevo.',
+ ],
+ 'delete' => [
+ 'success' => 'La métrica se ha eliminado y no se mostrará más en tu página de estado.',
+ 'failure' => 'La métrica no pudo ser eliminada, por favor, inténtelo de nuevo.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Suscriptores',
+ 'description' => 'Los suscriptores recibirán actualizaciones por correo electrónico cuando se creen incidentes o se actualicen componentes.',
+ 'verified' => 'Verificado',
+ 'not_verified' => 'No confirmado',
+ 'subscriber' => ':email, suscrito :date',
+ 'no_subscriptions' => 'Suscrito a todas las actualizaciones',
+ 'add' => [
+ 'title' => 'Agregar un nuevo subscriptor',
+ 'success' => 'Subscriptor agregado.',
+ 'failure' => 'Algo salió mal al agregar el suscriptor, por favor, inténtelo de nuevo.',
+ 'help' => 'Agregue cada subscriptor en una línea nueva.',
+ ],
+ 'edit' => [
+ 'title' => 'Actualizar subscriptor',
+ 'success' => 'Subscriptor actualizado.',
+ 'failure' => 'Algo salió mal al editar el suscriptor, por favor, inténtelo de nuevo.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Equipo',
+ 'member' => 'Miembro',
+ 'profile' => 'Perfil',
+ 'description' => 'Los miembros del equipo será capaces de añadir, modificar y editar componentes e incidentes.',
+ 'add' => [
+ 'title' => 'Añadir a un nuevo miembro de equipo',
+ 'success' => 'Miembro del equipo agregado.',
+ 'failure' => 'No se pudo agregar el miembro del equipo, por favor vuelva a intentarlo.',
+ ],
+ 'edit' => [
+ 'title' => 'Actualizar perfil',
+ 'success' => 'Perfil actualizado.',
+ 'failure' => 'Algo salió mal actualizando el perfil, por favor intente de nuevo.',
+ ],
+ 'delete' => [
+ 'success' => 'El miembro del equipo ha sido eliminado y ya no tendrán acceso al Pane de Control!',
+ 'failure' => 'No se pudo agregar el miembro del equipo, por favor vuelva a intentarlo.',
+ ],
+ 'invite' => [
+ 'title' => 'Invitar a un nuevo miembro al equipo',
+ 'success' => 'Se ha enviado una invitación',
+ 'failure' => 'La invitación no pudo ser enviada, por favor intente de nuevo.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Ajustes',
+ 'app-setup' => [
+ 'app-setup' => 'Configuración de aplicación',
+ 'images-only' => 'Sólo puedes subir imágenes.',
+ 'too-big' => 'El archivo subido es demasiado grande. Sube una imagen con tamaño menor a: tamaño',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Registro',
+ ],
+ 'localization' => [
+ 'localization' => 'Localización',
+ ],
+ 'customization' => [
+ 'customization' => 'Personalización',
+ 'header' => 'Cabecera HTML personalizada',
+ 'footer' => 'Pie HTML personalizado',
+ ],
+ 'mail' => [
+ 'mail' => 'Correo',
+ 'test' => 'Prueba',
+ 'email' => [
+ 'subject' => 'Notificación de prueba de Cachet',
+ 'body' => 'Ésta es una notificación de prueba de Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Seguridad',
+ 'two-factor' => 'Usuarios sin autenticación de dos factores',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Hoja de estilo',
+ ],
+ 'theme' => [
+ 'theme' => 'Tema',
+ ],
+ 'edit' => [
+ 'success' => 'Configuración guardada.',
+ 'failure' => 'La configuración no se podido guardar.',
+ ],
+ 'credits' => [
+ 'credits' => 'Créditos',
+ 'contributors' => 'Colaboradores',
+ 'license' => 'Cachet es un proyecto de código libre bajo la licencia BSD-3, liberado por Alt Three Services Limited.',
+ 'backers-title' => 'Patrocinadores',
+ 'backers' => 'Si desea apoyar futuros desarrollos, ingrese a la campaña de Cachet Patreon.',
+ 'thank-you' => 'Gracias a todos y cada uno de los :count colaboradores.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Iniciar Sesión',
+ 'logged_in' => 'Estás conectado.',
+ 'welcome' => '¡Bienvenido!',
+ 'two-factor' => 'Por favor ingresa tu token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Ayuda',
+ 'status_page' => 'Página de estado',
+ 'logout' => 'Salir',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notificaciones',
+ 'awesome' => 'Excelente.',
+ 'whoops' => 'Whoops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Apoye Cachet',
+ 'support_subtitle' => '¡Visite nuestro proyecto en la página de Patreon!',
+ 'news' => 'Últimas noticias',
+ 'news_subtitle' => 'Obtener las actualizaciones más recientes',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Bienvenido a tu página de estado!',
+ 'message' => 'La página de estado está casi lista! Tal vez quieras configurar estos ajustes adicionales',
+ 'close' => 'Llévame directamente a mi dashboard',
+ 'steps' => [
+ 'component' => 'Crear componentes',
+ 'incident' => 'Crear incidentes',
+ 'customize' => 'Personalizar',
+ 'team' => 'Agregar Usuarios',
+ 'api' => 'Generar token API',
+ 'two-factor' => 'Autenticación de dos factores',
+ ],
+ ],
+
+];
diff --git a/resources/lang/es-ES/forms.php b/resources/lang/es-ES/forms.php
new file mode 100644
index 00000000..7cbea599
--- /dev/null
+++ b/resources/lang/es-ES/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Correo electrónico',
+ 'username' => 'Nombre de usario',
+ 'password' => 'Contraseña',
+ 'site_name' => 'Nombre del sitio',
+ 'site_domain' => 'Dominio de sitio',
+ 'site_timezone' => 'Selecciona tu zona horaria',
+ 'site_locale' => 'Selecciona tu idioma',
+ 'enable_google2fa' => 'Habilitar la verificación en dos pasos de Google',
+ 'cache_driver' => 'Controlador de Memoria Cache',
+ 'queue_driver' => 'Controlador de cola',
+ 'session_driver' => 'Controlador de Sesion',
+ 'mail_driver' => 'Valora al conductor',
+ 'mail_host' => 'Host de correo',
+ 'mail_address' => 'Dirección de Correo Físico',
+ 'mail_username' => 'Nombre de usuario de correo',
+ 'mail_password' => 'Contraseña de correo',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Nombre de usuario o dirección de correo electrónico',
+ 'email' => 'Correo electrónico',
+ 'password' => 'Contraseña',
+ '2fauth' => 'Código de Autenticación',
+ 'invalid' => 'Nombre de usuario o contraseña incorrecto',
+ 'invalid-token' => 'Token inválido',
+ 'cookies' => 'Usted debe habilitar cookies para logearse o iniciar sesion.',
+ 'rate-limit' => 'Límite de transferencia excedido.',
+ 'remember_me' => 'Recuérdame',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Nombre',
+ 'status' => 'Estado',
+ 'component' => 'Componente',
+ 'message' => 'Mensaje',
+ 'message-help' => 'También puedes usar Markdown.',
+ 'occurred_at' => '¿Cuando ocurrió este incidente?',
+ 'notify_subscribers' => '¿Notificar a los suscriptores?',
+ 'visibility' => 'Visibilidad del incidente',
+ 'stick_status' => 'Pega Incidente',
+ 'stickied' => 'Pegado',
+ 'not_stickied' => 'No Pegado',
+ 'public' => 'Visible por el público',
+ 'logged_in_only' => 'Solo visible para usuarios logeados',
+ 'templates' => [
+ 'name' => 'Nombre',
+ 'template' => 'Plantilla',
+ 'twig' => 'Las plantillas de incidentes pueden hacer uso del lenguaje de plantillas Twig.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Nombre',
+ 'status' => 'Estado',
+ 'message' => 'Mensaje',
+ 'message-help' => 'También puedes usar Markdown.',
+ 'scheduled_at' => '¿Cuándo será programado este mantenimiento?',
+ 'completed_at' => '¿Cuándo terminó este mantenimiento?',
+ 'templates' => [
+ 'name' => 'Nombre',
+ 'template' => 'Plantilla',
+ 'twig' => 'Las plantillas de incidentes pueden hacer uso del lenguaje de plantillas Twig.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Nombre',
+ 'status' => 'Estado',
+ 'group' => 'Grupo',
+ 'description' => 'Descripción',
+ 'link' => 'Enlace',
+ 'tags' => 'Etiquetas',
+ 'tags-help' => 'Separado por comas.',
+ 'enabled' => '¿Componente habilitado?',
+
+ 'groups' => [
+ 'name' => 'Nombre',
+ 'collapsing' => 'Opciones de Expandir/Colapsar',
+ 'visible' => 'Siempre expandido',
+ 'collapsed' => 'Contraer el grupo por defecto',
+ 'collapsed_incident' => 'Contraer el grupo, pero ampliar si hay problemas',
+ 'visibility' => 'Visibilidad',
+ 'visibility_public' => 'Público',
+ 'visibility_authenticated' => 'Visible solamente a usuarios conectados',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nombre',
+ 'description' => 'Descripción',
+ 'start_at' => 'Programar hora de inicio',
+ 'timezone' => 'Zona horaria',
+ 'schedule_frequency' => 'Programar frecuencia (en segundos)',
+ 'completion_latency' => 'Latencia de completado (en segundos)',
+ 'group' => 'Grupo',
+ 'active' => '¿Activo?',
+ 'groups' => [
+ 'name' => 'Nombre del grupo',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Nombre',
+ 'suffix' => 'Sufijo',
+ 'description' => 'Descripción',
+ 'description-help' => 'También puedes usar Markdown.',
+ 'display-chart' => '¿Mostrar gráficas en la pagina de estado?',
+ 'default-value' => 'Valor predeterminado',
+ 'calc_type' => 'Cálculo de métricas',
+ 'type_sum' => 'Suma',
+ 'type_avg' => 'Promedio',
+ 'places' => 'Cantidad de decimales',
+ 'default_view' => 'Vista predeterminada',
+ 'threshold' => '¿Cuántos minutos de umbral entre púntos de métrica?',
+ 'visibility' => 'Visibilidad',
+ 'visibility_authenticated' => 'Visible para los usuarios autenticados',
+ 'visibility_public' => 'Visible para todos',
+ 'visibility_hidden' => 'Siempre escondido',
+
+ 'points' => [
+ 'value' => 'Valor',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Nombre del sitio',
+ 'site-url' => 'URL del sitio',
+ 'display-graphs' => '¿Mostrar gráficas en la pagina de estado?',
+ 'about-this-page' => 'Sobre esta página',
+ 'days-of-incidents' => '¿Cuántos días de incidentes mostrar?',
+ 'banner' => 'Imagen del banner',
+ 'banner-help' => 'Se recomienda subir una imagen no más grande de 930px de ancho .',
+ 'subscribers' => '¿Permitir a la gente inscribirse mediante noficiacion por correo electronico?',
+ 'skip_subscriber_verification' => '¿Omitir verificación de usuarios? (Advertencia, podrías ser spammeado)',
+ 'automatic_localization' => '¿Traducir automáticamente la página de estado según el lenguaje del visitante?',
+ 'enable_external_dependencies' => 'Activar Dependencias de Terceros (Google Fonts, Trackers, etc...)',
+ 'show_timezone' => 'Mostrar la zona horaria en la que se está ejecutando la página de estado.',
+ 'only_disrupted_days' => '¿Solamente mostrar en la línea de tiempo días que contengan incidentes?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Código de Google Analytics',
+ 'analytics_gosquared' => 'Código de GoSquared Analytics',
+ 'analytics_piwik_url' => 'URL de tu instancia Piwik (sin el http(s)://)',
+ 'analytics_piwik_siteid' => 'Id de tu sitio Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Zona horaria del sitio',
+ 'site-locale' => 'Idioma del sitio',
+ 'date-format' => 'Formato de la fecha',
+ 'incident-date-format' => 'Formato de fecha de incidente',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Dominios permitidos',
+ 'allowed-domains-help' => 'Separados por coma. El dominio establecido en la configuración del sitio formará automáticamente parte de los dominios permitidos.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Hoja de estilo personalizada',
+ ],
+ 'theme' => [
+ 'background-color' => 'Color de fondo',
+ 'background-fills' => 'Relleno del fondo (componentes, incidentes, pie)',
+ 'banner-background-color' => 'Color de fondo del banner',
+ 'banner-padding' => 'Padding del banner',
+ 'fullwidth-banner' => '¿Habilitar banner de ancho completo?',
+ 'text-color' => 'Color del texto',
+ 'dashboard-login' => '¿Mostrar el botón de Panel de Control en el pie?',
+ 'reds' => 'Rojo (usado para errores)',
+ 'blues' => 'Azul (usado para información)',
+ 'greens' => 'Verde (usado para operaciones correctas)',
+ 'yellows' => 'Amarillo (usado para alertas)',
+ 'oranges' => 'Naranja (usado para avisos)',
+ 'metrics' => 'Relleno de las métricas',
+ 'links' => 'Enlaces',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Nombre de usario',
+ 'email' => 'Correo electrónico',
+ 'password' => 'Contraseña',
+ 'api-token' => 'API Token',
+ 'api-token-help' => 'Regenerando tu token de API evitaras que las aplicaciones existentes puedan acceder a Cachet.',
+ 'gravatar' => 'Change your profile picture at Gravatar.',
+ 'user_level' => 'Nivel de usuario',
+ 'levels' => [
+ 'admin' => 'Administrador',
+ 'user' => 'Usuario',
+ ],
+ '2fa' => [
+ 'help' => 'Habilitar autenticación de dos pasos aumenta la seguridad de tu cuenta. Necesitarás descargar Google Authenticator o una aplicación similar a su dispositivo móvil. Al iniciar sesión, te pedirá proporcionar un token generado por la aplicación.',
+ ],
+ 'team' => [
+ 'description' => 'Invita a los miembros de equipo introduciendo sus direcciones de correo electrónico aquí.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Seleccionar la zona horaria',
+ ],
+
+ // Buttons
+ 'add' => 'Agregar',
+ 'save' => 'Guardar',
+ 'update' => 'Actualizar',
+ 'create' => 'Crear',
+ 'edit' => 'Editar',
+ 'delete' => 'Eliminar',
+ 'submit' => 'Enviar',
+ 'cancel' => 'Cancelar',
+ 'remove' => 'Remover',
+ 'invite' => 'Invitar',
+ 'signup' => 'Registrarse',
+
+ // Other
+ 'optional' => '* Opcional',
+];
diff --git a/resources/lang/es-ES/notifications.php b/resources/lang/es-ES/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/es-ES/notifications.php
+++ b/resources/lang/es-ES/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/es-ES/pagination.php b/resources/lang/es-ES/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/es-ES/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/es-ES/setup.php b/resources/lang/es-ES/setup.php
new file mode 100644
index 00000000..1438ce13
--- /dev/null
+++ b/resources/lang/es-ES/setup.php
@@ -0,0 +1,23 @@
+ 'Configurar',
+ 'title' => 'Configurar Cachet',
+ 'service_details' => 'Detalles del servicio',
+ 'env_setup' => 'Configuracion de entorno',
+ 'status_page_setup' => 'Configuración de la página de estado',
+ 'show_support' => '¿Deseas mostrar tu apoyo a Cachet?',
+ 'admin_account' => 'Cuenta de administrador',
+ 'complete_setup' => 'Completar configuración',
+ 'completed' => '¡Cachet se ha configurado correctamente!',
+ 'finish_setup' => 'Ir a Panel de control',
+];
diff --git a/resources/lang/es-ES/validation.php b/resources/lang/es-ES/validation.php
new file mode 100644
index 00000000..9456c31b
--- /dev/null
+++ b/resources/lang/es-ES/validation.php
@@ -0,0 +1,122 @@
+ 'El :attribute debe ser aceptado.',
+ 'active_url' => 'El :attribute no es un enlace válido.',
+ 'after' => 'El :attribute debe ser una fecha después de :date.',
+ 'alpha' => 'El :attribute sólo puede contener letras.',
+ 'alpha_dash' => 'El :attribute sólo puede contener letras, números y guiones.',
+ 'alpha_num' => 'El :attribute sólo puede contener letras y números.',
+ 'array' => 'El :attribute debe ser una matriz.',
+ 'before' => 'El :attribute debe ser una fecha antes de :date.',
+ 'between' => [
+ 'numeric' => ':attribute debe estar entre :min y :max.',
+ 'file' => ':attribute debe estar entre :min y :max de kilobytes.',
+ 'string' => ':attribute debe estar entre :min y :max de caracteres.',
+ 'array' => 'El :attribute debe tener entre :min y :max objetos.',
+ ],
+ 'boolean' => 'El campo :attribute debe ser verdadero ó falso.',
+ 'confirmed' => 'La confirmación de :attribute no coincide.',
+ 'date' => ':attribute no es una fecha válida.',
+ 'date_format' => ':attribute no coincide con el formato :format.',
+ 'different' => ':attribute y :other deben ser diferentes.',
+ 'digits' => ':attribute debe contener un número de :digits dígitos.',
+ 'digits_between' => ':attribute debe contener entre :min y :max dígitos.',
+ 'email' => ':attribute debe ser una dirección válida de correo electrónico.',
+ 'exists' => 'El :attribute seleccionado no es válido.',
+ 'distinct' => 'El campo :attribute tiene un valor duplicado.',
+ 'filled' => 'El campo :attribute es requerido.',
+ 'image' => 'El :attribute debe ser una imagen.',
+ 'in' => 'El :attribute seleccionado no es válido.',
+ 'in_array' => 'El campo :attribute no existe en :other.',
+ 'integer' => ':attribute debe ser un entero.',
+ 'ip' => ':attribute debe ser una dirección IP válida.',
+ 'json' => 'El :attribute debe ser una cadena JSON válida.',
+ 'max' => [
+ 'numeric' => ':attribute no puede ser superior a :max.',
+ 'file' => ':attribute no puede ser mayor de :max kilobytes.',
+ 'string' => ':attribute no debe ser mayor a :max caracteres.',
+ 'array' => 'El :attribute no puede tener más de :max objetos.',
+ ],
+ 'mimes' => ':attribute debe ser un archivo con formato: :values.',
+ 'min' => [
+ 'numeric' => ':attribute debe tener al menos :min.',
+ 'file' => 'El :attribute debe tener al menos :min kilobytes.',
+ 'string' => ':attribute debe ser al menos :min caracteres.',
+ 'array' => ':attribute debe contener al menos :min elementos.',
+ ],
+ 'not_in' => 'El :attribute seleccionado no es válido.',
+ 'numeric' => ':attribute debe ser un número.',
+ 'present' => 'El campo :attribute debe estar presente.',
+ 'regex' => 'El formato :attribute es inválido.',
+ 'required' => 'El campo :attribute es requerido.',
+ 'required_if' => 'El campo :attribute se requiere cuando :other es :value.',
+ 'required_unless' => 'El campo :attribute es obligatorio a no ser que :other se encuentre en :values.',
+ 'required_with' => 'El campo del :attribute se requiere cuando :values es presente.',
+ 'required_with_all' => 'El campo del :attribute se requiere cuando :values es presente.',
+ 'required_without' => 'El campo :attribute es requerido cuando :values no está presente.',
+ 'required_without_all' => 'El campo :attribute se requiere cuando ninguno de :values están presentes.',
+ 'same' => ':attribute y :other deben coincidir.',
+ 'size' => [
+ 'numeric' => ':attribute debe ser :size.',
+ 'file' => 'El :attribute debe ser :size kilobytes.',
+ 'string' => 'El :attribute debe tener :size caracteres.',
+ 'array' => ':attribute debe contener :size elementos.',
+ ],
+ 'string' => ':attribute debe ser una cadena de texto.',
+ 'timezone' => 'El :attribute debe ser una zona válida.',
+ 'unique' => 'El :attribute ya ha sido usado.',
+ 'url' => 'El formato :attribute es inválido.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'mensaje-personalizado',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/fa-IR/cachet.php b/resources/lang/fa-IR/cachet.php
index fdeb04f1..03441682 100644
--- a/resources/lang/fa-IR/cachet.php
+++ b/resources/lang/fa-IR/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'هیچ حادثه ای گزارش نشده است',
- 'past' => 'حوادث گذشته',
- 'previous_week' => 'هفته گذشته',
- 'next_week' => 'هفته آینده',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'تعمیرات زمانبندی شده',
- 'scheduled_at' => '، برنامه ریزی شده :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'هیچ حادثه ای گزارش نشده است',
+ 'past' => 'حوادث گذشته',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'تعمیرات زمانبندی شده',
+ 'scheduled_at' => '، برنامه ریزی شده :timestamp',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
1 => 'در دست بررسی',
2 => 'شناسایی شده',
3 => 'در دست بررسی تغييرات',
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'مشترک شوید تا از آخرین بهروزرسانیها آگاه شوید',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'لغو عضویت در: لینک',
'button' => 'اشتراک اطلاعرسانی',
'manage' => [
'no_subscriptions' => 'در حال حاضر شما برای همه بهروزرسانیها مشترک هستید.',
diff --git a/resources/lang/fa-IR/dashboard.php b/resources/lang/fa-IR/dashboard.php
index bbd78361..60f2387f 100644
--- a/resources/lang/fa-IR/dashboard.php
+++ b/resources/lang/fa-IR/dashboard.php
@@ -16,7 +16,7 @@ return [
// Incidents
'incidents' => [
- 'title' => 'Incidents & Schedule',
+ 'title' => 'Incidents & Schedule',
'incidents' => 'Incidents',
'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
'incident-create-template' => 'ایجاد قالب',
@@ -39,6 +39,7 @@ return [
'update' => [
'title' => 'Create new incident update',
'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
],
// Incident templates
@@ -170,7 +171,7 @@ return [
'team' => 'Team',
'member' => 'Member',
'profile' => 'Profile',
- 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
'add' => [
'title' => 'اضافه کردن یک عضو به تیم',
'success' => 'عضو تیم اضافه شد.',
diff --git a/resources/lang/fa-IR/forms.php b/resources/lang/fa-IR/forms.php
new file mode 100644
index 00000000..2b395579
--- /dev/null
+++ b/resources/lang/fa-IR/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'ایمیل',
+ 'username' => 'نامکاربری',
+ 'password' => 'رمزعبور',
+ 'site_name' => 'عنوان سایت',
+ 'site_domain' => 'دامین سایت',
+ 'site_timezone' => 'منطقه زمانی خود را انتخاب نمایید',
+ 'site_locale' => 'زبان خود را انتخاب کنید',
+ 'enable_google2fa' => 'فعال کردن ورود دو مرحلهای گوگل',
+ 'cache_driver' => 'درایور کش',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'درایور Session',
+ 'mail_driver' => 'درایور ایمیل (ارسال ایمیل)',
+ 'mail_host' => 'میزبان ایمیل',
+ 'mail_address' => 'آدرس ایمیل ارسال کننده',
+ 'mail_username' => 'نامکاربری ایمیل',
+ 'mail_password' => 'رمزعبور ایمیل',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'نامکاربری یا ایمیل',
+ 'email' => 'ایمیل',
+ 'password' => 'رمزعبور',
+ '2fauth' => 'کد احراز هویت',
+ 'invalid' => 'نامکاربری یا رمزعبور اشتباه است',
+ 'invalid-token' => 'توکن اشتباه است',
+ 'cookies' => 'شما باید کوکی مرورگر خود را فعال نمایید تا بتوانید وارد شوید.',
+ 'rate-limit' => 'تعداد درخواستها به حداکثر رسیده است.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'نام',
+ 'status' => 'وضعیت',
+ 'component' => 'کامپوننت',
+ 'message' => 'پیام',
+ 'message-help' => 'شاید شما بخواهید از Markdown نیز استفاده کنید.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'مشترکین مطلع شوند؟',
+ 'visibility' => 'نمایانی رویداد',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
+ 'public' => 'قابل مشاهده توسط عموم',
+ 'logged_in_only' => 'تنها برای کاربران وارد شده قابل مشاهده است',
+ 'templates' => [
+ 'name' => 'نام',
+ 'template' => 'قالب',
+ 'twig' => 'قالب رویدادها میتواند از زبان قالبسازی Twig پیروی کند.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'نام',
+ 'status' => 'وضعیت',
+ 'message' => 'پیام',
+ 'message-help' => 'شاید شما بخواهید از Markdown نیز استفاده کنید.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'نام',
+ 'template' => 'قالب',
+ 'twig' => 'قالب رویدادها میتواند از زبان قالبسازی Twig پیروی کند.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'نام',
+ 'status' => 'وضعیت',
+ 'group' => 'گروه',
+ 'description' => 'توضیحات',
+ 'link' => 'لینک',
+ 'tags' => 'تگها',
+ 'tags-help' => 'با کاما جدا شده.',
+ 'enabled' => 'کامپوننت فعال باشد؟',
+
+ 'groups' => [
+ 'name' => 'نام',
+ 'collapsing' => 'Expand/Collapse options',
+ 'visible' => 'همیشه به حالت باز باشد',
+ 'collapsed' => 'گروه به طور پیشفرض به صورت بسته باشد',
+ 'collapsed_incident' => 'گروه را بسته نگه دار، اما در صورتی که از نوع مشکل است باز کن',
+ 'visibility' => 'Visibility',
+ 'visibility_public' => 'Visible to public',
+ 'visibility_authenticated' => 'Visible only to logged in users',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'نام',
+ 'description' => 'توضیحات',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'گروه',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'نام',
+ 'suffix' => 'پسوند',
+ 'description' => 'توضیحات',
+ 'description-help' => 'شاید شما بخواهید از Markdown نیز استفاده کنید.',
+ 'display-chart' => 'نمودار در صفحه وضعیت نمایش داده شود؟',
+ 'default-value' => 'مقدار پیشفرض',
+ 'calc_type' => 'محاسبه معیارها',
+ 'type_sum' => 'جمع',
+ 'type_avg' => 'میانگین',
+ 'places' => 'اعشار',
+ 'default_view' => 'نمای پیش فرض',
+ 'threshold' => 'چند دقیقه از آستانه بین نقاط معیارها باشد؟',
+ 'visibility' => 'Visibility',
+ 'visibility_authenticated' => 'Visible to authenticated users',
+ 'visibility_public' => 'Visible to everybody',
+ 'visibility_hidden' => 'Always hidden',
+
+ 'points' => [
+ 'value' => 'مقدار',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'عنوان سایت',
+ 'site-url' => 'آدرس سایت',
+ 'display-graphs' => 'نمودار(گراف) در صفحه وضعیت نمایش داده شود؟',
+ 'about-this-page' => 'درباره این صفحه',
+ 'days-of-incidents' => 'چند روز از رویدادها نمایش داده شوند؟',
+ 'banner' => 'تصویر بنر',
+ 'banner-help' => 'پیشنهاد میشود که شما تصاویری با پهنای بیشتر از 930px آپلود نکنید.',
+ 'subscribers' => 'آیا به کاربران اجازه ثبتنام برای اعلانهای ایمیلی داده شود؟',
+ 'skip_subscriber_verification' => 'Skip verifying of users? (Be warned, you could be spammed)',
+ 'automatic_localization' => 'به صورت خودکار صفحه وضعیت به زبان مشاهدهکنندگان تغییر زبان دهد؟',
+ '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?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'کد آمارگیر گوگل',
+ 'analytics_gosquared' => 'کد آمارگیر GoSquared',
+ 'analytics_piwik_url' => 'آدرس آمارگیر Piwik (بدون //:http)',
+ 'analytics_piwik_siteid' => 'شناسه سایت Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'منطقهزمانی سایت',
+ 'site-locale' => 'زبان سایت',
+ 'date-format' => 'فرمت تاریخ',
+ 'incident-date-format' => 'فرمت استمپزمان (timestamp) رویداد',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'دامینهای مجاز',
+ 'allowed-domains-help' => 'جدا شده توسط کاما، دامینهایی که در بالا قرار دارند به صورت پیشفرض مجاز هستند.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'برگه style سفارشی',
+ ],
+ 'theme' => [
+ 'background-color' => 'رنگ پسزمینه',
+ 'background-fills' => 'پس زمینه پر (کامپوننتها، رویدادها، پایین صفحه)',
+ 'banner-background-color' => 'رنگ پسزمینه بنر',
+ 'banner-padding' => 'فاصلههای بنر',
+ 'fullwidth-banner' => 'آیا بنر با پهنای کامل فعال شود؟',
+ 'text-color' => 'رنگ متن',
+ 'dashboard-login' => 'کلید داشبود در پایین صفحه نمایش داده شود؟',
+ 'reds' => 'قرمز (مورد استفاده برای خطاها)',
+ 'blues' => 'آبی (مورد استفاده برای اطلاعات)',
+ 'greens' => 'سبز (مورد استفاده برای موفقیت)',
+ 'yellows' => 'زرد (مورد استفاده برای هشدار)',
+ 'oranges' => 'نارنجی (مورد استفاده برای اعلامیه)',
+ 'metrics' => 'پرکردن معیارها',
+ 'links' => 'لینکها',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'نامکاربری',
+ 'email' => 'ایمیل',
+ 'password' => 'رمزعبور',
+ 'api-token' => 'توکن API',
+ 'api-token-help' => 'ساختن مجدد توکن API دسترسی ابزارها و نرمافزارهای فعلی را به Cachet مسدود مینماید.',
+ 'gravatar' => 'تصویر پروفایل خود را در گراواتار تغییر دهید.',
+ 'user_level' => 'سطح کاربر',
+ 'levels' => [
+ 'admin' => 'مدیر',
+ 'user' => 'کاربر',
+ ],
+ '2fa' => [
+ 'help' => 'فعال کردن ورود دو مرحلهای امنیت حسابکاربری شما را افزایش میدهد. شما نیاز به دانلود نرمافزار Google Authenticator و یا یک نرمافزار مشابه را بر روی تلفنهمراه خود خواهید داشت. وقتی شما وارد سیستم شوید، از شما یک کدی که توسط این نرمافزار تولید شده است،درخواست میشود.',
+ ],
+ 'team' => [
+ 'description' => 'از اعضای تیم خود با وارد کردن ایمیل آنها در کادر زیر دعوت کنید.',
+ 'email' => 'ایمیل #:Id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'ﺍﻓﺰﻭﺩﻥ',
+ 'save' => 'ذخيره',
+ 'update' => 'بهروزرسانی',
+ 'create' => 'ساختن',
+ 'edit' => 'ويرايش',
+ 'delete' => 'حذف',
+ 'submit' => 'ارسال',
+ 'cancel' => 'انصراف',
+ 'remove' => 'حذف',
+ 'invite' => 'دعوت کردن',
+ 'signup' => 'نامنویسی',
+
+ // Other
+ 'optional' => '* اختیاری',
+];
diff --git a/resources/lang/fa-IR/notifications.php b/resources/lang/fa-IR/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/fa-IR/notifications.php
+++ b/resources/lang/fa-IR/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/fa-IR/pagination.php b/resources/lang/fa-IR/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/fa-IR/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/fa-IR/setup.php b/resources/lang/fa-IR/setup.php
new file mode 100644
index 00000000..b60bb020
--- /dev/null
+++ b/resources/lang/fa-IR/setup.php
@@ -0,0 +1,23 @@
+ 'نصب',
+ 'title' => 'نصب Cachet',
+ 'service_details' => 'جزئیات سرویس',
+ 'env_setup' => 'نصب محیط برنامه',
+ 'status_page_setup' => 'نصب صفحه وضعیت',
+ 'show_support' => 'پشتیبانی از Cachet نمایش داده شود؟',
+ 'admin_account' => 'حساب مدیر سیستم',
+ 'complete_setup' => 'تکمیل عملیات نصب',
+ 'completed' => 'Cachet با موفقیت تنظیم و راهاندازی شد!',
+ 'finish_setup' => 'رفتن به داشبورد',
+];
diff --git a/resources/lang/fa-IR/validation.php b/resources/lang/fa-IR/validation.php
new file mode 100644
index 00000000..8f819624
--- /dev/null
+++ b/resources/lang/fa-IR/validation.php
@@ -0,0 +1,122 @@
+ ':attribute باید پذیرفته شده باشد.',
+ 'active_url' => 'آدرس :attribute معتبر نیست.',
+ 'after' => 'مقدار :attribute باید یک تاریخ بعد از :date باشد.',
+ 'alpha' => 'مقدار :attribute باید فقط شامل حروف باشد.',
+ 'alpha_dash' => 'مقدار :attribute باید فقط شامل حروف، اعداد و خط فاصله باشد.',
+ 'alpha_num' => 'مقدار :attribute فقط باید شامل حروف و اعداد باشد.',
+ 'array' => 'مقدار :attribute باید به صورت آرایه باشد.',
+ 'before' => 'مقدار :attribute باید یک تاریخ قبل از :date باشد.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'تعداد :attribute باید بین :min و :max باشد.',
+ ],
+ '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.',
+ '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' => 'مقدار :attribute یک مقدار تکراری دارد.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute باید یک عکس باشد.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'مقدار :attribute در :other وجود ندارد.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => 'مقدار :attribute باید یک 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' => ':attribute نباید بیشتر از :max آیتم داشته باشد.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => 'حجم :attribute باید حداقل :min کیلوبایت باشد.',
+ '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' => ':attribute باید وجود داشته باشد.',
+ 'regex' => 'فرمت :attribute نامعتبر میباشد.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'فیلد :attribute اجباری است تا زمانی که :other در :values باشد.',
+ 'required_with' => 'فیلد :attribute اجباری است تا زمانی که :values وجود داشته باشد.',
+ 'required_with_all' => 'فیلد :attribute اجباری است تا زمانی که :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' => 'حجم :attribute باید به اندازه :size کیلوبایت باشد.',
+ 'string' => 'مقدار :attribute باید به اندازه :size کاراکتر باشد.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute باید دارای مقدار یک ناحیه معتبر باشد.',
+ 'unique' => ':attribute قبلا انتخاب شده است.',
+ 'url' => 'فرمت :attribute نامعتبر میباشد.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'پیام سفارشی',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/fi-FI/cachet.php b/resources/lang/fi-FI/cachet.php
index d5c1781b..f4831583 100644
--- a/resources/lang/fi-FI/cachet.php
+++ b/resources/lang/fi-FI/cachet.php
@@ -14,7 +14,7 @@ return [
'components' => [
'last_updated' => 'Viimeksi päivitetty :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Tuntematon',
1 => 'Toiminnassa',
2 => 'Suorituskykyyn liittyviä ongelmia',
3 => 'Osittainen katkos',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Ei raportoitavia tapauksia',
- 'past' => 'Aikaisemmat tapahtumat',
- 'previous_week' => 'Edellinen viikko',
- 'next_week' => 'Seuraava viikko',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Ajastettu tapahtuma',
- 'scheduled_at' => ', ajoitettu :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'Ei raportoitavia tapauksia',
+ 'past' => 'Aikaisemmat tapahtumat',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'Ajastettu tapahtuma',
+ 'scheduled_at' => ', ajoitettu :timestamp',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
1 => 'Tutkitaan',
2 => 'Tunnistettu',
3 => 'Valvotaan',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
+ 0 => 'Tulossa',
1 => 'In Progress',
- 2 => 'Complete',
+ 2 => 'Valmis',
],
],
diff --git a/resources/lang/fi-FI/dashboard.php b/resources/lang/fi-FI/dashboard.php
new file mode 100644
index 00000000..c880668a
--- /dev/null
+++ b/resources/lang/fi-FI/dashboard.php
@@ -0,0 +1,293 @@
+ 'Hallintanäkymä',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Tapahtumat & ajastaminen',
+ 'incidents' => 'Tapahtumat',
+ 'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
+ 'incident-create-template' => 'Luo mallipohja',
+ 'incident-templates' => 'Tapahtumamalli',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Ilmoita tapahtuma',
+ 'success' => 'Tapahtuma lisätty.',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Muokkaa tapahtumaa',
+ 'success' => 'Tapahtuma päivitetty.',
+ 'failure' => 'There was an error editing the incident, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Tapaus on poistettu ja ei näytetä tila-sivulla.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Luo tapahtuma malli',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Tapahtumamalli',
+ 'add' => [
+ 'title' => 'Luo uusi tapahtuma malli',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Muokkaa sivupohjaa',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Ajastettu tapahtuma',
+ 'logged' => '{0} Täälä ei ole ajastettuja tapahtumia, hyvää työtä | Olet ajastanut yhden tapahtuman | Olet ajastanut :count tapahtumia.',
+ 'scheduled_at' => 'Ajastettu :timestamp alkaen',
+ 'add' => [
+ 'title' => 'Lisää ajastettu tapahtuma',
+ 'success' => 'Ajastus lisätty.',
+ 'failure' => 'Jokin meni pielen lisättäessä aikataulua, yritäthän uudelleen.',
+ ],
+ 'edit' => [
+ 'title' => 'Muokkaa ajastettua tapahtumaa',
+ 'success' => 'Aikataulu päivitettiin!',
+ 'failure' => 'Jokin meni pieleen muokattaessa aikataulua, yritäthän uudelleen.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Komponentit',
+ 'component_statuses' => 'Komponenttien tilat',
+ 'listed_group' => 'Ryhmitetään :name alle',
+ 'add' => [
+ 'title' => 'Lisää komponentti',
+ 'message' => 'Sinun tulisi lisätä uusi komponentti.',
+ 'success' => 'Komponentti on luotu.',
+ 'failure' => 'Jokin meni vikaa luodessa komponenttia, ole hyvä ja yritä uudelleen.',
+ ],
+ 'edit' => [
+ 'title' => 'Muokkaa komponenttia',
+ 'success' => 'Komponentti päivitetty.',
+ 'failure' => 'Jokin meni vikaa luodessa komponenttia, ole hyvä ja yritä uudelleen.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponentti on poistettu!',
+ 'failure' => 'Komponenttia ei voitu poistaa, ole hyvä ja yritä uudelleen.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Komponenttiryhmä|Komponenttirymät',
+ 'no_components' => 'Sinun tulisi lisätä komponentti ryhmä.',
+ 'add' => [
+ 'title' => 'Lisää komponentti-ryhmä',
+ 'success' => 'Komponenti ryhmä lisätty.',
+ 'failure' => 'Jokin meni vikaa luodessa komponenttia, ole hyvä ja yritä uudelleen.',
+ ],
+ 'edit' => [
+ 'title' => 'Muokkaa komponentti ryhmää',
+ 'success' => 'Komponentti ryhmä päivitetty.',
+ 'failure' => 'Jokin meni vikaa luodessa komponenttia, ole hyvä ja yritä uudelleen.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponentti ryhmä poistettu!',
+ 'failure' => 'Komponenttiryhmää ei voitu poistaa, ole hyvä ja yritä uudelleen.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Mittarit',
+ 'add' => [
+ 'title' => 'Luo kaavio',
+ 'message' => 'Sinun tulisi lisätä kaavio.',
+ 'success' => 'Metriikka luotu.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Muokkaa kaaviota',
+ 'success' => 'Metriikka päivitetty.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Tilaajat',
+ 'description' => 'Tilaajat saavat sähköposti päivityksiä kun tapahtumia luodaan tai komponentteja päivitetään.',
+ 'verified' => 'Vahvistettu',
+ 'not_verified' => 'Ei todennettu',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Tilaa kaikki päivitykset',
+ 'add' => [
+ 'title' => 'Lisää uusi tilaaja',
+ 'success' => 'Tilaaja lisätty.',
+ 'failure' => 'Jotakin meni vikaan lisäessä uutta tilaajaa, ole hyvä ja yritä uudelleen.',
+ 'help' => 'Syötä jokaisen tilajan sähköpostiosoite uudelle riville.',
+ ],
+ 'edit' => [
+ 'title' => 'Päivitä tilaaja',
+ 'success' => 'Tilaajan tiedot on pävitetty!',
+ 'failure' => 'Jotakin meni vikaan lisätessä uusia tilaajia, ole hyvä ja yritä uudelleen.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Ryhmä',
+ 'member' => 'Jäsen',
+ 'profile' => 'Profiili',
+ 'description' => 'Käyttäjä voi luoda, muokata & komponentteja ja tapahtumia.',
+ 'add' => [
+ 'title' => 'Lisää uusi käyttäjä',
+ 'success' => 'Käyttäjä on lisätty.',
+ 'failure' => 'Käyttäjää ei voitu luoda, ole hyvä ja yritä uudelleen.',
+ ],
+ 'edit' => [
+ 'title' => 'Päivitä profiili',
+ 'success' => 'Profiili on päivitetty.',
+ 'failure' => 'Jokin meni vikaan päivittäessä profiilia, ole hyvä ja yritä uudelleen.',
+ ],
+ 'delete' => [
+ 'success' => 'Käyttäjä on poistettu ja ei ole enään pääsyä hallintapaneeliin!',
+ 'failure' => 'Käyttäjää ei voitu luoda, ole hyvä ja yritä uudelleen.',
+ ],
+ 'invite' => [
+ 'title' => 'Kutsu uusi käyttäjä',
+ 'success' => 'Kutsu on lähetetty',
+ 'failure' => 'Kutsua ei voitu lähettää, ole hyvä ja yritä uudelleen.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Asetukset',
+ 'app-setup' => [
+ 'app-setup' => 'Sovelluksen asetukset',
+ 'images-only' => 'Vain kuvia voi lähettää.',
+ 'too-big' => 'Lähettämäsi tiedosto on liian suuri. Lähetä pienempi kuva kuin :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytiikka',
+ ],
+ 'log' => [
+ 'log' => 'Loki',
+ ],
+ 'localization' => [
+ 'localization' => 'Sijainti',
+ ],
+ 'customization' => [
+ 'customization' => 'Mukauttaminen',
+ 'header' => 'Mukautettu ylätunniste HTML',
+ 'footer' => 'Mukautettu alatunniste HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Turvallisuus',
+ 'two-factor' => 'Käyttäjät ilman kaksivaiheista todennusta',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Teema',
+ ],
+ 'edit' => [
+ 'success' => 'Asetukset tallennettu.',
+ 'failure' => 'Asetuksia ei voitu tallentaa.',
+ ],
+ 'credits' => [
+ 'credits' => 'Tekijät',
+ 'contributors' => 'Kehittäjät',
+ 'license' => 'Cachet on BSD-3-lisenssillä varustettu avoimen lähdekoodin projekti, julkaustu Alt Three Services Limited.',
+ 'backers-title' => 'Tukijoita & sponsorit',
+ 'backers' => 'Jos haluat tukea kehitystä, katso Cachet Patreon kampanjaa.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Kirjaudu',
+ 'logged_in' => 'Olet kirjautunut sisään.',
+ 'welcome' => 'Tervetuloa takaisin!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Tuki',
+ 'status_page' => 'Tila-sivu',
+ 'logout' => 'Kirjaudu ulos',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Ilmoitukset',
+ 'awesome' => 'Mahtavaa.',
+ 'whoops' => 'Hupsis.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Tue Cachet:iä',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Viimeisimmät uutiset',
+ 'news_subtitle' => 'Hanki uusin päivitys',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Tervetuloa tila-sivulle!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'Siirry suoraan hallintapaneeliin',
+ 'steps' => [
+ 'component' => 'Luo uusi komponentti',
+ 'incident' => 'Luo uusi tapahtuma',
+ 'customize' => 'Muokkaa',
+ 'team' => 'Lisää käyttäjä',
+ 'api' => 'Luo API tunnus',
+ 'two-factor' => 'Kaksivaiheinen todennus',
+ ],
+ ],
+
+];
diff --git a/resources/lang/fi-FI/forms.php b/resources/lang/fi-FI/forms.php
new file mode 100644
index 00000000..feafeb3b
--- /dev/null
+++ b/resources/lang/fi-FI/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Sähköposti',
+ 'username' => 'Käyttäjätunnus',
+ 'password' => 'Salasana',
+ 'site_name' => 'Sivuston Nimi',
+ 'site_domain' => 'Sivuston verkkotunnus',
+ 'site_timezone' => 'Valitse aikavyöhykkeesi',
+ 'site_locale' => 'Valitse kielesi',
+ 'enable_google2fa' => 'Ota käyttöön Googlen kaksivaiheisen todennus',
+ 'cache_driver' => 'Välimuistin ajuri',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Istunnon ajuri',
+ 'mail_driver' => 'Sähköposti ajuri',
+ 'mail_host' => 'Sähköposti isäntä',
+ 'mail_address' => 'Sähköpostin lähettäjäosoite',
+ 'mail_username' => 'Sähköpostin käyttäjänimi',
+ 'mail_password' => 'Sähköpostin salasana',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Käyttäjänimi tai sähköpostiosoite',
+ 'email' => 'Sähköposti',
+ 'password' => 'Salasana',
+ '2fauth' => 'Todennuskoodi',
+ 'invalid' => 'Virheellinen käyttäjätunnus tai salasana',
+ 'invalid-token' => 'Istuntokohtainen avain ei kelpaa',
+ 'cookies' => 'Ota käyttöön evästeet kirjautuaksesi.',
+ 'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Nimi',
+ 'status' => 'Tila',
+ 'component' => 'Komponentti',
+ 'message' => 'Viesti',
+ 'message-help' => 'You may also use Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Ilmoita tilaajille?',
+ 'visibility' => 'Tapahtuman näkyvyys',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
+ 'public' => 'Näytetään julkisesti',
+ 'logged_in_only' => 'Näytetään vain kirjautuneille käyttäjille',
+ 'templates' => [
+ 'name' => 'Nimi',
+ 'template' => 'Malli',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Nimi',
+ 'status' => 'Tila',
+ 'message' => 'Viesti',
+ 'message-help' => 'You may also use Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Nimi',
+ 'template' => 'Malli',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Nimi',
+ 'status' => 'Tila',
+ 'group' => 'Ryhmä',
+ 'description' => 'Kuvaus',
+ 'link' => 'Linkki',
+ 'tags' => 'Tunnisteet',
+ 'tags-help' => 'Erottele pilkuilla.',
+ 'enabled' => 'Komponentti käytössä?',
+
+ 'groups' => [
+ 'name' => 'Nimi',
+ 'collapsing' => 'Laajenna tai tiivistä asetukset',
+ 'visible' => 'Aina laajennettu',
+ 'collapsed' => 'Tiivistä ryhmä oletuksena',
+ 'collapsed_incident' => 'Tiivistä ryhmä, mutta laajenna kun on tapahtumia',
+ 'visibility' => 'Näkyvyys',
+ 'visibility_public' => 'Julkinen näkyvyys',
+ 'visibility_authenticated' => 'Näkyvissä vain kirjautuneille käyttäjille',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nimi',
+ 'description' => 'Kuvaus',
+ 'start_at' => 'Ajasta alkamisaika',
+ 'timezone' => 'Aikavyöhyke',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Ryhmä',
+ 'active' => 'Aktiivinen?',
+ 'groups' => [
+ 'name' => 'Ryhmänimi',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Nimi',
+ 'suffix' => 'Pääte',
+ 'description' => 'Kuvaus',
+ 'description-help' => 'You may also use Markdown.',
+ 'display-chart' => 'Näytetäänkö kaaviot tila-sivulla?',
+ 'default-value' => 'Oletusarvo',
+ 'calc_type' => 'Calculation of metrics',
+ 'type_sum' => 'Summa',
+ 'type_avg' => 'Keskiarvo',
+ 'places' => 'Desimaalipilkun paikka',
+ 'default_view' => 'Oletusnäkymä',
+ 'threshold' => 'How many minutes of threshold between metric points?',
+ 'visibility' => 'Näkyvyys',
+ 'visibility_authenticated' => 'Visible to authenticated users',
+ 'visibility_public' => 'Visible to everybody',
+ 'visibility_hidden' => 'Always hidden',
+
+ 'points' => [
+ 'value' => 'Arvo',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Sivuston Nimi',
+ 'site-url' => 'Sivuston URL-osoite',
+ 'display-graphs' => 'Näyttää kaaviot tila-sivulla?',
+ 'about-this-page' => 'Tietoa tästä sivustosta',
+ 'days-of-incidents' => 'Monenko päivän ajalta tapaukset näytetään?',
+ 'banner' => 'Bannerikuva',
+ 'banner-help' => 'On suositeltavaa, ettet lataa yli 930px leveitä kuvia.',
+ 'subscribers' => 'Salli käyttäjien tilata sähköpostitilaukset?',
+ 'skip_subscriber_verification' => 'Skip verifying of users? (Be warned, you could be spammed)',
+ 'automatic_localization' => 'Lokalisoidaanko statussivu automaattisesti kävijän kielen mukaan?',
+ 'enable_external_dependencies' => 'Enable Third Party Dependencies (Google Fonts, Trackers, etc...)',
+ 'show_timezone' => 'Näytä aikavyöhyke tilat sivulla.',
+ 'only_disrupted_days' => 'Only show days containing incidents in the timeline?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Google Analytics seurantakoodi',
+ 'analytics_gosquared' => 'GoSquared Analytics-koodi',
+ 'analytics_piwik_url' => 'URL Piwik hallintaan (ilman http(s)://)',
+ 'analytics_piwik_siteid' => 'Piwik sivun tunnus',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Sivuston aikavyöhyke',
+ 'site-locale' => 'Sivuston kieli',
+ 'date-format' => 'Päivämäärän muoto',
+ 'incident-date-format' => 'Tapauksen aikaleiman muoto',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Sallittu toimialueet',
+ 'allowed-domains-help' => 'Pilkulla erotettuna. Edellä olevat toimialueet sallitaan automaattisesti oletuksena.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Mukautettu tyylisivu',
+ ],
+ 'theme' => [
+ 'background-color' => 'Taustaväri',
+ 'background-fills' => 'Taustaväri (komponentit, tapaukset, alatunniste)',
+ 'banner-background-color' => 'Bannerin taustaväri',
+ 'banner-padding' => 'Bannerin tyhjä tila',
+ 'fullwidth-banner' => 'Käytetäänkö täyslevyistä banneria?',
+ 'text-color' => 'Tekstin väri',
+ 'dashboard-login' => 'Näytetäänkö hallintanäkymän linkki alatunnisteessa?',
+ 'reds' => 'Punainen (virheilmoituksia varten)',
+ 'blues' => 'Sininen (käytetään infoteksteissä)',
+ 'greens' => 'Vihreä (käytetään onnistumisen merkiksi)',
+ 'yellows' => 'Keltainen (käytetään varoituksissa)',
+ 'oranges' => 'Oranssi (käytetään huomautuksissa)',
+ 'metrics' => 'Metrics fill',
+ 'links' => 'Linkit',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Käyttäjätunnus',
+ 'email' => 'Sähköposti',
+ 'password' => 'Salasana',
+ 'api-token' => 'API tunnus',
+ 'api-token-help' => 'API-avaimen uudelleenluominen estää olemassa olevia sovelluksia käyttämästä Cachetia.',
+ 'gravatar' => 'Muuta profiilikuvaa Gravatar palvelussa.',
+ 'user_level' => 'Käyttäjätaso',
+ 'levels' => [
+ 'admin' => 'Ylläpito',
+ 'user' => 'Käyttäjä',
+ ],
+ '2fa' => [
+ 'help' => 'Ottamalla kaksivaiheisen todennuksen käyttöön parantaaksesi turvallisuutta käyttäjätilillesi. Sinun tulee ladata Google Authenticator sovellus tai vastaava puhelimeesi. Kun kirjaudut, sinua pyydetään antamaan koodi sovelluksesta.',
+ ],
+ 'team' => [
+ 'description' => 'Kutsu ryhmääsi jäseniä antamalla heidän sähköpostiosoitteensa täällä.',
+ 'email' => 'Sähköposti #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Valitse aikavyöhyke',
+ ],
+
+ // Buttons
+ 'add' => 'Lisää',
+ 'save' => 'Tallenna',
+ 'update' => 'Päivitä',
+ 'create' => 'Luo',
+ 'edit' => 'Muokkaa',
+ 'delete' => 'Poista',
+ 'submit' => 'Lähetä',
+ 'cancel' => 'Peruuta',
+ 'remove' => 'Poista',
+ 'invite' => 'Kutsu',
+ 'signup' => 'Rekisteröidy',
+
+ // Other
+ 'optional' => '* Valinnainen',
+];
diff --git a/resources/lang/fi-FI/notifications.php b/resources/lang/fi-FI/notifications.php
new file mode 100644
index 00000000..6a65c6bd
--- /dev/null
+++ b/resources/lang/fi-FI/notifications.php
@@ -0,0 +1,108 @@
+ [
+ 'status_update' => [
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ ],
+ ],
+ 'incident' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
+ ],
+ 'update' => [
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
+ ],
+ ],
+ 'schedule' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
+ ],
+ ],
+ 'subscriber' => [
+ 'verify' => [
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
+ ],
+ ],
+ 'system' => [
+ 'test' => [
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
+ ],
+ ],
+ 'user' => [
+ 'invite' => [
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
+ ],
+ ],
+];
diff --git a/resources/lang/fi-FI/pagination.php b/resources/lang/fi-FI/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/fi-FI/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/fi-FI/setup.php b/resources/lang/fi-FI/setup.php
new file mode 100644
index 00000000..b3b39881
--- /dev/null
+++ b/resources/lang/fi-FI/setup.php
@@ -0,0 +1,23 @@
+ 'Asetukset',
+ 'title' => 'Asenna Cachet',
+ 'service_details' => 'Service Details',
+ 'env_setup' => 'Environment Setup',
+ 'status_page_setup' => 'Sivun asetukset',
+ 'show_support' => 'Show support for Cachet?',
+ 'admin_account' => 'Järjestelmänvalvojantili',
+ 'complete_setup' => 'Complete Setup',
+ 'completed' => 'Välimuisti on konfiguroitu onnistuneesti!',
+ 'finish_setup' => 'Siirry hallintapaneeliin',
+];
diff --git a/resources/lang/fi-FI/validation.php b/resources/lang/fi-FI/validation.php
new file mode 100644
index 00000000..aaa26f23
--- /dev/null
+++ b/resources/lang/fi-FI/validation.php
@@ -0,0 +1,122 @@
+ 'The :attribute must be accepted.',
+ 'active_url' => ':attribute ei ole kelvollinen URL-osoite.',
+ 'after' => 'The :attribute must be a date after :date.',
+ 'alpha' => ':attribute voi sisältää vain kirjaimia.',
+ '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.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => 'Määritteen :attribute arvon on oltava kelvollinen JSON-merkkijono.',
+ '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.',
+ ],
+ '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.',
+ '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' => 'Määritteen :attribute muoto on virheellinen.',
+ '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_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.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => 'The :attribute must be a valid zone.',
+ 'unique' => 'Määrite :attribute on jo käytetty.',
+ 'url' => 'Määritteen :attribute muoto on virheellinen.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'mukautettu viesti',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/fr-FR/cachet.php b/resources/lang/fr-FR/cachet.php
index 81c5c9b8..bc511f66 100644
--- a/resources/lang/fr-FR/cachet.php
+++ b/resources/lang/fr-FR/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Aucun incident signalé',
- 'past' => 'Incidents antérieurs',
- 'previous_week' => 'Semaine précédente',
- 'next_week' => 'Semaine suivante',
- 'stickied' => 'Incidents épinglés',
- 'scheduled' => 'Maintenance Planifiée',
- 'scheduled_at' => ', planifé à :timestamp',
- 'posted' => 'Posté à :timestamp',
- 'status' => [
+ 'none' => 'Aucun incident signalé',
+ 'past' => 'Incidents antérieurs',
+ 'stickied' => 'Incidents épinglés',
+ 'scheduled' => 'Maintenance Planifiée',
+ 'scheduled_at' => ', planifé à :timestamp',
+ 'posted' => 'Posté à :timestamp',
+ 'status' => [
1 => 'Enquête en cours',
2 => 'Identifié',
3 => 'Sous surveillance',
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Abonnez-vous pour obtenir les dernières mises à jour.',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Se désinscrire par :link',
'button' => 'S\'abonner',
'manage' => [
'no_subscriptions' => 'Vous êtes actuellement abonné à toutes les mises à jour.',
diff --git a/resources/lang/fr-FR/dashboard.php b/resources/lang/fr-FR/dashboard.php
new file mode 100644
index 00000000..c4ce506b
--- /dev/null
+++ b/resources/lang/fr-FR/dashboard.php
@@ -0,0 +1,293 @@
+ 'Tableau de bord',
+ 'writeable_settings' => 'Le dossier des paramètres de Cachet n\'est pas accessible en écriture. Veuillez vous assurer que le serveur web peut écrire dans ./bootstrap/cachet.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidents & Planification',
+ 'incidents' => 'Incidents',
+ 'logged' => '{0} Aucun incident, bon travail.|Vous avez un incident signalé.|Vous avez :count incidents signalés.',
+ 'incident-create-template' => 'Créer un modèle',
+ 'incident-templates' => 'Modèles d\'incident',
+ 'updates' => '{0} Aucune mise à jour|Une mise à jour|:count mises à jour',
+ 'add' => [
+ 'title' => 'Ajouter un incident',
+ 'success' => 'Incident ajouté.',
+ 'failure' => 'Une erreur s\'est produite en ajoutant l\'incident, veuillez réessayer.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifier un incident',
+ 'success' => 'Incident mis à jour.',
+ 'failure' => 'Une erreur s\'est produite en modifiant l\'incident, veuillez réessayer.',
+ ],
+ 'delete' => [
+ 'success' => 'L\'incident a été supprimé et ne sera pas affiché sur votre page de statut.',
+ 'failure' => 'L\'incident n\'a pas pu être supprimé. Veuillez réessayer.',
+ ],
+ 'update' => [
+ 'title' => 'Créer une mise à jour d\'incident',
+ 'subtitle' => 'Ajouter une mise à jour à :incident',
+ 'success' => 'Mise à jour ajoutée.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Modèles d\'incident',
+ 'add' => [
+ 'title' => 'Créer un modèle d\'incident',
+ 'message' => 'Vous devriez ajouter un modèle d\'incident.',
+ 'success' => 'Votre nouveau modèle d\'incident a été créé.',
+ 'failure' => 'Une erreur est survenue avec le modèle d\'incident.',
+ ],
+ 'edit' => [
+ 'title' => 'Éditer le modèle',
+ 'success' => 'Le modèle d\'incident a été mis à jour.',
+ 'failure' => 'Une erreur est survenue lors de la mise à jour du modèle d\'incident',
+ ],
+ 'delete' => [
+ 'success' => 'Le modèle d\'incident a été supprimé.',
+ 'failure' => 'Le modèle d\'incident n\'a pas pu être supprimé. Veuillez réessayer.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Maintenance Planifiée',
+ 'logged' => '{0} Aucune maintenance en cours, félicitations.|Vous avez une maintenance planifiée.|Vous avez :count maintenances planifiées.',
+ 'scheduled_at' => 'Planifiée à :timestamp',
+ 'add' => [
+ 'title' => 'Ajouter une maintenance planifiée',
+ 'success' => 'Planification ajoutée.',
+ 'failure' => 'Une erreur est survenue lors de l\'ajout de la planification, veuillez réessayer.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifier la maintenance planifiée',
+ 'success' => 'La planification a été mise à jour !',
+ 'failure' => 'Une erreur est survenue lors de l\'édition de la planification.',
+ ],
+ 'delete' => [
+ 'success' => 'La planification a été supprimée et ne sera pas affichée sur votre page de statut.',
+ 'failure' => 'La maintenance planifiée n\'a pas pu être supprimée. Veuillez réessayer.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Composants',
+ 'component_statuses' => 'Statut des composants',
+ 'listed_group' => 'Groupés par :nom',
+ 'add' => [
+ 'title' => 'Ajouter un composant',
+ 'message' => 'Vous devez ajouter un composant.',
+ 'success' => 'Composant créé.',
+ 'failure' => 'Un problème est survenu avec le composant. Veuillez réessayer.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifier un composant',
+ 'success' => 'Composant mis à jour.',
+ 'failure' => 'Un problème est survenu avec le composant. Veuillez réessayer.',
+ ],
+ 'delete' => [
+ 'success' => 'Le composant a été supprimé !',
+ 'failure' => 'Le composant n\'a pas pu être supprimé. Veuillez réessayer.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Groupe de composants|Groupes de composants',
+ 'no_components' => 'Vous devez ajouter un groupe de composants.',
+ 'add' => [
+ 'title' => 'Ajouter un groupe de composants',
+ 'success' => 'Groupe de composants ajouté.',
+ 'failure' => 'Un problème est survenu avec le composant. Veuillez réessayer.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifier un groupe de composants',
+ 'success' => 'Groupe de composants mis à jour.',
+ 'failure' => 'Un problème est survenu avec le composant. Veuillez réessayer.',
+ ],
+ 'delete' => [
+ 'success' => 'Le groupe de composants a été supprimé !',
+ 'failure' => 'Le groupe de composants n\'a pas pu être supprimé. Veuillez réessayer.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Indicateur',
+ 'add' => [
+ 'title' => 'Créer une métrique',
+ 'message' => 'Vous devez ajouter un indicateur.',
+ 'success' => 'Indicateur créé.',
+ 'failure' => 'Une erreur est survenue avec l\'indicateur. Veuillez réessayer.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifier une métrique',
+ 'success' => 'Indicateur mise à jour.',
+ 'failure' => 'Une erreur est survenue avec l\'indicateur. Veuillez réessayer.',
+ ],
+ 'delete' => [
+ 'success' => 'La métrique a été supprimé et ne sera plus visible sur votre page de statut.',
+ 'failure' => 'L\'indicateur n\'a pas pu être supprimé. Veuillez réessayer.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Abonnés',
+ 'description' => 'Les abonnés recevront des notifications par e-mail lorsque des incidents sont créés ou des composants sont mis à jour.',
+ 'verified' => 'Vérifié',
+ 'not_verified' => 'Non vérifié',
+ 'subscriber' => ':email, abonné à :date',
+ 'no_subscriptions' => 'Souscrire à toutes les mises à jour',
+ 'add' => [
+ 'title' => 'Ajouter un abonné',
+ 'success' => 'L\'abonné a été ajouté !',
+ 'failure' => 'Une erreur s\'est produite lors de l\'ajout de l\'abonné. Veuillez réessayer.',
+ 'help' => 'Saisissez un abonné par ligne.',
+ ],
+ 'edit' => [
+ 'title' => 'Mettre à jour l\'abonné',
+ 'success' => 'L\'abonné a été mis à jour !',
+ 'failure' => 'Une erreur s\'est produite lors de la modification de l\'abonné. Veuillez réessayer.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Équipe',
+ 'member' => 'Membre',
+ 'profile' => 'Profil utilisateur',
+ 'description' => 'Les membres de l\'équipe pourront ajouter & modifier les composants et les incidents.',
+ 'add' => [
+ 'title' => 'Ajouter un nouveau membre de l\'équipe',
+ 'success' => 'Membre de l\'équipe a ajouté.',
+ 'failure' => 'Le membre de l\'équipe n\'a pas pu être ajouté. Veuillez réessayer.',
+ ],
+ 'edit' => [
+ 'title' => 'Mettre le profil à jour',
+ 'success' => 'Profil mis à jour.',
+ 'failure' => 'Une erreur s\'est produite lors de la mise à jour du profil. Veuillez réessayer.',
+ ],
+ 'delete' => [
+ 'success' => 'Le membre de l\'équipe a été supprimé et n\'aura plus l\'accès au tableau de bord !',
+ 'failure' => 'Le membre de l\'équipe n\'a pas pu être ajouté. Veuillez réessayer.',
+ ],
+ 'invite' => [
+ 'title' => 'Inviter un nouveau membre de l\'équipe',
+ 'success' => 'Nouveau membre invité.',
+ 'failure' => 'L\'invitation n\'a pas pu être envoyé. Veuillez réessayer.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Paramètres',
+ 'app-setup' => [
+ 'app-setup' => 'Configuration de l\'application',
+ 'images-only' => 'Seules les images peuvent être envoyées.',
+ 'too-big' => 'Le fichier envoyé est trop grand. Envoyer une image d\'une taille inférieur à :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localisation',
+ ],
+ 'customization' => [
+ 'customization' => 'Personnalisation',
+ 'header' => 'Entête HTML personnalisé',
+ 'footer' => 'Pied de page HTML personnalisé',
+ ],
+ 'mail' => [
+ 'mail' => 'Courrier',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Tester la notification depuis Cachet',
+ 'body' => 'Voici un test de notification depuis Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Sécurité',
+ 'two-factor' => 'Utilisateurs sans authentification à deux facteurs',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Feuille de style',
+ ],
+ 'theme' => [
+ 'theme' => 'Thème',
+ ],
+ 'edit' => [
+ 'success' => 'Paramètres sauvegardés.',
+ 'failure' => 'Les paramètres n\'ont pas pu être sauvegardés.',
+ ],
+ 'credits' => [
+ 'credits' => 'Crédits',
+ 'contributors' => 'Contributeurs',
+ 'license' => 'Cachet est un logiciel libre sous licence BSD-3 édité par Alt Three Services Limited.',
+ 'backers-title' => 'Partenaires financiers et sponsors',
+ 'backers' => 'Si vous souhaitez aider des développements futurs jetez un œil à la campagne Cachet Patreon.',
+ 'thank-you' => 'Merci à chacun des :count contributeurs.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Connexion',
+ 'logged_in' => 'Vous êtes connecté.',
+ 'welcome' => 'Re-bonjour !',
+ 'two-factor' => 'Veuillez entrer votre jeton.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Aide',
+ 'status_page' => 'Page de statut',
+ 'logout' => 'Déconnexion',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifications',
+ 'awesome' => 'Fantastique.',
+ 'whoops' => 'Oups.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Supportez Cachet',
+ 'support_subtitle' => 'Jetez un œil à la page Patreon!',
+ 'news' => 'Dernières actualités',
+ 'news_subtitle' => 'Obtenez les dernières mises à jour',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Bienvenue sur votre page de statut !',
+ 'message' => 'Votre page de statut est presque prête ! Vous voudrez peut-être configurer ces paramètres supplémentaires',
+ 'close' => 'Aller directement à mon tableau de bord',
+ 'steps' => [
+ 'component' => 'Créer des composants',
+ 'incident' => 'Créer des incidents',
+ 'customize' => 'Personnaliser',
+ 'team' => 'Ajouter des utilisateurs',
+ 'api' => 'Générer un jeton API',
+ 'two-factor' => 'Authentification à deux facteurs',
+ ],
+ ],
+
+];
diff --git a/resources/lang/fr-FR/forms.php b/resources/lang/fr-FR/forms.php
new file mode 100644
index 00000000..4ad07ec7
--- /dev/null
+++ b/resources/lang/fr-FR/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Adresse e-mail',
+ 'username' => 'Nom d\'utilisateur',
+ 'password' => 'Mot de passe ',
+ 'site_name' => 'Nom du site',
+ 'site_domain' => 'Nom de domaine du site',
+ 'site_timezone' => 'Choisissez votre fuseau horaire',
+ 'site_locale' => 'Sélectionner votre langue',
+ 'enable_google2fa' => 'Activer l\'authentification à deux facteurs de Google',
+ 'cache_driver' => 'Gestionnaire de cache',
+ 'queue_driver' => 'Pilote de fil',
+ 'session_driver' => 'Gestionnaire de session',
+ 'mail_driver' => 'Gestionnaire de mail',
+ 'mail_host' => 'Serveur de mail',
+ 'mail_address' => 'Adresse de l\'expéditeur du mail',
+ 'mail_username' => 'Nom d\'utilisateur de mail',
+ 'mail_password' => 'Mot de passe du serveur de mail',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Nom d\'utilisateur ou e-mail',
+ 'email' => 'Adresse e-mail',
+ 'password' => 'Mot de passe ',
+ '2fauth' => 'Code d\'authentification',
+ 'invalid' => 'Nom d\'utilisateur ou mot de passe incorrect',
+ 'invalid-token' => 'Jeton invalide',
+ 'cookies' => 'Vous devez activer les cookies pour vous connecter.',
+ 'rate-limit' => 'Limite de tentatives atteinte.',
+ 'remember_me' => 'Se souvenir de moi',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Nom',
+ 'status' => 'Statut',
+ 'component' => 'Composant',
+ 'message' => 'Message',
+ 'message-help' => 'Vous pouvez également utiliser le format Markdown.',
+ 'occurred_at' => 'Quand s\'est produit cet incident ?',
+ 'notify_subscribers' => 'Notifier les abonnés ?',
+ 'visibility' => 'Visibilité de l\'incident',
+ 'stick_status' => 'Incident épinglé',
+ 'stickied' => 'Épinglé',
+ 'not_stickied' => 'Non épinglé',
+ 'public' => 'Visible par le public',
+ 'logged_in_only' => 'Uniquement visible par les utilisateurs enregistrés',
+ 'templates' => [
+ 'name' => 'Nom',
+ 'template' => 'Modèle',
+ 'twig' => 'Vous pouvez utiliser Twig pour créer des modèles par langues pour les modèles d\'incidents.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Nom',
+ 'status' => 'Statut',
+ 'message' => 'Message',
+ 'message-help' => 'Vous pouvez également utiliser le format Markdown.',
+ 'scheduled_at' => 'Pour quand la maintenance est-elle planifiée ?',
+ 'completed_at' => 'Quand est-ce que cette maintenance sera terminée ?',
+ 'templates' => [
+ 'name' => 'Nom',
+ 'template' => 'Modèle',
+ 'twig' => 'Vous pouvez utiliser Twig pour créer des modèles par langues pour les modèles d\'incidents.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Nom',
+ 'status' => 'Statut',
+ 'group' => 'Groupe',
+ 'description' => 'Description',
+ 'link' => 'Lien',
+ 'tags' => 'Mots-clés',
+ 'tags-help' => 'Séparés par des virgules.',
+ 'enabled' => 'Activer le composant ?',
+
+ 'groups' => [
+ 'name' => 'Nom',
+ 'collapsing' => 'Etendre/Réduire les options',
+ 'visible' => 'Toujours déplier',
+ 'collapsed' => 'Réduire le groupe par défaut',
+ 'collapsed_incident' => 'Réduire le groupe par défaut, mais déplier s\'il y a des incidents',
+ 'visibility' => 'Visibilité',
+ 'visibility_public' => 'Visible au public',
+ 'visibility_authenticated' => 'Visible uniquement aux utilisateurs connectés',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nom',
+ 'description' => 'Description',
+ 'start_at' => 'Heure de début de la planification',
+ 'timezone' => 'Fuseau horaire',
+ 'schedule_frequency' => 'Fréquence de planification (en secondes)',
+ 'completion_latency' => 'Délai d’achèvement (en secondes)',
+ 'group' => 'Groupe',
+ 'active' => 'Actif ?',
+ 'groups' => [
+ 'name' => 'Nom du groupe',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Nom',
+ 'suffix' => 'Suffixe',
+ 'description' => 'Description',
+ 'description-help' => 'Vous pouvez également utiliser le format Markdown.',
+ 'display-chart' => 'Afficher le graphique sur la page de statut ?',
+ 'default-value' => 'Valeur par défaut',
+ 'calc_type' => 'Calcul des données',
+ 'type_sum' => 'Somme',
+ 'type_avg' => 'Moyenne',
+ 'places' => 'Nombre de chiffres après la virgule',
+ 'default_view' => 'Vue par défaut',
+ 'threshold' => 'Quel intervalle en minutes entre chaque point de métrique ?',
+ 'visibility' => 'Visibilité',
+ 'visibility_authenticated' => 'Visible aux utilisateurs authentifiés',
+ 'visibility_public' => 'Visible à tous',
+ 'visibility_hidden' => 'Toujours caché',
+
+ 'points' => [
+ 'value' => 'Valeur',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Nom du site',
+ 'site-url' => 'URL du site',
+ 'display-graphs' => 'Afficher les graphiques sur la page de statut ?',
+ 'about-this-page' => 'À propos de cette page',
+ 'days-of-incidents' => 'Combien de jours d\'incidents à montrer ?',
+ 'banner' => 'Image d\'en-tête',
+ 'banner-help' => 'Il est recommandé de téléchargez un fichier ne dépassant pas 930px de large .',
+ 'subscribers' => 'Permettre aux personnes de s\'inscrire aux notifications par e-mail ?',
+ 'skip_subscriber_verification' => 'Ne pas vérifier les utilisateurs ? (Attention, vous pourriez être spammé)',
+ 'automatic_localization' => 'Traduire automatiquement votre page de statut dans la langue du visiteur ?',
+ 'enable_external_dependencies' => 'Activer les dépendances tierces (Google Fonts, Trackers, etc...)',
+ 'show_timezone' => 'Afficher le fuseau horaire sur la page de statut.',
+ 'only_disrupted_days' => 'Afficher uniquement les jours contenant des incidents dans la ligne de temps ?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Code de Google Analytics',
+ 'analytics_gosquared' => 'Code de GoSquared Analytics',
+ 'analytics_piwik_url' => 'URL de votre instance de Piwik (sans http(s)://)',
+ 'analytics_piwik_siteid' => 'Id du site de Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Fuseau horaire du site',
+ 'site-locale' => 'Langue du site',
+ 'date-format' => 'Format de la date',
+ 'incident-date-format' => 'Format de la date de l\'incident',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Domaines autorisés',
+ 'allowed-domains-help' => 'Séparés par des virgules. Le domaine défini ci-dessus est automatiquement autorisé par défaut.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Feuille de style personnalisée',
+ ],
+ 'theme' => [
+ 'background-color' => 'Couleur de fond',
+ 'background-fills' => 'Couleur de remplissage de l\'arrière-plan (composants, incidents, pied de page)',
+ 'banner-background-color' => 'Couleur d\'arrière-plan de l\'en-tête',
+ 'banner-padding' => 'Marge de l\'en-tête',
+ 'fullwidth-banner' => 'Activer l\'en-tête en pleine largeur ?',
+ 'text-color' => 'Couleur du texte',
+ 'dashboard-login' => 'Afficher le bouton "Tableau de bord" dans le pied de page ?',
+ 'reds' => 'Rouge (utilisé pour les erreurs)',
+ 'blues' => 'Bleu (utilisé pour les informations)',
+ 'greens' => 'Vert (utilisé pour les succès)',
+ 'yellows' => 'Jaune (utilisé pour les alertes)',
+ 'oranges' => 'Orange (utilisé pour les informations)',
+ 'metrics' => 'Remplissage des données',
+ 'links' => 'Liens',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Nom d\'utilisateur',
+ 'email' => 'Adresse e-mail',
+ 'password' => 'Mot de passe ',
+ 'api-token' => 'Jeton de l\'API',
+ 'api-token-help' => 'Régénérer votre jeton API empêchera les applications existantes d\'accéder à Cachet.',
+ 'gravatar' => 'Change your profile picture at Gravatar.',
+ 'user_level' => 'Niveau de l\'utilisateur',
+ 'levels' => [
+ 'admin' => 'Administrateur',
+ 'user' => 'Utilisateur',
+ ],
+ '2fa' => [
+ 'help' => 'Activer l\'authentification à deux facteurs augmente la sécurité de votre compte. Vous aurez besoin de télécharger Google Authenticator ou une application similaire sur votre appareil mobile. Lorsque vous vous connectez, il vous sera demandé de fournir un jeton généré par l\'application.',
+ ],
+ 'team' => [
+ 'description' => 'Invitez les membres de votre équipe en entrant leurs adresses e-mail ici.',
+ 'email' => 'E-mail #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Sélection du fuseau horaire',
+ ],
+
+ // Buttons
+ 'add' => 'Ajouter',
+ 'save' => 'Enregistrer',
+ 'update' => 'Mettre à jour',
+ 'create' => 'Créer',
+ 'edit' => 'Modifier',
+ 'delete' => 'Supprimer',
+ 'submit' => 'Envoyer',
+ 'cancel' => 'Annuler',
+ 'remove' => 'Enlever',
+ 'invite' => 'Inviter',
+ 'signup' => 'Inscription',
+
+ // Other
+ 'optional' => '* Optionnel',
+];
diff --git a/resources/lang/fr-FR/notifications.php b/resources/lang/fr-FR/notifications.php
index 4db80e7c..ee06f93b 100644
--- a/resources/lang/fr-FR/notifications.php
+++ b/resources/lang/fr-FR/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Le statut du composant a été mis à jour',
+ 'greeting' => 'Le statut d’un composant a été mis à jour !',
+ 'content' => 'Le statut de :name est passé de :old_status à :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Le statut du composant a été mis à jour',
+ 'content' => 'Le statut de :name est passé de :old_status à :new_status.',
+ ],
+ 'sms' => [
+ 'content' => 'Le statut de :name est passé de :old_status à :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Nouvel incident signalé',
+ 'greeting' => 'Un nouvel incident a été signalé pour :app_name.',
+ 'content' => 'Incident :name a été signalé',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name signalé',
+ 'content' => 'Un nouvel incident a été signalé pour :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'Un nouvel incident a été signalé pour :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident mis à jour',
+ 'content' => ':name a été mis à jour',
+ 'title' => ':name est passé à :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name mis à jour',
+ 'content' => ':name est passé à :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name a été mis à jour',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Nouvelle planification créée',
+ 'content' => ':name a été planifié pour :date',
+ 'title' => 'Une nouvelle maintenance planifiée a été créée.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Nouvelle planification créée !',
+ 'content' => ':name a été planifié pour :date',
+ ],
+ 'sms' => [
+ 'content' => ':name a été planifié pour :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Veuillez vérifier votre abonnement',
+ 'content' => 'Cliquez ici pour vérifier votre abonnement à la page de statut de :app_name.',
+ 'title' => 'Vérifiez votre abonnement à la page de statut de :app_name.',
+ 'action' => 'Vérifier',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping depuis Cachet!',
+ 'content' => 'Ceci est une notification de test depuis Cachet !',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Votre invitation est à l\'intérieur...',
+ 'content' => 'Vous avez été invité à rejoindre la page de statut de :app_name.',
+ 'title' => 'Vous êtes invité à rejoindre la page de statut de :app_name.',
+ 'action' => 'Accepter',
+ ],
],
],
];
diff --git a/resources/lang/fr-FR/pagination.php b/resources/lang/fr-FR/pagination.php
new file mode 100644
index 00000000..d37367fa
--- /dev/null
+++ b/resources/lang/fr-FR/pagination.php
@@ -0,0 +1,28 @@
+ 'Précédent',
+ 'next' => 'Suivant',
+
+];
diff --git a/resources/lang/fr-FR/setup.php b/resources/lang/fr-FR/setup.php
new file mode 100644
index 00000000..8319d732
--- /dev/null
+++ b/resources/lang/fr-FR/setup.php
@@ -0,0 +1,23 @@
+ 'Installation',
+ 'title' => 'Configuration de Cachet',
+ 'service_details' => 'Détails du service',
+ 'env_setup' => 'Configuration de l\'environnement',
+ 'status_page_setup' => 'Configuration de la page de statut',
+ 'show_support' => 'Afficher votre soutien à Cachet ?',
+ 'admin_account' => 'Compte administrateur',
+ 'complete_setup' => 'Terminer la configuration',
+ 'completed' => 'Cachet a été configuré avec succès !',
+ 'finish_setup' => 'Aller au tableau de bord',
+];
diff --git a/resources/lang/fr-FR/validation.php b/resources/lang/fr-FR/validation.php
new file mode 100644
index 00000000..5415ea7d
--- /dev/null
+++ b/resources/lang/fr-FR/validation.php
@@ -0,0 +1,122 @@
+ ':attribute doit être accepté.',
+ 'active_url' => ':attribute n\'est pas une URL valide.',
+ 'after' => ':attribute doit être une date supérieure à :date.',
+ 'alpha' => ':attribute ne doit contenir que des lettres.',
+ 'alpha_dash' => ':attribute doit contenir seulement des lettres, nombres et des tirets.',
+ 'alpha_num' => ':attribute ne doit contenir que des lettres et des nombres.',
+ 'array' => ':attribute doit être un tableau.',
+ 'before' => ':attribute doit être une date inférieur à :date.',
+ 'between' => [
+ 'numeric' => ':attribute doit être compris entre :min et :max.',
+ 'file' => ':attribute doit être compris entre :min et :max kilo-octets.',
+ 'string' => ':attribute doit être entre :min et :max caractères.',
+ 'array' => 'attribute doit être entre :min et :max éléments.',
+ ],
+ 'boolean' => 'Le champ :attribute doit être vrai ou faux.',
+ 'confirmed' => 'La confirmation de :attribute ne correspond pas.',
+ 'date' => ':attribute n\'est pas une date valide.',
+ 'date_format' => ':attribute ne correspond pas au format :format.',
+ 'different' => ':attribute et :other doivent être différents.',
+ 'digits' => ':attribute doit avoir :digits chiffres.',
+ 'digits_between' => ':attribute doit être entre :min et :max chiffres.',
+ 'email' => ':attribute doit être une adresse courriel valide.',
+ 'exists' => 'Le :attribute sélectionné est invalide.',
+ 'distinct' => ':attribute possède une valeur en double.',
+ 'filled' => 'Le champ :attribute est requis.',
+ 'image' => ':attribute doit être une image.',
+ 'in' => 'Le :attribute sélectionné est invalide.',
+ 'in_array' => 'Le champ :attribute n\'existe pas dans :other.',
+ 'integer' => ':attribute doit être un nombre entier.',
+ 'ip' => ':attribute doit être une adresse IP valide.',
+ 'json' => ':attribut doit être une chaîne JSON valide.',
+ 'max' => [
+ 'numeric' => ':attribute ne doit pas dépasser :max.',
+ 'file' => ':attribute ne peut être plus grand que :max kilo-octets.',
+ 'string' => ':attribute ne doit pas dépasser :max caractères.',
+ 'array' => ':attribute ne doit dépasser :max éléments.',
+ ],
+ 'mimes' => ':attribute doit être un fichier de type: :values.',
+ 'min' => [
+ 'numeric' => ':attribute doit être au moins de :min.',
+ 'file' => ':attribute doit être au moins de :min kilo-octets.',
+ 'string' => ':attribute doit comporter au minimum :min caractères.',
+ 'array' => ':attribute doit contenir au moins :min éléments.',
+ ],
+ 'not_in' => 'Le :attribute sélectionné est invalide.',
+ 'numeric' => ':attribute doit être un nombre.',
+ 'present' => 'Le champs :attribute doit être rempli.',
+ 'regex' => 'Le format de :attribute n\'est pas valide.',
+ 'required' => 'Le champ :attribute est requis.',
+ 'required_if' => 'Le champ :attribute est requis lorsque :other est :value.',
+ 'required_unless' => 'Le champ :attribute est requis sauf si :other est dans :values.',
+ 'required_with' => 'Le champ :attribute est requis lorsque :values est présent.',
+ 'required_with_all' => 'Le champ :attribute est requis lorsque :values est présent.',
+ 'required_without' => 'Le champ :attribute est nécessaire quand :values n\'est pas présent.',
+ 'required_without_all' => 'Le champ :attribute est requis lorsque aucune des :values sont présentes.',
+ 'same' => 'Le :attribute et :other doivent correspondre.',
+ 'size' => [
+ 'numeric' => ':attribute doit être :size.',
+ 'file' => 'attribute doit être de :size kilo-octets.',
+ 'string' => 'L\'attribut ":attribute" doit faire :size caractères.',
+ 'array' => ':attribute doit contenir :size éléments.',
+ ],
+ 'string' => ':attribute doit être une chaîne de caractères.',
+ 'timezone' => ':attribute doit être une zone valide.',
+ 'unique' => ':attribute a déjà été pris.',
+ 'url' => 'Le format de :attribute n\'est pas valide.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'Message personnalisé',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/he-IL/cachet.php b/resources/lang/he-IL/cachet.php
index f836a4d3..430d1013 100644
--- a/resources/lang/he-IL/cachet.php
+++ b/resources/lang/he-IL/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'No incidents reported',
- 'past' => 'Past Incidents',
- 'previous_week' => 'Previous week',
- 'next_week' => 'Next week',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'תחזוקה מתוזמנת',
- 'scheduled_at' => ', scheduled :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'No incidents reported',
+ 'past' => 'Past Incidents',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'תחזוקה מתוזמנת',
+ 'scheduled_at' => ', scheduled :timestamp',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
1 => 'Investigating',
2 => 'מזוהה',
3 => 'צופה',
diff --git a/resources/lang/he-IL/dashboard.php b/resources/lang/he-IL/dashboard.php
new file mode 100644
index 00000000..a3a0a8e6
--- /dev/null
+++ b/resources/lang/he-IL/dashboard.php
@@ -0,0 +1,293 @@
+ 'Dashboard',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidents & Schedule',
+ 'incidents' => 'אירועים',
+ 'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
+ 'incident-create-template' => 'Create Template',
+ 'incident-templates' => 'Incident Templates',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Report an incident',
+ 'success' => 'Incident added.',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit an incident',
+ 'success' => 'Incident updated.',
+ 'failure' => 'There was an error editing the incident, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The incident has been deleted and will not show on your status page.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Incident Templates',
+ 'add' => [
+ 'title' => 'Create an incident template',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Template',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'תחזוקה מתוזמנת',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Scheduled at :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'רכיבים',
+ 'component_statuses' => 'רכיב סטטוסים',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Add a component',
+ 'message' => 'You should add a component.',
+ 'success' => 'Component created.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'מדדים',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Member',
+ 'profile' => 'Profile',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Settings',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'אבטחה',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'ערכת נושא',
+ ],
+ 'edit' => [
+ 'success' => 'Settings saved.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'התחברות למערכת',
+ 'logged_in' => 'אתה מחובר.',
+ 'welcome' => 'ברוך הבא!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'עזרה',
+ 'status_page' => 'Status Page',
+ 'logout' => 'יציאה',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'התראות',
+ 'awesome' => 'נהדר.',
+ 'whoops' => 'אופס.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Add your components',
+ 'incident' => 'Create an incident',
+ 'customize' => 'Customize your page',
+ 'team' => 'הוסף משתמשים',
+ 'api' => 'Generate an API token',
+ 'two-factor' => 'Setup Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/he-IL/forms.php b/resources/lang/he-IL/forms.php
new file mode 100644
index 00000000..183fc250
--- /dev/null
+++ b/resources/lang/he-IL/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'כתובת דוא"ל',
+ 'username' => 'Username',
+ 'password' => 'סיסמא',
+ 'site_name' => 'שם האתר',
+ 'site_domain' => 'Site Domain',
+ 'site_timezone' => 'בחר איזור זמן',
+ 'site_locale' => 'בחר שפה',
+ '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',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Username or Email',
+ 'email' => 'כתובת דוא"ל',
+ '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',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'שם',
+ 'status' => 'סטטוס',
+ 'component' => 'Component',
+ 'message' => 'הודעה',
+ 'message-help' => 'You may also use Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notify subscribers?',
+ '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',
+ 'templates' => [
+ 'name' => 'שם',
+ 'template' => 'תבנית',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'שם',
+ 'status' => 'סטטוס',
+ 'message' => 'הודעה',
+ 'message-help' => 'You may also use Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'שם',
+ 'template' => 'תבנית',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'שם',
+ 'status' => 'סטטוס',
+ 'group' => 'קבוצה',
+ 'description' => 'הגדרה',
+ 'link' => 'קישור',
+ 'tags' => 'טאגים',
+ 'tags-help' => 'מופרד באמצעות פסיקים.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'שם',
+ 'description' => 'הגדרה',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'קבוצה',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'שם',
+ 'suffix' => 'סיומת',
+ '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',
+
+ 'points' => [
+ 'value' => 'ערך',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'שם האתר',
+ 'site-url' => 'כתובת url של האתר',
+ 'display-graphs' => 'להציג גרפים בדף של סטטוס?',
+ 'about-this-page' => 'About this page',
+ 'days-of-incidents' => 'כמה ימים של אירועים להראות?',
+ '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?',
+ '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?',
+ ],
+ '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',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Site timezone',
+ 'site-locale' => 'Site language',
+ 'date-format' => 'Date format',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth 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',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Username',
+ 'email' => 'כתובת דוא"ל',
+ 'password' => 'סיסמא',
+ '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',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'User',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Add',
+ 'save' => 'Save',
+ 'update' => 'Update',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'submit' => 'Submit',
+ 'cancel' => 'Cancel',
+ 'remove' => 'Remove',
+ 'invite' => 'Invite',
+ 'signup' => 'Sign Up',
+
+ // Other
+ 'optional' => '* Optional',
+];
diff --git a/resources/lang/he-IL/notifications.php b/resources/lang/he-IL/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/he-IL/notifications.php
+++ b/resources/lang/he-IL/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/he-IL/pagination.php b/resources/lang/he-IL/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/he-IL/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/he-IL/setup.php b/resources/lang/he-IL/setup.php
new file mode 100644
index 00000000..a281bb1d
--- /dev/null
+++ b/resources/lang/he-IL/setup.php
@@ -0,0 +1,23 @@
+ 'הגדרות',
+ 'title' => 'התקנת Cachet',
+ 'service_details' => 'פרטי שרות',
+ 'env_setup' => 'Environment Setup',
+ 'status_page_setup' => 'הגדרת עמוד מצב',
+ 'show_support' => 'Show support for Cachet?',
+ 'admin_account' => 'חשבון מנהל המערכת',
+ 'complete_setup' => 'התקנה הסתיימה',
+ 'completed' => 'Cachet הוגדר בהצלחה!',
+ 'finish_setup' => 'Go to dashboard',
+];
diff --git a/resources/lang/he-IL/validation.php b/resources/lang/he-IL/validation.php
new file mode 100644
index 00000000..6190d23d
--- /dev/null
+++ b/resources/lang/he-IL/validation.php
@@ -0,0 +1,122 @@
+ 'The :attribute must be accepted.',
+ 'active_url' => 'attribute: אינו כתובת URL חוקית.',
+ 'after' => 'attribute: חייב להיות תאריך אחרי date:',
+ 'alpha' => 'attribute: יכולים להכיל רק אותיות.',
+ 'alpha_dash' => 'attribute: יכולה להכיל רק אותיות, מספרים, מקפים.',
+ 'alpha_num' => 'attribute: יכולים להכיל רק אותיות ומספרים.',
+ 'array' => 'attribute: חייב להיות מערך.',
+ 'before' => 'The :attribute must be a date before :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'attribute: חייב להיות תמונה.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :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.',
+ '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.',
+ ],
+ '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.',
+ '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.',
+ '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_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.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/hu-HU/cachet.php b/resources/lang/hu-HU/cachet.php
index a7a9f0eb..6ad3d356 100644
--- a/resources/lang/hu-HU/cachet.php
+++ b/resources/lang/hu-HU/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Nincs incidens jelentve',
- 'past' => 'Múltbeli incidensek',
- 'previous_week' => 'Előző hét',
- 'next_week' => 'Következő hét',
- 'stickied' => 'Kitűzőtt Incidensek',
- 'scheduled' => 'Ütemezett karbantartás',
- 'scheduled_at' => ', ütemezett :timestamp',
- 'posted' => 'Közzétéve :timestamp',
- 'status' => [
+ 'none' => 'Nincs incidens jelentve',
+ 'past' => 'Múltbeli incidensek',
+ 'stickied' => 'Kitűzőtt Incidensek',
+ 'scheduled' => 'Ütemezett karbantartás',
+ 'scheduled_at' => ', ütemezett :timestamp',
+ 'posted' => 'Közzétéve :timestamp',
+ 'status' => [
1 => 'Kivizsgálás',
2 => 'Azonosítva',
3 => 'Megfigyelés',
diff --git a/resources/lang/hu-HU/dashboard.php b/resources/lang/hu-HU/dashboard.php
new file mode 100644
index 00000000..d82d3ee8
--- /dev/null
+++ b/resources/lang/hu-HU/dashboard.php
@@ -0,0 +1,293 @@
+ 'Műszerfal',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidensek & Ütemezés',
+ 'incidents' => 'Incidensek',
+ 'logged' => '{0} Nincs semmilyen incidens, szép munka.|Ön egy incidenst jelentett.|Ön összesen :count incidenst jelentett.',
+ 'incident-create-template' => 'Sablon létrehozása',
+ 'incident-templates' => 'Incidens Sablonok',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Incidens jelentése',
+ 'success' => 'Incidens létrehozva.',
+ 'failure' => 'Hiba történt az incidens létrehozása közben, kérjük próbálja újra.',
+ ],
+ 'edit' => [
+ 'title' => 'Incidens szerkesztése',
+ 'success' => 'Incidens frissítve.',
+ 'failure' => 'Hiba történt az incidens szerkesztése közben, kérjük próbálja újra.',
+ ],
+ 'delete' => [
+ 'success' => 'Az incidens törölve lett és nem fog többé megjelenni.',
+ 'failure' => 'Az incidenst nem lehetett törölni, kérjük próbálja újra.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Incidens Sablonok',
+ 'add' => [
+ 'title' => 'Incidens sablon készítése',
+ 'message' => 'Létre kell hozni egy incidens sablont.',
+ 'success' => 'Incidens sablon létrehozva.',
+ 'failure' => 'Hiba történt az incidens sablon létrehozása során.',
+ ],
+ 'edit' => [
+ 'title' => 'Sablon szerkesztése',
+ 'success' => 'Az incidens sablon frissítve lett.',
+ 'failure' => 'Hiba történt az incidens sablon frissítése során',
+ ],
+ 'delete' => [
+ 'success' => 'Az incidens sablon törölve lett.',
+ 'failure' => 'Az incidens sablont nem lehetett törölni, kérjük próbálja újra.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Ütemezett karbantartás',
+ 'logged' => '{0} Nincs semmilyen ütemterv, szép munka.|Ön egy ütemtervet regisztrált.|Ön összesen :count ütemtervet regisztrált.',
+ 'scheduled_at' => 'Ütemezve: :timestamp',
+ 'add' => [
+ 'title' => 'Ütemezett Karbantartás létrehozása',
+ 'success' => 'Ütemterv létrehozva.',
+ 'failure' => 'Hiba történt az ütemterv létrehozásakor, kérjük próbálja újra.',
+ ],
+ 'edit' => [
+ 'title' => 'Ütemezett Karbantartás szerkesztése',
+ 'success' => 'Ütemterv frissítve!',
+ 'failure' => 'Hiba történt az ütemterv szerkesztésekor, kérjük próbálja újra.',
+ ],
+ 'delete' => [
+ 'success' => 'Az ütemterv törölve lett és nem fog többé megjelenni.',
+ 'failure' => 'Az ütemzett karbantartást nem lehetett törölni, kérjük próbálja újra.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Komponensek',
+ 'component_statuses' => 'Komponens állapotok',
+ 'listed_group' => ':name alá csoportosítva',
+ 'add' => [
+ 'title' => 'Komponens hozzáadása',
+ 'message' => 'Létre kell hozni egy komponenst.',
+ 'success' => 'Komponens létrehozva.',
+ 'failure' => 'Valami hiba történt a komponens csoporttal, kérjük próbálja újra.',
+ ],
+ 'edit' => [
+ 'title' => 'Komponens szerkesztése',
+ 'success' => 'Komponens frissítve.',
+ 'failure' => 'Valami hiba történt a komponens csoporttal, kérjük próbálja újra.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponens törölve!',
+ 'failure' => 'A komponenst nem lehetett törölni, kérjük próbálja újra.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Komponens csoport|Komponens csoportok',
+ 'no_components' => 'Létre kell hozni egy komponens csoportot.',
+ 'add' => [
+ 'title' => 'Komponens csoport hozzáadása',
+ 'success' => 'Komponens csoport létrehozva.',
+ 'failure' => 'Valami hiba történt a komponens csoporttal, kérjük próbálja újra.',
+ ],
+ 'edit' => [
+ 'title' => 'Komponens csoport szerkesztése',
+ 'success' => 'Komponens csoport frissítve.',
+ 'failure' => 'Valami hiba történt a komponens csoporttal, kérjük próbálja újra.',
+ ],
+ 'delete' => [
+ 'success' => 'A komponens csoport törlése sikeres!',
+ 'failure' => 'A komponens csoportot nem lehetett törölni, kérjük próbálja újra.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Mérőszámok',
+ 'add' => [
+ 'title' => 'Merőszám létrehozása',
+ 'message' => 'Létre kell hozni egy mérőszámot.',
+ 'success' => 'Mérőszám létrehozva.',
+ 'failure' => 'Hiba történt ezzel a mérőszámmal, kérjük próbálja újra.',
+ ],
+ 'edit' => [
+ 'title' => 'Mérőszám szerkesztése',
+ 'success' => 'Mérőszám frissítve.',
+ 'failure' => 'Hiba történt ezzel a mérőszámmal, kérjük próbálja újra.',
+ ],
+ 'delete' => [
+ 'success' => 'Ez a mérőszám törölve lett és nem fog többé megjelenni.',
+ 'failure' => 'A mérőszámot nem lehetett kitörölni, kérjük próbálja újra.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Feliratkozók',
+ 'description' => 'A feliratkozók email értesítést kapnak ha incidensek lesznek létrehozva vagy komponensek lesznek frissítve.',
+ 'verified' => 'Megerősítve',
+ 'not_verified' => 'Nincs megerősítve',
+ 'subscriber' => ':email, feliratkozott: :date',
+ 'no_subscriptions' => 'Feliratkozva az összes frissítésre',
+ 'add' => [
+ 'title' => 'Új feliratkozó hozzáadása',
+ 'success' => 'Feliratkozó létrehozva!',
+ 'failure' => 'Hiba történt a feliratkozó hozzáadásakor, kérjük próbálja újra.',
+ 'help' => 'Kérjük írja mindegyik feliratkozót külön sorba.',
+ ],
+ 'edit' => [
+ 'title' => 'Feliratkozó frissítése',
+ 'success' => 'Feliratkozó frissítve!',
+ 'failure' => 'Hiba történt a feliratkozó szerkesztésekor, kérjük próbálja újra.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Csapat',
+ 'member' => 'Tag',
+ 'profile' => 'Profil',
+ 'description' => 'Csapattagoknak joguk lesz hozzáadni és szerkeszteni komponenseket és incidenseket.',
+ 'add' => [
+ 'title' => 'Új csapattag hozzáadása',
+ 'success' => 'Csapattag hozzáadva.',
+ 'failure' => 'A csapattagot nem lehetett létrehozni, kérjük próbálja újra.',
+ ],
+ 'edit' => [
+ 'title' => 'Profil frissítése',
+ 'success' => 'Profil frissítve.',
+ 'failure' => 'Hiba történt a profil szerkesztésekor, kérjük próbálja újra.',
+ ],
+ 'delete' => [
+ 'success' => 'Csapattag törölve és többé nincs joga a műszerfalhoz!',
+ 'failure' => 'A csapattagot nem lehetett létrehozni, kérjük próbálja újra.',
+ ],
+ 'invite' => [
+ 'title' => 'Új csapattag meghívása',
+ 'success' => 'Egy meghívás elküldve',
+ 'failure' => 'A meghívást nem sikerült elküldeni, kérjük próbálja újra.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Beállítások',
+ 'app-setup' => [
+ 'app-setup' => 'Applikáció beállítása',
+ 'images-only' => 'Csak képeket lehet feltölteni.',
+ 'too-big' => 'A feltöltött fájl túl nagy. A fájl nem lehet nagyobb mint :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analízis',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Lokalizáció',
+ ],
+ 'customization' => [
+ 'customization' => 'Testreszabás',
+ 'header' => 'Egyéni fejléc HTML',
+ 'footer' => 'Egyéni lábjegyzet HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Biztonság',
+ 'two-factor' => 'Felhasználók két faktoros hitelesítés nélkül',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Téma',
+ ],
+ 'edit' => [
+ 'success' => 'Beállítások mentve.',
+ 'failure' => 'Beállításokat nem lehetett menteni.',
+ ],
+ 'credits' => [
+ 'credits' => 'Készítők',
+ 'contributors' => 'Közreműködők',
+ 'license' => 'A Cachet egy, a BSD-3 alatt licenszelt nyílt forráskódú projekt, Alt Three Services Limited által kiadva.',
+ 'backers-title' => 'Támogatók & Szponzorok',
+ 'backers' => 'Ha szeretné támogatni a fejlesztőket, kérjük látogasson el a Cachet Patreon oldalára.',
+ 'thank-you' => 'Köszönjük mind a(z) :count közreműködőnek a segítséget.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Belépés',
+ 'logged_in' => 'Bejelentkezve.',
+ 'welcome' => 'Üdvözöljük újra!',
+ 'two-factor' => 'Kérem adja meg a jelét.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Súgó',
+ 'status_page' => 'Állapot Oldal',
+ 'logout' => 'Kijelentkezés',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Értesítések',
+ 'awesome' => 'Kitűnő.',
+ 'whoops' => 'Hoppá.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Cachet támogatása',
+ 'support_subtitle' => 'Kérjük nézze meg a Patreon oldalunkat!',
+ 'news' => 'Legfrissebb hírek',
+ 'news_subtitle' => 'Legújabb hírek',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Üdvözlünk az új Állapot oldaladon!',
+ 'message' => 'Az állapot oldalad majdnem kész van! Próbáld beállítani ezeket az extra beállításokat',
+ 'close' => 'Vigyél a műszerfalhoz',
+ 'steps' => [
+ 'component' => 'Komponensek létrehozása',
+ 'incident' => 'Incidensek létrehozása',
+ 'customize' => 'Testreszabás',
+ 'team' => 'Felhasználók hozzáadása',
+ 'api' => 'API jel generálása',
+ 'two-factor' => 'Kétlépcsős azonosítás',
+ ],
+ ],
+
+];
diff --git a/resources/lang/hu-HU/forms.php b/resources/lang/hu-HU/forms.php
new file mode 100644
index 00000000..87a4c1ac
--- /dev/null
+++ b/resources/lang/hu-HU/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'E-mail cím',
+ 'username' => 'Felhasználónév',
+ 'password' => 'Jelszó',
+ 'site_name' => 'Webhely neve',
+ 'site_domain' => 'Webhely címe',
+ 'site_timezone' => 'Időzóna kiválasztása',
+ 'site_locale' => 'Nyelv kiválasztása',
+ 'enable_google2fa' => 'Google Two Factor Authentication engedélyezése',
+ 'cache_driver' => 'Cache Driver',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Session Driver',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => 'Mail Host',
+ 'mail_address' => 'Mail Válaszcím',
+ 'mail_username' => 'Mail Felhasználónév',
+ 'mail_password' => 'Mail Jelszó',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Felhasználónév vagy E-mail',
+ 'email' => 'E-mail cím',
+ 'password' => 'Jelszó',
+ '2fauth' => 'Hitelesítési kód',
+ 'invalid' => 'Helytelen felhasználónév vagy jelszó',
+ 'invalid-token' => 'Érvénytelen kulcs',
+ 'cookies' => 'A bejelentkezéshez engedélyezni kell a sütiket.',
+ 'rate-limit' => 'Túl sok próbálkozás.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Név',
+ 'status' => 'Státusz',
+ 'component' => 'Komponens',
+ 'message' => 'Üzenet',
+ 'message-help' => 'Használhatsz Markdown-t is.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Feliratkozók értesítése?',
+ 'visibility' => 'Incidens láthatóság',
+ 'stick_status' => 'Incidens kitűzése',
+ 'stickied' => 'Kitűzve',
+ 'not_stickied' => 'Nincs kitűzve',
+ 'public' => 'Publikus',
+ 'logged_in_only' => 'Csak bejelentkezett felhasználóknak látható',
+ 'templates' => [
+ 'name' => 'Név',
+ 'template' => 'Sablon',
+ 'twig' => 'A sablonok használhatják a Twig nyelvet.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Név',
+ 'status' => 'Státusz',
+ 'message' => 'Üzenet',
+ 'message-help' => 'Használhatsz Markdown-t is.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Név',
+ 'template' => 'Sablon',
+ 'twig' => 'A sablonok használhatják a Twig nyelvet.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Név',
+ 'status' => 'Státusz',
+ 'group' => 'Csoport',
+ 'description' => 'Leírás',
+ 'link' => 'Link',
+ 'tags' => 'Cimkék',
+ 'tags-help' => 'Vesszővel elválasztva.',
+ 'enabled' => 'Komponens engedélyezve?',
+
+ 'groups' => [
+ 'name' => 'Név',
+ 'collapsing' => 'Kinyitás/becsukás opciói',
+ 'visible' => 'Mindig kinyitva',
+ 'collapsed' => 'Csoport összehúzása alapból',
+ 'collapsed_incident' => 'Csoport összehúzása, ha hiba találhazó',
+ 'visibility' => 'Láthatóság',
+ 'visibility_public' => 'Nyilvánosan látható',
+ 'visibility_authenticated' => 'Bejelentkezett felhasználók láthatják',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Név',
+ 'description' => 'Leírás',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Időzóna',
+ 'schedule_frequency' => 'Ütemezés gyakorisága (másodpercben)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Csoport',
+ 'active' => 'Aktív?',
+ 'groups' => [
+ 'name' => 'Csoport Neve',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Név',
+ 'suffix' => 'Szuffixum',
+ 'description' => 'Leírás',
+ 'description-help' => 'Használhatsz Markdown-t is.',
+ 'display-chart' => 'Diagram mutatása az állapot oldalon?',
+ 'default-value' => 'Alapértelmezett érték',
+ 'calc_type' => 'Mérőszámok számolása',
+ 'type_sum' => 'Összeg',
+ 'type_avg' => 'Átlag',
+ 'places' => 'Tizedesjegyek száma',
+ 'default_view' => 'Alapértelmezett nézet',
+ 'threshold' => 'Hány perc a metrikus pontok között?',
+ 'visibility' => 'Láthatóság',
+ 'visibility_authenticated' => 'Visible to authenticated users',
+ 'visibility_public' => 'Visible to everybody',
+ 'visibility_hidden' => 'Always hidden',
+
+ 'points' => [
+ 'value' => 'Érték',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Webhely neve',
+ 'site-url' => 'Webhely címe',
+ 'display-graphs' => 'Grafikonok mutatása az állapot oldaon?',
+ 'about-this-page' => 'Erről az oldalról',
+ 'days-of-incidents' => 'Mennyi incidens legyen látható?',
+ 'banner' => 'Banner kép',
+ 'banner-help' => 'Nem ajánlott 930 pixelnél szélesebb képet feltölteni.',
+ 'subscribers' => 'Emberek regisztrálhatnak email értesítésekre?',
+ 'skip_subscriber_verification' => 'Skip verifying of users? (Be warned, you could be spammed)',
+ 'automatic_localization' => 'Állapot oldal automatikus lokalizálása a látogató nyelvén?',
+ '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?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Google Analytics kód',
+ 'analytics_gosquared' => 'GoSquared Analytics kód',
+ 'analytics_piwik_url' => 'Piwik instance URL (http(s):// nélkül)',
+ 'analytics_piwik_siteid' => 'Piwik site id',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Webhely időzónája',
+ 'site-locale' => 'Webhely nyelve',
+ 'date-format' => 'Dátum formátuma',
+ 'incident-date-format' => 'Incidens időbélyeg formátuma',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Engedélyezett domainek',
+ 'allowed-domains-help' => 'Vesszővel elválasztott. A fenti domain alapértelmezés szerint engedélyezve van.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Egyedi Stylesheet',
+ ],
+ 'theme' => [
+ 'background-color' => 'Háttérszín',
+ 'background-fills' => 'Háttérszín kitöltés (komponensek, incidensek, lábjegyzet)',
+ 'banner-background-color' => 'Banner háttérszín',
+ 'banner-padding' => 'Banner margó',
+ 'fullwidth-banner' => 'Teljes szélességű banner?',
+ 'text-color' => 'Szöveg szín',
+ 'dashboard-login' => 'Műszerfal gomb megjelenítése a lábjegyzetben?',
+ 'reds' => 'Piros (hibáknál)',
+ 'blues' => 'Kék (információknál)',
+ 'greens' => 'Zöld (sikeres)',
+ 'yellows' => 'Sárga (figyelmeztetés)',
+ 'oranges' => 'Narancssárga (értesítés)',
+ 'metrics' => 'Mérőszám kitöltése',
+ 'links' => 'Linkek',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Felhasználónév',
+ 'email' => 'E-mail cím',
+ 'password' => 'Jelszó',
+ 'api-token' => 'API Kulcs',
+ 'api-token-help' => 'Az API jegy újragenerálásával minden eddigi program engedélye elveszik a Cachet-hez.',
+ 'gravatar' => 'Változtasd meg a profilképed a Gravatarral.',
+ 'user_level' => 'Felhasználói szint',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'Felhasználó',
+ ],
+ '2fa' => [
+ 'help' => 'A kétfaktoros hitelesítés biztonságosabbá teszi a fiókodat. Le kell töltened a Google Authenticatort vagy más appot a telefonodra. Amikor bejelentkezel meg kell adnod a jegyet amit az app generál.',
+ ],
+ 'team' => [
+ 'description' => 'Hívd meg a csapattagokat az email címeik beírásával.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Hozzáadás',
+ 'save' => 'Mentés',
+ 'update' => 'Módosít',
+ 'create' => 'Létrehoz',
+ 'edit' => 'Szerkeszt',
+ 'delete' => 'Törlés',
+ 'submit' => 'Elküld',
+ 'cancel' => 'Mégsem',
+ 'remove' => 'Törlés',
+ 'invite' => 'Meghívás',
+ 'signup' => 'Regisztráció',
+
+ // Other
+ 'optional' => '* Opcionális',
+];
diff --git a/resources/lang/hu-HU/notifications.php b/resources/lang/hu-HU/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/hu-HU/notifications.php
+++ b/resources/lang/hu-HU/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/hu-HU/pagination.php b/resources/lang/hu-HU/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/hu-HU/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/hu-HU/setup.php b/resources/lang/hu-HU/setup.php
new file mode 100644
index 00000000..91ee2819
--- /dev/null
+++ b/resources/lang/hu-HU/setup.php
@@ -0,0 +1,23 @@
+ 'Telepítés',
+ 'title' => 'Cachet telepítése',
+ 'service_details' => 'A szolgáltatás részletei',
+ 'env_setup' => 'Környezet beállítása',
+ 'status_page_setup' => 'Állapotoldal beállítás',
+ 'show_support' => 'Cachet támogató link megjelenítése?',
+ 'admin_account' => 'Adminisztrátori fiók',
+ 'complete_setup' => 'Telepítés befejezése',
+ 'completed' => 'A Cachet telepítése sikeresen befejeződött!',
+ 'finish_setup' => 'Használat megkezdése',
+];
diff --git a/resources/lang/hu-HU/validation.php b/resources/lang/hu-HU/validation.php
new file mode 100644
index 00000000..0a4c7e6b
--- /dev/null
+++ b/resources/lang/hu-HU/validation.php
@@ -0,0 +1,122 @@
+ ':attribute el kell fogadni.',
+ 'active_url' => ':attribute nem érvényes URL.',
+ 'after' => ':attribute csak :date utáni dátum lehet.',
+ 'alpha' => ':attribute csak betűket tartalmazhat.',
+ 'alpha_dash' => ':attribute csak betűket, számokat és kötőjelet tartalmazhat.',
+ 'alpha_num' => ':attribute csak betűket és számokat tartalmazhat.',
+ 'array' => ':attribute csak tömb típusú lehet.',
+ 'before' => ':attribute csak :date előtti dátum lehet.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attribute csak :min és :max elem közötti lehet.',
+ ],
+ '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.',
+ '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' => ':attribute mezőben másolat található.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute csak kép lehet.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => ':attribute nem létezik itt: :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => 'A :attribute -nak érvényes JSON stringnek kell lennie.',
+ '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' => ':attribute nem lehet több, mint :max elem.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute nem lehet kevesebb, mint :min kilobyte.',
+ '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' => ':attribute mező kitöltése kötelező.',
+ 'regex' => ':attribute formátuma érvénytelen.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => ':attribute mező kitöltése kötelező, kivéve ha :other benne itt: :values.',
+ 'required_with' => ':attribute mező kitöltése kötelező, ha az értéke :values.',
+ 'required_with_all' => ':attribute mező kitöltése kötelező, ha az értéke :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' => ':attribute csak :size kilobyte méretű lehet.',
+ 'string' => ':attribute csak :size karakter lehet.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute csak érvényes zóna lehet.',
+ 'unique' => ':attribute már létezik.',
+ 'url' => ':attribute formátuma érvénytelen.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'Egyéni üzenet',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/id-ID/cachet.php b/resources/lang/id-ID/cachet.php
index 5cdae4ff..990a1220 100644
--- a/resources/lang/id-ID/cachet.php
+++ b/resources/lang/id-ID/cachet.php
@@ -14,7 +14,7 @@ return [
'components' => [
'last_updated' => 'Update terakhir :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Tidak diketahui',
1 => 'Operasional',
2 => 'Masalah Kinerja',
3 => 'Gagal Sebagian',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Tidak ada insiden yang dilaporkan',
- 'past' => 'Insiden sebelumnya',
- 'previous_week' => 'Pekan sebelumnya',
- 'next_week' => 'Pekan selanjutnya',
- 'stickied' => 'Insiden sticky',
- 'scheduled' => 'Jadwal Pemeliharaan',
- 'scheduled_at' => ', dijadwalkan pada :timestamp',
- 'posted' => 'Dikirim: timestamp',
- 'status' => [
+ 'none' => 'Tidak ada insiden yang dilaporkan',
+ 'past' => 'Insiden sebelumnya',
+ 'stickied' => 'Insiden sticky',
+ 'scheduled' => 'Jadwal Pemeliharaan',
+ 'scheduled_at' => ', dijadwalkan pada :timestamp',
+ 'posted' => 'Dikirim: timestamp',
+ 'status' => [
1 => 'Investigasi',
2 => 'Teridentifikasi',
3 => 'Dimonitor',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Mendatang',
+ 1 => 'Sedang berlangsung',
+ 2 => 'Selesai',
],
],
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Ikuti newsletter untuk mendapat update terbaru.',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Berhenti berlangganan pada :link',
'button' => 'Daftar',
'manage' => [
'no_subscriptions' => 'Anda saat ini terdaftar untuk semua update.',
diff --git a/resources/lang/id-ID/dashboard.php b/resources/lang/id-ID/dashboard.php
new file mode 100644
index 00000000..2ef5489c
--- /dev/null
+++ b/resources/lang/id-ID/dashboard.php
@@ -0,0 +1,293 @@
+ 'Dashboard',
+ 'writeable_settings' => 'Direktori pengaturan Cachet tidak dapat ditulisi. Pastikan bahwa ./bootstrap/cachet dapat ditulisi oleh server web.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Insiden & Penjadwalan',
+ 'incidents' => 'Insiden',
+ 'logged' => '{0} Tidak ada insiden, bagus.|Anda mencatat satu insiden.|Anda sudah melaporkan :count insiden.',
+ 'incident-create-template' => 'Buat Template',
+ 'incident-templates' => 'Template Insiden',
+ 'updates' => '{0} Nol Update|Satu Update|:count Update',
+ 'add' => [
+ 'title' => 'Tambahkan Insiden',
+ 'success' => 'Insiden sudah ditambahkan.',
+ 'failure' => 'Ada kesalahan saat menambahkan insiden, silakan coba lagi.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit insiden',
+ 'success' => 'Insiden sudah diperbarui.',
+ 'failure' => 'Ada kesalahan sat mengedit insiden, silakan coba lagi.',
+ ],
+ 'delete' => [
+ 'success' => 'Insiden sudah dihapus dan tidak akan ditampilkan pada halaman status anda.',
+ 'failure' => 'Insiden tidak dapat dihapus, silakan coba lagi.',
+ ],
+ 'update' => [
+ 'title' => 'Buat update insiden baru',
+ 'subtitle' => 'Menambahkan update ke :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Template Insiden',
+ 'add' => [
+ 'title' => 'Buat template insiden',
+ 'message' => 'Anda harus menambahkan template insiden.',
+ 'success' => 'Template insiden baru telah dibuat.',
+ 'failure' => 'Ada masalah dengan template insiden ini.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Template',
+ 'success' => 'Template insiden telah diperbarui.',
+ 'failure' => 'Ada masalah saat memperbarui template insiden ini',
+ ],
+ 'delete' => [
+ 'success' => 'Template insiden telah dihapus.',
+ 'failure' => 'Template insiden tidak dapat dihapus, silakan coba lagi.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Jadwal Pemeliharaan',
+ 'logged' => '{0} Tidak ada penjadwalan, mantap. | Anda mencatat satu jadwal. | Anda telah melaporkan :count jadwal.',
+ 'scheduled_at' => 'Dijadwalkan pada :timestamp',
+ 'add' => [
+ 'title' => 'Tambahkan Jadwal Pemeliharaan',
+ 'success' => 'Jadwal sudah ditambahkan.',
+ 'failure' => 'Ada masalah saat menambahkan jadwal, silakan coba lagi.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Jadwal Pemeliharaan',
+ 'success' => 'Jadwal sudah diperbarui!',
+ 'failure' => 'Ada masalah saat mengedit jadwal, silakan coba lagi.',
+ ],
+ 'delete' => [
+ 'success' => 'Pemeliharaan terjadwal telah dihapus dan tidak akan ditampilkan pada halaman status anda.',
+ 'failure' => 'Pemeliharaan terjadwal tidak bisa dihapus, silakan coba lagi.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Komponen',
+ 'component_statuses' => 'Status Komponen',
+ 'listed_group' => 'Dikelompokkan dalam :name',
+ 'add' => [
+ 'title' => 'Tambahkan Komponen',
+ 'message' => 'Anda perlu menambahkan komponen.',
+ 'success' => 'Komponen sudah dibuat.',
+ 'failure' => 'Ada masalah dalam grup komponen, silakan coba lagi.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit komponen',
+ 'success' => 'Komponen sudah diperbarui.',
+ 'failure' => 'Ada masalah dalam grup komponen, silakan coba lagi.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponen sudah dihapus!',
+ 'failure' => 'Komponen tidak bisa dihapus, silakan coba lagi.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Grup komponen|Grup komponen',
+ 'no_components' => 'Anda perlu menambahkan grup komponen.',
+ 'add' => [
+ 'title' => 'Tambahkan grup komponen',
+ 'success' => 'Grup komponen sudah ditambahkan.',
+ 'failure' => 'Ada masalah dalam grup komponen, silakan coba lagi.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit grup komponen',
+ 'success' => 'Grup komponen sudah diperbarui.',
+ 'failure' => 'Ada masalah dalam grup komponen, silakan coba lagi.',
+ ],
+ 'delete' => [
+ 'success' => 'Grup komponen sudah dihapus!',
+ 'failure' => 'Grup komponen tidak bisa dihapus, silakan coba lagi.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrik',
+ 'add' => [
+ 'title' => 'Buat metrik',
+ 'message' => 'Anda harus menambahkan metrik.',
+ 'success' => 'Metrik sudah dibuat.',
+ 'failure' => 'Ada masalah dalam metrik, silakan coba lagi.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit metrik',
+ 'success' => 'Metrik sudah diperbarui.',
+ 'failure' => 'Ada masalah dalam metrik, silakan coba lagi.',
+ ],
+ 'delete' => [
+ 'success' => 'Metrik sudah dihapus dan tidak akan ditampilkan pada halaman status anda.',
+ 'failure' => 'Metrik tidak bisa dihapus, silakan coba lagi.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Berlangganan',
+ 'description' => 'Pelanggan akan menerima update email ketika insiden dibuat atau komponen diperbarui.',
+ 'verified' => 'Terverifikasi',
+ 'not_verified' => 'Belum Diverifikasi',
+ 'subscriber' => ':email, berlangganan :date',
+ 'no_subscriptions' => 'Berlangganan semua update',
+ 'add' => [
+ 'title' => 'Tambah Pelanggan Baru',
+ 'success' => 'Pelanggan sudah ditambahkan.',
+ 'failure' => 'Ada masalah saat menambah langganan, silakan coba lagi.',
+ 'help' => 'Masukkan setiap pelanggan pada baris baru.',
+ ],
+ 'edit' => [
+ 'title' => 'Perbarui Pelanggan',
+ 'success' => 'Pelanggan sudah diupdate.',
+ 'failure' => 'Ada masalah saat mengedit langganan, silakan coba lagi.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Tim',
+ 'member' => 'Anggota',
+ 'profile' => 'Profil',
+ 'description' => 'Anggota Tim akan bisa menambahkan, mengubah & mengedit komponen dan insiden.',
+ 'add' => [
+ 'title' => 'Tambahkan Anggota Tim',
+ 'success' => 'Anggota Tim sudah ditambahkan.',
+ 'failure' => 'Anggota Tim tidak bisa ditambahkan, silakan coba lagi.',
+ ],
+ 'edit' => [
+ 'title' => 'Perbarui profil',
+ 'success' => 'Profil sudah diperbarui.',
+ 'failure' => 'Ada masalah saat memperbarui profil, silakan coba lagi.',
+ ],
+ 'delete' => [
+ 'success' => 'Pengguna sudah dihapus.',
+ 'failure' => 'Anggota Tim tidak bisa ditambahkan, silakan coba lagi.',
+ ],
+ 'invite' => [
+ 'title' => 'Undang Anggota Tim Baru',
+ 'success' => 'Pengguna sudah diundang.',
+ 'failure' => 'Undangan tidak terkirim, silakan coba lagi.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Pengaturan',
+ 'app-setup' => [
+ 'app-setup' => 'Pengaturan Aplikasi',
+ 'images-only' => 'Hanya gambar yang bisa diunggah.',
+ 'too-big' => 'Berkas yang anda unggah terlalu besar. Mohon unggah gambar dengan ukuran tidak lebih dari :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Kustomisasi',
+ 'header' => 'Header HTML Kustom',
+ 'footer' => 'Footer HTML Kustom',
+ ],
+ 'mail' => [
+ 'mail' => 'Email',
+ 'test' => 'Uji',
+ 'email' => [
+ 'subject' => 'Notifikasi uji dari Cachet',
+ 'body' => 'Ini adalah notifikasi uji dari Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Keamanan',
+ 'two-factor' => 'User tanpa otentikasi dua-faktor',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Pengaturan sudah disimpan.',
+ 'failure' => 'Pengaturan tidak bisa disimpan.',
+ ],
+ 'credits' => [
+ 'credits' => 'Kredit',
+ 'contributors' => 'Kontributor',
+ 'license' => 'Cachet adalah proyek open source berlisensi BSD, dirilis oleh Alt Three Services Limited.',
+ 'backers-title' => 'Pendukung & Sponsor',
+ 'backers' => 'Jika anda ingin mendukung pengembangan selanjutnya, silakan kunjungi kampanye Cachet di Patreon.',
+ 'thank-you' => 'Terima kasih pada seluruh :count kontributor.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Masuk',
+ 'logged_in' => 'Anda sudah login.',
+ 'welcome' => 'Halo!',
+ 'two-factor' => 'Silakan masukkan token anda.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Panduan',
+ 'status_page' => 'Halaman Status',
+ 'logout' => 'Keluar',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifikasi',
+ 'awesome' => 'Keren.',
+ 'whoops' => 'Waduh.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Dukung Cachet',
+ 'support_subtitle' => 'Lihat halaman Patreon kami!',
+ 'news' => 'Berita Terbaru',
+ 'news_subtitle' => 'Dapatkan update terbaru',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Selamat datang di halaman status baru anda :username!',
+ 'message' => 'Halaman status anda hampir siap! Anda masih perlu mengkonfigurasi beberapa pengaturan',
+ 'close' => 'Terima kasih!',
+ 'steps' => [
+ 'component' => 'Buat komponen',
+ 'incident' => 'Buat insiden',
+ 'customize' => 'Kustomisasi',
+ 'team' => 'Tambah user',
+ 'api' => 'Buat token API',
+ 'two-factor' => 'Otentikasi Dua Faktor',
+ ],
+ ],
+
+];
diff --git a/resources/lang/id-ID/forms.php b/resources/lang/id-ID/forms.php
new file mode 100644
index 00000000..9e8a6e35
--- /dev/null
+++ b/resources/lang/id-ID/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'site_name' => 'Nama Situs',
+ 'site_domain' => 'Domain',
+ 'site_timezone' => 'Pilih Zona Waktu',
+ 'site_locale' => 'Pilih Bahasa',
+ 'enable_google2fa' => 'Aktifkan Otentikasi Dua Faktor dengan Google',
+ 'cache_driver' => 'Driver Cache',
+ 'queue_driver' => 'Antre Driver',
+ 'session_driver' => 'Driver Sesi',
+ 'mail_driver' => 'Driver Email',
+ 'mail_host' => 'Host Email',
+ 'mail_address' => 'Alamat Email Pengirim',
+ 'mail_username' => 'Username Email',
+ 'mail_password' => 'Password Email',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Username atau Email',
+ 'email' => 'Email',
+ 'password' => 'Password',
+ '2fauth' => 'Kode Otentikasi',
+ 'invalid' => 'Username atau password tidak benar',
+ 'invalid-token' => 'Token tidak benar',
+ 'cookies' => 'Mohon aktifkan cookies untuk login.',
+ 'rate-limit' => 'Melebihi batas.',
+ 'remember_me' => 'Ingat saya',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Nama',
+ 'status' => 'Status',
+ 'component' => 'Komponen',
+ 'message' => 'Pesan',
+ 'message-help' => 'Anda juga bisa menggunakan Markdown.',
+ 'occurred_at' => 'Kapan insiden ini terjadi?',
+ 'notify_subscribers' => 'Beritahu subscriber',
+ 'visibility' => 'Tampilan Insiden',
+ 'stick_status' => 'Buat Insiden Sticky',
+ 'stickied' => 'Sticky',
+ 'not_stickied' => 'Tidak Sticky',
+ 'public' => 'Bisa dilihat oleh publik',
+ 'logged_in_only' => 'Hanya bisa dilihat oleh yang login',
+ 'templates' => [
+ 'name' => 'Nama',
+ 'template' => 'Template',
+ 'twig' => 'Template Insiden ini bisa menggunakan bahasa template Twig.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Nama',
+ 'status' => 'Status',
+ 'message' => 'Pesan',
+ 'message-help' => 'Anda juga bisa menggunakan Markdown.',
+ 'scheduled_at' => 'Kapan pemeliharaan ini dijadwalkan?',
+ 'completed_at' => 'Kapan pemeliharaan ini selesai?',
+ 'templates' => [
+ 'name' => 'Nama',
+ 'template' => 'Template',
+ 'twig' => 'Template Insiden ini bisa menggunakan bahasa template Twig.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Nama',
+ 'status' => 'Status',
+ 'group' => 'Grup',
+ 'description' => 'Deskripsi',
+ 'link' => 'Link',
+ 'tags' => 'Tag',
+ 'tags-help' => 'Pisahkan dengan koma.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ 'name' => 'Nama',
+ 'collapsing' => 'Buka/Tutup opsi',
+ 'visible' => 'Selalu buka',
+ 'collapsed' => 'Standarnya tutup grup',
+ 'collapsed_incident' => 'Tutup grup, tetapi buka jika ada masalah',
+ 'visibility' => 'Visibilitas',
+ 'visibility_public' => 'Terlihat bagi publik',
+ 'visibility_authenticated' => 'Terlihat hanya untuk yang sudah login',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nama',
+ 'description' => 'Deskripsi',
+ 'start_at' => 'Waktu mulai jadwal',
+ 'timezone' => 'Zona waktu',
+ 'schedule_frequency' => 'Frekuensi jadwal (dalam detik)',
+ 'completion_latency' => 'Latensi penyelesaian (dalam detik)',
+ 'group' => 'Grup',
+ 'active' => 'Aktif?',
+ 'groups' => [
+ 'name' => 'Nama Grup',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Nama',
+ 'suffix' => 'Akhiran',
+ 'description' => 'Deskripsi',
+ 'description-help' => 'Anda juga bisa menggunakan Markdown.',
+ 'display-chart' => 'Tampilkan grafik di halaman status?',
+ 'default-value' => 'Nilai default',
+ 'calc_type' => 'Kalkulasi metrik',
+ 'type_sum' => 'Jumlah',
+ 'type_avg' => 'Rata-rata',
+ 'places' => 'Digit Desimal',
+ 'default_view' => 'Tampilan default',
+ 'threshold' => 'Dalam rentang berapa menit antara poin metrik?',
+ 'visibility' => 'Visibilitas',
+ 'visibility_authenticated' => 'Terlihat oleh pengguna terautentikasi',
+ 'visibility_public' => 'Terlihat oleh semua orang',
+ 'visibility_hidden' => 'Selalu tersembunyi',
+
+ 'points' => [
+ 'value' => 'Nilai',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Nama Situs',
+ 'site-url' => 'URL',
+ 'display-graphs' => 'Tampilkan grafik di halaman status?',
+ 'about-this-page' => 'Tentang halaman ini',
+ 'days-of-incidents' => 'Berapa hari insiden akan ditampilkan?',
+ 'banner' => 'Gambar Banner',
+ 'banner-help' => 'Disarankan gambar yang anda unggah tidak lebih lebar dari 930px.',
+ 'subscribers' => 'Bolehkan pengunjung mendaftar notifikasi email?',
+ 'skip_subscriber_verification' => 'Lewatkan verifikasi user? (Hati-hati, anda bisa kena spam)',
+ 'automatic_localization' => 'Otomatis ganti bahasa halaman status anda ke bahasa pengunjung?',
+ 'enable_external_dependencies' => 'Aktifkan Dependensi Pihak Ketiga (Font Google, Trackers, dll...)',
+ 'show_timezone' => 'Tampilkan zona waktu dimana halaman status berjalan.',
+ 'only_disrupted_days' => 'Hanya tampilkan hari yang berisi insiden dalam linimasa?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Kode Google Analytics',
+ 'analytics_gosquared' => 'Kode GoSquared Analytics',
+ 'analytics_piwik_url' => 'URL Piwik anda (tanpa http(s)://)',
+ 'analytics_piwik_siteid' => 'ID situs Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Zona Waktu',
+ 'site-locale' => 'Bahasa',
+ 'date-format' => 'Format Tanggal',
+ 'incident-date-format' => 'Format Waktu Insiden',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Domain yang dibolehkan',
+ 'allowed-domains-help' => 'Pisahkan dengan koma. Domain yang ada di atas otomatis akan dibolehkan.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Stylesheet Kustom',
+ ],
+ 'theme' => [
+ 'background-color' => 'Warna latar belakang',
+ 'background-fills' => 'Isian latar belakang (Komponen, Insiden, Footer)',
+ 'banner-background-color' => 'Banner Background Color',
+ 'banner-padding' => 'Banner Padding',
+ 'fullwidth-banner' => 'Enable fullwidth banner?',
+ 'text-color' => 'Warna teks',
+ 'dashboard-login' => 'Tampilkan tombol dashboard di footer?',
+ 'reds' => 'Merah (Digunakan jika ada kesalahan)',
+ 'blues' => 'Biru (Digunakan jika ada informasi)',
+ 'greens' => 'Hijau (Digunakan saat operasi berhasil)',
+ 'yellows' => 'Kuning (Digunakan sebagai peringatan)',
+ 'oranges' => 'Jingga (Digunakan sebagai pemberitahuan)',
+ 'metrics' => 'Isian metrik',
+ 'links' => 'Tautan',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Username',
+ 'email' => 'Email',
+ 'password' => 'Password',
+ 'api-token' => 'Token API',
+ 'api-token-help' => 'Pembuatan ulang token API akan bermasalah jika sudah ada aplikasi lain yang mengakses Cachet.',
+ 'gravatar' => 'Change your profile picture at Gravatar.',
+ 'user_level' => 'Tingkatan pengguna',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'User',
+ ],
+ '2fa' => [
+ 'help' => 'Mengaktifkan otentikasi dua faktor akan memperkuat keamanan akun anda. Anda perlu mengunduh Google Authenticator atau app sejenis di gadget anda. Saat login anda akan ditanyakan untuk mengisi token yang dibuat oleh app tersebut.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Pilih zona waktu',
+ ],
+
+ // Buttons
+ 'add' => 'Tambah',
+ 'save' => 'Simpan',
+ 'update' => 'Perbarui',
+ 'create' => 'Buat',
+ 'edit' => 'Edit',
+ 'delete' => 'Hapus',
+ 'submit' => 'Kirim',
+ 'cancel' => 'Batalkan',
+ 'remove' => 'Buang',
+ 'invite' => 'Undang',
+ 'signup' => 'Daftar',
+
+ // Other
+ 'optional' => '* Tidak wajib',
+];
diff --git a/resources/lang/id-ID/notifications.php b/resources/lang/id-ID/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/id-ID/notifications.php
+++ b/resources/lang/id-ID/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/id-ID/pagination.php b/resources/lang/id-ID/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/id-ID/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/id-ID/setup.php b/resources/lang/id-ID/setup.php
new file mode 100644
index 00000000..7a044deb
--- /dev/null
+++ b/resources/lang/id-ID/setup.php
@@ -0,0 +1,23 @@
+ 'Instalasi',
+ 'title' => 'Instalasi Cachet',
+ 'service_details' => 'Detail Layanan',
+ 'env_setup' => 'Setup lingkungan',
+ 'status_page_setup' => 'Penyiapan Halaman Status',
+ 'show_support' => 'Tunjukkan dukungan untuk Cachet? Tampilkan catatan di bawah halaman yang bertaut ke situs Cachet.',
+ 'admin_account' => 'Akun Administrator',
+ 'complete_setup' => 'Selesaikan Instalasi',
+ 'completed' => 'Cachet berhasil dikonfigurasi!',
+ 'finish_setup' => 'Ke dashboard',
+];
diff --git a/resources/lang/id-ID/validation.php b/resources/lang/id-ID/validation.php
new file mode 100644
index 00000000..0a30f4a5
--- /dev/null
+++ b/resources/lang/id-ID/validation.php
@@ -0,0 +1,122 @@
+ 'Anda harus menerima :attribute .',
+ 'active_url' => ':attribute bukan merupakan URL yang benar.',
+ 'after' => ':attribute harus merupakan tanggal setelah :date.',
+ 'alpha' => ':attribute hanya boleh berisi huruf.',
+ 'alpha_dash' => ':attribute hanya boleh berisi huruf, angka dan tanda minus.',
+ 'alpha_num' => ':attribute hanya boleh berisi huruf dan angka.',
+ 'array' => ':attribute harus merupakan array.',
+ 'before' => ':attribute harus merupakan tanngga sebelum :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attribute harus antara :min dan :max item.',
+ ],
+ '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.',
+ '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' => ':attribute memiliki nilai duplikasi.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute harus merupakan gambar.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => ':attribute tidak ada dalam :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute harus merupakan string JSON yang valid.',
+ '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' => ':attribute tidak boleh lebih dari :max item.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute minimal harus :min kilobyte.',
+ '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' => ':attribute harus ada.',
+ 'regex' => 'Format :attribute tidak benar.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'Bagian :attribute harus diisi kecuali :other :values.',
+ 'required_with' => ':attribute harus diisi jika ada :values.',
+ 'required_with_all' => ':attribute harus diisi jika ada :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' => ':attribute harus :size kilobyte.',
+ 'string' => ':attribute harus :size karakter.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute harus merupakan zona yang benar.',
+ 'unique' => ':attribute sudah ada.',
+ 'url' => 'Format :attribute tidak benar.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/it-IT/cachet.php b/resources/lang/it-IT/cachet.php
new file mode 100644
index 00000000..bb6c34a7
--- /dev/null
+++ b/resources/lang/it-IT/cachet.php
@@ -0,0 +1,129 @@
+ [
+ 'last_updated' => 'Ultimo aggiornamento :timestamp',
+ 'status' => [
+ 0 => 'Sconosciuto',
+ 1 => 'Operativo',
+ 2 => 'Problemi sulle prestazioni',
+ 3 => 'Disservizio parziale',
+ 4 => 'Interruzione del servizio',
+ ],
+ 'group' => [
+ 'other' => 'Altri Componenti',
+ ],
+ ],
+
+ // Incidents
+ 'incidents' => [
+ 'none' => 'Nessun incidente segnalato',
+ 'past' => 'Problemi passati',
+ 'stickied' => 'Incidenti Fissati',
+ 'scheduled' => 'Manutenzione programmata',
+ 'scheduled_at' => ', programmata il :timestamp',
+ 'posted' => 'Pubblicato :timestamp',
+ 'status' => [
+ 1 => 'Analisi',
+ 2 => 'Identificato',
+ 3 => 'Osservazione',
+ 4 => 'Risolto',
+ ],
+ ],
+
+ // Schedule
+ 'schedules' => [
+ 'status' => [
+ 0 => 'In Arrivo',
+ 1 => 'In corso',
+ 2 => 'Completo',
+ ],
+ ],
+
+ // Service Status
+ 'service' => [
+ 'good' => '[0,1] Sistema operativo|[2,Inf] Tutti i sistemi sono operativi',
+ 'bad' => '[0,1] Il sistema al momento presenta problemi|[2,Inf] Alcuni sistemi presentano problemi',
+ 'major' => '[0,1] Il servizio presenta presenta un grave problema|[2,Inf] Alcuni sistemi presentano un grave problema',
+ ],
+
+ 'api' => [
+ 'regenerate' => 'Rigenera API Key',
+ 'revoke' => 'Revoca API Key',
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'filter' => [
+ 'last_hour' => 'Ultima Ora',
+ 'hourly' => 'Ultime 12 Ore',
+ 'weekly' => 'Settimana',
+ 'monthly' => 'Mese',
+ ],
+ ],
+
+ // Subscriber
+ 'subscriber' => [
+ 'subscribe' => 'Iscriviti per ricevere gli aggiornamenti più recenti',
+ 'unsubscribe' => 'Annulla l\'iscrizione a :link',
+ 'button' => 'Iscriviti',
+ 'manage' => [
+ 'no_subscriptions' => 'Sei attualmente iscritto a tutti gli aggiornamenti.',
+ 'my_subscriptions' => 'Sei attualmente iscritto ai seguenti suggerimenti.',
+ ],
+ 'email' => [
+ 'subscribe' => 'Iscriviti agli aggiornamenti via email.',
+ 'subscribed' => 'Ti sei appena iscritto agli aggiornamenti email, controlla la tua casella per confermare la sottoscrizione',
+ 'verified' => 'La tua iscrizione è stata confermata. Grazie!',
+ 'manage' => 'Gestisci la tua iscrizione',
+ 'unsubscribe' => 'Annulla l\'iscrizione agli aggiornamenti email.',
+ 'unsubscribed' => 'La tua iscrizione è stata rimossa.',
+ 'failure' => 'Qualcosa è andato storto con l\'iscrizione.',
+ 'already-subscribed' => 'Non è possibile iscrivere :email perchè risulta già iscritto.',
+ ],
+ ],
+
+ 'signup' => [
+ 'title' => 'Registrati',
+ 'username' => 'Nome Utente',
+ 'email' => 'Email',
+ 'password' => 'Password',
+ 'success' => 'Il tuo account è stato creato.',
+ 'failure' => 'Qualcosa non ha funzionato durante la procedura d\'iscrizione.',
+ ],
+
+ 'system' => [
+ 'update' => 'E\' disponibile una nuova versione di Cachet. Scopri come fare qui!',
+ ],
+
+ // Modal
+ 'modal' => [
+ 'close' => 'Chiudi',
+ 'subscribe' => [
+ 'title' => 'Iscriviti agli aggiornamenti dei componenti',
+ 'body' => 'Inserisci il tuo indirizzo e-mail per iscriverti agli aggiornamenti di questo componente. Se sei già iscritto, riceverai già email relative a questo componente.',
+ 'button' => 'Iscriviti',
+ ],
+ ],
+
+ // Other
+ 'home' => 'Home',
+ 'description' => 'Resta informato sugli ultimi aggiornamenti dei servizi di :app.',
+ 'powered_by' => 'Powered by Cachet.',
+ 'timezone' => 'Le date sono mostrate in :timezone.',
+ 'about_this_site' => 'Informazioni sul sito',
+ 'rss-feed' => 'RSS',
+ 'atom-feed' => 'Atom',
+ 'feed' => 'Status Feed',
+
+];
diff --git a/resources/lang/it-IT/dashboard.php b/resources/lang/it-IT/dashboard.php
new file mode 100644
index 00000000..d895c3e6
--- /dev/null
+++ b/resources/lang/it-IT/dashboard.php
@@ -0,0 +1,293 @@
+ 'Pannello amministrativo',
+ 'writeable_settings' => 'Gkj6grnj.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Segnalazioni & Pianificazione',
+ 'incidents' => 'Incidenti',
+ 'logged' => '{0} Non ci sono segnalazioni, ottimo lavoro.|Hai notificato una segnalazione.|Hai notificato :count segnalazioni.',
+ 'incident-create-template' => 'Crea Modello',
+ 'incident-templates' => 'Modelli di segnalazione',
+ 'updates' => '{0} Zero Aggiornamenti|Un Aggiornamento|:count Aggiornamenti',
+ 'add' => [
+ 'title' => 'Riporta un problema',
+ 'success' => 'Segnalazione aggiunta.',
+ 'failure' => 'C\'è stato un problema con l\'aggiunta dela segnalazione, si prega di riprovare.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifica una segnalazione',
+ 'success' => 'Segnalazione aggiornata.',
+ 'failure' => 'C\'è stato un problema con la modifica della segnalazione, si prega di riprovare.',
+ ],
+ 'delete' => [
+ 'success' => 'La segnalazione è stata eliminata e non verrà visualizzata sulla tua pagina di stato.',
+ 'failure' => 'Non è stato possibile eliminare la segnalazione, si prega di riprovare.',
+ ],
+ 'update' => [
+ 'title' => 'Crea nuovo aggiornamento incidente',
+ 'subtitle' => 'Aggiungere un aggiornamento a :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Modelli di segnalazione',
+ 'add' => [
+ 'title' => 'Crea un modello di segnalazione',
+ 'message' => 'È necessario aggiungere un modello di segnalazione.',
+ 'success' => 'Il tuo nuovo modello di segnalazione è stato creato.',
+ 'failure' => 'Qualcosa è andato storto con il modello di segnalazione.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifica Modello',
+ 'success' => 'Il modello di segnalazione è stato aggiornato.',
+ 'failure' => 'Qualcosa è andato storto con l\'aggiornamento del modello di segnalazione',
+ ],
+ 'delete' => [
+ 'success' => 'Il modello di segnalazione è stato eliminato.',
+ 'failure' => 'Non è stato possibile eliminare il modello di segnalazione, si prega di riprovare.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Manutenzione programmata',
+ 'logged' => '{0} non ci sono pianificazioni, buon lavoro. | Hai annotato una pianificazione. | Hai riportato :count pianificazioni.',
+ 'scheduled_at' => 'Pianificato alle :timestamp',
+ 'add' => [
+ 'title' => 'Aggiungi manutenzione programmata',
+ 'success' => 'Pianificazione aggiunta.',
+ 'failure' => 'Qualcosa è andato storto aggiungendo la pianificazione, si prega di riprovare.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifica la manutenzione programmata',
+ 'success' => 'La pianificazione è stata aggiornata!',
+ 'failure' => 'Qualcosa è andato storto con la modifica della pianificazione, si prega di riprovare.',
+ ],
+ 'delete' => [
+ 'success' => 'La manutenzione programmata è stata eliminata e non verrà visualizzata nella tua pagina di stato.',
+ 'failure' => 'Non è stato possibile eliminare la manutenzione programmata, si prega di riprovare.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Componenti',
+ 'component_statuses' => 'Stati del componente',
+ 'listed_group' => 'Raggruppati sotto :name',
+ 'add' => [
+ 'title' => 'Aggiungi un componente',
+ 'message' => 'È necessario aggiungere un componente.',
+ 'success' => 'Componente creato.',
+ 'failure' => 'Qualcosa è andato storto con il componente, si prega di riprovare.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifica un componente',
+ 'success' => 'Componente aggiornato.',
+ 'failure' => 'Qualcosa è andato storto con il componente, si prega di riprovare.',
+ ],
+ 'delete' => [
+ 'success' => 'Il componente è stato eliminato!',
+ 'failure' => 'Non è stato possibile eliminare il componente, si prega di riprovare.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Gruppo del componente | Gruppi del componente',
+ 'no_components' => 'È necessario aggiungere un gruppo di componenti.',
+ 'add' => [
+ 'title' => 'Aggiungi un gruppo di componenti',
+ 'success' => 'Gruppo di componenti aggiunto.',
+ 'failure' => 'Qualcosa è andato storto con il componente, si prega di riprovare.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifica un gruppo di componenti',
+ 'success' => 'Gruppo di componenti aggiornato.',
+ 'failure' => 'Qualcosa è andato storto con il componente, si prega di riprovare.',
+ ],
+ 'delete' => [
+ 'success' => 'Il gruppo di componenti è stato eliminato!',
+ 'failure' => 'Non è stato possibile eliminare il gruppo di componenti, si prega di riprovare.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metriche',
+ 'add' => [
+ 'title' => 'Crea una metrica',
+ 'message' => 'Si dovrebbe aggiungere un metodo di misura.',
+ 'success' => 'Metrica creata.',
+ 'failure' => 'Qualcosa è andato storto con il metodo di misura, si prega di riprovare.',
+ ],
+ 'edit' => [
+ 'title' => 'Modifica un metodo di misura',
+ 'success' => 'Metodo di misura aggiornato.',
+ 'failure' => 'Qualcosa è andato storto con il metodo di misura, si prega di riprovare.',
+ ],
+ 'delete' => [
+ 'success' => 'Il metodo di misura è stato eliminato e non verrà più visualizzato nella tua pagina di stato.',
+ 'failure' => 'Non è stato possibile eliminare il metodo di misura, si prega di riprovare.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Iscritti',
+ 'description' => 'Gli iscritti riceveranno aggiornamenti via email quando vengono create le segnalazioni o vengono aggiornati i componenti vengono.',
+ 'verified' => 'Verificato',
+ 'not_verified' => 'Non Verificato',
+ 'subscriber' => ': email, iscritta :date',
+ 'no_subscriptions' => 'Iscritto a tutti gli aggiornamenti',
+ 'add' => [
+ 'title' => 'Aggiungi un nuovo iscritto',
+ 'success' => 'L\'iscritto è stato aggiunto!',
+ 'failure' => 'Qualcosa è andato storto con l\'aggiunta dell\'iscritto, si prega di riprovare.',
+ 'help' => 'Immettere ogni iscritto su una nuova riga.',
+ ],
+ 'edit' => [
+ 'title' => 'Aggiorna l\'iscritto',
+ 'success' => 'L\'iscritto è stato aggiornato!',
+ 'failure' => 'Qualcosa è andato storto con la modifica dell\'iscritto, si prega di riprovare.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Gruppo',
+ 'member' => 'Membro',
+ 'profile' => 'Profilo',
+ 'description' => 'I membri del gruppo potranno aggiungere, modificare ed editare componenti e segnalazioni.',
+ 'add' => [
+ 'title' => 'Aggiungi un nuovo membro del gruppo',
+ 'success' => 'Membro del gruppo aggiunto.',
+ 'failure' => 'Non è stato possibile aggiungere il membro del gruppo, si prega di riprovare.',
+ ],
+ 'edit' => [
+ 'title' => 'Aggiorna il profilo',
+ 'success' => 'Profilo aggiornato.',
+ 'failure' => 'Qualcosa è andato storto con l\'aggiornamento del profilo, si prega di riprovare.',
+ ],
+ 'delete' => [
+ 'success' => 'Il membro del gruppo è stato eliminato e non avrà più accesso al pannello amministrativo!',
+ 'failure' => 'Non è stato possibile aggiungere il membro del gruppo, si prega di riprovare.',
+ ],
+ 'invite' => [
+ 'title' => 'Invita un nuovo membro del gruppo',
+ 'success' => 'Un invito è stato inviato',
+ 'failure' => 'Non è stato possibile inviare l\'invito, si prega di riprovare.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Impostazioni',
+ 'app-setup' => [
+ 'app-setup' => 'Installazione dell\'applicazione',
+ 'images-only' => 'Possono essere caricate solo le immagini.',
+ 'too-big' => 'Il file che hai caricato è troppo grande. Caricare un\'immagine più piccola di :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Statistiche',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localizzazione',
+ ],
+ 'customization' => [
+ 'customization' => 'Personalizzazione',
+ 'header' => 'Header HTML personalizzato',
+ 'footer' => 'Footer HTML personalizzato',
+ ],
+ 'mail' => [
+ 'mail' => 'E-Mail',
+ 'test' => 'Prova',
+ 'email' => [
+ 'subject' => 'Prova notifica da Cachet',
+ 'body' => 'Questa è una notifica di prova da Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Sicurezza',
+ 'two-factor' => 'Utenti senza autenticazione in due passaggi',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Foglio di stile',
+ ],
+ 'theme' => [
+ 'theme' => 'Tema',
+ ],
+ 'edit' => [
+ 'success' => 'Impostazioni salvate.',
+ 'failure' => 'Le impostazioni non possono essere salvate.',
+ ],
+ 'credits' => [
+ 'credits' => 'Riconoscimenti',
+ 'contributors' => 'Collaboratori',
+ 'license' => 'Cachet è un progetto open source con licenza BSD-3, rilasciato da Alt tre Services Limited.',
+ 'backers-title' => 'Sostenitori e sponsor',
+ 'backers' => 'Se si desidera sostenere lo sviluppo futuro, scopri la campagna Cachet Patreon.',
+ 'thank-you' => 'Grazie a tutti i :count contributori.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Accedi',
+ 'logged_in' => 'Sei connesso.',
+ 'welcome' => 'Bentornato!',
+ 'two-factor' => 'Inserisci il tuo token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Aiuto',
+ 'status_page' => 'Pagina di Stato',
+ 'logout' => 'Disconnetti',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifiche',
+ 'awesome' => 'Meraviglioso.',
+ 'whoops' => 'Ops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Supporta Cachet',
+ 'support_subtitle' => 'Visita la nostra pagina Patreon!',
+ 'news' => 'Utime notizie',
+ 'news_subtitle' => 'Ottieni l\'aggiornamento più recente',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Benvenuto nella tua nuova pagina di stato!',
+ 'message' => 'La pagina di stato è quasi pronta! È possibile configurare queste impostazioni supplementari',
+ 'close' => 'Portami direttamente al mio pannello amministrativo',
+ 'steps' => [
+ 'component' => 'Crea componenti',
+ 'incident' => 'Crea segnalazioni',
+ 'customize' => 'Personalizza',
+ 'team' => 'Aggiungi utenti',
+ 'api' => 'Genera un API token',
+ 'two-factor' => 'Autenticazione con verifica in due passaggi',
+ ],
+ ],
+
+];
diff --git a/resources/lang/it-IT/forms.php b/resources/lang/it-IT/forms.php
new file mode 100644
index 00000000..588cc5aa
--- /dev/null
+++ b/resources/lang/it-IT/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'Nome Utente',
+ 'password' => 'Password',
+ 'site_name' => 'Nome del sito',
+ 'site_domain' => 'Dominio del sito',
+ 'site_timezone' => 'Seleziona il tuo fuso orario',
+ 'site_locale' => 'Seleziona la lingua',
+ 'enable_google2fa' => 'Abilita la Verifica in Due Passaggi di Google',
+ 'cache_driver' => 'Driver per la cache',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Driver per la sessione',
+ 'mail_driver' => 'Driver di posta elettronica',
+ 'mail_host' => 'Host di posta elettronica',
+ 'mail_address' => 'Posta dall\'indirizzo',
+ 'mail_username' => 'Nome utente di posta',
+ 'mail_password' => 'Password di posta elettronica',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Nome Utente o Email',
+ 'email' => 'Email',
+ 'password' => 'Password',
+ '2fauth' => 'Codice di Autenticazione',
+ 'invalid' => 'Il nome utente o la password non sono validi',
+ 'invalid-token' => 'Token non valido',
+ 'cookies' => 'È necessario abilitare i cookie per effettuare l\'accesso.',
+ 'rate-limit' => 'Sei troppo veloce.',
+ 'remember_me' => 'Ricordami',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Nome',
+ 'status' => 'Stato',
+ 'component' => 'Componente',
+ 'message' => 'Messaggio',
+ 'message-help' => 'Si può anche utilizzare il linguaggio di Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notificare gli iscritti?',
+ 'visibility' => 'Visibilità segnalazione',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
+ 'public' => 'Visibile al pubblico',
+ 'logged_in_only' => 'Visibile solo agli utenti registrati',
+ 'templates' => [
+ 'name' => 'Nome',
+ 'template' => 'Modello',
+ 'twig' => 'I modelli di segnalazione possono usare il linguaggio di templating Twig.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Nome',
+ 'status' => 'Stato',
+ 'message' => 'Messaggio',
+ 'message-help' => 'Si può anche utilizzare il linguaggio di Markdown.',
+ 'scheduled_at' => 'Quando è prevista la manutenzione?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Nome',
+ 'template' => 'Modello',
+ 'twig' => 'I modelli di segnalazione possono usare il linguaggio di templating Twig.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Nome',
+ 'status' => 'Stato',
+ 'group' => 'Gruppo',
+ 'description' => 'Descrizione',
+ 'link' => 'Collegamento',
+ 'tags' => 'Etichette',
+ 'tags-help' => 'Separati da virgole.',
+ 'enabled' => 'Componente abilitato?',
+
+ 'groups' => [
+ 'name' => 'Nome',
+ 'collapsing' => 'Espandi/Comprimi opzioni',
+ 'visible' => 'Sempre espanso',
+ 'collapsed' => 'Comprimere il gruppo come impostazione predefinita',
+ 'collapsed_incident' => 'Comprimere il gruppo, ma espandere se ci sono problemi',
+ 'visibility' => 'Visibilità',
+ 'visibility_public' => 'Visibile al Pubblico',
+ 'visibility_authenticated' => 'Visibile solo agli utenti autenticati',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nome',
+ 'description' => 'Descrizione',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Fuso orario',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Gruppo',
+ 'active' => 'Attivo?',
+ 'groups' => [
+ 'name' => 'Nome del Gruppo',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Nome',
+ 'suffix' => 'Suffisso',
+ 'description' => 'Descrizione',
+ 'description-help' => 'Si può anche utilizzare il linguaggio di Markdown.',
+ 'display-chart' => 'Visualizzare il grafico nella pagina di stato?',
+ 'default-value' => 'Valore predefinito',
+ 'calc_type' => 'Calcolo del metodo di misura',
+ 'type_sum' => 'Somma',
+ 'type_avg' => 'Media',
+ 'places' => 'Cifre decimali',
+ 'default_view' => 'Vista predefinita',
+ 'threshold' => 'Quanti minuti di soglia tra metriche punti?',
+ 'visibility' => 'Visibilità',
+ 'visibility_authenticated' => 'Visible to authenticated users',
+ 'visibility_public' => 'Visibile a tutti',
+ 'visibility_hidden' => 'Sempre nascosto',
+
+ 'points' => [
+ 'value' => 'Valore',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Nome del sito',
+ 'site-url' => 'URL del Sito',
+ 'display-graphs' => 'Visualizzare i grafici nella pagina di stato?',
+ 'about-this-page' => 'Informazioni sulla pagina',
+ 'days-of-incidents' => 'Quanti giorni di segnalazioni mostrare?',
+ 'banner' => 'Immagine del banner',
+ 'banner-help' => 'È consigliabile caricare file larghi non più di 930px.',
+ 'subscribers' => 'Permettere alle persone di iscriversi alle notifiche via email?',
+ 'skip_subscriber_verification' => 'Skip verifica degli utenti? (Attenzione, potreste ricevere spam)',
+ 'automatic_localization' => 'Tradurre automaticamente la tua pagina di stato nella lingua del visitatore?',
+ 'enable_external_dependencies' => 'Attivare le dipendenze di terze parti (Google Fonts, Trackers, ecc...)',
+ 'show_timezone' => 'Visualizza il fuso orario nella pagina stato.',
+ 'only_disrupted_days' => 'Mostra solo i giorni contenenti incidenti nella timeline?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Codice Google Analytics',
+ 'analytics_gosquared' => 'Codice GoSquared Analytics',
+ 'analytics_piwik_url' => 'URL dell\'istanza Piwik (senza http(s)://)',
+ 'analytics_piwik_siteid' => 'Id del sito Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Fuso orario del sito',
+ 'site-locale' => 'Lingua del sito',
+ 'date-format' => 'Formato della data',
+ 'incident-date-format' => 'Formato timestamp della segnalazione',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Domini consentiti',
+ 'allowed-domains-help' => 'Separati da virgola. Il dominio impostato sopra è automaticamente consentito per impostazione predefinita.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Foglio di stile personalizzato',
+ ],
+ 'theme' => [
+ 'background-color' => 'Colore di sfondo',
+ 'background-fills' => 'Riempimento sfondo (componenti, segnalazioni, footer)',
+ 'banner-background-color' => 'Colore di sfondo del banner',
+ 'banner-padding' => 'Padding del banner',
+ 'fullwidth-banner' => 'Abilitare banner a piena larghezza?',
+ 'text-color' => 'Colore del testo',
+ 'dashboard-login' => 'Mostrare pulsante del pannello amministrativo nel footer?',
+ 'reds' => 'Rosso (utilizzato per gli errori)',
+ 'blues' => 'Blu (usato per le informazioni)',
+ 'greens' => 'Verde (usato per operazioni andate a buon fine)',
+ 'yellows' => 'Giallo (utilizzato per gli avvisi)',
+ 'oranges' => 'Orange (usato per notifiche)',
+ 'metrics' => 'Riempimento di metriche',
+ 'links' => 'Collegamenti',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Nome Utente',
+ 'email' => 'Email',
+ 'password' => 'Password',
+ 'api-token' => 'API Token',
+ 'api-token-help' => 'Rigenerare il tuo API token impedirà alle applicazioni esistenti di accedere a Cachet.',
+ 'gravatar' => 'Cambia la tua immagine del profilo presso Gravatar.',
+ 'user_level' => 'Livello utente',
+ 'levels' => [
+ 'admin' => 'Amministratore',
+ 'user' => 'Utente',
+ ],
+ '2fa' => [
+ 'help' => 'L\'attivazione dell\'autenticazione in due passaggi aumenta la sicurezza del tuo account. Sarà necessario scaricare Google Authenticator o un\'app simile sul tuo dispositivo mobile. Quando si effettua l\'accesso dovrai fornire un token generato dall\'applicazione.',
+ ],
+ 'team' => [
+ 'description' => 'Invita i membri del gruppo inserendo qui i loro indirizzi e-mail.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Seleziona Il Fuso Orario',
+ ],
+
+ // Buttons
+ 'add' => 'Aggiungi',
+ 'save' => 'Salva',
+ 'update' => 'Aggiorna',
+ 'create' => 'Crea',
+ 'edit' => 'Modifica',
+ 'delete' => 'Elimina',
+ 'submit' => 'Invia',
+ 'cancel' => 'Cancella',
+ 'remove' => 'Rimuovi',
+ 'invite' => 'Invita',
+ 'signup' => 'Registrati',
+
+ // Other
+ 'optional' => '* Opzionale',
+];
diff --git a/resources/lang/it-IT/notifications.php b/resources/lang/it-IT/notifications.php
new file mode 100644
index 00000000..6a65c6bd
--- /dev/null
+++ b/resources/lang/it-IT/notifications.php
@@ -0,0 +1,108 @@
+ [
+ 'status_update' => [
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ ],
+ ],
+ 'incident' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
+ ],
+ 'update' => [
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
+ ],
+ ],
+ 'schedule' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
+ ],
+ ],
+ 'subscriber' => [
+ 'verify' => [
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
+ ],
+ ],
+ 'system' => [
+ 'test' => [
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
+ ],
+ ],
+ 'user' => [
+ 'invite' => [
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
+ ],
+ ],
+];
diff --git a/resources/lang/it-IT/pagination.php b/resources/lang/it-IT/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/it-IT/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/it-IT/setup.php b/resources/lang/it-IT/setup.php
new file mode 100644
index 00000000..2808e173
--- /dev/null
+++ b/resources/lang/it-IT/setup.php
@@ -0,0 +1,23 @@
+ 'Installazione',
+ 'title' => 'Installa Cachet',
+ 'service_details' => 'Dettagli del Servizio',
+ 'env_setup' => 'Configurazione dell\'Ambiente',
+ 'status_page_setup' => 'Installazione della Pagina di Stato',
+ 'show_support' => 'Mostrare supporto per Cachet?',
+ 'admin_account' => 'Account Amministratore',
+ 'complete_setup' => 'Installazione Completata',
+ 'completed' => 'Cachet è stato configurato con successo!',
+ 'finish_setup' => 'Vai alla bacheca',
+];
diff --git a/resources/lang/it-IT/validation.php b/resources/lang/it-IT/validation.php
new file mode 100644
index 00000000..33e17e05
--- /dev/null
+++ b/resources/lang/it-IT/validation.php
@@ -0,0 +1,122 @@
+ ':attribute deve essere accettato.',
+ 'active_url' => ':attribute non è un URL valido.',
+ 'after' => ':attribute deve essere una data successiva al :date.',
+ 'alpha' => ':attribute può contenere solo lettere.',
+ 'alpha_dash' => ':attribute può contenere solo lettere, numeri e trattini.',
+ 'alpha_num' => ':attribute può contenere solo lettere e numeri.',
+ 'array' => ':attribute deve essere un array.',
+ 'before' => ':attribute deve contenere una data precedente al :date.',
+ 'between' => [
+ 'numeric' => ':attribute deve essere compreso tra :min e :max.',
+ 'file' => ':attribute deve essere compreso tra :min e :max kilobyte.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attributo deve avere tra :min e :max elementi.',
+ ],
+ 'boolean' => 'The :attribute field must be true or false.',
+ 'confirmed' => 'The :attribute confirmation does not match.',
+ 'date' => 'Il :attribute non è una data valida.',
+ 'date_format' => 'Il :attribute non corrisponde al formato :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' => 'Il campo :attribute ha un valore duplicato.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute deve contenere un\'immagine.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'Il campo :attribute non esiste in :other.',
+ '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' => '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' => ':attribute non può avere più di :max elementi.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute deve essere almeno :min kilobyte.',
+ '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' => 'Il campo :attribute deve essere presente.',
+ 'regex' => 'Il formato di :attribute non è valido.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'Il campo :attribute è obbligatorio a meno che :other è presente in :values.',
+ 'required_with' => 'Il campo :attribute è obbligatorio quando :values è presente.',
+ 'required_with_all' => 'Il campo :attribute è obbligatorio quando :values è presente.',
+ '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' => ':attribute deve essere di :size kilobytes.',
+ 'string' => ':attribute deve essere di :size caratteri.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute deve essere una zona valida.',
+ 'unique' => 'Il valore del campo :attribute è già stato preso.',
+ 'url' => 'Il formato di :attribute non è valido.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'messaggio personalizzato',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/ja-JP/cachet.php b/resources/lang/ja-JP/cachet.php
new file mode 100644
index 00000000..0dd08d1f
--- /dev/null
+++ b/resources/lang/ja-JP/cachet.php
@@ -0,0 +1,129 @@
+ [
+ 'last_updated' => '最終更新 :timestamp',
+ 'status' => [
+ 0 => 'Unknown',
+ 1 => '稼働中',
+ 2 => 'パフォーマンスに関する問題あり',
+ 3 => '一部停止中',
+ 4 => '大規模な停止中',
+ ],
+ 'group' => [
+ 'other' => 'その他のコンポーネント',
+ ],
+ ],
+
+ // Incidents
+ 'incidents' => [
+ 'none' => 'インシデントはありません',
+ 'past' => '過去のインシデント',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => '計画メンテナンス',
+ 'scheduled_at' => ', 予定日時 :timestamp',
+ 'posted' => '投稿日時 :timestamp',
+ 'status' => [
+ 1 => '調査中',
+ 2 => '特定済み',
+ 3 => '監視中',
+ 4 => '修正済み',
+ ],
+ ],
+
+ // Schedule
+ 'schedules' => [
+ 'status' => [
+ 0 => 'Upcoming',
+ 1 => 'In Progress',
+ 2 => 'Complete',
+ ],
+ ],
+
+ // Service Status
+ 'service' => [
+ 'good' => '[0,1] System operational|[2,Inf] All systems are operational',
+ 'bad' => '[0,1] The system is experiencing issues|[2,Inf] Some systems are experiencing issues',
+ 'major' => '[0,1] The system is experiencing major issues|[2,Inf] Some systems are experiencing major issues',
+ ],
+
+ 'api' => [
+ 'regenerate' => 'APIキーの再生成',
+ 'revoke' => 'APIキーの削除',
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'filter' => [
+ 'last_hour' => '過去1時間',
+ 'hourly' => '過去12時間',
+ 'weekly' => '週',
+ 'monthly' => '月',
+ ],
+ ],
+
+ // Subscriber
+ 'subscriber' => [
+ 'subscribe' => '最新のアップデート情報を購読する',
+ 'unsubscribe' => 'Unsubscribe at :link',
+ 'button' => '購読',
+ 'manage' => [
+ 'no_subscriptions' => 'You\'re currently subscribed to all updates.',
+ 'my_subscriptions' => 'You\'re currently subscribed to the following updates.',
+ ],
+ 'email' => [
+ 'subscribe' => 'メールによるアップデート情報の購読',
+ '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!',
+ 'manage' => 'Manage your subscription',
+ 'unsubscribe' => 'Unsubscribe from email updates.',
+ 'unsubscribed' => 'Your email subscription has been cancelled.',
+ 'failure' => 'Something went wrong with the subscription.',
+ 'already-subscribed' => 'Cannot subscribe :email because they\'re already subscribed.',
+ ],
+ ],
+
+ 'signup' => [
+ 'title' => '新規登録',
+ 'username' => 'ユーザー名',
+ 'email' => 'Email',
+ 'password' => 'パスワード',
+ 'success' => 'アカウントが作成されました。',
+ 'failure' => '新規登録に失敗しました。',
+ ],
+
+ 'system' => [
+ 'update' => 'Cachetの新しいバージョンがあります。アップデートの方法についてはこちらを参照して下さい!',
+ ],
+
+ // Modal
+ 'modal' => [
+ 'close' => '閉じる',
+ 'subscribe' => [
+ 'title' => 'Subscribe to component updates',
+ 'body' => 'Enter your email address to subscribe to updates for this component. If you\'re already subscribed, you\'ll already receive emails for this component.',
+ 'button' => '購読',
+ ],
+ ],
+
+ // Other
+ 'home' => 'Home',
+ 'description' => 'Stay up to date with the latest service updates from :app.',
+ 'powered_by' => 'Powered by Cachet.',
+ 'timezone' => 'Times are shown in :timezone.',
+ 'about_this_site' => 'このサイトについて',
+ 'rss-feed' => 'RSS',
+ 'atom-feed' => 'Atom',
+ 'feed' => 'ステータスフィード',
+
+];
diff --git a/resources/lang/ja-JP/dashboard.php b/resources/lang/ja-JP/dashboard.php
new file mode 100644
index 00000000..41b66b88
--- /dev/null
+++ b/resources/lang/ja-JP/dashboard.php
@@ -0,0 +1,293 @@
+ 'ダッシュボード',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'インシデント & スケジュール',
+ 'incidents' => 'インシデント',
+ 'logged' => '{0} 良いですね。インシデントはありません。|インシデントを1件登録しました。|あなたはインシデントを :count 件 報告しています。',
+ 'incident-create-template' => 'テンプレートの作成',
+ 'incident-templates' => 'インシデント・テンプレート',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'インシデントの報告',
+ 'success' => 'インシデントが追加されました。',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'インシデントの編集',
+ 'success' => 'インシデントが更新されました。',
+ 'failure' => 'There was an error editing the incident, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The incident has been deleted and will not show on your status page.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'インシデント・テンプレート',
+ 'add' => [
+ 'title' => 'インシデントテンプレートの作成',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'テンプレートの編集',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => '計画メンテナンス',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Scheduled at :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'コンポーネント',
+ 'component_statuses' => 'コンポーネントのステータス',
+ 'listed_group' => ':name グループに所属',
+ 'add' => [
+ 'title' => 'コンポーネントの追加',
+ 'message' => 'コンポーネントを追加してください。',
+ 'success' => 'Component created.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'コンポーネントの編集',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'コンポーネントが削除されました!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'コンポーネントグループ',
+ 'no_components' => 'コンポーネントグループを追加して下さい',
+ 'add' => [
+ 'title' => 'コンポーネントグループの追加',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'コンポーネントグループの編集',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'コンポーネントグループが削除されました!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'メトリクス',
+ 'add' => [
+ 'title' => 'メトリクスの作成',
+ 'message' => 'メトリクスを追加してください。',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'メトリクスの編集',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => '購読者',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => '認証済',
+ 'not_verified' => '未確認',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => '購読者の追加',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => '購読者の更新',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'チーム',
+ 'member' => 'メンバー',
+ 'profile' => 'プロフィール',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => '新しいチームメンバーを追加する',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'プロフィールの更新',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => '新しいチームメンバーを招待する',
+ 'success' => '招待メールが送信されました',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => '設定',
+ 'app-setup' => [
+ 'app-setup' => 'アプリケーションのセットアップ',
+ 'images-only' => '画像のみアップロード可能です。',
+ 'too-big' => 'ファイルサイズが大きすぎます。:size 以下の画像をアップロードしてください。',
+ ],
+ 'analytics' => [
+ 'analytics' => 'アナリティクス',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'ローカライズ',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'セキュリティ',
+ 'two-factor' => '二要素認証が無効になっているユーザー',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'スタイルシート',
+ ],
+ 'theme' => [
+ 'theme' => 'テーマ',
+ ],
+ 'edit' => [
+ 'success' => '設定が保存されました。',
+ 'failure' => '設定が保存できませんでした。',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'ログイン',
+ 'logged_in' => 'ログインしました。',
+ 'welcome' => 'おかえりなさい!',
+ 'two-factor' => 'トークンを入力して下さい。',
+ ],
+
+ // Sidebar footer
+ 'help' => 'ヘルプ',
+ 'status_page' => 'ステータスページ',
+ 'logout' => 'ログアウト',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => '通知',
+ 'awesome' => 'Awesome.',
+ 'whoops' => 'おおっと',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'ステータスページにようこそ!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'コンポーネントの作成',
+ 'incident' => 'インシデントの作成',
+ 'customize' => 'カスタム設定',
+ 'team' => 'ユーザーの追加',
+ 'api' => 'APIトークンの生成',
+ 'two-factor' => '二要素認証',
+ ],
+ ],
+
+];
diff --git a/resources/lang/ja-JP/forms.php b/resources/lang/ja-JP/forms.php
new file mode 100644
index 00000000..7052092b
--- /dev/null
+++ b/resources/lang/ja-JP/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'ユーザー名',
+ 'password' => 'パスワード',
+ 'site_name' => 'サイト名',
+ 'site_domain' => 'サイトのドメイン',
+ 'site_timezone' => 'タイムゾーンの選択',
+ 'site_locale' => '言語選択',
+ 'enable_google2fa' => 'Googleの2段階認証を有効にする',
+ 'cache_driver' => 'キャッシュドライバー',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'セッションドライバー',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => 'Mail Host',
+ 'mail_address' => 'Mail From Address',
+ 'mail_username' => 'Mail Username',
+ 'mail_password' => 'Mail Password',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'ユーザー名またはメールアドレス',
+ 'email' => 'Email',
+ 'password' => 'パスワード',
+ '2fauth' => '認証コード',
+ 'invalid' => 'ユーザ名またはパスワードが違います',
+ 'invalid-token' => '無効なトークン',
+ 'cookies' => 'ログインするにはクッキーを有効にする必要があります。',
+ 'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => '名前',
+ 'status' => '状況',
+ 'component' => 'コンポーネント',
+ 'message' => 'メッセージ',
+ 'message-help' => 'You may also use Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notify subscribers?',
+ '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',
+ 'templates' => [
+ 'name' => '名前',
+ 'template' => 'テンプレート',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => '名前',
+ 'status' => '状況',
+ 'message' => 'メッセージ',
+ 'message-help' => 'You may also use Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => '名前',
+ 'template' => 'テンプレート',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => '名前',
+ 'status' => '状況',
+ 'group' => 'グループ',
+ 'description' => '説明',
+ 'link' => 'リンク',
+ 'tags' => 'タグ',
+ 'tags-help' => 'カンマ区切り。',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ 'name' => '名前',
+ 'collapsing' => 'Expand/Collapse options',
+ 'visible' => '常に展開する',
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => '名前',
+ 'description' => '説明',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'タイムゾーン',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'グループ',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'グループ名',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => '名前',
+ 'suffix' => 'サフィックス',
+ 'description' => '説明',
+ 'description-help' => 'You may also use Markdown.',
+ 'display-chart' => 'Display chart on status page?',
+ 'default-value' => 'デフォルト値',
+ 'calc_type' => 'Calculation of metrics',
+ 'type_sum' => '合計',
+ 'type_avg' => '平均',
+ 'places' => 'Decimal places',
+ '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',
+
+ 'points' => [
+ 'value' => '値',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'サイト名',
+ 'site-url' => 'サイトのURL',
+ 'display-graphs' => 'Display graphs on status page?',
+ 'about-this-page' => 'このページについて',
+ 'days-of-incidents' => '何日間のインシデントを表示しますか?',
+ 'banner' => 'バナー画像',
+ 'banner-help' => '横幅が930px以内の画像をアップロードしてください。',
+ 'subscribers' => 'Allow people to signup to email notifications?',
+ '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?',
+ ],
+ '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',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'サイトのタイム ゾーン',
+ 'site-locale' => 'サイトの言語',
+ 'date-format' => '日付フォーマット',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => '許可されているドメイン',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ 'theme' => [
+ 'background-color' => '背景色',
+ 'background-fills' => 'Background fills (components, incidents, footer)',
+ 'banner-background-color' => 'Banner background color',
+ 'banner-padding' => 'Banner padding',
+ 'fullwidth-banner' => 'Enable fullwidth banner?',
+ 'text-color' => 'Text color',
+ 'dashboard-login' => 'ダッシュボードページへのリンクをフッター部分に表示しますか?',
+ 'reds' => 'レッド(エラー表示に使用されます)',
+ 'blues' => 'ブルー(インフォメーション表示に使用されます)',
+ 'greens' => 'グリーン(成功の表示に使用されます)',
+ 'yellows' => 'イエロー(アラート表示に使用されます)',
+ 'oranges' => 'オレンジ(通知表示に使用されます)',
+ 'metrics' => 'Metrics fill',
+ 'links' => 'リンク',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'ユーザー名',
+ 'email' => 'Email',
+ 'password' => 'パスワード',
+ 'api-token' => 'APIトークン',
+ 'api-token-help' => 'Regenerating your API token will prevent existing applications from accessing Cachet.',
+ 'gravatar' => 'Change your profile picture at Gravatar.',
+ 'user_level' => 'ユーザーレベル',
+ 'levels' => [
+ 'admin' => '管理者',
+ 'user' => 'ユーザー',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => '追加',
+ 'save' => '保存',
+ 'update' => '更新',
+ 'create' => '作成',
+ 'edit' => '編集',
+ 'delete' => '削除',
+ 'submit' => '送信',
+ 'cancel' => 'キャンセル',
+ 'remove' => '削除',
+ 'invite' => '招待',
+ 'signup' => '新規登録',
+
+ // Other
+ 'optional' => '※ 任意',
+];
diff --git a/resources/lang/ja-JP/notifications.php b/resources/lang/ja-JP/notifications.php
new file mode 100644
index 00000000..6a65c6bd
--- /dev/null
+++ b/resources/lang/ja-JP/notifications.php
@@ -0,0 +1,108 @@
+ [
+ 'status_update' => [
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ ],
+ ],
+ 'incident' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
+ ],
+ 'update' => [
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
+ ],
+ ],
+ 'schedule' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
+ ],
+ ],
+ 'subscriber' => [
+ 'verify' => [
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
+ ],
+ ],
+ 'system' => [
+ 'test' => [
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
+ ],
+ ],
+ 'user' => [
+ 'invite' => [
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
+ ],
+ ],
+];
diff --git a/resources/lang/ja-JP/pagination.php b/resources/lang/ja-JP/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/ja-JP/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/ja-JP/setup.php b/resources/lang/ja-JP/setup.php
new file mode 100644
index 00000000..9af6bf62
--- /dev/null
+++ b/resources/lang/ja-JP/setup.php
@@ -0,0 +1,23 @@
+ 'セットアップ',
+ 'title' => 'Cachetのセットアップ',
+ 'service_details' => 'サービスの詳細情報',
+ 'env_setup' => '環境設定',
+ 'status_page_setup' => 'ステータスページのセットアップ',
+ 'show_support' => 'Show support for Cachet?',
+ 'admin_account' => '管理者アカウント',
+ 'complete_setup' => 'セットアップの完了',
+ 'completed' => 'Cachetの設定が正常に終わりました!',
+ 'finish_setup' => 'ダッシュボード画面に移動',
+];
diff --git a/resources/lang/ja-JP/validation.php b/resources/lang/ja-JP/validation.php
new file mode 100644
index 00000000..452c8e45
--- /dev/null
+++ b/resources/lang/ja-JP/validation.php
@@ -0,0 +1,122 @@
+ 'The :attribute must be accepted.',
+ 'active_url' => ':attribute は無効なURLです。',
+ 'after' => ':attribute は :date よりも後の日付にして下さい。',
+ 'alpha' => ':attribute は、文字が含まれている必要があります。',
+ 'alpha_dash' => ':attribute は英文字、数字、ダッシュ(-)のみ含めることが出来ます。',
+ 'alpha_num' => ':attribute は英数字のみ含めることが出来ます。',
+ 'array' => 'The :attribute must be an array.',
+ 'before' => ':attribute は :date よりも前の日付にして下さい。',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attribute は :min から :max の範囲内にして下さい。',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute は画像にして下さい。',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute は有効な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.',
+ ],
+ '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.',
+ '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' => ':attribute はフォーマットが不正です。',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => ':other が :values に含まれない場合、:attribute フィールドは必須です。',
+ 'required_with' => ':value が存在する場合、:attribute フィールドは必須です。',
+ 'required_with_all' => ':value が存在する場合、:attribute フィールドは必須です。',
+ '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' => ':attribute は :size キロバイトにして下さい。',
+ 'string' => ':attribute は :size 文字にして下さい。',
+ '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' => ':attribute はフォーマットが不正です。',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'カスタムメッセージ',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/ko-KR/cachet.php b/resources/lang/ko-KR/cachet.php
new file mode 100644
index 00000000..4e0995c8
--- /dev/null
+++ b/resources/lang/ko-KR/cachet.php
@@ -0,0 +1,129 @@
+ [
+ 'last_updated' => '최종 업데이트: 타임 스탬프',
+ 'status' => [
+ 0 => '알 수 없음',
+ 1 => '정상',
+ 2 => '성능 이슈',
+ 3 => '부분 중단',
+ 4 => '주요 중단',
+ ],
+ 'group' => [
+ 'other' => '다른 구성 요소',
+ ],
+ ],
+
+ // Incidents
+ 'incidents' => [
+ 'none' => '아무 문제도 보고되지 않음',
+ 'past' => '이전 문제',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => '예정된 유지 보수',
+ 'scheduled_at' => ', :timestamp 에 예정됨',
+ 'posted' => '게시 됨 :timestamp',
+ 'status' => [
+ 1 => '파악 중',
+ 2 => '확인됨',
+ 3 => '주시하는 중',
+ 4 => '수정됨',
+ ],
+ ],
+
+ // Schedule
+ 'schedules' => [
+ 'status' => [
+ 0 => 'Upcoming',
+ 1 => 'In Progress',
+ 2 => 'Complete',
+ ],
+ ],
+
+ // Service Status
+ 'service' => [
+ 'good' => '[0,1] System operational|[2,Inf] All systems are operational',
+ 'bad' => '[0,1] The system is experiencing issues|[2,Inf] Some systems are experiencing issues',
+ 'major' => '[0,1] The system is experiencing major issues|[2,Inf] Some systems are experiencing major issues',
+ ],
+
+ 'api' => [
+ 'regenerate' => 'API Key 재생성',
+ 'revoke' => 'API Key 폐지',
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'filter' => [
+ 'last_hour' => '1시간 이내',
+ 'hourly' => 'Last 12 Hours',
+ 'weekly' => 'Week',
+ 'monthly' => 'Month',
+ ],
+ ],
+
+ // Subscriber
+ 'subscriber' => [
+ 'subscribe' => '최신 업데이트를 받아 보기 위한 구독신청.',
+ 'unsubscribe' => 'Unsubscribe at :link',
+ 'button' => '구독',
+ 'manage' => [
+ 'no_subscriptions' => 'You\'re currently subscribed to all updates.',
+ 'my_subscriptions' => 'You\'re currently subscribed to the following updates.',
+ ],
+ 'email' => [
+ 'subscribe' => '이메일 구독 신청.',
+ 'subscribed' => '이메일 구독 신청이 완료되었습니다. 구독 신청 확인을 위한 이메일을 확인해주세요.',
+ 'verified' => '이메일 구독이 확인 되었습니다. 감사합니다!',
+ 'manage' => '구독 관리',
+ 'unsubscribe' => '이메일 구독 취소',
+ 'unsubscribed' => '이메일 구독이 취소 되었습니다.',
+ 'failure' => '구독 신청 중에 문제가 발생했습니다.',
+ 'already-subscribed' => 'Cannot subscribe :email because they\'re already subscribed.',
+ ],
+ ],
+
+ 'signup' => [
+ 'title' => '가입',
+ 'username' => '사용자이름',
+ 'email' => '이메일',
+ 'password' => '비밀번호',
+ 'success' => '계정이 생성되었습니다.',
+ 'failure' => '가입 중에 문제가 생겼습니다.',
+ ],
+
+ 'system' => [
+ 'update' => 'There is a newer version of Cachet available. You can learn how to update here!',
+ ],
+
+ // Modal
+ 'modal' => [
+ 'close' => '닫기',
+ 'subscribe' => [
+ 'title' => '구성 요소 업데이트를 구독',
+ 'body' => 'Enter your email address to subscribe to updates for this component. If you\'re already subscribed, you\'ll already receive emails for this component.',
+ 'button' => '구독',
+ ],
+ ],
+
+ // Other
+ 'home' => '홈',
+ 'description' => 'Stay up to date with the latest service updates from :app.',
+ 'powered_by' => 'Powered by Cachet.',
+ 'timezone' => 'Times are shown in :timezone.',
+ 'about_this_site' => '이 사이트에 대해',
+ 'rss-feed' => 'RSS',
+ 'atom-feed' => 'Atom',
+ 'feed' => '상태 ',
+
+];
diff --git a/resources/lang/ko-KR/dashboard.php b/resources/lang/ko-KR/dashboard.php
new file mode 100644
index 00000000..ce658c74
--- /dev/null
+++ b/resources/lang/ko-KR/dashboard.php
@@ -0,0 +1,293 @@
+ '대시보드',
+ 'writeable_settings' => 'Cachet settings directory 에 쓰기 권한이 없습니다. ./bootstrap/cachet가 웹 서버에 의해 쓰기 가능한지 확인 하십시오.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => '문제 및 예정',
+ 'incidents' => '문제',
+ 'logged' => '{0} 아무 문제가 없습니다, 잘하고 있어요.|하나의 문제에 대한 로깅이 있습니다.|:count 개의 문제가 리포트 되었습니다.',
+ 'incident-create-template' => '템플릿 생성',
+ 'incident-templates' => '문제 템플릿',
+ 'updates' => '{0} 0 업데이트 | 1 업데이트 |: count 업데이트',
+ 'add' => [
+ 'title' => '문제 추가',
+ 'success' => 'Incident added.',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => '문제 수정',
+ 'success' => '문제가 수정되었습니다.',
+ 'failure' => '문제 수정중에 에러가 발생했습니다. 다시 시도해 주세요.',
+ ],
+ 'delete' => [
+ 'success' => '문제가 삭제되었습니다. 그리고 상태 페이지에 표시되지 않습니다.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => '문제 템플릿',
+ 'add' => [
+ 'title' => '문제 템플릿 생성하기',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => '문제 템플릿 수정',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => '예정된 유지 보수',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => ':timestamp 에 예정됨',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => '일정이 추가되었습니다.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => '일정이 업데이트 되었습니다!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => '구성 요소',
+ 'component_statuses' => '구성요소 상태',
+ 'listed_group' => ':name 그룹',
+ 'add' => [
+ 'title' => '구성요소 추가',
+ 'message' => '구성요소를 추가해야 합니다.',
+ 'success' => '구성요소가 생성되었습니다.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => '구성요소 수정',
+ 'success' => '구성요소가 수정되었습니다.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => '구성요소 그룹|구성요소 그룹',
+ 'no_components' => '구성 요소 그룹을 추가 해야 합니다.',
+ 'add' => [
+ 'title' => '구성요소 그룹 추가',
+ 'success' => '구성요소 그룹이 추가되었습니다.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => '구성요소 그룹 수정',
+ 'success' => '구성요소 그룹이 수정되었습니다.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => '구성 요소 그룹이 삭제 되었습니다!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => '통계',
+ 'add' => [
+ 'title' => '통계 추가',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => '통계 수정',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => '구독자',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => '인증됨',
+ 'not_verified' => '인증되지 않음',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => '구독자 추가',
+ 'success' => '구독자가 추가됨.',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => '구독자 업데이트',
+ 'success' => '구독자가 업데이트됨.',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => '팀',
+ 'member' => '멤버',
+ 'profile' => '프로필',
+ 'description' => '팀 멤버는 구성요소와 문제를 추가하고 수정 할 수 있습니다.',
+ 'add' => [
+ 'title' => '새 팀 멤버 추가',
+ 'success' => '팀 멤버가 추가되었습니다',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => '프로필 수정',
+ 'success' => '프로필이 수정되었습니다.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => '사용자 삭제',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => '새 팀 멤버 초대하기',
+ 'success' => '사용자가 초대되었습니다.',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => '설정',
+ 'app-setup' => [
+ 'app-setup' => '애플리케이션 설정',
+ 'images-only' => '이미지만 업로드 할 수 있습니다.',
+ 'too-big' => '업로드 한 파일이 너무 큽니다. :size 보다 작은 이미지를 올려주세요.',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => '사용자 설정',
+ 'header' => '사용자 지정 헤더 HTML',
+ 'footer' => '사용자 지정 바닥글 HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => '보안',
+ 'two-factor' => '2단계 인증을 사용하지 않는 사용자',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => '스타일시트',
+ ],
+ 'theme' => [
+ 'theme' => '테마',
+ ],
+ 'edit' => [
+ 'success' => '설정이 저장되었습니다.',
+ 'failure' => '설정을 저장할 수 없습니다.',
+ ],
+ 'credits' => [
+ 'credits' => '제작진',
+ 'contributors' => '도움 주신 분들',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => '로그인',
+ 'logged_in' => '로그인 되었습니다.',
+ 'welcome' => '안녕하세요!',
+ 'two-factor' => '토큰을 입력해주세요.',
+ ],
+
+ // Sidebar footer
+ 'help' => '도움말',
+ 'status_page' => '상태 페이지',
+ 'logout' => '로그아웃',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => '알림',
+ 'awesome' => '좋아요.',
+ 'whoops' => '이런...',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => '상태 페이지는 거의 다 준비 되었습니다! 추가 설정을 해보세요',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => '구성요소 만들기',
+ 'incident' => '문제 만들기',
+ 'customize' => '사용자 지정',
+ 'team' => '사용자 추가',
+ 'api' => 'API 토큰 생성',
+ 'two-factor' => '2단계 인증',
+ ],
+ ],
+
+];
diff --git a/resources/lang/ko-KR/forms.php b/resources/lang/ko-KR/forms.php
new file mode 100644
index 00000000..bc889e76
--- /dev/null
+++ b/resources/lang/ko-KR/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => '이메일',
+ 'username' => '사용자이름',
+ 'password' => '비밀번호',
+ 'site_name' => '사이트 이름',
+ 'site_domain' => '사이트 도메인',
+ 'site_timezone' => '시간대 선택',
+ 'site_locale' => '언어 선택',
+ 'enable_google2fa' => '구글 2단계 인증 활성화',
+ 'cache_driver' => '캐시 드라이버',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => '세션 드라이버',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => '메일 서버',
+ 'mail_address' => '보내는 메일 주소',
+ 'mail_username' => '메일 사용자 이름',
+ 'mail_password' => '메일 비밀 번호',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => '사용자명 또는 이메일',
+ 'email' => '이메일',
+ 'password' => '비밀번호',
+ '2fauth' => '인증 코드',
+ 'invalid' => 'Invalid username or password',
+ 'invalid-token' => '잘못된 토큰n',
+ 'cookies' => '로그인 하려면 쿠키를 활성화 해야 합니다.',
+ 'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => '이름',
+ 'status' => '상태',
+ 'component' => '구성요소',
+ 'message' => '메시지',
+ 'message-help' => 'Markdown을 사용할 수 있습니다.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => '구독자에게 알림',
+ 'visibility' => 'Incident Visibility',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
+ 'public' => '전체 공개',
+ 'logged_in_only' => '로그인한 사용자만 볼 수 있음',
+ 'templates' => [
+ 'name' => '이름',
+ 'template' => '템플릿',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => '이름',
+ 'status' => '상태',
+ 'message' => '메시지',
+ 'message-help' => 'Markdown을 사용할 수 있습니다.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => '이름',
+ 'template' => '템플릿',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => '이름',
+ 'status' => '상태',
+ 'group' => '그룹',
+ 'description' => '설명',
+ 'link' => '링크',
+ 'tags' => '태그',
+ 'tags-help' => '쉼표로 구분.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => '이름',
+ 'description' => '설명',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => '그룹',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => '이름',
+ 'suffix' => '접미사',
+ 'description' => '설명',
+ 'description-help' => 'Markdown을 사용할 수 있습니다.',
+ 'display-chart' => '상태 페이지에 차트 보이기',
+ 'default-value' => '기본값',
+ 'calc_type' => '통계 계산',
+ 'type_sum' => '합계',
+ 'type_avg' => '평균',
+ 'places' => 'Decimal places',
+ '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',
+
+ 'points' => [
+ 'value' => '값',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => '사이트 이름',
+ 'site-url' => '사이트 URL',
+ 'display-graphs' => '상태 페이지에 그래프 보이기',
+ 'about-this-page' => '이 페이지에 대하여',
+ 'days-of-incidents' => '몇 일 동안 사건을 표시하시겠습니까?',
+ 'banner' => '배너 이미지',
+ 'banner-help' => '가로가 930 픽셀보다 작은 이미지를 업로드 하는 것을 권장합니다.',
+ 'subscribers' => '이메일 알림을 받기 위한 회원가입 허용',
+ '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?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Google Analytics 코드',
+ 'analytics_gosquared' => 'GoSquared Analytics 코드',
+ 'analytics_piwik_url' => 'Piwik 인스턴스의 URL ( "http(s)://" 제외 )',
+ 'analytics_piwik_siteid' => 'Piwik 사이트 id',
+ ],
+ 'localization' => [
+ 'site-timezone' => '사이트 시간대',
+ 'site-locale' => '사이트 언어',
+ 'date-format' => '날짜 형식',
+ 'incident-date-format' => '문제 Timestamp 형식',
+ ],
+ 'security' => [
+ 'allowed-domains' => '허용된 도메인',
+ 'allowed-domains-help' => '쉼표로 구분. 위에 설정된 도메인은 기본적으로 자동 허용 됩니다.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ 'theme' => [
+ 'background-color' => '배경 색:',
+ 'background-fills' => 'Background fills (components, incidents, footer)',
+ 'banner-background-color' => 'Banner Background Color',
+ 'banner-padding' => 'Banner Padding',
+ 'fullwidth-banner' => 'Enable fullwidth banner?',
+ 'text-color' => '글자 색',
+ 'dashboard-login' => 'Show dashboard button in the footer?',
+ 'reds' => '빨강 (에러에 사용됨)',
+ 'blues' => '파랑 (정보에 사용됨)',
+ 'greens' => '초록 (성공에 사용됨)',
+ 'yellows' => '노랑 (알림에 사용됨)',
+ 'oranges' => '주황 (공지에 사용됨)',
+ 'metrics' => 'Metrics fill',
+ 'links' => '링크',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => '사용자이름',
+ 'email' => '이메일',
+ 'password' => '비밀번호',
+ 'api-token' => 'API 토큰',
+ 'api-token-help' => '기존의 프로그램이 Cachet에 접근하는 것을 막기 위해, API token 을 재성성합니다.',
+ 'gravatar' => 'Change your profile picture at Gravatar.',
+ 'user_level' => '사용자 레벨',
+ 'levels' => [
+ 'admin' => '관리자',
+ 'user' => '사용자',
+ ],
+ '2fa' => [
+ 'help' => '2단계 인증을 활성화하면 계정 보안이 강화됩니다. Google Authenticator 또는 유사한 앱을 모바일 기기에 다운로드 받아야 합니다. 로그인 할 때, 해당 앱에서 생성된 토큰을 입력해야합니다.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => '추가',
+ 'save' => '저장',
+ 'update' => '수정',
+ 'create' => '생성',
+ 'edit' => '수정',
+ 'delete' => '삭제',
+ 'submit' => '전송',
+ 'cancel' => '취소',
+ 'remove' => '삭제',
+ 'invite' => '초대',
+ 'signup' => '가입',
+
+ // Other
+ 'optional' => '* 선택사항',
+];
diff --git a/resources/lang/ko-KR/notifications.php b/resources/lang/ko-KR/notifications.php
new file mode 100644
index 00000000..6a65c6bd
--- /dev/null
+++ b/resources/lang/ko-KR/notifications.php
@@ -0,0 +1,108 @@
+ [
+ 'status_update' => [
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ ],
+ ],
+ 'incident' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
+ ],
+ 'update' => [
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
+ ],
+ ],
+ 'schedule' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
+ ],
+ ],
+ 'subscriber' => [
+ 'verify' => [
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
+ ],
+ ],
+ 'system' => [
+ 'test' => [
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
+ ],
+ ],
+ 'user' => [
+ 'invite' => [
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
+ ],
+ ],
+];
diff --git a/resources/lang/ko-KR/pagination.php b/resources/lang/ko-KR/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/ko-KR/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/ko-KR/setup.php b/resources/lang/ko-KR/setup.php
new file mode 100644
index 00000000..173aa648
--- /dev/null
+++ b/resources/lang/ko-KR/setup.php
@@ -0,0 +1,23 @@
+ '설치',
+ 'title' => 'Cachet 설치',
+ 'service_details' => '서비스 상세정보',
+ 'env_setup' => '환경 설정',
+ 'status_page_setup' => '상태 페이지 설정',
+ 'show_support' => 'Cachet 에 대한 지원을 표시',
+ 'admin_account' => '관리자 계정',
+ 'complete_setup' => '설치 완료',
+ 'completed' => 'Cachet 이 성공적으로 설정되었습니다.',
+ 'finish_setup' => '대시보드로 이동',
+];
diff --git a/resources/lang/ko-KR/validation.php b/resources/lang/ko-KR/validation.php
new file mode 100644
index 00000000..64b21492
--- /dev/null
+++ b/resources/lang/ko-KR/validation.php
@@ -0,0 +1,122 @@
+ ':attribute 는 허용되어야 합니다.',
+ 'active_url' => ':attribute 는 올바른 URL이 아닙니다.',
+ 'after' => ':attribute 는 :date 이후의 날짜 여야 합니다.',
+ 'alpha' => ':attribute 는 문자만 포함할 수 있습니다.',
+ 'alpha_dash' => ':attribute 는 문자, 숫자, -만 포함할 수 있습니다.',
+ 'alpha_num' => ':attribute 는 문자와 숫자만 포함할 수 있습니다.',
+ 'array' => ':attribute 는 배열이어야 합니다.',
+ 'before' => ':attribute 는 :date 이전의 날짜 여야 합니다.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attribute 는 :min 과 :max 사이의 항목을 가져야 합니다.',
+ ],
+ 'boolean' => ': attribute 는 true 또는 false 여야 합니다.',
+ 'confirmed' => ':attribute 확인 항목이 일치하지 않습니다.',
+ 'date' => 'The :attribute is not a valid date.',
+ 'date_format' => ':attribute은(는) :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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute 는 이미지여야 합니다.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute 는 유효한 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' => ':attribute 는 :max 개 이상의 항목을 가질 수 없습니다.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute 는 최소 :min kilobytes 여야 합니다.',
+ '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' => ':attribute 형식이 올바르지 않습니다.',
+ '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' => ':attribute 는 :values 가 존재할 때 필요합니다.',
+ 'required_with_all' => ':attribute 는 :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' => ':attribute 는 :size kilobytes 여야 합니다.',
+ 'string' => ':attribute 는 :size 자의 문자여야 합니다.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute 는 유효한 영역이어야 합니다.',
+ 'unique' => ':attribute 는 이미 사용되었습니다.',
+ 'url' => ':attribute 형식이 올바르지 않습니다.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => '사용자 정의 메세지',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/nl-NL/cachet.php b/resources/lang/nl-NL/cachet.php
index 3332c772..5f748f49 100644
--- a/resources/lang/nl-NL/cachet.php
+++ b/resources/lang/nl-NL/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Geen incidenten gemeld',
- 'past' => 'Oude incidenten',
- 'previous_week' => 'Vorige week',
- 'next_week' => 'Volgende week',
- 'stickied' => 'Vastgezette incidenten',
- 'scheduled' => 'Gepland onderhoud',
- 'scheduled_at' => ', gepland :timestamp',
- 'posted' => 'Geplaatst op :timestamp',
- 'status' => [
+ 'none' => 'Geen incidenten gemeld',
+ 'past' => 'Oude incidenten',
+ 'stickied' => 'Uitgelichte incidenten',
+ 'scheduled' => 'Gepland onderhoud',
+ 'scheduled_at' => ', gepland :timestamp',
+ 'posted' => 'Geplaatst op :timestamp',
+ 'status' => [
1 => 'In onderzoek',
2 => 'Geïdentificeerd',
3 => 'Aan het opvolgen',
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Abonneer voor de meest recente updates',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Meld je af op :link',
'button' => 'Abonneren',
'manage' => [
'no_subscriptions' => 'Je bent momenteel geabonneerd op alle updates.',
diff --git a/resources/lang/nl-NL/dashboard.php b/resources/lang/nl-NL/dashboard.php
new file mode 100644
index 00000000..7d83c938
--- /dev/null
+++ b/resources/lang/nl-NL/dashboard.php
@@ -0,0 +1,293 @@
+ 'Dashboard',
+ 'writeable_settings' => 'De Cachet instellingen-map is niet schrijfbaar. Zorg er voor dat ./bootstrap/cachet schrijfbaar is voor de webserver.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidenten & planning',
+ 'incidents' => 'Incidenten',
+ 'logged' => '{0} Proficiat, er zijn geen incidenten.|Er heeft zich één incident voorgedaan.|Er zijn :count incidenten gerapporteerd.',
+ 'incident-create-template' => 'Maak template',
+ 'incident-templates' => 'Incident Sjablonen',
+ 'updates' => '{0} Geen updates|Één update|:count updates',
+ 'add' => [
+ 'title' => 'Meld een incident',
+ 'success' => 'Incident toegevoegd.',
+ 'failure' => 'Er is een fout opgetreden tijdens het toevoegen van het incident, probeer het opnieuw.',
+ ],
+ 'edit' => [
+ 'title' => 'Wijzig een incident',
+ 'success' => 'Incident bijgewerkt.',
+ 'failure' => 'Er is een fout opgetreden bij het wijzigen van het incident, probeer het opnieuw.',
+ ],
+ 'delete' => [
+ 'success' => 'Het incident is verwijderd en zal niet meer worden weergegeven op de statuspagina.',
+ 'failure' => 'Het incident kon niet worden verwijderd, probeer het opnieuw.',
+ ],
+ 'update' => [
+ 'title' => 'Maak een nieuwe incident update',
+ 'subtitle' => 'Voeg een update toe aan :incident',
+ 'success' => 'Update toegevoegd.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Incident Sjablonen',
+ 'add' => [
+ 'title' => 'Creëer een incident template',
+ 'message' => 'Voeg een incident template toe.',
+ 'success' => 'Je nieuwe incident template is aangemaakt.',
+ 'failure' => 'Er is iets misgegaan met de incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Wijzig template',
+ 'success' => 'De incident template is bijgewerkt.',
+ 'failure' => 'Er is een fout opgetreden bij het wijzigen van het incident template',
+ ],
+ 'delete' => [
+ 'success' => 'De incident template is verwijderd.',
+ 'failure' => 'De incident template kon niet worden verwijderd, probeer het opnieuw.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Gepland onderhoud',
+ 'logged' => '{0} Er zijn geen schema\'s, goed werk.|Je hebt één schema aangemaakt.|Je hebt :count schema\'s aangegeven.',
+ 'scheduled_at' => 'Gepland op :timestamp',
+ 'add' => [
+ 'title' => 'Gepland onderhoud toevoegen',
+ 'success' => 'Planning toegevoegd.',
+ 'failure' => 'Er ging iets mis met het toevoegen van het geplande onderhoud, probeer het opnieuw.',
+ ],
+ 'edit' => [
+ 'title' => 'Gepland onderhoud bewerken',
+ 'success' => 'Planning is bijgewerkt!',
+ 'failure' => 'Er ging iets mis met het wijzigen van het geplande onderhoud, probeer het opnieuw.',
+ ],
+ 'delete' => [
+ 'success' => 'De planning is verwijderd en zal niet worden getoond op jouw statuspagina.',
+ 'failure' => 'De planning kon niet worden verwijderd, probeer het opnieuw.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Componenten',
+ 'component_statuses' => 'Onderdeel statussen',
+ 'listed_group' => 'Gegroepeerd onder :name',
+ 'add' => [
+ 'title' => 'Voeg een component toe',
+ 'message' => 'Gelieve een onderdeel toe te voegen.',
+ 'success' => 'Onderdeel aangemaakt.',
+ 'failure' => 'Er ging iets mis met de component group, probeer het opnieuw.',
+ ],
+ 'edit' => [
+ 'title' => 'Wijzig een component',
+ 'success' => 'Onderdeel bijgewerkt.',
+ 'failure' => 'Er ging iets mis met de component group, probeer het opnieuw.',
+ ],
+ 'delete' => [
+ 'success' => 'Het component is verwijderd!',
+ 'failure' => 'Het component kon niet worden verwijderd, probeer het opnieuw.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Onderdeel groep|Onderdeel groepen',
+ 'no_components' => 'U moet een componentgroep toevoegen.',
+ 'add' => [
+ 'title' => 'Componentgroep toevoegen',
+ 'success' => 'Componentengroep toegevoegd.',
+ 'failure' => 'Er ging iets mis met de component group, probeer het opnieuw.',
+ ],
+ 'edit' => [
+ 'title' => 'Componentgroep bewerken',
+ 'success' => 'Componentengroep bijgewerkt.',
+ 'failure' => 'Er ging iets mis met de component group, probeer het opnieuw.',
+ ],
+ 'delete' => [
+ 'success' => 'De componentgroep is verwijderd!',
+ 'failure' => 'De componentengroep kon niet worden verwijderd, probeer het opnieuw.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Statistieken',
+ 'add' => [
+ 'title' => 'Meting aanmaken',
+ 'message' => 'Voeg een meting toe.',
+ 'success' => 'Meting aangemaakt.',
+ 'failure' => 'Er ging iets mis met de metingen, probeer het opnieuw.',
+ ],
+ 'edit' => [
+ 'title' => 'Meting bewerken',
+ 'success' => 'Meting bijgewerkt.',
+ 'failure' => 'Er ging iets mis met de metingen, probeer het opnieuw.',
+ ],
+ 'delete' => [
+ 'success' => 'De meting is verwijderd en zal niet meer worden weergegeven op de statuspagina.',
+ 'failure' => 'De meting kon niet verwijderd worden, probeer het opnieuw.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Abonnees',
+ 'description' => 'Abonnees ontvangen een email update wanneer er incidenten zijn gemaakt of componenten worden bijgewerkt.',
+ 'verified' => 'Geverifiëerd',
+ 'not_verified' => 'Niet geverifiëerd',
+ 'subscriber' => ':email, geabonneerd op :date',
+ 'no_subscriptions' => 'Geabonneerd op alle updates',
+ 'add' => [
+ 'title' => 'Voeg een nieuwe abonnee toe',
+ 'success' => 'Abonnee is toegevoegd!',
+ 'failure' => 'Er ging iets mis met het toevoegen van de abonnee, probeer het opnieuw.',
+ 'help' => 'Vul elke abonnee in op een nieuwe regel.',
+ ],
+ 'edit' => [
+ 'title' => 'Abonnee bijwerken',
+ 'success' => 'Abonnee is gewijzigd!',
+ 'failure' => 'Er ging iets verkeerd met bewerken van de abonnee, probeer het opnieuw.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Lid',
+ 'profile' => 'Profiel',
+ 'description' => 'Teamleden zullen onderdelen en incidenten kunnen aanpassen & toevoegen.',
+ 'add' => [
+ 'title' => 'Voeg een nieuw teamlid toe',
+ 'success' => 'Teamlid toegevoegd.',
+ 'failure' => 'Het teamlid kon niet worden toegevoegd, probeer het opnieuw.',
+ ],
+ 'edit' => [
+ 'title' => 'Profiel bijwerken',
+ 'success' => 'Profiel bijgewerkt.',
+ 'failure' => 'Er ging iets mis met het bijwerken van het profiel, probeer het opnieuw.',
+ ],
+ 'delete' => [
+ 'success' => 'Het teamlid is verwijderd en heeft geen toegang meer tot het dashboard!',
+ 'failure' => 'Het teamlid kon niet worden toegevoegd, probeer het opnieuw.',
+ ],
+ 'invite' => [
+ 'title' => 'Nodig een nieuw teamlid uit',
+ 'success' => 'De uitnodiging is verzonden',
+ 'failure' => 'De uitnodiging kon niet verzonden worden, probeer het opnieuw.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Instellingen',
+ 'app-setup' => [
+ 'app-setup' => 'Applicatie Installatie',
+ 'images-only' => 'Alleen afbeeldingen kunnen worden geüpload.',
+ 'too-big' => 'Het bestand dat u heeft geüpload is te groot. Upload een afbeelding kleiner dan :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analyses',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Lokalisatie',
+ ],
+ 'customization' => [
+ 'customization' => 'Aanpassing',
+ 'header' => 'Aangepaste Header HTML',
+ 'footer' => 'Aangepaste voettekst HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'E-mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notificatie van Cachet',
+ 'body' => 'Dit is een test notificatie van Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Beveiliging',
+ 'two-factor' => 'Gebruikers zonder authenticatie in twee stappen',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Thema',
+ ],
+ 'edit' => [
+ 'success' => 'Instellingen bewaard.',
+ 'failure' => 'Instellingen kunnen niet worden opgeslagen.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Bijdragers',
+ 'license' => 'Cachet is een open source product onder de BSD-3 licentie, uitgebracht door Alt Three Services Limited.',
+ 'backers-title' => 'Donateurs & Sponsoren',
+ 'backers' => 'Als u de toekomstige ontwikkeling wilt ondersteunen, bezoek de Cachet Patreon campagne.',
+ 'thank-you' => 'Onze dank gaat uit naar elk van de :count verschillende bijdragers.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Login',
+ 'logged_in' => 'U bent ingelogd.',
+ 'welcome' => 'Welkom Terug!',
+ 'two-factor' => 'Voer uw token in.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Help',
+ 'status_page' => 'Status Pagina',
+ 'logout' => 'Uitloggen',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notificaties',
+ 'awesome' => 'Geweldig.',
+ 'whoops' => 'Oepsie.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Steun Cachet',
+ 'support_subtitle' => 'Bekijk onze Patreon pagina!',
+ 'news' => 'Laatste nieuws',
+ 'news_subtitle' => 'Ontvang de laatste updates',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welkom op je statuspagina!',
+ 'message' => 'Uw statuspagina is bijna klaar! U kunt deze extra instellingen configureren',
+ 'close' => 'Stuur me direct naar mijn dashboard',
+ 'steps' => [
+ 'component' => 'Onderdelen maken',
+ 'incident' => 'Incidenten aanmaken',
+ 'customize' => 'Aanpassen',
+ 'team' => 'Gebruikers toevoegen',
+ 'api' => 'API-token genereren',
+ 'two-factor' => 'Authenticatie in twee stappen',
+ ],
+ ],
+
+];
diff --git a/resources/lang/nl-NL/forms.php b/resources/lang/nl-NL/forms.php
new file mode 100644
index 00000000..09d91edf
--- /dev/null
+++ b/resources/lang/nl-NL/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'E-mail',
+ 'username' => 'Gebruikersnaam',
+ 'password' => 'Wachtwoord',
+ 'site_name' => 'Site naam',
+ 'site_domain' => 'Site Domein',
+ 'site_timezone' => 'Selecteer uw tijdzone',
+ 'site_locale' => 'Selecteer uw taal',
+ 'enable_google2fa' => 'Schakel Google twee factor authenticatie in',
+ 'cache_driver' => 'Cache Driver',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Sessie Driver',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => 'Mail Server',
+ 'mail_address' => 'Mail Van-Adres',
+ 'mail_username' => 'Mail Gebruikersnaam',
+ 'mail_password' => 'Mail Wachtwoord',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Gebruikersnaam of e-mail',
+ 'email' => 'E-mail',
+ 'password' => 'Wachtwoord',
+ '2fauth' => 'Authenticatie Code',
+ 'invalid' => 'Ongeldige gebruikersnaam of wachtwoord',
+ 'invalid-token' => 'Ongeldig token',
+ 'cookies' => 'U moet cookies inschakelen om in te loggen.',
+ 'rate-limit' => 'Snelheids limiet overschreden.',
+ 'remember_me' => 'Blijf ingelogd',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Naam',
+ 'status' => 'Status',
+ 'component' => 'Onderdeel',
+ 'message' => 'Boodschap',
+ 'message-help' => 'U kan ook gebruik maken van Markdown.',
+ 'occurred_at' => 'Wanneer heeft dit incident plaatsgevonden?',
+ 'notify_subscribers' => 'Houd abonnees op de hoogte?',
+ 'visibility' => 'Incident Zichtbaarheid',
+ 'stick_status' => 'Incident Vastzetten',
+ 'stickied' => 'Vastgezet',
+ 'not_stickied' => 'Niet Vastgezet',
+ 'public' => 'Zichtbaar voor publiek',
+ 'logged_in_only' => 'Alleen zichtbaar voor ingelogde gebruikers',
+ 'templates' => [
+ 'name' => 'Naam',
+ 'template' => 'Sjabloon',
+ 'twig' => 'Incident Templates kunnen gebruik maken van de Twig template taal.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Naam',
+ 'status' => 'Status',
+ 'message' => 'Boodschap',
+ 'message-help' => 'U kan ook gebruik maken van Markdown.',
+ 'scheduled_at' => 'Voor wanneer is dit onderhoudsschema bedoeld?',
+ 'completed_at' => 'Wanneer was dit onderhoud voltooid?',
+ 'templates' => [
+ 'name' => 'Naam',
+ 'template' => 'Sjabloon',
+ 'twig' => 'Incident Templates kunnen gebruik maken van de Twig template taal.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Naam',
+ 'status' => 'Status',
+ 'group' => 'Groep',
+ 'description' => 'Omschrijving',
+ 'link' => 'Link',
+ 'tags' => 'Tags',
+ 'tags-help' => 'Komma gescheiden.',
+ 'enabled' => 'Component ingeschakeld?',
+
+ 'groups' => [
+ 'name' => 'Naam',
+ 'collapsing' => 'Opties uitklappen/inklappen',
+ 'visible' => 'Altijd uitgevouwen',
+ 'collapsed' => 'Vouw de groep standaard samen',
+ 'collapsed_incident' => 'De groep samenvouwen, maar uitklappen als er problemen zijn.',
+ 'visibility' => 'Zichtbaarheid',
+ 'visibility_public' => 'Zichtbaar voor iedereen',
+ 'visibility_authenticated' => 'Alleen zichtbaar voor ingelogde gebruikers',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Naam',
+ 'description' => 'Omschrijving',
+ 'start_at' => 'Geplande starttijd',
+ 'timezone' => 'Tijdzone',
+ 'schedule_frequency' => 'Geplande frequentie (in seconden)',
+ 'completion_latency' => 'Oplostijd (in seconden)',
+ 'group' => 'Groep',
+ 'active' => 'Actief?',
+ 'groups' => [
+ 'name' => 'Groepsnaam',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Naam',
+ 'suffix' => 'Achtervoegsel',
+ 'description' => 'Omschrijving',
+ 'description-help' => 'U kan ook gebruik maken van Markdown.',
+ 'display-chart' => 'Grafiek tonen op statuspagina?',
+ 'default-value' => 'Standaardwaarde',
+ 'calc_type' => 'Berekening van de metingen',
+ 'type_sum' => 'Som',
+ 'type_avg' => 'Gemiddelde',
+ 'places' => 'Decimalen',
+ 'default_view' => 'Standaardweergave',
+ 'threshold' => 'Hoeveel minuten tussen de metrische punten?',
+ 'visibility' => 'Zichtbaarheid',
+ 'visibility_authenticated' => 'Zichtbaar voor ingelogde gebruikers',
+ 'visibility_public' => 'Zichtbaar voor iedereen',
+ 'visibility_hidden' => 'Altijd verborgen',
+
+ 'points' => [
+ 'value' => 'Waarde',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Site naam',
+ 'site-url' => 'Site URL',
+ 'display-graphs' => 'Grafieken tonen op statuspagina?',
+ 'about-this-page' => 'Over deze pagina',
+ 'days-of-incidents' => 'Hoeveel dagen moeten incidenten getoond worden?',
+ 'banner' => 'Banner afbeelding',
+ 'banner-help' => 'Het wordt aanbevolen dat u geen bestanden upload die breeder zijn dan 930px.',
+ 'subscribers' => 'Bezoekers toestaan om te abonneren op e-mail notificaties?',
+ 'skip_subscriber_verification' => 'Verificatie van gebruikers overslaan? (Let op, je kunt gespamd worden)',
+ 'automatic_localization' => 'Stel de taal van de bezoeker in als standaardtaal voor deze bezoeker?',
+ 'enable_external_dependencies' => 'Schakel afhankelijkheden van derden in (Google Fonts, Trackers, etc...)',
+ 'show_timezone' => 'Toon de tijdzone waarin de statuspagina staat.',
+ 'only_disrupted_days' => 'Alleen dagen met incidenten op de tijdlijn tonen?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Google Analytics-code',
+ 'analytics_gosquared' => 'GoSquared Analytics-code',
+ 'analytics_piwik_url' => 'URL van je Piwik installatie (zonder http(s)://)',
+ 'analytics_piwik_siteid' => 'Site-id van Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Website tijdzone',
+ 'site-locale' => 'Taal van de site',
+ 'date-format' => 'Datum formaat',
+ 'incident-date-format' => 'Incident tijdsaanduiding',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Toegestane domeinen',
+ 'allowed-domains-help' => 'Door komma\'s gescheiden. Het hierboven ingestelde domein is automatisch standaard toegelaten.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Aangepaste Stylesheet',
+ ],
+ 'theme' => [
+ 'background-color' => 'Achtergrondkleur',
+ 'background-fills' => 'Achtergrond opvulling (components, incidents, footer)',
+ 'banner-background-color' => 'Banner achtergrond kleur',
+ 'banner-padding' => 'Banner padding',
+ 'fullwidth-banner' => 'Volledige breedte van de banner aanzetten?',
+ 'text-color' => 'Tekstkleur',
+ 'dashboard-login' => 'Laat dashboard knop zien in de footer?',
+ 'reds' => 'Rood (voor errors)',
+ 'blues' => 'Blauw (voor informatie)',
+ 'greens' => 'Groen (voor succes)',
+ 'yellows' => 'Geel (voor waarschuwingen)',
+ 'oranges' => 'Oranje (voor notificaties)',
+ 'metrics' => 'Metrics opvulling',
+ 'links' => 'Links',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Gebruikersnaam',
+ 'email' => 'E-mail',
+ 'password' => 'Wachtwoord',
+ 'api-token' => 'API-token',
+ 'api-token-help' => 'Het opnieuw genereren van je API-token zorgt ervoor dat bestaande applicaties geen toegang meer hebben tot Cachet.',
+ 'gravatar' => 'Verander je profielfoto op Gravatar.',
+ 'user_level' => 'Gebruikersniveau',
+ 'levels' => [
+ 'admin' => 'Beheerder',
+ 'user' => 'Gebruiker',
+ ],
+ '2fa' => [
+ 'help' => 'Het inschakelen van two-factor authenticatie verhoogt de veiligheid van uw account. U zult een applicatie zoals Google Authenticator of een vergelijkbare applicatie moeten downloaden op uw mobiele apparaat. Wanneer u inlogt wordt u gevraagd om een token in te voeren welke door de applicatie wordt gegenereerd.',
+ ],
+ 'team' => [
+ 'description' => 'Nodig je teamleden uit door hier hun e-mailadres in te vullen.',
+ 'email' => 'E-mail #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Selecteer Tijdzone',
+ ],
+
+ // Buttons
+ 'add' => 'Toevoegen',
+ 'save' => 'Opslaan',
+ 'update' => 'Bijwerken',
+ 'create' => 'Aanmaken',
+ 'edit' => 'Bewerken',
+ 'delete' => 'Verwijderen',
+ 'submit' => 'Versturen',
+ 'cancel' => 'Annuleren',
+ 'remove' => 'Verwijderen',
+ 'invite' => 'Uitnodigen',
+ 'signup' => 'Registreer',
+
+ // Other
+ 'optional' => '* Optioneel',
+];
diff --git a/resources/lang/nl-NL/notifications.php b/resources/lang/nl-NL/notifications.php
index 4db80e7c..08a0b350 100644
--- a/resources/lang/nl-NL/notifications.php
+++ b/resources/lang/nl-NL/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component status bijgewerkt',
+ 'greeting' => 'De status van een component is bijgewerkt!',
+ 'content' => ':name status is veranderd van :old_status naar :new_status.',
+ 'action' => 'Tonen',
+ ],
+ 'slack' => [
+ 'title' => 'Component status bijgewerkt',
+ 'content' => ':name status is veranderd van :old_status naar :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status is veranderd van :old_status naar :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Nieuw incident gemeld',
+ 'greeting' => 'Er is een nieuw incident gemeld voor :app_name.',
+ 'content' => 'Incident :name is gerapporteerd',
+ 'action' => 'Tonen',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name is gerapporteerd',
+ 'content' => 'Er is een nieuw incident gemeld voor :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'Er is een nieuw incident gemeld voor :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident bijgewerkt',
+ 'content' => ':name is bijgewerkt',
+ 'title' => ':name is bijgewerkt naar :new_status',
+ 'action' => 'Tonen',
+ ],
+ 'slack' => [
+ 'title' => ':name is bijgewerkt',
+ 'content' => ':name is bijgewerkt naar :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name is bijgewerkt',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Nieuw tijdschema aangemaakt',
+ 'content' => ':name is ingepland voor :date',
+ 'title' => 'Nieuw gepland onderhoud aangemaakt.',
+ 'action' => 'Tonen',
+ ],
+ 'slack' => [
+ 'title' => 'Nieuw tijdschema aangemaakt!',
+ 'content' => ':name is ingepland voor :date',
+ ],
+ 'sms' => [
+ 'content' => ':name is ingepland voor :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Bevestig je inschrijving',
+ 'content' => 'Klik om je inschrijving op :app_name statuspagina te bevestigen.',
+ 'title' => 'Bevestig je inschrijving voor de :app_name statuspagina.',
+ 'action' => 'Verifiëren',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping van Cachet!',
+ 'content' => 'Dit is een testnotificatie van Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Je uitnodiging zit in deze mail...',
+ 'content' => 'Je bent uitgenodigd voor de :app_name statuspagina.',
+ 'title' => 'Je bent uitgenodigd voor :app_name statuspagina.',
+ 'action' => 'Accepteer',
+ ],
],
],
];
diff --git a/resources/lang/nl-NL/pagination.php b/resources/lang/nl-NL/pagination.php
new file mode 100644
index 00000000..7810e8a7
--- /dev/null
+++ b/resources/lang/nl-NL/pagination.php
@@ -0,0 +1,28 @@
+ 'Vorige',
+ 'next' => 'Volgende',
+
+];
diff --git a/resources/lang/nl-NL/setup.php b/resources/lang/nl-NL/setup.php
new file mode 100644
index 00000000..ccd67677
--- /dev/null
+++ b/resources/lang/nl-NL/setup.php
@@ -0,0 +1,23 @@
+ 'Installatie',
+ 'title' => 'Installeer Cachet',
+ 'service_details' => 'Service Details',
+ 'env_setup' => 'Omgevingsconfiguratie',
+ 'status_page_setup' => 'Installatie statuspagina',
+ 'show_support' => 'Steun voor Cachet tonen?',
+ 'admin_account' => 'Beheerdersaccount',
+ 'complete_setup' => 'Voltooi Installatie',
+ 'completed' => 'Cachet is succesvol geconfigureerd!',
+ 'finish_setup' => 'Ga naar het dashboard',
+];
diff --git a/resources/lang/nl-NL/validation.php b/resources/lang/nl-NL/validation.php
new file mode 100644
index 00000000..55541862
--- /dev/null
+++ b/resources/lang/nl-NL/validation.php
@@ -0,0 +1,122 @@
+ ':attribute moet worden aanvaard.',
+ 'active_url' => ':attribute is geen correcte URL.',
+ 'after' => ':attribute moet een datum later dan :date zijn.',
+ 'alpha' => ':attribute mag alleen letters bevatten.',
+ 'alpha_dash' => ':attribute mag alleen letters, cijfers, en streepjes bevatten.',
+ 'alpha_num' => ':attribute mag enkel letters en nummers bevatten.',
+ 'array' => ':attribute moet een reeks zijn.',
+ 'before' => ':attribute moet een datum vóór :date zijn.',
+ 'between' => [
+ 'numeric' => ':attribute moet tussen :min en de :max zijn.',
+ 'file' => ':attribute moet tussen de :min en de :max aantal kilobytes zijn.',
+ 'string' => ':attribute moet tussen de :min en :max karakters lang zijn.',
+ 'array' => ':attribute moet tussen :min en :max items hebben.',
+ ],
+ 'boolean' => 'Het :attribute veld moet waar of onwaar zijn.',
+ 'confirmed' => 'De :attribute bevestiging komt niet overeen.',
+ 'date' => ':attribute is geen geldige datum.',
+ 'date_format' => ':attribute komt niet overeen met het volgende formaat :format.',
+ 'different' => ':attribute en :other mogen niet hetzelfde zijn.',
+ 'digits' => ':attribute moet uit :digits cijfers bestaan.',
+ 'digits_between' => ':attribute moet tussen de :min en :max cijfers zijn.',
+ 'email' => ':attribute moet een geldig e-mail adres zijn.',
+ 'exists' => 'Het geselecteerde :attribute is ongeldig.',
+ 'distinct' => 'Het :attribute veld heeft een dubbele waarde.',
+ 'filled' => 'Het :attribute veld is verplicht.',
+ 'image' => ':attribute moet een afbeelding zijn.',
+ 'in' => 'Het geselecteerde :attribute is ongeldig.',
+ 'in_array' => 'Het :attribute veld bestaat niet in :other.',
+ 'integer' => ':attribute moet een geheel getal zijn.',
+ 'ip' => 'Het :attribute moet een geldig IP-adres zijn.',
+ 'json' => ':attribute moet een valide JSON tekst zijn.',
+ 'max' => [
+ 'numeric' => ':attribute mag niet groter zijn dan :max.',
+ 'file' => ':attribute mag niet groter zijn dan :max kilobytes.',
+ 'string' => ':attribute mag niet groter zijn dan :max tekens.',
+ 'array' => ':attribute mag niet meer dan :max items hebben.',
+ ],
+ 'mimes' => ':attribute moet een :values bestand zijn.',
+ 'min' => [
+ 'numeric' => ':attribute moet tenminste :min zijn.',
+ 'file' => ':attribute moet minstens :min kilobytes groot zijn.',
+ 'string' => ':attribute moet minimaal :min tekens zijn.',
+ 'array' => ':attribute moet tenminste :min onderdelen hebben.',
+ ],
+ 'not_in' => 'Het geselecteerde :attribute is ongeldig.',
+ 'numeric' => ':attribute moet een getal zijn.',
+ 'present' => 'Het :attribute veld moet aanwezig zijn.',
+ 'regex' => 'Het :attribute-formaat is ongeldig.',
+ 'required' => 'Het :attribute veld is verplicht.',
+ 'required_if' => 'Het :attribute veld is verplicht als :other :value is.',
+ 'required_unless' => 'Het :attribute veld is verplicht tenzij :other is in :values.',
+ 'required_with' => ':attribute veld is verplicht wanneer :values aanwezig zijn.',
+ 'required_with_all' => ':attribute veld is verplicht wanneer :values aanwezig zijn.',
+ 'required_without' => 'Het :attribute veld is verplicht als er geen :values zijn.',
+ 'required_without_all' => 'Het :attribute veld is verplicht als geen van :values aanwezig zijn.',
+ 'same' => ':attribute en :other moeten overeenkomen.',
+ 'size' => [
+ 'numeric' => ':attribute moet :size zijn.',
+ 'file' => ':attribute moet :size kilobytes groot zijn.',
+ 'string' => ':attribute moet :size karakters zijn.',
+ 'array' => ':attribute moet :size onderdelen bevatten.',
+ ],
+ 'string' => ':attribute moet een woord zijn.',
+ 'timezone' => ':attribute moet een geldige zone zijn.',
+ 'unique' => ':attribute is reeds in gebruik.',
+ 'url' => 'Het :attribute-formaat is ongeldig.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/no-NO/cachet.php b/resources/lang/no-NO/cachet.php
new file mode 100644
index 00000000..c3db7916
--- /dev/null
+++ b/resources/lang/no-NO/cachet.php
@@ -0,0 +1,129 @@
+ [
+ 'last_updated' => 'Sist oppdatert :timestamp',
+ 'status' => [
+ 0 => 'Unknown',
+ 1 => 'Ingen problemer',
+ 2 => 'Ytelsesproblemer',
+ 3 => 'Delvis brudd',
+ 4 => 'Større brudd',
+ ],
+ 'group' => [
+ 'other' => 'Andre komponenter',
+ ],
+ ],
+
+ // Incidents
+ 'incidents' => [
+ 'none' => 'Ingen hendelser å rapportere',
+ 'past' => 'Tidligere hendelser',
+ 'stickied' => 'Stickied hendelser',
+ 'scheduled' => 'Planlagt vedlikehold',
+ 'scheduled_at' => ', planlagt :timestamp',
+ 'posted' => 'Skrevet :timestamp',
+ 'status' => [
+ 1 => 'Undersøkes',
+ 2 => 'Identifisert',
+ 3 => 'Observerer',
+ 4 => 'Løst',
+ ],
+ ],
+
+ // Schedule
+ 'schedules' => [
+ 'status' => [
+ 0 => 'Upcoming',
+ 1 => 'In Progress',
+ 2 => 'Complete',
+ ],
+ ],
+
+ // Service Status
+ 'service' => [
+ 'good' => '[0,1] Systemet er operativt| [2, Inf] Alle systemer er operative',
+ 'bad' => '[0,1] Systemet har problemer| [2, Inf] Noen systemer har problemer',
+ 'major' => '[0,1] Det er et større brudd i systemet| [2, Inf] Noen systemer har større brudd',
+ ],
+
+ 'api' => [
+ 'regenerate' => 'Regenerer API-nøkkel',
+ 'revoke' => 'Tilbakekall API-nøkkel',
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'filter' => [
+ 'last_hour' => 'Siste time',
+ 'hourly' => 'Siste 12 timer',
+ 'weekly' => 'Uke',
+ 'monthly' => 'Måned',
+ ],
+ ],
+
+ // Subscriber
+ 'subscriber' => [
+ 'subscribe' => 'Abonner for å få de siste oppdateringene',
+ 'unsubscribe' => 'Unsubscribe at :link',
+ 'button' => 'Abonner',
+ 'manage' => [
+ 'no_subscriptions' => 'Du abonnerer for øyeblikket på alle oppdateringer.',
+ 'my_subscriptions' => 'Du abonnerer for øyeblikket på følgende oppdateringer.',
+ ],
+ 'email' => [
+ 'subscribe' => 'Abonner for å motta varslinger på e-post.',
+ 'subscribed' => 'Du har abbonerer nå på epostvarslinger, sjekk din e-post for å bekrefte abboneringen.',
+ 'verified' => 'Ditt epost abonnement er bekreftet!',
+ 'manage' => 'Administrer ditt abonnement',
+ 'unsubscribe' => 'Meld av epostvarsling.',
+ 'unsubscribed' => 'Din epostvarsling har blitt kansellert.',
+ 'failure' => 'Noe gikk galt med abonneringen.',
+ 'already-subscribed' => 'Kan ikke abonnere: email fordi de allerede er abonnenter.',
+ ],
+ ],
+
+ 'signup' => [
+ 'title' => 'Registerer deg',
+ 'username' => 'Brukernavn',
+ 'email' => 'E-post',
+ 'password' => 'Passord',
+ 'success' => 'Din konto er opprettet.',
+ 'failure' => 'Noe gikk galt med registreringsprosessen.',
+ ],
+
+ 'system' => [
+ 'update' => 'Det finnes en nyere versjon av Cachet. Du kan lære hvordan å oppdatere her!',
+ ],
+
+ // Modal
+ 'modal' => [
+ 'close' => 'Lukk',
+ 'subscribe' => [
+ 'title' => 'Abonner for å motta varslinger for komponenten på e-post',
+ 'body' => 'Skriv inn epostadressen din for å abonnere på varslinger for denne komponenten. Hvis du allerede er abonnent vil alt fortsette som før.',
+ 'button' => 'Abonner',
+ ],
+ ],
+
+ // Other
+ 'home' => 'Forsiden',
+ 'description' => 'Hold deg oppdatert med de nyeste service-oppdateringene fra :app.',
+ 'powered_by' => 'Drevet av Cachet.',
+ 'timezone' => 'Tider vises i :timezone.',
+ 'about_this_site' => 'Om denne siden',
+ 'rss-feed' => 'RSS',
+ 'atom-feed' => 'Atom',
+ 'feed' => 'Status Feed',
+
+];
diff --git a/resources/lang/no-NO/dashboard.php b/resources/lang/no-NO/dashboard.php
new file mode 100644
index 00000000..ca295d3e
--- /dev/null
+++ b/resources/lang/no-NO/dashboard.php
@@ -0,0 +1,293 @@
+ 'Dashbord',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Hendelser & Tidsplan',
+ 'incidents' => 'Hendelser',
+ 'logged' => '{0} Det er ingen hendelser, bra jobbet.|Du har en logget hendelse.|Du har rapportert :count hendelser.',
+ 'incident-create-template' => 'Opprett mal',
+ 'incident-templates' => 'Hendelsesmaler',
+ 'updates' => '{0} null oppdateringer | Én oppdatering |: telle oppdateringer',
+ 'add' => [
+ 'title' => 'Rapportere en hendelse',
+ 'success' => 'Hendelse lagt til.',
+ 'failure' => 'Det oppstod en feil når du la til til hendelsen, prøv igjen.',
+ ],
+ 'edit' => [
+ 'title' => 'Rediger en hendelse',
+ 'success' => 'Hendelse oppdatert.',
+ 'failure' => 'Det oppstod en feil under redigering av hendelsen, prøv igjen.',
+ ],
+ 'delete' => [
+ 'success' => 'Hendelsen er slettet og vil ikke vises på statussiden din.',
+ 'failure' => 'Hendelsen kunne ikke slettes, prøv igjen.',
+ ],
+ 'update' => [
+ 'title' => 'Opprett ny hendelseoppdatering',
+ 'subtitle' => 'Legge til oppdatering av : hendelsen',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Hendelsesmaler',
+ 'add' => [
+ 'title' => 'Lag en hendelsesmal',
+ 'message' => 'Du bør legge til en hendelsesmal.',
+ 'success' => 'Din nye hendelsesmal er opprettet.',
+ 'failure' => 'Noe gikk galt med hendelsesmalen.',
+ ],
+ 'edit' => [
+ 'title' => 'Rediger mal',
+ 'success' => 'Hendelsensmalen er oppdatert.',
+ 'failure' => 'Noe gikk galt under oppdatering av hendelsesmalen',
+ ],
+ 'delete' => [
+ 'success' => 'Hendelsesmalen er slettet.',
+ 'failure' => 'Hendelsesmalen kunne ikke slettes, prøv igjen.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Planlagt vedlikehold',
+ 'logged' => '{0} Det er ingen tidsplaner, bra jobbet. | Du har logget en hendelse. | Du har rapportert : antall tidsplaner.',
+ 'scheduled_at' => 'Planlagt til :timestamp',
+ 'add' => [
+ 'title' => 'Legg til planlagt vedlikehold',
+ 'success' => 'Tidsplan lagt til.',
+ 'failure' => 'Noe gikk galt med å legge til tidsplanen, prøv igjen.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigere planlagt vedlikehold',
+ 'success' => 'Tidsplanen er oppdatert!',
+ 'failure' => 'Noe gikk galt med å redigere tidsplanen, prøv igjen.',
+ ],
+ 'delete' => [
+ 'success' => 'Planlagt vedlikehold er slettet og vil ikke vises på statussiden din.',
+ 'failure' => 'Planlagt vedlikehold kunne ikke slettes, prøv igjen.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Komponenter',
+ 'component_statuses' => 'Komponentstatus',
+ 'listed_group' => 'Gruppert under :name',
+ 'add' => [
+ 'title' => 'Legg til komponent',
+ 'message' => 'Du burde legge til en komponent.',
+ 'success' => 'Komponent lagt til.',
+ 'failure' => 'Noe gikk galt med komponentgruppen, prøv igjen.',
+ ],
+ 'edit' => [
+ 'title' => 'Redigere en komponent',
+ 'success' => 'Komponent oppdatert.',
+ 'failure' => 'Noe gikk galt med komponentgruppen, prøv igjen.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponenten har blitt slettet!',
+ 'failure' => 'Komponenten kunne ikke slettes, prøv igjen.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Komponentgruppe | Komponentgrupper',
+ 'no_components' => 'Du burde legge til en komponentgruppe.',
+ 'add' => [
+ 'title' => 'Legg til en komponentgruppe',
+ 'success' => 'Komponentgruppe lagt til.',
+ 'failure' => 'Noe gikk galt med komponentgruppen, prøv igjen.',
+ ],
+ 'edit' => [
+ 'title' => 'Rediger komponentgruppe',
+ 'success' => 'Komponentgruppe oppdatert.',
+ 'failure' => 'Noe gikk galt med komponentgruppen, prøv igjen.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponentgruppen har blitt slettet!',
+ 'failure' => 'Komponentgruppen kunne ikke slettes, prøv igjen.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Beregninger',
+ 'add' => [
+ 'title' => 'Opprett en beregning',
+ 'message' => 'Du bør legge til en beregning.',
+ 'success' => 'Beregning opprettet.',
+ 'failure' => 'Noe gikk galt med beregningen, prøv igjen.',
+ ],
+ 'edit' => [
+ 'title' => 'Rediger en beregning',
+ 'success' => 'Beregning oppdatert.',
+ 'failure' => 'Noe gikk galt med beregningen, prøv igjen.',
+ ],
+ 'delete' => [
+ 'success' => 'Beregningen er slettet og vises ikke lenger på statussiden.',
+ 'failure' => 'Beregningen kunne ikke slettes, prøv igjen.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Abonnenter',
+ 'description' => 'Abonnenter mottar e-postoppdateringer når hendelser opprettes eller komponenter er oppdatert.',
+ 'verified' => 'Verifisert',
+ 'not_verified' => 'Ikke verifisert',
+ 'subscriber' => ': e-post, abonnert: dato',
+ 'no_subscriptions' => 'Abonnerer på alle oppdateringer',
+ 'add' => [
+ 'title' => 'Legge til en ny abonnent',
+ 'success' => 'Abonnenten er lagt til!',
+ 'failure' => 'Noe gikk galt med å legge til abonnenten, prøv igjen.',
+ 'help' => 'Angi hver enkelt abonnent på en ny linje.',
+ ],
+ 'edit' => [
+ 'title' => 'Oppdatering abonnent',
+ 'success' => 'Abonnenten er oppdatert!',
+ 'failure' => 'Noe gikk galt med å redigere abonnenten, prøv igjen.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Bruker',
+ 'profile' => 'Profil',
+ 'description' => 'Gruppemedlemmer kan legge til, endre & redigere komponenter og hendelser.',
+ 'add' => [
+ 'title' => 'Legge til nytt gruppemedlem',
+ 'success' => 'Gruppemedlem lagt til.',
+ 'failure' => 'Gruppemedlemmet kunne ikke legges til, prøv på nytt.',
+ ],
+ 'edit' => [
+ 'title' => 'Oppdater profil',
+ 'success' => 'Profilen oppdatert.',
+ 'failure' => 'Noe gikk galt med å oppdatere profilen, prøv igjen.',
+ ],
+ 'delete' => [
+ 'success' => 'Gruppemedlemmet er slettet og vil ikke lenger ha tilgang til oversikten!',
+ 'failure' => 'Gruppemedlemmet kunne ikke legges til, prøv på nytt.',
+ ],
+ 'invite' => [
+ 'title' => 'Inviter en ny medarbeider',
+ 'success' => 'Invitasjon er sendt',
+ 'failure' => 'Invitasjonen kunne ikke sendes, vennligst prøv igjen.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Innstillinger',
+ 'app-setup' => [
+ 'app-setup' => 'Applikasjonsoppsett',
+ 'images-only' => 'Bare bilder kan lastes opp.',
+ 'too-big' => 'Filen du lastet opp er for stor. Last opp et bilde som er mindre enn :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Logg',
+ ],
+ 'localization' => [
+ 'localization' => 'Regioninnstillinger',
+ ],
+ 'customization' => [
+ 'customization' => 'Tilpasninger',
+ 'header' => 'Egendefinert topptekst HTML',
+ 'footer' => 'Egendefinert bunntekst HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Sikkerhet',
+ 'two-factor' => 'Brukere uten to-faktor autentifisering',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stilark',
+ ],
+ 'theme' => [
+ 'theme' => 'Tema',
+ ],
+ 'edit' => [
+ 'success' => 'Innstillinger lagret.',
+ 'failure' => 'Kan ikke lagre innstillingene.',
+ ],
+ 'credits' => [
+ 'credits' => 'Medvirkende',
+ 'contributors' => 'Bidragsytere',
+ 'license' => 'Cachet er en BSD-3-lisensiert åpen kildekode-prosjekt, utgitt av Alt tre Services Limited.',
+ 'backers-title' => 'Støttespillere & sponsorer',
+ 'backers' => 'Hvis du ønsker å støtte fremtidig utvikling, sjekk ut Cachet Patreon kampanjen.',
+ 'thank-you' => 'Takk til hver og en av de :count bidragsytere.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Logg inn',
+ 'logged_in' => 'Du er logget inn.',
+ 'welcome' => 'Velkommen tilbake!',
+ 'two-factor' => 'Skriv inn din token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Hjelp',
+ 'status_page' => 'Statusside',
+ 'logout' => 'Logg ut',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Varslinger',
+ 'awesome' => 'Fantastisk.',
+ 'whoops' => 'Uff da.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Støtt Cachet',
+ 'support_subtitle' => 'Sjekk ut vår Patreon side!',
+ 'news' => 'Siste nyheter',
+ 'news_subtitle' => 'Hent nyeste oppdatering',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Velkommen til den nye statussiden, :username!',
+ 'message' => 'Du er nesten klar, men du vil kanskje konfigurere disse ekstra innstillingene først...',
+ 'close' => 'Jeg har det bra takk!',
+ 'steps' => [
+ 'component' => 'Legg til dine komponenter',
+ 'incident' => 'Opprette en hendelse',
+ 'customize' => 'Tilpass siden din',
+ 'team' => 'Legg til gruppen din',
+ 'api' => 'Generere et API-token',
+ 'two-factor' => 'Sett opp to-faktor autentisering',
+ ],
+ ],
+
+];
diff --git a/resources/lang/no-NO/forms.php b/resources/lang/no-NO/forms.php
new file mode 100644
index 00000000..e1110fc6
--- /dev/null
+++ b/resources/lang/no-NO/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'E-post',
+ 'username' => 'Brukernavn',
+ 'password' => 'Passord',
+ 'site_name' => 'Nettstedsnavn',
+ 'site_domain' => 'Nettstedsdomene',
+ 'site_timezone' => 'Velg tidssone',
+ 'site_locale' => 'Velg språk',
+ 'enable_google2fa' => 'Aktiver Google to-faktor autentisering',
+ 'cache_driver' => 'Cache-Driver',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Økt Driver',
+ 'mail_driver' => 'E-post driver',
+ 'mail_host' => 'E-post tjener',
+ 'mail_address' => 'E-post-fra adressen',
+ 'mail_username' => 'E-post brukernavn',
+ 'mail_password' => 'E-post passord',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Brukernavn eller e-post',
+ 'email' => 'E-post',
+ 'password' => 'Passord',
+ '2fauth' => 'Godkjenningskode',
+ 'invalid' => 'Ugyldig brukernavn eller passord',
+ 'invalid-token' => 'Ugyldig token',
+ 'cookies' => 'Du må aktivere informasjonskapsler for å logge inn.',
+ 'rate-limit' => 'Hyppighetsgrense overskredet.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Navn',
+ 'status' => 'Status',
+ 'component' => 'Komponent',
+ 'message' => 'Melding',
+ 'message-help' => 'Du kan også bruke Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Varsle abonnenter?',
+ 'visibility' => 'Hendelsens synlighet',
+ 'stick_status' => 'Lim hendelsen',
+ 'stickied' => 'Limt',
+ 'not_stickied' => 'Ikke limt',
+ 'public' => 'Offentlig synlig',
+ 'logged_in_only' => 'Bare synlig for innloggede brukere',
+ 'templates' => [
+ 'name' => 'Navn',
+ 'template' => 'Mal',
+ 'twig' => 'Hendelsesmaler kan gjøre bruk av Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Navn',
+ 'status' => 'Status',
+ 'message' => 'Melding',
+ 'message-help' => 'Du kan også bruke Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Navn',
+ 'template' => 'Mal',
+ 'twig' => 'Hendelsesmaler kan gjøre bruk av Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Navn',
+ 'status' => 'Status',
+ 'group' => 'Gruppe',
+ 'description' => 'Beskrivelse',
+ 'link' => 'Lenke',
+ 'tags' => 'Etiketter',
+ 'tags-help' => 'Atskilt med komma.',
+ 'enabled' => 'Komponenten aktivert?',
+
+ 'groups' => [
+ 'name' => 'Navn',
+ 'collapsing' => 'Vis/skjul alternativer',
+ 'visible' => 'Vis alltid',
+ 'collapsed' => 'Skjul gruppen som standard',
+ 'collapsed_incident' => 'Skjul gruppen, men utvid hvis det er problemer',
+ 'visibility' => 'Synlighet',
+ 'visibility_public' => 'Synlig for offentligheten',
+ 'visibility_authenticated' => 'Vises bare for påloggede brukere',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Navn',
+ 'description' => 'Beskrivelse',
+ 'start_at' => 'Planlagte starttidspunkt',
+ 'timezone' => 'Tidssone',
+ 'schedule_frequency' => 'Planlegge frekvensen (i sekunder)',
+ 'completion_latency' => 'Ferdigstillelse forsinkelse (i sekunder)',
+ 'group' => 'Gruppe',
+ 'active' => 'Aktiv?',
+ 'groups' => [
+ 'name' => 'Gruppenavn',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Navn',
+ 'suffix' => 'Suffiks',
+ 'description' => 'Beskrivelse',
+ 'description-help' => 'Du kan også bruke Markdown.',
+ 'display-chart' => 'Vise diagrammet på statussiden?',
+ 'default-value' => 'Standardverdi',
+ 'calc_type' => 'Kalkulering av beregninger',
+ 'type_sum' => 'Sum',
+ 'type_avg' => 'Gjennomsnittlig',
+ 'places' => 'Antall desimaler',
+ 'default_view' => 'Standardvisning',
+ 'threshold' => 'Hvor mange minutter på terskel mellom metriske punkter?',
+ 'visibility' => 'Synlighet',
+ 'visibility_authenticated' => 'Visible to authenticated users',
+ 'visibility_public' => 'Visible to everybody',
+ 'visibility_hidden' => 'Always hidden',
+
+ 'points' => [
+ 'value' => 'Verdi',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Nettstedsnavn',
+ 'site-url' => 'Nettsteds-URL',
+ 'display-graphs' => 'Vis grafer på statussiden?',
+ 'about-this-page' => 'Om denne siden',
+ 'days-of-incidents' => 'Hvor mange dagers hendelser vises?',
+ 'banner' => 'Bannerbilde',
+ 'banner-help' => 'Det anbefales at du ikke laster opp bilder bredere enn 930 piksler.',
+ 'subscribers' => 'Tillatt brukere å melde seg inn for epostvarslinger?',
+ 'skip_subscriber_verification' => 'Hopp over kontroll av brukere? (Vær advart, du kunne bli spammet)',
+ 'automatic_localization' => 'Automatisk lokaliser statussiden til besøkendes språk?',
+ 'enable_external_dependencies' => 'Aktiver tredjeparts avhengigheter (Google Fonts, Trackers, etc...)',
+ 'show_timezone' => 'Vis tidssonen statussiden kjører i.',
+ 'only_disrupted_days' => 'Bare Vis dager som inneholder hendelser i tidslinjen?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Google Analytics-koden',
+ 'analytics_gosquared' => 'GoSquared Analytics-koden',
+ 'analytics_piwik_url' => 'URL-Adressen til din Piwik instans (uten http(s)://)',
+ 'analytics_piwik_siteid' => 'Piwiks site-id',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Nettstedets tidssone',
+ 'site-locale' => 'Nettstedspråk',
+ 'date-format' => 'Datoformat',
+ 'incident-date-format' => 'Hendelse tidsstempelformat',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Tillatte domener',
+ 'allowed-domains-help' => 'Atskilt med komma. Domenet ovenfor tillates automatisk som standard.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Tilpasset stilark',
+ ],
+ 'theme' => [
+ 'background-color' => 'Bakgrunnsfarge',
+ 'background-fills' => 'Bakgrunnsfyll (komponenter, hendelser, bunntekst)',
+ 'banner-background-color' => 'Banner bakgrunnsfarge',
+ 'banner-padding' => 'Banner padding',
+ 'fullwidth-banner' => 'Aktiver fullbredde banner?',
+ 'text-color' => 'Tekstfarge',
+ 'dashboard-login' => 'Vis dashboardknappen i bunnteksten?',
+ 'reds' => 'Rød (brukes for feil)',
+ 'blues' => 'Blå (brukes for informasjon)',
+ 'greens' => 'Grønn (brukes for suksess)',
+ 'yellows' => 'Gul (brukes for varsler)',
+ 'oranges' => 'Orange (brukes til merknader)',
+ 'metrics' => 'Beregninger fyll',
+ 'links' => 'Lenker',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Brukernavn',
+ 'email' => 'E-post',
+ 'password' => 'Passord',
+ 'api-token' => 'API-Token',
+ 'api-token-help' => 'Regenerering av din API token vil hindre eksisterende programmer fra tilgang til Cachet.',
+ 'gravatar' => 'Endre profilbilde på Gravatar.',
+ 'user_level' => 'Brukernivå',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'Bruker',
+ ],
+ '2fa' => [
+ 'help' => 'Aktivering av to-faktor autentisering øker sikkerheten til kontoen din. Du må laste ned Google Authenticator eller en lignende app på den mobile enheten. Når du logger inn vil du bli bedt om å gi et token som er generert av programmet.',
+ ],
+ 'team' => [
+ 'description' => 'Inviter gruppemedlemmene ved å skrive inn e-postadressene deres her.',
+ 'email' => 'E-post #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Velg tidssone',
+ ],
+
+ // Buttons
+ 'add' => 'Legg til',
+ 'save' => 'Lagre',
+ 'update' => 'Oppdater',
+ 'create' => 'Opprett',
+ 'edit' => 'Rediger',
+ 'delete' => 'Slett',
+ 'submit' => 'Send',
+ 'cancel' => 'Avbryt',
+ 'remove' => 'Fjern',
+ 'invite' => 'Inviter',
+ 'signup' => 'Registerer deg',
+
+ // Other
+ 'optional' => '* Valgfritt',
+];
diff --git a/resources/lang/no-NO/notifications.php b/resources/lang/no-NO/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/no-NO/notifications.php
+++ b/resources/lang/no-NO/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/no-NO/pagination.php b/resources/lang/no-NO/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/no-NO/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/no-NO/setup.php b/resources/lang/no-NO/setup.php
new file mode 100644
index 00000000..fb503ea6
--- /dev/null
+++ b/resources/lang/no-NO/setup.php
@@ -0,0 +1,23 @@
+ 'Konfigurering',
+ 'title' => 'Installer Cachet',
+ 'service_details' => 'Tjenestedetaljer',
+ 'env_setup' => 'Miljøoppsett',
+ 'status_page_setup' => 'Statusside-oppsett',
+ 'show_support' => 'Vis at du støtter Cachet?',
+ 'admin_account' => 'Administratorkonto',
+ 'complete_setup' => 'Fullfør installasjon',
+ 'completed' => 'Konfigurering av Cachet var vellykket!',
+ 'finish_setup' => 'Gå til dashbord',
+];
diff --git a/resources/lang/no-NO/validation.php b/resources/lang/no-NO/validation.php
new file mode 100644
index 00000000..49855d80
--- /dev/null
+++ b/resources/lang/no-NO/validation.php
@@ -0,0 +1,122 @@
+ ':attribute må være godkjent.',
+ 'active_url' => ':attribute er ikke en gyldig URL.',
+ 'after' => ':attribute må være en dato etter :date.',
+ 'alpha' => ':attribute kan kun inneholde bokstaver.',
+ 'alpha_dash' => ':attribute kan kun inneholde bokstaver, tall og bindestreker.',
+ 'alpha_num' => ':attribute kan bare inneholde bokstaver og tall.',
+ 'array' => ':attribute må være en matrise.',
+ 'before' => ':attribute må være en dato før :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attribute må være mellom :min og :max elementer.',
+ ],
+ '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.',
+ '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' => ':attribute har en duplikat verdi.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute må være et bilde.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => ':attribute feltet finnes ikke i :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute må være en gyldig JSON streng.',
+ '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' => ':attribute kan ikke har mer enn :max elementer.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute må være minst :min kilobytes.',
+ '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' => ':attribute må finnes.',
+ 'regex' => ':attribute formatet er ugyldig.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'Feltet :attribute kreves med mindre :other er :values.',
+ 'required_with' => ':attribute feltet kreves når :values er til stede.',
+ 'required_with_all' => ':attribute feltet kreves når :values er til stede.',
+ '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' => ':attribute må være :size kilobytes.',
+ 'string' => ':attribute må være :size tegn.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute må være en gyldig tidssone.',
+ 'unique' => ':attribute er allerede tatt.',
+ 'url' => ':attribute formatet er ugyldig.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'tilpasset melding',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/pl-PL/cachet.php b/resources/lang/pl-PL/cachet.php
index 6099e381..aaf582f2 100644
--- a/resources/lang/pl-PL/cachet.php
+++ b/resources/lang/pl-PL/cachet.php
@@ -14,7 +14,7 @@ return [
'components' => [
'last_updated' => 'Ostatnia aktualizacja :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Nieznane',
1 => 'Funktionsfähig',
2 => 'Leistungsprobleme',
3 => 'Teilweiser Ausfall',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Brak zgłoszonych incydentów',
- 'past' => 'Vergangene Vorfälle',
- 'previous_week' => 'Poprzedni tydzień',
- 'next_week' => 'W przyszłym tygodniu',
- 'stickied' => 'Przyklejone incydenty',
- 'scheduled' => 'Geplante Wartungen',
- 'scheduled_at' => ', geplant :timestamp',
- 'posted' => 'Opublikowano :timestamp',
- 'status' => [
+ 'none' => 'Brak zgłoszonych incydentów',
+ 'past' => 'Vergangene Vorfälle',
+ 'stickied' => 'Przyklejone zdarzenia',
+ 'scheduled' => 'Geplante Wartungen',
+ 'scheduled_at' => ', geplant :timestamp',
+ 'posted' => 'Opublikowano :timestamp',
+ 'status' => [
1 => 'Untersuchungen laufen',
2 => 'Identifiziert',
3 => 'Unter Beobachtung',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Nadchodzące',
+ 1 => 'W toku',
+ 2 => 'Zakończone',
],
],
@@ -56,7 +54,7 @@ return [
'service' => [
'good' => '[0,1] System działa poprawnie|[2,Inf] Wszystkie systemy działają poprawnie',
'bad' => '[0,1] W systemie obecnie występują problemy|[2,Inf] W niektórych systemach występują problemy',
- 'major' => '[0,1] Usługa jest poważnie przeciążona|[2,Inf] Niektóre systemy są poważnie przeciążone',
+ 'major' => '[0,1] System jest poważnie przeciążony|[2,Inf] Niektóre systemy są poważnie przeciążone',
],
'api' => [
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Abonnieren Sie um die neuesten Updates zu erhalten.',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Wypisz się na :link',
'button' => 'Abonnieren',
'manage' => [
'no_subscriptions' => 'Jesteś obecnie zapisany na wszystkie aktualizacje.',
diff --git a/resources/lang/pl-PL/dashboard.php b/resources/lang/pl-PL/dashboard.php
new file mode 100644
index 00000000..6916ebef
--- /dev/null
+++ b/resources/lang/pl-PL/dashboard.php
@@ -0,0 +1,293 @@
+ 'Dashboard',
+ 'writeable_settings' => 'Nie można zapisać zmian w pliku konfiguracyjnym Cachet. Proszę sprawdzić uprawnienia do katalogu ./bootstrap/cachet, serwer www musi mieć możliwość zapisu w tym katalogu.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Ereignisse & Termine',
+ 'incidents' => 'Vorfälle',
+ 'logged' => '{0} Es gibt keine Vorfälle, gute Arbeit.|Du hast einen Vorfall gemeldet.|Du hast :count Vorfälle gemeldet.',
+ 'incident-create-template' => 'Vorlage erstellen',
+ 'incident-templates' => 'Vorfall Vorlagen',
+ 'updates' => '{0} Zero aktualizacji|Jedna aktualizacja|:count aktualizacji',
+ 'add' => [
+ 'title' => 'Vorfall hinzufügen',
+ 'success' => 'Dodano zdarzenie.',
+ 'failure' => 'Wystąpił błąd podczas dodawania wydarzenia, proszę spróbować ponownie.',
+ ],
+ 'edit' => [
+ 'title' => 'Vorfall bearbeiten',
+ 'success' => 'Vorfall aktualisiert.',
+ 'failure' => 'Wystąpił błąd podczas edytowania wydarzenia, proszę spróbować ponownie.',
+ ],
+ 'delete' => [
+ 'success' => 'Wydarzenie zostało usunięte i nie będzie widoczne na stronie statusu.',
+ 'failure' => 'Wydarzenie nie mogło zostać usunięte, proszę spróbować ponownie.',
+ ],
+ 'update' => [
+ 'title' => 'Utwórz nową aktualizację zdarzenia',
+ 'subtitle' => 'Dodaj aktualizację do :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Vorfall Vorlagen',
+ 'add' => [
+ 'title' => 'Vorfallvorlage erstellen',
+ 'message' => 'Powinieneś dodać szablon wydarzenia.',
+ 'success' => 'Twój nowy szablon wydarzenia został utworzony.',
+ 'failure' => 'Coś poszło nie tak z szablonem wydarzenia.',
+ ],
+ 'edit' => [
+ 'title' => 'Vorlage bearbeiten',
+ 'success' => 'Szablon wydarzenia został zaktualizowany.',
+ 'failure' => 'Coś poszło nie tak podczas aktualizacji szablonu wydarzenia',
+ ],
+ 'delete' => [
+ 'success' => 'Szablon wydarzenia został usunięty.',
+ 'failure' => 'Szablon wydarzenia nie mógł zostać usunięty, proszę spróbować ponownie.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Geplante Wartungen',
+ 'logged' => '{0} Nie ma żadnych harmonogramów, dobra robota.|Posiadasz jeden harmonogram.|Zgłoszono :count harmonogramów.',
+ 'scheduled_at' => 'Geplant am :timestamp',
+ 'add' => [
+ 'title' => 'Zaplanuj prace konserwatorskie',
+ 'success' => 'Dodano harmonogram.',
+ 'failure' => 'Coś poszło nie tak podczas planowania, proszę spróbować ponownie.',
+ ],
+ 'edit' => [
+ 'title' => 'Edytuj prace konserwatorskie',
+ 'success' => 'Harmonogram został zaktualizowany!',
+ 'failure' => 'Coś poszło nie tak podczas edytowania harmonogramu, proszę spróbować ponownie.',
+ ],
+ 'delete' => [
+ 'success' => 'Zaplanowane prace konserwatorskie zostały usunięte i nie będą wyświetlane na stronie statusu.',
+ 'failure' => 'Zaplanowane prace konserwatorskie nie mogły zostać usunięte, proszę spróbować ponownie.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Komponenten',
+ 'component_statuses' => 'Komponentenstatus',
+ 'listed_group' => 'Gruppiert unter :name',
+ 'add' => [
+ 'title' => 'Komponente hinzufügen',
+ 'message' => 'Sie sollten eine Komponente erstellen.',
+ 'success' => 'Utworzono komponent.',
+ 'failure' => 'Coś poszło nie tak z komponentem, proszę spróbować ponownie.',
+ ],
+ 'edit' => [
+ 'title' => 'Komponente bearbeiten',
+ 'success' => 'Zaktualizowano komponent.',
+ 'failure' => 'Coś poszło nie tak z komponentem, proszę spróbować ponownie.',
+ ],
+ 'delete' => [
+ 'success' => 'Komponent został usunięty!',
+ 'failure' => 'Komponent nie mógł zostać usunięty, proszę spróbować ponownie.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Komponentgruppe|Komponentgruppen',
+ 'no_components' => 'Sie sollten eine Komponentengruppe hinzufügen.',
+ 'add' => [
+ 'title' => 'Eine Komponentengruppe hinzufügen',
+ 'success' => 'Dodano grupę komponentów.',
+ 'failure' => 'Coś poszło nie tak z komponentem, proszę spróbować ponownie.',
+ ],
+ 'edit' => [
+ 'title' => 'Komponentengruppe bearbeiten',
+ 'success' => 'Zaktualizowano grupę komponentów.',
+ 'failure' => 'Coś poszło nie tak z komponentem, proszę spróbować ponownie.',
+ ],
+ 'delete' => [
+ 'success' => 'Grupa komponentów została usunięta!',
+ 'failure' => 'Grupa komponentów nie mogła zostać usunięta, proszę spróbować ponownie.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metriken',
+ 'add' => [
+ 'title' => 'Metrik erstellen',
+ 'message' => 'Powinieneś dodać metrykę.',
+ 'success' => 'Utworzono metrykę.',
+ 'failure' => 'Coś poszło nie tak z metryką, proszę próbować ponownie.',
+ ],
+ 'edit' => [
+ 'title' => 'Metrik bearbeiten',
+ 'success' => 'Zaktualizowano metrykę.',
+ 'failure' => 'Coś poszło nie tak z metryką, proszę próbować ponownie.',
+ ],
+ 'delete' => [
+ 'success' => 'Metryka została usunięta i nie będzie wyświetlana na stronie statusu.',
+ 'failure' => 'Metryka nie mogła zostać usunięta, proszę spróbować ponownie.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Abonnenten',
+ 'description' => 'Subskrybenci będą otrzymywać powiadomienia, gdy wydarzenia zostaną utworzone lub komponenty zaktualizowane.',
+ 'verified' => 'Verifiziert',
+ 'not_verified' => 'Nicht verifiziert',
+ 'subscriber' => ':email, subskrybowany :data',
+ 'no_subscriptions' => 'Zapisano do wszystkich aktualizacji',
+ 'add' => [
+ 'title' => 'Einen neuen Abonnenten hinzufügen',
+ 'success' => 'Abonnent hinzugefügt.',
+ 'failure' => 'Coś poszło nie tak podczas dodawania subskrybenta, proszę spróbować ponownie.',
+ 'help' => 'Wpisz każdego subskrybenta w nowym wierszu.',
+ ],
+ 'edit' => [
+ 'title' => 'Abonnent aktualisieren',
+ 'success' => 'Abonnent aktualisiert.',
+ 'failure' => 'Coś poszło nie tak podczas edytowania subskrybenta, proszę spróbować ponownie.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Mitglied',
+ 'profile' => 'Profil',
+ 'description' => 'Teammitglieder werden die Möglichkeit haben, Komponente sowie Vorfälle hinzuzufügen und zu verändern.',
+ 'add' => [
+ 'title' => 'Neues Teammitglied hinzufügen',
+ 'success' => 'Dodano członka zespołu.',
+ 'failure' => 'Członek zespołu nie mógł zostać dodany, proszę spróbować ponownie.',
+ ],
+ 'edit' => [
+ 'title' => 'Profil aktualisieren',
+ 'success' => 'Zaktualizowano profil.',
+ 'failure' => 'Coś poszło nie tak podczas aktualizacji profilu, proszę spróbować ponownie.',
+ ],
+ 'delete' => [
+ 'success' => 'Benutzer aktualisiert.',
+ 'failure' => 'Członek zespołu nie mógł zostać dodany, proszę spróbować ponownie.',
+ ],
+ 'invite' => [
+ 'title' => 'Zaproś nowego członka zespołu',
+ 'success' => 'Zaproszenie zostało wysłane',
+ 'failure' => 'Zaproszenie nie mogło zostać wysłane, proszę spróbować ponownie.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Einstellungen',
+ 'app-setup' => [
+ 'app-setup' => 'Anwendungsinstallation',
+ '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',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Logi',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Dostosowywanie',
+ 'header' => 'Niestandardowy nagłówek HTML',
+ 'footer' => 'Niestandardowa stopka HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Poczta',
+ 'test' => 'Testuj',
+ 'email' => [
+ 'subject' => 'Testuj powiadomienia z Cachet',
+ 'body' => 'To jest testowe powiadomienie z Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Sicherheit',
+ 'two-factor' => 'Nutzer ohne Zwei-Faktor-Authentifizierung',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Einstellungen gespeichert.',
+ 'failure' => 'Einstellungen konnten nicht gespeichert werden.',
+ ],
+ 'credits' => [
+ 'credits' => 'Autorzy',
+ 'contributors' => 'Współtwórcy',
+ 'license' => 'Catchet jest otwartym źródłem z licencją BSD utworzonym przez Alt Three Services Limited.',
+ 'backers-title' => 'Patronaci i sponsorzy',
+ 'backers' => 'Jeśli chciałbyś wspomóc przyszły rozwój sprawdź kampanię Cachet Patreon.',
+ 'thank-you' => 'Dziękujemy każdemu :count współtwórcy.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Anmelden',
+ 'logged_in' => 'Sie sind angemeldet.',
+ 'welcome' => 'Willkommen zurück!',
+ 'two-factor' => 'Bitte geben Sie Ihren Token ein.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Hilfe',
+ 'status_page' => 'Statusseite',
+ 'logout' => 'Abmelden',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Benachrichtigungen',
+ 'awesome' => 'Großartig.',
+ 'whoops' => 'Hoppla.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Wspomóż Cachet',
+ 'support_subtitle' => 'Sprawdź również naszą stronę na Patreon!',
+ 'news' => 'Aktualności',
+ 'news_subtitle' => 'Pobierz najnowszą aktualizację',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Witamy w nowym statusie strony!',
+ 'message' => 'Ihre Statusseite ist fast fertig! Vielleicht möchten Sie diese zusätzlichen Einstellungen konfigurieren',
+ 'close' => 'Przejdź prosto do panelu głównego',
+ 'steps' => [
+ 'component' => 'Komponenten erstellen',
+ 'incident' => 'Vorfälle erstellen',
+ 'customize' => 'Personalisieren',
+ 'team' => 'Benutzer hinzufügen',
+ 'api' => 'API Token generieren',
+ 'two-factor' => 'Zwei-Faktor-Authentifizierung',
+ ],
+ ],
+
+];
diff --git a/resources/lang/pl-PL/forms.php b/resources/lang/pl-PL/forms.php
new file mode 100644
index 00000000..c436a5cb
--- /dev/null
+++ b/resources/lang/pl-PL/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'E-Mail',
+ 'username' => 'Benutzername',
+ 'password' => 'Passwort',
+ 'site_name' => 'Seitenname',
+ 'site_domain' => 'Domain ihrer Seite',
+ 'site_timezone' => 'Wählen Sie Ihre Zeitzone',
+ 'site_locale' => 'Wählen Sie Ihre Sprache',
+ 'enable_google2fa' => 'Google Zwei-Faktor-Authentifizierung aktivieren',
+ 'cache_driver' => 'Cache-Treiber',
+ 'queue_driver' => 'Sposób przechowywania kolejek',
+ 'session_driver' => 'Sitzungs-Treiber',
+ 'mail_driver' => 'Kierowca mail',
+ 'mail_host' => 'Hosta poczty',
+ 'mail_address' => 'Pocztę z adresu',
+ 'mail_username' => 'Nazwa użytkownika poczty',
+ 'mail_password' => 'Hasło poczty',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Nazwa użytkownika lub e-mail',
+ 'email' => 'E-Mail',
+ 'password' => 'Passwort',
+ '2fauth' => 'Authentifizierungscode',
+ 'invalid' => 'Nieprawidłowa nazwa użytkownika lub hasło',
+ 'invalid-token' => 'Token ist ungültig',
+ 'cookies' => 'Sie müssen Cookies aktivieren um sich anzumelden.',
+ 'rate-limit' => 'Przekroczono limit.',
+ 'remember_me' => 'Zapamiętaj mnie',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'component' => 'Komponente',
+ 'message' => 'Nachricht',
+ 'message-help' => 'Sie können auch Markdown verwenden.',
+ 'occurred_at' => 'Kiedy wystąpił incydent?',
+ 'notify_subscribers' => 'Abonnenten benachrichtigen',
+ 'visibility' => 'Widoczność zdarzenia',
+ 'stick_status' => 'Przyklej zdarzenie',
+ 'stickied' => 'Przyklejone',
+ 'not_stickied' => 'Nie przyklejone',
+ 'public' => 'Öffentlich sichtbar',
+ 'logged_in_only' => 'Nur für angemeldete Benutzer sichtbar',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Vorlage',
+ 'twig' => 'Szablony wydarzeń mogą korzystać z języka szablonów Twig.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'message' => 'Nachricht',
+ 'message-help' => 'Sie können auch Markdown verwenden.',
+ 'scheduled_at' => 'Na kiedy została zaplanowana konserwacja?',
+ 'completed_at' => 'Czy konserwacja została zakończona?',
+ 'templates' => [
+ 'name' => 'Name',
+ 'template' => 'Vorlage',
+ 'twig' => 'Szablony wydarzeń mogą korzystać z języka szablonów Twig.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Name',
+ 'status' => 'Status',
+ 'group' => 'Gruppe',
+ 'description' => 'Beschreibung',
+ 'link' => 'Link',
+ 'tags' => 'Schlagwörter',
+ 'tags-help' => 'Durch Kommata trennen.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ 'name' => 'Name',
+ 'collapsing' => 'Rozwiń/Zwiń opcje',
+ 'visible' => 'Zawsze rozwinięte',
+ 'collapsed' => 'Domyślnie zwiń grupę',
+ 'collapsed_incident' => 'Zwiń grupę, ale rozwiń ją w razie problemów',
+ 'visibility' => 'Widoczność',
+ 'visibility_public' => 'Widoczne publicznie',
+ 'visibility_authenticated' => 'Widoczne tylko dla zalogowanych użytkowników',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Name',
+ 'description' => 'Beschreibung',
+ 'start_at' => 'Zaplanuj czas uruchomienia',
+ 'timezone' => 'Strefa czasowa',
+ 'schedule_frequency' => 'Zaplanuj częstotliwość (w sekundach)',
+ 'completion_latency' => 'Opóźnienie zakończenia (w sekundach)',
+ 'group' => 'Gruppe',
+ 'active' => 'Aktywne?',
+ 'groups' => [
+ 'name' => 'Nazwa grupy',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Name',
+ 'suffix' => 'Suffix',
+ 'description' => 'Beschreibung',
+ 'description-help' => 'Sie können auch Markdown verwenden.',
+ 'display-chart' => 'Diagramm auf der Statusseite anzeigen?',
+ 'default-value' => 'Standardwert',
+ 'calc_type' => 'Berechnung der Metrik',
+ 'type_sum' => 'Summe',
+ 'type_avg' => 'Durchschnitt',
+ 'places' => 'Miejsca dziesiętne',
+ 'default_view' => 'Domyślny widok',
+ 'threshold' => 'Ile minut przerwy między punktami metrycznymi?',
+ 'visibility' => 'Widoczność',
+ 'visibility_authenticated' => 'Widoczne dla uwierzytelnionych użytkowników',
+ 'visibility_public' => 'Widoczne dla każdego',
+ 'visibility_hidden' => 'Zawsze ukryte',
+
+ 'points' => [
+ 'value' => 'Wert',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Seitenname',
+ 'site-url' => 'URL ihrer Seite',
+ 'display-graphs' => 'Graphen auf der Statusseite anzeigen?',
+ 'about-this-page' => 'Über diese Seite',
+ 'days-of-incidents' => 'Wie viele Tage mit Vorfällen sollen gezeigt werden?',
+ 'banner' => 'Banner',
+ 'banner-help' => 'Es wird empfohlen, dass Sie keine Dateien die breiter als 930 Pixel sind hochladen .',
+ 'subscribers' => 'Personen die Anmeldung für E-Mail-Benachrichtigung erlauben?',
+ 'skip_subscriber_verification' => 'Pominąć weryfikację użytkowników? (Ostrzeżenie: możesz otrzymać spam)',
+ 'automatic_localization' => 'Automatycznie tłumaczyć twoją stronę statusu na język odwiedzającego?',
+ 'enable_external_dependencies' => 'Włącz zależności zewnętrznych dostawców (Google Fonts, Trackers, etc...)',
+ 'show_timezone' => 'Pokazuj strefę czasową w której działa strona statusu.',
+ 'only_disrupted_days' => 'Czy pokazywać tylko dni zawierające zdarzenia w linii czasu?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Google Analytics Code',
+ 'analytics_gosquared' => 'GoSquared Analytics Code',
+ 'analytics_piwik_url' => 'URL der Piwik-Instanz (ohne http(s)://)',
+ 'analytics_piwik_siteid' => 'Piwik\'s Seiten-ID',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Zeitzone ihrer Seite',
+ 'site-locale' => 'Sprache ihrer Seite',
+ 'date-format' => 'Datumsformat',
+ 'incident-date-format' => 'Vorfall Zeitstempel-Format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Erlaubte Domains',
+ 'allowed-domains-help' => 'Durch Kommata trennen. Die oben genannte Domain ist standardmäßig erlaubt.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Niestandardowy arkusz stylów',
+ ],
+ 'theme' => [
+ 'background-color' => 'Kolor tła',
+ 'background-fills' => 'Wypełnianie tła (komponenty, wydarzenia, stopka)',
+ 'banner-background-color' => 'Banner Background Color',
+ 'banner-padding' => 'Banner Padding',
+ 'fullwidth-banner' => 'Enable fullwidth banner?',
+ 'text-color' => 'Kolor tekstu',
+ 'dashboard-login' => 'Pokazywać przycisk panelu głównego w stopce?',
+ 'reds' => 'Czerwony (używany przy błędach)',
+ 'blues' => 'Niebieski (używany przy informacjach)',
+ 'greens' => 'Zielony (używany przy powodzeniu)',
+ 'yellows' => 'Żółty (używany przy ostrzeżeniach)',
+ 'oranges' => 'Pomarańczowy (używany przy ogłoszeniach)',
+ 'metrics' => 'Wypełnienie metryki',
+ 'links' => 'Łącza',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Benutzername',
+ 'email' => 'E-Mail',
+ 'password' => 'Passwort',
+ 'api-token' => 'API Token',
+ 'api-token-help' => 'Wenn sie ihren API-Token neu generieren, können bestehende Anwendungen nicht mehr auf Cachet zugreifen.',
+ 'gravatar' => 'Change your profile picture at Gravatar.',
+ 'user_level' => 'Poziom użytkownika',
+ 'levels' => [
+ 'admin' => 'Administrator',
+ 'user' => 'Użytkownik',
+ ],
+ '2fa' => [
+ 'help' => 'Die Zwei-Faktor-Authentifizierung erhöht die Sicherheit Ihres Kontos. Sie benötigen Google Authenticator oder eine ähnliche App auf Ihrem Mobilgerät. Beim Anmelden werden sie aufgefordert, einen Token einzugeben, der von der App generiert wird.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Wybierz strefę czasową',
+ ],
+
+ // Buttons
+ 'add' => 'Hinzufügen',
+ 'save' => 'Speichern',
+ 'update' => 'Aktualisieren',
+ 'create' => 'Erstellen',
+ 'edit' => 'Bearbeiten',
+ 'delete' => 'Löschen',
+ 'submit' => 'Abschicken',
+ 'cancel' => 'Abbrechen',
+ 'remove' => 'Entfernen',
+ 'invite' => 'Zaproś',
+ 'signup' => 'Zarejestruj się',
+
+ // Other
+ 'optional' => '* optional',
+];
diff --git a/resources/lang/pl-PL/notifications.php b/resources/lang/pl-PL/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/pl-PL/notifications.php
+++ b/resources/lang/pl-PL/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/pl-PL/pagination.php b/resources/lang/pl-PL/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/pl-PL/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/pl-PL/setup.php b/resources/lang/pl-PL/setup.php
new file mode 100644
index 00000000..a2981178
--- /dev/null
+++ b/resources/lang/pl-PL/setup.php
@@ -0,0 +1,23 @@
+ 'Instalacja',
+ 'title' => 'Skonfiguruj Cachet',
+ 'service_details' => 'Szczegóły usługi',
+ 'env_setup' => 'Konfiguracja środowiska',
+ 'status_page_setup' => 'Skonfiguruj stronę statusu',
+ 'show_support' => 'Pokazać wsparcie dla Cachet?',
+ 'admin_account' => 'Konto Administratora',
+ 'complete_setup' => 'Zakończ instalację',
+ 'completed' => 'Cachet został pomyślnie skonfigurowany!',
+ 'finish_setup' => 'Przejdź do pulpitu',
+];
diff --git a/resources/lang/pl-PL/validation.php b/resources/lang/pl-PL/validation.php
new file mode 100644
index 00000000..99eab8e1
--- /dev/null
+++ b/resources/lang/pl-PL/validation.php
@@ -0,0 +1,122 @@
+ ':attribute muss akzeptiert werden.',
+ 'active_url' => ':attribute ist keine gültige Internet-Adresse.',
+ 'after' => ':attribute muss ein Datum nach dem :date sein.',
+ 'alpha' => ':attribute darf nur aus Buchstaben bestehen.',
+ 'alpha_dash' => ':attribute darf nur aus Buchstaben, Zahlen, Binde- und Unterstrichen bestehen. Umlaute (ä, ö, ü) und Eszett (ß) sind nicht erlaubt.',
+ 'alpha_num' => ':attribute darf nur aus Buchstaben, Zahlen, Binde- und Unterstrichen bestehen. Umlaute (ä, ö, ü) und Eszett (ß) sind nicht erlaubt.',
+ 'array' => ':attribute muss ein Array sein.',
+ 'before' => ':attribute muss ein Datum vor dem :date sein.',
+ 'between' => [
+ 'numeric' => ':attribute musi mieć wartość pomiędzy :min a :max.',
+ 'file' => ' :attribute musi mieć rozmiar pomiędzy :min a :max kilobajtów.',
+ 'string' => ':attribute musi mieć pomiędzy :min a :max znaków.',
+ 'array' => ':attribute muss zwischen :min & :max Elemente haben.',
+ ],
+ 'boolean' => ':attribute musi być prawdą lub fałszem.',
+ 'confirmed' => ':attribute potwierdzenie nie zgadza się.',
+ 'date' => ':attribute nie zawiera prawidłowej daty.',
+ 'date_format' => ':attribute nie pasuje do formatu :format.',
+ 'different' => ':attribute musi być różne od :other.',
+ 'digits' => ':attribute musi składać się z :digits cyfr.',
+ 'digits_between' => ':attribute musi być w zakresie od :min do :max liczb.',
+ 'email' => ':attribute musi zawierać prawidłowy adres e-mail.',
+ 'exists' => 'Wybrany :attribute jest nieprawidłowy.',
+ 'distinct' => 'Pole :attribute zawiera podwójną wartość.',
+ 'filled' => 'Pole :attribute jest wymagane.',
+ 'image' => ':attribute muss ein Bild sein.',
+ 'in' => 'Wybrany :attribute jest nieprawidłowy.',
+ 'in_array' => 'Pole :attribute nie istnieje w :other.',
+ 'integer' => ':attribute musi być liczbą całkowitą.',
+ 'ip' => ':attribute musi zawierać prawidłowy adres IP.',
+ 'json' => ':attribute musi być prawidłowym węzłem JSON.',
+ 'max' => [
+ 'numeric' => ':attribute nie może być większy niż :max.',
+ 'file' => ':attribute nie może być większy niż :max kilobajtów.',
+ 'string' => ':attribute nie może być dłuższy niż :max znaków.',
+ 'array' => ':attribute darf nicht mehr als :max Elemente haben.',
+ ],
+ 'mimes' => ':attribute musi być plikiem typu: :values.',
+ 'min' => [
+ 'numeric' => ':attribute musi wynosić co najmniej :min.',
+ 'file' => ':attribute muss mindestens :min Kilobytes groß sein.',
+ 'string' => ':attribute musi składać się co najmniej z :min znaków.',
+ 'array' => ':attribute musi składać się z co najmniej :min elementów.',
+ ],
+ 'not_in' => 'Wybrany :attribute jest nieprawidłowy.',
+ 'numeric' => ':attribute musi być liczbą.',
+ 'present' => 'Pole :attribute musi być obecne.',
+ 'regex' => 'Format atrybutu ":attribute" jest nieprawidłowy.',
+ 'required' => 'Pole :attribute jest wymagane.',
+ 'required_if' => 'Pole :attribute jest wymagane, gdy :other jest ustawione na :value.',
+ 'required_unless' => 'Pole :attribute jest wymagane, chyba że :other jest w :values.',
+ 'required_with' => 'Pole :attribute jest wymagane kiedy obecne jest :values.',
+ 'required_with_all' => 'Pole :attribute jest wymagane kiedy obecne jest :values.',
+ 'required_without' => 'Pole :attribute jest wymagane, gdy :values nie jest podane.',
+ 'required_without_all' => ':attribute jest wymagane, gdy żadna z wartości :values nie jest podana.',
+ 'same' => 'Pola :attribute i :other muszą być takie same.',
+ 'size' => [
+ 'numeric' => ':attribute musi mieć rozmiar :size.',
+ 'file' => ':attribute muss :size Kilobytes groß sein.',
+ 'string' => ':attribute muss :size Zeichen lang sein.',
+ 'array' => ':attribute musi zawierać :size elementów.',
+ ],
+ 'string' => ':attribute musi być ciągiem znaków.',
+ 'timezone' => ':attribute muss eine gültige Zeitzone sein.',
+ 'unique' => ':attribute ist schon vergeben.',
+ 'url' => 'Format atrybutu ":attribute" jest nieprawidłowy.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'Individuelle Nachricht',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/pt-BR/cachet.php b/resources/lang/pt-BR/cachet.php
index 668538e8..496c0cb2 100644
--- a/resources/lang/pt-BR/cachet.php
+++ b/resources/lang/pt-BR/cachet.php
@@ -14,7 +14,7 @@ return [
'components' => [
'last_updated' => 'Última atualização :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Desconhecido',
1 => 'Operacional',
2 => 'Problemas de performance',
3 => 'Indisponibilidade parcial',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Nenhum incidente reportado',
- 'past' => 'Incidentes anteriores',
- 'previous_week' => 'Última semana',
- 'next_week' => 'Próxima semana',
- 'stickied' => 'Incidentes fixados',
- 'scheduled' => 'Manutenção Agendada',
- 'scheduled_at' => ', agendada :timestamp',
- 'posted' => 'Postado :timestamp',
- 'status' => [
+ 'none' => 'Nenhum incidente reportado',
+ 'past' => 'Incidentes anteriores',
+ 'stickied' => 'Incidentes Persistentes',
+ 'scheduled' => 'Manutenção Agendada',
+ 'scheduled_at' => ', agendada :timestamp',
+ 'posted' => 'Postado :timestamp',
+ 'status' => [
1 => 'Investigando',
2 => 'Identificado',
3 => 'Observando',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Em breve',
+ 1 => 'Em Progresso',
+ 2 => 'Concluído',
],
],
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Inscreva-se para obter as atualizações mais recentes',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Cancelar inscrição em: link',
'button' => 'Inscreva-se',
'manage' => [
'no_subscriptions' => 'Você está atualmente inscrito a todas as atualizações.',
@@ -122,7 +120,7 @@ return [
'home' => 'Início',
'description' => 'Mantenha-se atualizado com as últimas atualizações de serviço de: app.',
'powered_by' => 'Desenvolvido por Cachet.',
- 'timezone' => 'Horário é mostrado em :timezone.',
+ 'timezone' => 'Horários são exibidos em :timezone.',
'about_this_site' => 'Sobre este Site',
'rss-feed' => 'RSS',
'atom-feed' => 'Atom',
diff --git a/resources/lang/pt-BR/dashboard.php b/resources/lang/pt-BR/dashboard.php
index 37228d75..2b9ea604 100644
--- a/resources/lang/pt-BR/dashboard.php
+++ b/resources/lang/pt-BR/dashboard.php
@@ -12,7 +12,7 @@
return [
'dashboard' => 'Dashboard',
- 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+ 'writeable_settings' => 'O diretório configurações do Cachet não é gravável. Certifique-se de que./bootstrap/cachet é gravável pelo servidor web.',
// Incidents
'incidents' => [
@@ -39,6 +39,7 @@ return [
'update' => [
'title' => 'Crie uma nova atualização de incidente',
'subtitle' => 'Adicione uma atualização ao :incidente',
+ 'success' => 'Update added.',
],
// Incident templates
@@ -215,11 +216,11 @@ return [
'footer' => 'HTML de rodapé personalizado',
],
'mail' => [
- 'mail' => 'Mail',
- 'test' => 'Test',
+ 'mail' => 'E-Mail',
+ 'test' => 'Teste',
'email' => [
- 'subject' => 'Test notification from Cachet',
- 'body' => 'This is a test notification from Cachet.',
+ 'subject' => 'Notificação de teste do Cachet',
+ 'body' => 'Esta é uma notificação de teste do Cachet.',
],
],
'security' => [
diff --git a/resources/lang/pt-BR/forms.php b/resources/lang/pt-BR/forms.php
index a633671a..b37bfadb 100644
--- a/resources/lang/pt-BR/forms.php
+++ b/resources/lang/pt-BR/forms.php
@@ -22,7 +22,13 @@ return [
'site_locale' => 'Selecione seu idioma',
'enable_google2fa' => 'Habilitar a autenticação de dois fatores do Google',
'cache_driver' => 'Driver de Cache',
+ 'queue_driver' => 'Driver na fila',
'session_driver' => 'Driver de Sessão',
+ 'mail_driver' => 'Driver de correio',
+ 'mail_host' => 'Host de correio',
+ 'mail_address' => 'Correio do endereço',
+ 'mail_username' => 'Nome de usuário de email',
+ 'mail_password' => 'Senha de email',
],
// Login form fields
@@ -35,6 +41,7 @@ return [
'invalid-token' => 'Token inválido',
'cookies' => 'Você deve habilitar os cookies do navegador para logar.',
'rate-limit' => 'Limite de acesso excedido.',
+ 'remember_me' => 'Lembre-me',
],
// Incidents form fields
@@ -44,10 +51,12 @@ return [
'component' => 'Componente',
'message' => 'Mensagem',
'message-help' => 'Você também pode usar o Markdown.',
- 'scheduled_at' => 'Agendar a manutenção para quando?',
- 'incident_time' => 'Quando esse incidente ocorreu?',
+ 'occurred_at' => 'Quando esse incidente ocorreu?',
'notify_subscribers' => 'Notificar os assinantes?',
'visibility' => 'Visibilidade do incidente',
+ 'stick_status' => 'Incidente fixado',
+ 'stickied' => 'Fixado',
+ 'not_stickied' => 'Não Fixado',
'public' => 'Visível para todos',
'logged_in_only' => 'Visível somente para usuários logados',
'templates' => [
@@ -57,6 +66,20 @@ return [
],
],
+ 'schedules' => [
+ 'name' => 'Nome',
+ 'status' => 'Status',
+ 'message' => 'Mensagem',
+ 'message-help' => 'Você também pode usar o Markdown.',
+ 'scheduled_at' => 'Quando é essa manutenção programada para?',
+ 'completed_at' => 'Quando essa manutenção foi concluída?',
+ 'templates' => [
+ 'name' => 'Nome',
+ 'template' => 'Template',
+ 'twig' => 'Esboços de incidentes podem fazer uso da linguagem de template Twig.',
+ ],
+ ],
+
// Components form fields
'components' => [
'name' => 'Nome',
@@ -69,28 +92,50 @@ return [
'enabled' => 'Componente activado?',
'groups' => [
- 'name' => 'Nome',
- 'collapsing' => 'Escolha a visibilidade do grupo',
- 'visible' => 'Sempre expandido',
- 'collapsed' => 'Colapsar o grupo por padrão',
- 'collapsed_incident' => 'Colapsar o grupo, mas expandir se ocorrer algum problema',
+ 'name' => 'Nome',
+ 'collapsing' => 'Expandir/recolher opções',
+ 'visible' => 'Sempre expandido',
+ 'collapsed' => 'Colapsar o grupo por padrão',
+ 'collapsed_incident' => 'Colapsar o grupo, mas expandir se ocorrer algum problema',
+ 'visibility' => 'Visibilidade',
+ 'visibility_public' => 'Visível ao Público',
+ 'visibility_authenticated' => 'Visível apenas para usuários autenticados',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nome',
+ 'description' => 'Descrição',
+ 'start_at' => 'Agendar horário de início',
+ 'timezone' => 'Fuso horário',
+ 'schedule_frequency' => 'Agendar frequência (em segundos)',
+ 'completion_latency' => 'Latência de conclusão (em segundos)',
+ 'group' => 'Grupo',
+ 'active' => 'Ativado?',
+ 'groups' => [
+ 'name' => 'Nome do Grupo',
],
],
// Metric form fields
'metrics' => [
- 'name' => 'Nome',
- 'suffix' => 'Sufixo',
- 'description' => 'Descrição',
- 'description-help' => 'Você também pode usar Markdown.',
- 'display-chart' => 'Exibir o gráfico na página de status?',
- 'default-value' => 'Valor padrão',
- 'calc_type' => 'Cálculo de métricas',
- 'type_sum' => 'Soma',
- 'type_avg' => 'Média',
- 'places' => 'Casas decimais',
- 'default_view' => 'Visualização padrão',
- 'threshold' => 'Quantos minutos de limite entre os pontos das métricas?',
+ 'name' => 'Nome',
+ 'suffix' => 'Sufixo',
+ 'description' => 'Descrição',
+ 'description-help' => 'Você também pode usar o Markdown.',
+ 'display-chart' => 'Exibir o gráfico na página de status?',
+ 'default-value' => 'Valor padrão',
+ 'calc_type' => 'Cálculo de métricas',
+ 'type_sum' => 'Soma',
+ 'type_avg' => 'Média',
+ 'places' => 'Casas decimais',
+ 'default_view' => 'Visualização padrão',
+ 'threshold' => 'Quantos minutos de limite entre os pontos das métricas?',
+ 'visibility' => 'Visibilidade',
+ 'visibility_authenticated' => 'Visível para usuários autenticados',
+ 'visibility_public' => 'Visível para todos',
+ 'visibility_hidden' => 'Sempre oculto',
'points' => [
'value' => 'Valor',
@@ -99,17 +144,21 @@ return [
// Settings
'settings' => [
- /// Application setup
+ // Application setup
'app-setup' => [
- 'site-name' => 'Nome do site',
- 'site-url' => 'URL do site',
- 'display-graphs' => 'Exibir gráficos na página de status?',
- 'about-this-page' => 'Sobre esta página',
- 'days-of-incidents' => 'Quantos dias de incidentes para mostrar?',
- 'banner' => 'Imagem do banner',
- 'banner-help' => 'É recomendável que você faça upload de arquivos menores que 930px .',
- 'subscribers' => 'Permitir que outras pessoas se cadastrem para notificações via e-mail?',
- 'automatic_localization' => 'Localizar sua página de status de acordo com o idioma do visitante automaticamente?',
+ 'site-name' => 'Nome do site',
+ 'site-url' => 'URL do site',
+ 'display-graphs' => 'Exibir gráficos na página de status?',
+ 'about-this-page' => 'Sobre esta página',
+ 'days-of-incidents' => 'Quantos dias de incidentes para mostrar?',
+ 'banner' => 'Imagem do banner',
+ 'banner-help' => 'É recomendável que você faça upload de arquivos menores que 930px .',
+ 'subscribers' => 'Permitir que outras pessoas se cadastrem para notificações via e-mail?',
+ 'skip_subscriber_verification' => 'Ignorar verificação de usuários? (Cuidado, você pode sofrer com spams)',
+ 'automatic_localization' => 'Localizar sua página de status de acordo com o idioma do visitante automaticamente?',
+ 'enable_external_dependencies' => 'Ativar dependências de terceiros (Google Fonts, Trackers, etc...)',
+ 'show_timezone' => 'Mostre qual o fuso horário na qual a página de estado está rodando.',
+ 'only_disrupted_days' => 'Mostrar apenas os dias que contenham incidentes na linha do tempo?',
],
'analytics' => [
'analytics_google' => 'Código do Google Analytics',
@@ -169,6 +218,10 @@ return [
],
],
+ 'general' => [
+ 'timezone' => 'Selecione o fuso horário',
+ ],
+
// Buttons
'add' => 'Adicionar',
'save' => 'Salvar',
diff --git a/resources/lang/pt-BR/notifications.php b/resources/lang/pt-BR/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/pt-BR/notifications.php
+++ b/resources/lang/pt-BR/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/pt-BR/validation.php b/resources/lang/pt-BR/validation.php
index 4029fd21..fcadecbf 100644
--- a/resources/lang/pt-BR/validation.php
+++ b/resources/lang/pt-BR/validation.php
@@ -23,7 +23,7 @@ return [
*/
'accepted' => 'O campo :attribute deve ser aceito.',
- 'active_url' => 'O campo :attribute não é uma URL válida.',
+ 'active_url' => 'O campo :attribute não contém uma URL válida.',
'after' => 'O campo :attribute deverá conter uma data posterior a :date.',
'alpha' => 'O campo :attribute deverá conter apenas letras.',
'alpha_dash' => 'O campo :attribute só pode conter letras, números, e hifens.',
@@ -31,60 +31,60 @@ return [
'array' => 'O campo :attribute deve ser um vetor.',
'before' => 'O campo :attribute deverá conter uma data anterior a :date.',
'between' => [
- 'numeric' => 'O campo :attribute deverá conter uma data anterior a :date.',
- 'file' => 'O campo :attribute deverá ter um valor entre :min - :max.',
- 'string' => 'O campo :attribute deverá ter um tamanho entre :min - :max kilobytes.',
+ 'numeric' => 'O campo :attribute deverá ter um valor entre :min - :max.',
+ 'file' => 'O campo :attribute deve estar entre :min e :max kilobytes.',
+ 'string' => 'O campo :attribute deve ter entre :min e :max caracteres.',
'array' => 'O campo :attribute deve ter entre :min e :max itens.',
],
- 'boolean' => 'O campo :attribute deve ter entre :min e :max itens.',
- 'confirmed' => 'O campo :attribute deve ser verdadeiro ou falso.',
- 'date' => 'A confirmação do :attribute é inválida ou não correspondente.',
- 'date_format' => 'O campo :attribute não contém uma data válida.',
- 'different' => 'A data indicada para o campo :attribute não respeita o formato :format.',
- 'digits' => 'Os campos :attribute e :other devem conter valores diferentes.',
- 'digits_between' => 'O campo :attribute deve conter :digits dígitos.',
- 'email' => 'O campo :attribute deve conter entre :min a :max dígitos.',
- 'exists' => 'O campo :attribute tem que ser um e-mail válido.',
+ 'boolean' => 'O campo :attribute deve ser verdadeiro ou falso.',
+ 'confirmed' => 'A confirmação do campo :attribute não corresponde.',
+ 'date' => 'O campo :attribute não é uma data válida.',
+ 'date_format' => 'O campo :attribute não corresponde ao formato :format.',
+ 'different' => 'O campo :attribute e :other devem ser diferentes.',
+ 'digits' => 'O campo :attribute deve ter :digits dígitos.',
+ 'digits_between' => 'O campo :attribute deve ter entre :min e :max dígitos.',
+ 'email' => 'O campo :attribute deve ser um endereço de email válido.',
+ 'exists' => 'O campo :attribute é inválido.',
'distinct' => 'O campo :attribute tem um valor duplicado.',
- 'filled' => 'O formato de :attribute é inválido.',
+ 'filled' => 'O campo :attribute é obrigatório.',
'image' => 'O :attribute deve ser uma imagem.',
- 'in' => 'O :attribute deve ser uma imagem.',
+ 'in' => 'O campo :attribute é inválido.',
'in_array' => 'O campo :attribute não existe em :other.',
- 'integer' => 'O valor selecionado para o campo :attribute é inválido.',
- 'ip' => 'O campo :attribute deve ser um número inteiro.',
+ 'integer' => 'O campo :attribute deve ser um número inteiro.',
+ 'ip' => 'O campo :attribute deve ser um endereço de IP válido.',
'json' => 'O :attribute tem que ser uma string JSON válida.',
'max' => [
- 'numeric' => 'O campo :attribute deve ser um IP válido.',
- 'file' => 'O campo :attribute não pode ser maior do que :max.',
- 'string' => 'O campo :attribute não deverá ter um tamanho superior a :max kilobytes.',
+ 'numeric' => 'O campo :attribute não deve ser maior que :max.',
+ 'file' => 'O campo :attribute não deve ser maior que :max kilobytes.',
+ 'string' => 'O campo :attribute não deve ser maior que :max caracteres.',
'array' => 'A: atributo não pode ter mais de que :max itens.',
],
- 'mimes' => 'A: atributo não pode ter mais de que :max itens.',
+ 'mimes' => 'O campo :attribute deve ser um arquivo do tipo: :values.',
'min' => [
- 'numeric' => 'O campo :attribute deverá conter um arquivo do tipo: :values.',
+ 'numeric' => 'O campo :attribute deve ser no mínimo :min.',
'file' => 'O :attribute deve ter pelo menos :min kilobytes.',
- 'string' => 'O :attribute deve ter pelo menos :min kilobytes.',
- 'array' => 'O campo :attribute deverá conter no mínimo :min caracteres.',
+ 'string' => 'O campo :attribute deve ter no mínimo :min caracteres.',
+ 'array' => 'O campo :attribute deve ter no mínimo :min itens.',
],
- 'not_in' => 'O campo :attribute deve ter pelo menos :min itens.',
- 'numeric' => 'O valor selecionado para o campo :attribute é inválido.',
+ 'not_in' => 'O campo :attribute é inválido.',
+ 'numeric' => 'O campo :attribute deve ser um número.',
'present' => 'O campo :attribute deve estar presente.',
- 'regex' => 'O campo :attribute deve ser um número.',
- 'required' => 'O formato de :attribute é inválido.',
- 'required_if' => 'O campo :attribute é obrigatório.',
- 'required_unless' => 'O campo :attribute é obrigatório a não ser que :other estiver em :values.',
- 'required_with' => 'O campo :attribute é obrigatório quando :other é :value.',
+ 'regex' => 'O formato de :attribute é inválido.',
+ 'required' => 'O campo :attribute é obrigatório.',
+ 'required_if' => 'O campo :attribute é obrigatório quando :other é :value.',
+ 'required_unless' => 'O campo :attribute é obrigatório a não ser que :other esteja entre :values.',
+ 'required_with' => 'O campo :attribute é obrigatório quando :values está presente.',
'required_with_all' => 'O campo :attribute é obrigatório quando :values está presente.',
- 'required_without' => 'O campo :attribute é obrigatório quando :values está presente.',
- 'required_without_all' => 'O campo :attribute é obrigatório quando :values não está presente.',
- 'same' => 'O campo :attribute é necessário quando não há :values presentes.',
+ 'required_without' => 'O campo :attribute é obrigatório quando :values não está presente.',
+ 'required_without_all' => 'O campo :attribute é obrigatório quando nenhum dos :values está presente.',
+ 'same' => 'O campo :attribute e :other devem ser iguais.',
'size' => [
- 'numeric' => 'Os campos :attribute e :other devem ser iguais.',
+ 'numeric' => 'O campo :attribute deve ser :size.',
'file' => 'O :attribute deve ter :size kilobytes.',
'string' => 'O :attribute deve ter :size caracteres.',
- 'array' => 'O :attribute deve ter :size caracteres.',
+ 'array' => 'O campo :attribute deve ter :size itens.',
],
- 'string' => 'O campo :attribute deve ter :size itens.',
+ 'string' => 'O campo :attribute deve ser uma string.',
'timezone' => 'O :attribute deve ser uma zona válida.',
'unique' => 'O :attribute já existe.',
'url' => 'O formato de :attribute é inválido.',
diff --git a/resources/lang/pt-PT/cachet.php b/resources/lang/pt-PT/cachet.php
index 9f17729a..0e729338 100644
--- a/resources/lang/pt-PT/cachet.php
+++ b/resources/lang/pt-PT/cachet.php
@@ -14,28 +14,26 @@ return [
'components' => [
'last_updated' => 'Ultima actualização :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Desconhecido',
1 => 'Operacional',
2 => 'Problemas de performance',
3 => 'Indisponibilidade parcial',
4 => 'Indisponibilidade total',
],
'group' => [
- 'other' => 'Outros componentes',
+ 'other' => 'Outros Componentes',
],
],
// Incidents
'incidents' => [
- 'none' => 'Nenhum incidente reportado',
- 'past' => 'Incidentes anteriores',
- 'previous_week' => 'Semana anterior',
- 'next_week' => 'Próxima Semana',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Manutenção Agendada',
- 'scheduled_at' => ', agendada :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'Nenhum incidente reportado',
+ 'past' => 'Incidentes anteriores',
+ 'stickied' => 'Incidentes Persistentes',
+ 'scheduled' => 'Manutenção Agendada',
+ 'scheduled_at' => ', agendada :timestamp',
+ 'posted' => 'Publicado :timestamp',
+ 'status' => [
1 => 'Investigando',
2 => 'Identificado',
3 => 'Observando',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Brevemente',
+ 1 => 'Em Progresso',
+ 2 => 'Concluído',
],
],
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Inscreva-se para obter as atualizações mais recentes',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Subscrição cancelada em :link',
'button' => 'Subscrever',
'manage' => [
'no_subscriptions' => 'Actualmente está subscrito para todas as actualizações.',
@@ -122,7 +120,7 @@ return [
'home' => 'Início',
'description' => 'Mantenha-se actualizado relativamente às alterações de serviço do :app.',
'powered_by' => 'Suportado por Cachet.',
- 'timezone' => 'Times are shown in :timezone.',
+ 'timezone' => 'Tempos são exibidos em :timezone.',
'about_this_site' => 'Sobre este Site',
'rss-feed' => 'RSS',
'atom-feed' => 'Atom',
diff --git a/resources/lang/pt-PT/dashboard.php b/resources/lang/pt-PT/dashboard.php
index 3d594ca4..40d3f060 100644
--- a/resources/lang/pt-PT/dashboard.php
+++ b/resources/lang/pt-PT/dashboard.php
@@ -12,7 +12,7 @@
return [
'dashboard' => 'Dashboard',
- 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+ 'writeable_settings' => 'O diretório das configurações do Cachet não é gravável. Certifique-se de que./bootstrap/cachet é gravável pelo servidor web.',
// Incidents
'incidents' => [
@@ -21,24 +21,25 @@ return [
'logged' => '{0} Não existem incidentes, bom trabalho.|Você registrou um incidente.|Você reportou :count incidentes.',
'incident-create-template' => 'Criar template',
'incident-templates' => 'Template de incidentes',
- 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'updates' => '{0} Nenhuma Atualização|Uma Atualização|:contagem de Atualizações',
'add' => [
'title' => 'Adicionar um incidente',
'success' => 'Incidente adicionado.',
- 'failure' => 'There was an error adding the incident, please try again.',
+ 'failure' => 'Houve um erro ao adicionar o incidente, por favor tente novamente.',
],
'edit' => [
'title' => 'Editar um incidente',
'success' => 'Incidente atualizado.',
- 'failure' => 'There was an error editing the incident, please try again.',
+ 'failure' => 'Houve um erro na edição do incidente, por favor tente novamente.',
],
'delete' => [
'success' => 'O incidente foi apagado e não será mais mostrado na sua página de estado.',
- 'failure' => 'The incident could not be deleted, please try again.',
+ 'failure' => 'O incidente não pode ser apagado, por favor tente novamente.',
],
'update' => [
- 'title' => 'Create new incident update',
- 'subtitle' => 'Add an update to :incident',
+ 'title' => 'Crie uma nova atualização de incidente',
+ 'subtitle' => 'Adicione uma atualização ao :incidente',
+ 'success' => 'Update added.',
],
// Incident templates
@@ -47,17 +48,17 @@ return [
'add' => [
'title' => 'Criar um modelo de incidente',
'message' => 'Adicione um esboço de incidente.',
- 'success' => 'Your new incident template has been created.',
- 'failure' => 'Something went wrong with the incident template.',
+ 'success' => 'O seu novo modelo de incidente foi criado.',
+ 'failure' => 'Aconteceu algo de errado com o modelo de incidente.',
],
'edit' => [
'title' => 'Editar Modelo',
- 'success' => 'The incident template has been updated.',
- 'failure' => 'Something went wrong updating the incident template',
+ 'success' => 'O modelo de incidente foi atualizado.',
+ 'failure' => 'Aconteceu algo dee errado ao atualizar o modelo de incidente',
],
'delete' => [
'success' => 'O esboço de incidente foi apagado.',
- 'failure' => 'The incident template could not be deleted, please try again.',
+ 'failure' => 'Aconteceu um erro ao tentar apagar o modelo de incidente, por favor tente novamente.',
],
],
],
@@ -70,12 +71,12 @@ return [
'add' => [
'title' => 'Adicionar Manutenção Agendada',
'success' => 'Agendamento adicionado.',
- 'failure' => 'Something went wrong adding the schedule, please try again.',
+ 'failure' => 'Ocorreu um problema ao adicionar a programação, por favor tente novamente.',
],
'edit' => [
'title' => 'Editar Manutenção Agendada',
'success' => 'Agendamento actualizado com sucesso!',
- 'failure' => 'Something went wrong editing the schedule, please try again.',
+ 'failure' => 'Ocorreu um problema ao editar a programação, por favor tente novamente.',
],
'delete' => [
'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
@@ -91,12 +92,12 @@ return [
'add' => [
'title' => 'Adicionar um Componente',
'message' => 'Você deve adicionar um componente.',
- 'success' => 'Component created.',
+ 'success' => 'Componente criado.',
'failure' => 'Something went wrong with the component group, please try again.',
],
'edit' => [
'title' => 'Editar um Componente',
- 'success' => 'Component updated.',
+ 'success' => 'Componente atualizado.',
'failure' => 'Something went wrong with the component group, please try again.',
],
'delete' => [
@@ -110,17 +111,17 @@ return [
'no_components' => 'Deverá adicionar um grupo de componente.',
'add' => [
'title' => 'Adicionar um grupo de componentes',
- 'success' => 'Component group added.',
+ 'success' => 'Grupo de componentes adicionado.',
'failure' => 'Something went wrong with the component group, please try again.',
],
'edit' => [
'title' => 'Editar um grupo de Componentes',
- 'success' => 'Component group updated.',
+ 'success' => 'Grupo de componentes atualizado.',
'failure' => 'Something went wrong with the component group, please try again.',
],
'delete' => [
'success' => 'O grupo de componentes foi apagado!',
- 'failure' => 'The component group could not be deleted, please try again.',
+ 'failure' => 'O grupo de componentes não pode ser apagado, por favor tente novamente.',
],
],
],
@@ -131,17 +132,17 @@ return [
'add' => [
'title' => 'Criar uma métrica',
'message' => 'Adicione uma métrica.',
- 'success' => 'Metric created.',
+ 'success' => 'Métrica criada.',
'failure' => 'Something went wrong with the metric, please try again.',
],
'edit' => [
'title' => 'Editar uma métrica',
- 'success' => 'Metric updated.',
+ 'success' => 'Métrica atualizada.',
'failure' => 'Something went wrong with the metric, please try again.',
],
'delete' => [
'success' => 'A métrica foi apagada e não será mais mostrada na sua página de estado.',
- 'failure' => 'The metric could not be deleted, please try again.',
+ 'failure' => 'A métrica não pode ser apagada, por favor tente novamente.',
],
],
// Subscribers
@@ -150,13 +151,13 @@ return [
'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
'verified' => 'Verificado',
'not_verified' => 'Não Verificado',
- 'subscriber' => ':email, subscribed :date',
- 'no_subscriptions' => 'Subscribed to all updates',
+ 'subscriber' => ':email, subscrito em :date',
+ 'no_subscriptions' => 'Subscrito em todas as atualizações',
'add' => [
'title' => 'Adicionar um novo assinante',
'success' => 'Assinante adicionado.',
'failure' => 'Something went wrong adding the subscriber, please try again.',
- 'help' => 'Enter each subscriber on a new line.',
+ 'help' => 'Introduza cada subscritor numa linha nova.',
],
'edit' => [
'title' => 'Actualizar Assinante',
@@ -173,8 +174,8 @@ return [
'description' => 'Membros da equipe serão capazes de adicionar, modificar & editar componentes e incidentes.',
'add' => [
'title' => 'Adicionar um novo membro de equipa',
- 'success' => 'Team member added.',
- 'failure' => 'The team member could not be added, please try again.',
+ 'success' => 'Membro de equipa adicionado.',
+ 'failure' => 'O membro da equipe não pôde ser adicionado, por favor tente novamente.',
],
'edit' => [
'title' => 'Atualizar Perfil',
@@ -183,12 +184,12 @@ return [
],
'delete' => [
'success' => 'Utilizador apagado.',
- 'failure' => 'The team member could not be added, please try again.',
+ 'failure' => 'O membro da equipe não pôde ser adicionado, por favor tente novamente.',
],
'invite' => [
'title' => 'Convidar um novo membro de equipa',
'success' => 'Os utilizadores convidados.',
- 'failure' => 'The invite could not be sent, please try again.',
+ 'failure' => 'O convite não pôde ser enviado, por favor tente novamente.',
],
],
@@ -215,11 +216,11 @@ return [
'footer' => 'HTML do Footer Personalizado',
],
'mail' => [
- 'mail' => 'Mail',
- 'test' => 'Test',
+ 'mail' => 'E-Mail',
+ 'test' => 'Teste',
'email' => [
- 'subject' => 'Test notification from Cachet',
- 'body' => 'This is a test notification from Cachet.',
+ 'subject' => 'Notificação de teste do Cachet',
+ 'body' => 'Isto é uma notificação de teste do Cachet.',
],
],
'security' => [
@@ -241,8 +242,8 @@ return [
'contributors' => 'Contribuidores',
'license' => 'Cachet é um projecto open source licenciado com base no BSD-3, disponibilizado pela Alt Three Services Limited.',
'backers-title' => 'Apoios & Patrocinadores',
- 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
- 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ 'backers' => 'Se você quiser apoiar desenvolvimentos futuros, veja a campanha do Cachet no Pantreon.',
+ 'thank-you' => 'Obrigado a cada um dos :count colaboradores.',
],
],
@@ -268,8 +269,8 @@ return [
// Widgets
'widgets' => [
- 'support' => 'Support Cachet',
- 'support_subtitle' => 'Check out our Patreon page!',
+ 'support' => 'Suporte o Cachet',
+ 'support_subtitle' => 'Verifique a nossa pagina no Patreon!',
'news' => 'Últimas Notícias',
'news_subtitle' => 'Obter uma actualização',
],
diff --git a/resources/lang/pt-PT/forms.php b/resources/lang/pt-PT/forms.php
index cc77da2b..dcc84d24 100644
--- a/resources/lang/pt-PT/forms.php
+++ b/resources/lang/pt-PT/forms.php
@@ -22,19 +22,26 @@ return [
'site_locale' => 'Selecione seu idioma',
'enable_google2fa' => 'Habilitar a autenticação de dois fatores do Google',
'cache_driver' => 'Driver de Cache',
+ 'queue_driver' => 'Queue Driver',
'session_driver' => 'Driver de Sessão',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => 'Mail Host',
+ 'mail_address' => 'Mail From Address',
+ 'mail_username' => 'Mail Username',
+ 'mail_password' => 'Mail Password',
],
// Login form fields
'login' => [
'login' => 'Nome de utilizador ou E-mail',
- 'email' => 'Endereço de Correio',
+ 'email' => 'E-mail',
'password' => 'Senha',
'2fauth' => 'Código de autenticação',
'invalid' => 'Nome de utilizador ou palavra-passe inválidos',
'invalid-token' => 'Token inválido',
'cookies' => 'Deverá activar cookies para efectuar autenticação.',
- 'rate-limit' => 'Rate limit exceeded.',
+ 'rate-limit' => 'Limite de tentativas excedido.',
+ 'remember_me' => 'Remember me',
],
// Incidents form fields
@@ -44,10 +51,12 @@ return [
'component' => 'Componente',
'message' => 'Mensagem',
'message-help' => 'Você também pode usar o Markdown.',
- 'scheduled_at' => 'Para quando pretende agendar a manutenção?',
- 'incident_time' => 'Quando é que este incidente ocorreu?',
+ 'occurred_at' => 'When did this incident occur?',
'notify_subscribers' => 'Notificar subscritores?',
- 'visibility' => 'Incident Visibility',
+ 'visibility' => 'Visibilidade do Incidente',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
'public' => 'Visível ao Publico',
'logged_in_only' => 'Apenas visível para users autenticados',
'templates' => [
@@ -57,6 +66,20 @@ return [
],
],
+ 'schedules' => [
+ 'name' => 'Nome',
+ 'status' => 'Estado',
+ 'message' => 'Mensagem',
+ 'message-help' => 'Você também pode usar o Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Nome',
+ 'template' => 'Template',
+ 'twig' => 'Esboços de incidentes podem fazer uso da linguagem de template Twig.',
+ ],
+ ],
+
// Components form fields
'components' => [
'name' => 'Nome',
@@ -69,28 +92,50 @@ return [
'enabled' => 'Componente activado?',
'groups' => [
- 'name' => 'Nome',
- 'collapsing' => 'Choose visibility of the group',
- 'visible' => 'Always expanded',
- 'collapsed' => 'Collapse the group by default',
- 'collapsed_incident' => 'Collapse the group, but expand if there are issues',
+ 'name' => 'Nome',
+ 'collapsing' => 'Expand/Collapse options',
+ 'visible' => 'Sempre expandido',
+ 'collapsed' => 'Esconder o grupo por omissão',
+ 'collapsed_incident' => 'Esconder o grupo, mas expandir se existir algum problema',
+ 'visibility' => 'Visibility',
+ 'visibility_public' => 'Visible to public',
+ 'visibility_authenticated' => 'Visible only to logged in users',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nome',
+ 'description' => 'Descrição',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Grupo',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
],
],
// Metric form fields
'metrics' => [
- 'name' => 'Nome',
- 'suffix' => 'Sufixo',
- 'description' => 'Descrição',
- 'description-help' => 'Poderá também usar Markdown.',
- 'display-chart' => 'Mostrar gráfico na página de estado?',
- 'default-value' => 'Valor Padrão',
- 'calc_type' => 'Cálculo de Métricas',
- 'type_sum' => 'Soma',
- 'type_avg' => 'Média',
- 'places' => 'Casas Decimais',
- 'default_view' => 'Vista por defeito',
- 'threshold' => 'How many minutes of threshold between metric points?',
+ 'name' => 'Nome',
+ 'suffix' => 'Sufixo',
+ 'description' => 'Descrição',
+ 'description-help' => 'Você também pode usar o Markdown.',
+ 'display-chart' => 'Mostrar gráfico na página de estado?',
+ 'default-value' => 'Valor Padrão',
+ 'calc_type' => 'Cálculo de Métricas',
+ 'type_sum' => 'Soma',
+ 'type_avg' => 'Média',
+ 'places' => 'Casas Decimais',
+ 'default_view' => 'Vista por defeito',
+ 'threshold' => 'Quantos minutos entre cada ponto de métrica?',
+ 'visibility' => 'Visibility',
+ 'visibility_authenticated' => 'Visible to authenticated users',
+ 'visibility_public' => 'Visible to everybody',
+ 'visibility_hidden' => 'Always hidden',
'points' => [
'value' => 'Valor',
@@ -99,17 +144,21 @@ return [
// Settings
'settings' => [
- /// Application setup
+ // Application setup
'app-setup' => [
- 'site-name' => 'Nome do site',
- 'site-url' => 'URL do site',
- 'display-graphs' => 'Mostrar gráficos na página de estado?',
- 'about-this-page' => 'Sobre esta página',
- 'days-of-incidents' => 'Quantos dias de incidentes para mostrar?',
- 'banner' => 'Banner Image',
- 'banner-help' => 'É recomendável que você faça upload de arquivos menores que 930px .',
- 'subscribers' => 'Permitir que as pessoas subscrevam as notificações?',
- 'automatic_localization' => 'Automatically localise your status page to your visitor\'s language?',
+ 'site-name' => 'Nome do site',
+ 'site-url' => 'URL do site',
+ 'display-graphs' => 'Mostrar gráficos na página de estado?',
+ 'about-this-page' => 'Sobre esta página',
+ 'days-of-incidents' => 'Quantos dias de incidentes para mostrar?',
+ 'banner' => 'Imagem de Banner',
+ 'banner-help' => 'É recomendável que você faça upload de arquivos menores que 930px .',
+ 'subscribers' => 'Permitir que as pessoas subscrevam as notificações?',
+ 'skip_subscriber_verification' => 'Skip verifying of users? (Be warned, you could be spammed)',
+ 'automatic_localization' => 'Mostrar automaticamente a tradução conforme a língua do browser do visitante?',
+ '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?',
],
'analytics' => [
'analytics_google' => 'Código do Google Analytics',
@@ -128,15 +177,15 @@ return [
'allowed-domains-help' => 'Separados por vírgula. O domínio definido acima é permitido automaticamente por padrão.',
],
'stylesheet' => [
- 'custom-css' => 'Custom Stylesheet',
+ 'custom-css' => 'Folha de Estilo Personalizada',
],
'theme' => [
- 'background-color' => 'Background Color',
+ 'background-color' => 'Cor de Fundo',
'background-fills' => 'Preenchimento de Fundo (Componentes, Incidentes, Rodapé)',
'banner-background-color' => 'Cor de Fundo do banner',
'banner-padding' => 'Espaçamento do Banner',
'fullwidth-banner' => 'Habilitar largura completa do banner?',
- 'text-color' => 'Text Color',
+ 'text-color' => 'Cor do Texto',
'dashboard-login' => 'Mostrar botão para painel no rodapé?',
'reds' => 'Vermelho (Usado para erros)',
'blues' => 'Azul (usado para informações)',
@@ -169,6 +218,10 @@ return [
],
],
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
// Buttons
'add' => 'Adicionar',
'save' => 'Salvar',
diff --git a/resources/lang/pt-PT/notifications.php b/resources/lang/pt-PT/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/pt-PT/notifications.php
+++ b/resources/lang/pt-PT/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/pt-PT/validation.php b/resources/lang/pt-PT/validation.php
index 9527edde..e300791c 100644
--- a/resources/lang/pt-PT/validation.php
+++ b/resources/lang/pt-PT/validation.php
@@ -31,60 +31,60 @@ return [
'array' => 'O campo :attribute deve ser um vetor.',
'before' => 'O campo :attribute deverá conter uma data anterior a :date.',
'between' => [
- 'numeric' => 'O campo :attribute deverá conter uma data anterior a :date.',
- 'file' => 'The :attribute must be between :min and :max.',
- 'string' => 'The :attribute must be between :min and :max kilobytes.',
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
'array' => 'O campo :attribute deve ter entre :min e :max itens.',
],
- 'boolean' => 'O campo :attribute deve ter entre :min e :max itens.',
- 'confirmed' => 'The :attribute field must be true or false.',
- 'date' => 'The :attribute confirmation does not match.',
- 'date_format' => 'The :attribute is not a valid date.',
- 'different' => 'The :attribute does not match the format :format.',
- 'digits' => 'The :attribute and :other must be different.',
- 'digits_between' => 'The :attribute must be :digits digits.',
- 'email' => 'The :attribute must be between :min and :max digits.',
- 'exists' => 'The :attribute must be a valid email address.',
- 'distinct' => 'The :attribute field has a duplicate value.',
- 'filled' => 'O formato de :attribute é inválido.',
+ '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.',
+ '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' => 'O campo :attribute tem um valor duplicado.',
+ 'filled' => 'The :attribute field is required.',
'image' => 'O :attribute deve ser uma imagem.',
- 'in' => 'O :attribute deve ser uma imagem.',
- 'in_array' => 'The :attribute field does not exist in :other.',
- 'integer' => 'The selected :attribute is invalid.',
- 'ip' => 'The :attribute must be an integer.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'O campo :attribute não existem em :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
'json' => 'O :attribute tem que ser uma string JSON válida.',
'max' => [
- 'numeric' => 'The :attribute must be a valid IP address.',
- 'file' => 'The :attribute may not be greater than :max.',
- 'string' => 'The :attribute may not be greater than :max kilobytes.',
+ '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' => 'A: atributo não pode ter mais de que :max itens.',
],
- 'mimes' => 'A: atributo não pode ter mais de que :max itens.',
+ 'mimes' => 'The :attribute must be a file of type: :values.',
'min' => [
- 'numeric' => 'The :attribute must be a file of type: :values.',
+ 'numeric' => 'The :attribute must be at least :min.',
'file' => 'O :attribute deve ter pelo menos :min kilobytes.',
- 'string' => 'O :attribute deve ter pelo menos :min kilobytes.',
- 'array' => 'The :attribute must be at least :min characters.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ 'array' => 'The :attribute must have at least :min items.',
],
- 'not_in' => 'The :attribute must have at least :min items.',
- 'numeric' => 'The selected :attribute is invalid.',
- 'present' => 'The :attribute field must be present.',
- 'regex' => 'The :attribute must be a number.',
- 'required' => 'O formato de :attribute é inválido.',
- 'required_if' => 'The :attribute field is required.',
+ 'not_in' => 'The selected :attribute is invalid.',
+ 'numeric' => 'The :attribute must be a number.',
+ 'present' => 'O campo :attribute deve estar presente.',
+ 'regex' => 'O formato de :attribute é inválido.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
'required_unless' => 'O campo :attribute é obrigatório a não ser que :other estiver em :values.',
- 'required_with' => 'The :attribute field is required when :other is :value.',
+ 'required_with' => 'O campo :attribute é obrigatório quando :values está presente.',
'required_with_all' => 'O campo :attribute é obrigatório quando :values está presente.',
- 'required_without' => 'O campo :attribute é obrigatório quando :values está presente.',
- 'required_without_all' => 'The :attribute field is required when :values is not present.',
- 'same' => 'The :attribute field is required when none of :values are present.',
+ '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 and :other must match.',
+ 'numeric' => 'The :attribute must be :size.',
'file' => 'O :attribute deve ter :size kilobytes.',
'string' => 'O :attribute deve ter :size caracteres.',
- 'array' => 'O :attribute deve ter :size caracteres.',
+ 'array' => 'The :attribute must contain :size items.',
],
- 'string' => 'The :attribute must contain :size items.',
+ 'string' => 'The :attribute must be a string.',
'timezone' => 'O :attribute deve ser uma zona válida.',
'unique' => 'O :attribute já existe.',
'url' => 'O formato de :attribute é inválido.',
diff --git a/resources/lang/ro-RO/cachet.php b/resources/lang/ro-RO/cachet.php
index 1fa21bb1..cf4b9b7f 100644
--- a/resources/lang/ro-RO/cachet.php
+++ b/resources/lang/ro-RO/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Nici un incident raportat',
- 'past' => 'Incidente anterioare',
- 'previous_week' => 'Săptămâna Anterioară',
- 'next_week' => 'Săptămâna Următoare',
- 'stickied' => 'Incidente fixate',
- 'scheduled' => 'Întreținere programată',
- 'scheduled_at' => ', programată: timestamp',
- 'posted' => 'Publicat :timestamp',
- 'status' => [
+ 'none' => 'Nici un incident raportat',
+ 'past' => 'Incidente anterioare',
+ 'stickied' => 'Incidente fixate',
+ 'scheduled' => 'Întreținere programată',
+ 'scheduled_at' => ', programată: timestamp',
+ 'posted' => 'Publicat :timestamp',
+ 'status' => [
1 => 'Sub investigație',
2 => 'Identificat',
3 => 'Sub observație',
diff --git a/resources/lang/ro-RO/dashboard.php b/resources/lang/ro-RO/dashboard.php
new file mode 100644
index 00000000..eddc8d64
--- /dev/null
+++ b/resources/lang/ro-RO/dashboard.php
@@ -0,0 +1,293 @@
+ 'Panou de control',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidente & Planificare',
+ 'incidents' => 'Incidente',
+ 'logged' => '{0} Nu sunt incidente, bravo! | Ai adăugat un incident. | Ai raportat :count incidente.',
+ 'incident-create-template' => 'Crează şablon',
+ 'incident-templates' => 'Şabloane incident',
+ 'updates' => '{0} Nicio actualizare|O actualizare|:count Actualizări',
+ 'add' => [
+ 'title' => 'Raportează un incident',
+ 'success' => 'Incidentul a fost adăugat.',
+ 'failure' => 'A avut loc o eroare la adăugarea incidentului, vă rugăm să încercaţi din nou.',
+ ],
+ 'edit' => [
+ 'title' => 'Editează un incident',
+ 'success' => 'Incidentul a fost actualizat.',
+ 'failure' => 'A avut loc o eroare la actualizarea incidentului, vă rugăm să încercaţi din nou.',
+ ],
+ 'delete' => [
+ 'success' => 'Incidentul a fost şters şi nu va mai apărea pe pagina de status.',
+ 'failure' => 'Incidentul nu a putut fi şters, vă rugăm încercaţi din nou.',
+ ],
+ 'update' => [
+ 'title' => 'Adaugă o nouă actualizare a incidentului',
+ 'subtitle' => 'Adaugă o actualizare la :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Şabloane incident',
+ 'add' => [
+ 'title' => 'Adaugă un nou şablon pentru incident',
+ 'message' => 'Trebuie să adaugi un şablon pentru incident.',
+ 'success' => 'Noul şablon pentru incident a fost creat.',
+ 'failure' => 'Ceva nu a funcționat legat de șablonul incidentului.',
+ ],
+ 'edit' => [
+ 'title' => 'Editare Şablon',
+ 'success' => 'Şablonul incidentului a fost actualizat.',
+ 'failure' => 'Ceva nu a funcționat legat de actualizarea șablonului incidentului',
+ ],
+ 'delete' => [
+ 'success' => 'Şablonul incidentului a fost şters.',
+ 'failure' => 'Şablonul incidentului nu a putut fi şters, vă rugăm încercaţi din nou.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Întreținere programată',
+ 'logged' => '{0} Nu există programări, bravo.|Ai o singură programare.|Ai :count programări.',
+ 'scheduled_at' => 'Programat la :timestamp',
+ 'add' => [
+ 'title' => 'Adăugaţi Programare Mentenanţă',
+ 'success' => 'Programare adăugată.',
+ 'failure' => 'Ceva nu a funcționat legat de adăugarea unei programări, vă rugăm încercați din nou.',
+ ],
+ 'edit' => [
+ 'title' => 'Modificați Programarea Mentenanței',
+ 'success' => 'Programarea a fost actualizată!',
+ 'failure' => 'Ceva nu a funcționat legat de modificarea programării, vă rugăm încercați din nou.',
+ ],
+ 'delete' => [
+ 'success' => 'Programarea mentenanței a fost ștearsă și nu va mai apărea pe pagina dvs. de stare.',
+ 'failure' => 'Programarea mentenanței nu a putut fi ștearsă, vă rugăm încercați din nou.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Componente',
+ 'component_statuses' => 'Stările Componentei',
+ 'listed_group' => 'Grupat ca :name',
+ 'add' => [
+ 'title' => 'Adăugați o componentă',
+ 'message' => 'Ar trebui să adăugați o componentă.',
+ 'success' => 'Componenta a fost creată.',
+ 'failure' => 'Ceva nu a funcționat legat de grupul de componente, vă rugăm încercați din nou.',
+ ],
+ 'edit' => [
+ 'title' => 'Modificați o componentă',
+ 'success' => 'Componenta a fost actualizată.',
+ 'failure' => 'Ceva nu a funcționat legat de grupul de componente, vă rugăm încercați din nou.',
+ ],
+ 'delete' => [
+ 'success' => 'Componenta a fost ștearsă!',
+ 'failure' => 'Component nu a putut fi ștearsă, vă rugăm încercați din nou.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Group de componente|Grupuri de componente',
+ 'no_components' => 'Ar trebui să adăugați un grup de componente.',
+ 'add' => [
+ 'title' => 'Adăugați un grup de componente',
+ 'success' => 'Grupul de componente a fost adăugat.',
+ 'failure' => 'Ceva nu a funcționat legat de grupul de componente, vă rugăm încercați din nou.',
+ ],
+ 'edit' => [
+ 'title' => 'Modificați un grup de componente',
+ 'success' => 'Grupul de componente a fost actualizat.',
+ 'failure' => 'Ceva nu a funcționat legat de grupul de componente, vă rugăm încercați din nou.',
+ ],
+ 'delete' => [
+ 'success' => 'Grupul de componente a fost șters!',
+ 'failure' => 'Grupul de componente nu a putut fi șters, vă rugăm încercați din nou.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Măsurători',
+ 'add' => [
+ 'title' => 'Adaugă o măsurătoare',
+ 'message' => 'Ar trebui să adaugi o măsurătoare.',
+ 'success' => 'Măsurătoarea a fost creată.',
+ 'failure' => 'Ceva nu a funcționat legat de măsurătoare, vă rugăm încercați din nou.',
+ ],
+ 'edit' => [
+ 'title' => 'Modificați o măsurătoare',
+ 'success' => 'Măsurătoarea a fost actualizată.',
+ 'failure' => 'Ceva nu a funcționat legat de măsurătoare, vă rugăm încercați din nou.',
+ ],
+ 'delete' => [
+ 'success' => 'Măsurătoarea a fost ștearsă și nu va mai apărea pe pagina dvs. de stare.',
+ 'failure' => 'Măsurătoarea nu a putut fi ștearsă, vă rugăm încercați din nou.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Abonați',
+ 'description' => 'Abonații vor primi actualizări prin email când incidente noi sunt adăugate sau componentele sunt actualizate.',
+ 'verified' => 'Verificat',
+ 'not_verified' => 'Neverificat',
+ 'subscriber' => ':email, abonat la :date',
+ 'no_subscriptions' => 'Ați fost abonat la toate actualizările',
+ 'add' => [
+ 'title' => 'Adaugă un nou abonat',
+ 'success' => 'Abonatul a fost adăugat!',
+ 'failure' => 'Ceva nu a funcționat legat de adăugarea abonatului, vă rugăm încercați din nou.',
+ 'help' => 'Introduceți fiecare abonat pe o nouă linie.',
+ ],
+ 'edit' => [
+ 'title' => 'Actualizează abonatul',
+ 'success' => 'Abonatul a fost actualizat!',
+ 'failure' => 'Ceva nu a funcționat legat de modificarea abonatului, vă rugăm încercați din nou.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Echipa',
+ 'member' => 'Membru',
+ 'profile' => 'Profil',
+ 'description' => 'Membrii echipei vor avea posibilitatea să adauge, modifice & actualiza componentele și incidentele.',
+ 'add' => [
+ 'title' => 'Adaugă un nou membru la echipă',
+ 'success' => 'Un nou membru a fost adăugat la echipă.',
+ 'failure' => 'Un nou membru nu a putut fi adăugat la echipă, vă rugăm încercați din nou.',
+ ],
+ 'edit' => [
+ 'title' => 'Actualizați profilul',
+ 'success' => 'Profilul a fost actualizat.',
+ 'failure' => 'Ceva nu a funcționat legat de actualizarea profilului, vă rugăm încercați din nou.',
+ ],
+ 'delete' => [
+ 'success' => 'Membrul echipei a fost șters și nu va mai avea acces la panoul de control!',
+ 'failure' => 'Un nou membru nu a putut fi adăugat la echipă, vă rugăm încercați din nou.',
+ ],
+ 'invite' => [
+ 'title' => 'Invită un nou membru în echipă',
+ 'success' => 'Invitația a fost trimisă',
+ 'failure' => 'Invitația nu a putut fi trimisă, vă rugăm încercați din nou.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Setări',
+ 'app-setup' => [
+ 'app-setup' => 'Instalarea Aplicației',
+ 'images-only' => 'Puteți urca doar imagini.',
+ 'too-big' => 'Fișierul urcat este prea mare. Urcați o imagine mai mică de :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analize',
+ ],
+ 'log' => [
+ 'log' => 'Jurnal',
+ ],
+ 'localization' => [
+ 'localization' => 'Localizare',
+ ],
+ 'customization' => [
+ 'customization' => 'Personalizare',
+ 'header' => 'Header HTML Personalizat',
+ 'footer' => 'Footer HTML Personalizat',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Securitate',
+ 'two-factor' => 'Utilizatori care nu folosesc autentificare two-factor',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Listă de stiluri',
+ ],
+ 'theme' => [
+ 'theme' => 'Tema',
+ ],
+ 'edit' => [
+ 'success' => 'Setările au fost salvate.',
+ 'failure' => 'Setările nu au putut fi salvate.',
+ ],
+ 'credits' => [
+ 'credits' => 'Autori',
+ 'contributors' => 'Contribuitori',
+ 'license' => 'Cachet este un proiect open source cu licență BSD-3, realizat de Alt Three Services Limited.',
+ 'backers-title' => 'Susținători & Sponsori',
+ 'backers' => 'Dacă vreți să susțineți dezvoltarea proiectului, vizitați pagina de campanie Cachet Patreon.',
+ 'thank-you' => 'Mulțumim tuturor celor :count contribuitori.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Autentificare',
+ 'logged_in' => 'Ești autentificat.',
+ 'welcome' => 'Bine ai revenit!',
+ 'two-factor' => 'Te rog introdu token-ul tău.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Ajutor',
+ 'status_page' => 'Pagina de Stare',
+ 'logout' => 'Deconectează-te',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notificări',
+ 'awesome' => 'Minunat.',
+ 'whoops' => 'Hopa.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Susțineți Cachet',
+ 'support_subtitle' => 'Vizitați pagina noastră pe Patreon!',
+ 'news' => 'Ultimele Știri',
+ 'news_subtitle' => 'Obţineţi cea mai recentă actualizare',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Bun venit pe noua pagină de Stare!',
+ 'message' => 'Pagina de stare este aproape gata! S-ar putea să doriți să configurați aceste setări suplimentare',
+ 'close' => 'Du-mă direct la panoul de control',
+ 'steps' => [
+ 'component' => 'Creează componente',
+ 'incident' => 'Creează incidente',
+ 'customize' => 'Personalizează',
+ 'team' => 'Adaugă utilizatori',
+ 'api' => 'Generează un token pentru API',
+ 'two-factor' => 'Autentificare Two Factor',
+ ],
+ ],
+
+];
diff --git a/resources/lang/ro-RO/forms.php b/resources/lang/ro-RO/forms.php
new file mode 100644
index 00000000..ed58fdd0
--- /dev/null
+++ b/resources/lang/ro-RO/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'Utilizator',
+ 'password' => 'Parolă',
+ 'site_name' => 'Numele site-ului',
+ 'site_domain' => 'Domeniu Site',
+ 'site_timezone' => 'Selectaţi fusul orar',
+ 'site_locale' => 'Selectaţi limba dumneavoastră',
+ 'enable_google2fa' => 'Activaţi Google Two Factor Authentication',
+ 'cache_driver' => 'Driver Cache',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Driver Sesiune',
+ 'mail_driver' => 'Driver Mail',
+ 'mail_host' => 'Gazdă Mail',
+ 'mail_address' => 'Adresa Email Expeditor',
+ 'mail_username' => 'Utilizator Mail',
+ 'mail_password' => 'Parolă Mail',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Utilizator sau Email',
+ 'email' => 'Email',
+ 'password' => 'Parolă',
+ '2fauth' => 'Cod de Autentificare',
+ 'invalid' => 'Utilizator sau parolă incorecte',
+ 'invalid-token' => 'Token incorect',
+ 'cookies' => 'Trebuie să activaţi cookies pentru a vă putea autentifica.',
+ 'rate-limit' => 'Limita de folosire a fost depăşită.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Nume',
+ 'status' => 'Stare',
+ 'component' => 'Componentă',
+ 'message' => 'Mesaj',
+ 'message-help' => 'Puteţi utiliza şi Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notificaţi abonaţii?',
+ 'visibility' => 'Vizibilitatea Incidentului',
+ 'stick_status' => 'Fixează Incident',
+ 'stickied' => 'Fixate',
+ 'not_stickied' => 'Nu sunt fixate',
+ 'public' => 'Vizibilă public',
+ 'logged_in_only' => 'Vizibilă numai pentru utilizatorii autentificaţi',
+ 'templates' => [
+ 'name' => 'Nume',
+ 'template' => 'Șablon',
+ 'twig' => 'Şabloanele pentru incidente pot folosi limbajul Twig.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Nume',
+ 'status' => 'Stare',
+ 'message' => 'Mesaj',
+ 'message-help' => 'Puteţi utiliza şi Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Nume',
+ 'template' => 'Șablon',
+ 'twig' => 'Şabloanele pentru incidente pot folosi limbajul Twig.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Nume',
+ 'status' => 'Stare',
+ 'group' => 'Grup',
+ 'description' => 'Descriere',
+ 'link' => 'Legătură',
+ 'tags' => 'Etichete',
+ 'tags-help' => 'Separate prin virgulă.',
+ 'enabled' => 'Componentă activată?',
+
+ 'groups' => [
+ 'name' => 'Nume',
+ 'collapsing' => 'Extinde/restrânge setări',
+ 'visible' => 'Întotdeauna extins',
+ 'collapsed' => 'Restrânge grupul implicit',
+ 'collapsed_incident' => 'Restrânge grupul, dar extinde în cazul în care sunt probleme',
+ 'visibility' => 'Vizibilitate',
+ 'visibility_public' => 'Vizibil pentru public',
+ 'visibility_authenticated' => 'Vizibil doar pentru utilizatori înregistrați',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Nume',
+ 'description' => 'Descriere',
+ 'start_at' => 'Programează oră de începere',
+ 'timezone' => 'Fus orar',
+ 'schedule_frequency' => 'Frecvență programare (în secunde)',
+ 'completion_latency' => 'Latență completare (în secunde)',
+ 'group' => 'Grup',
+ 'active' => 'Activă?',
+ 'groups' => [
+ 'name' => 'Nume de Grup',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Nume',
+ 'suffix' => 'Sufix',
+ 'description' => 'Descriere',
+ 'description-help' => 'Puteţi utiliza şi Markdown.',
+ 'display-chart' => 'Afişaţi graficul pe pagina de stare?',
+ 'default-value' => 'Valoare implicită',
+ 'calc_type' => 'Calculul măsurătorilor',
+ 'type_sum' => 'Sumă',
+ 'type_avg' => 'Medie',
+ 'places' => 'Zecimale',
+ 'default_view' => 'Opţiunea implicită',
+ 'threshold' => 'Ce interval de timp(în minute) doriţi între măsurători?',
+ 'visibility' => 'Vizibilitate',
+ 'visibility_authenticated' => 'Visible to authenticated users',
+ 'visibility_public' => 'Visible to everybody',
+ 'visibility_hidden' => 'Always hidden',
+
+ 'points' => [
+ 'value' => 'Valoarea',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Numele site-ului',
+ 'site-url' => 'URL-ul site-ului',
+ 'display-graphs' => 'Afişaţi grafice pe pagina stare?',
+ 'about-this-page' => 'Despre această pagină',
+ 'days-of-incidents' => 'Câte zile de incidente vreţi să fie afişate?',
+ 'banner' => 'Imagine Banner',
+ 'banner-help' => 'Este recomandat să încărcaţi fişiere cu lăţimea nu mai mare de 930px.',
+ 'subscribers' => 'Permiteţi vizitatorilor să se aboneze la notificări prin email?',
+ 'skip_subscriber_verification' => 'Omite verificarea utilizatorilor? (Avertizare, poți primi spam)',
+ 'automatic_localization' => 'Schimbaţi automat limba pentru pagina de stare în funcţie de limba vizitatorului?',
+ 'enable_external_dependencies' => 'Activează dependențe terțe (Fonturi Google, Trackere, etc...)',
+ 'show_timezone' => 'Afișează fusul orar în care rulează pagina de stare.',
+ 'only_disrupted_days' => 'Afișează doar zile care conțin incidente în cronologie?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Cod Google Analytics',
+ 'analytics_gosquared' => 'Cod GoSquared Analytics',
+ 'analytics_piwik_url' => 'URL-ul instanţei dvs. de Piwik (fără http(s)://)',
+ 'analytics_piwik_siteid' => 'Id site Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Fusul orar al site-ului',
+ 'site-locale' => 'Limba site-ului',
+ 'date-format' => 'Formatul datei',
+ 'incident-date-format' => 'Formatul de timp al incidentului',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Domenii permise',
+ 'allowed-domains-help' => 'Separate prin virgulă. Domeniul configurat mai sus este automat permis implicit.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Personalizează Stilurile',
+ ],
+ 'theme' => [
+ 'background-color' => 'Culoarea de fundal',
+ 'background-fills' => 'Gradient Fundal (componente, incidente, subsol)',
+ 'banner-background-color' => 'Culoarea de fundal pentru banner',
+ 'banner-padding' => 'Spaţiere banner',
+ 'fullwidth-banner' => 'Activaţi banner pe toată lăţimea paginii?',
+ 'text-color' => 'Culoare Text',
+ 'dashboard-login' => 'Arătaţi butonul Dashboard în subsol?',
+ 'reds' => 'Roşu (utilizat pentru mesaje de eroare)',
+ 'blues' => 'Albastru (utilizat pentru mesaje de informare)',
+ 'greens' => 'Verde (folosit pentru mesaje de succes)',
+ 'yellows' => 'Galben (folosit pentru alerte)',
+ 'oranges' => 'Orange (folosit pentru mesaje de notificare)',
+ 'metrics' => 'Măsurători de umplere',
+ 'links' => 'Legături',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Utilizator',
+ 'email' => 'Email',
+ 'password' => 'Parolă',
+ 'api-token' => 'Token API',
+ 'api-token-help' => 'Regenerarea token-ului API va împiedica aplicaţiile existente să acceseze Cachet.',
+ 'gravatar' => 'Schimbaţi poza de profil pe Gravatar.',
+ 'user_level' => 'Nivel utilizator',
+ 'levels' => [
+ 'admin' => 'Administator',
+ 'user' => 'Utilizator',
+ ],
+ '2fa' => [
+ 'help' => 'Activând autentificarea two factor securitatea contului dvs. este mult îmbunătăţită. Trebuie să descărcaţi Google Authenticator sau o aplicaţie similară pe telefonul dvs. Când vă autentificaţi, vi se va cere token-ul generat de aplicaţie.',
+ ],
+ 'team' => [
+ 'description' => 'Invităţi membrii echipei introducând aici adresele lor de email.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Alege Fusul Orar',
+ ],
+
+ // Buttons
+ 'add' => 'Adaugă',
+ 'save' => 'Salvează',
+ 'update' => 'Actualizează',
+ 'create' => 'Creează',
+ 'edit' => 'Modifică',
+ 'delete' => 'Şterge',
+ 'submit' => 'Trimite',
+ 'cancel' => 'Renunță',
+ 'remove' => 'Elimină',
+ 'invite' => 'Invită',
+ 'signup' => 'Înregistrează-te',
+
+ // Other
+ 'optional' => '* Opţional',
+];
diff --git a/resources/lang/ro-RO/notifications.php b/resources/lang/ro-RO/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/ro-RO/notifications.php
+++ b/resources/lang/ro-RO/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/ro-RO/pagination.php b/resources/lang/ro-RO/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/ro-RO/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/ro-RO/setup.php b/resources/lang/ro-RO/setup.php
new file mode 100644
index 00000000..73337a74
--- /dev/null
+++ b/resources/lang/ro-RO/setup.php
@@ -0,0 +1,23 @@
+ 'Instalare',
+ 'title' => 'Instalare Cachet',
+ 'service_details' => 'Detalii Serviciu',
+ 'env_setup' => 'Instalare Mediu',
+ 'status_page_setup' => 'Instalare Pagină de Status',
+ 'show_support' => 'Vrei să contribui la proiectul Cachet?',
+ 'admin_account' => 'Cont Administrator',
+ 'complete_setup' => 'Completaţi Instalarea',
+ 'completed' => 'Cachet a fost configurat cu succes!',
+ 'finish_setup' => 'Mergi la panoul de comenzi',
+];
diff --git a/resources/lang/ro-RO/validation.php b/resources/lang/ro-RO/validation.php
new file mode 100644
index 00000000..d5082e01
--- /dev/null
+++ b/resources/lang/ro-RO/validation.php
@@ -0,0 +1,122 @@
+ ':attribute trebuie să fie acceptat.',
+ 'active_url' => ':attribute nu este un URL valid.',
+ 'after' => ':attribute trebuie să fie o dată după :date.',
+ 'alpha' => ':attribute poate să conțină numai litere.',
+ 'alpha_dash' => ':attribute poate să conțină numai litere, cifre şi semne de punctuație.',
+ 'alpha_num' => ':attribute poate să conțină numai litere şi cifre.',
+ 'array' => ':attribute trebuie să fie o matrice.',
+ 'before' => ':attribute trebuie să fie o dată înainte de :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attribute trebuie să aibă între :min şi :max elemente.',
+ ],
+ '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.',
+ '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' => ':attribute are o valoare duplicată.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute trebuie să fie o imagine.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'Câmpul :attribute nu există în :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute trebuie să fie un şir JSON valid.',
+ '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' => ':attribute nu poate avea mai mult de :max elemente.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute trebuie să aibă cel puţin :min kilobytes.',
+ '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' => 'Câmpul :attribute trebuie să fie prezent.',
+ 'regex' => 'Formatul :attribute nu este valid.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'Câmpul :attribute este necesar dacă :other nu există în :values.',
+ 'required_with' => 'Câmpul :attribute este obligatoriu atunci când :values este prezent.',
+ 'required_with_all' => 'Câmpul :attribute este obligatoriu atunci când :values este prezent.',
+ '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' => ':attribute trebuie să aibă :size kilobytes.',
+ 'string' => ':attribute trebuie să aibă :size caractere.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute trebuie să fie o zonă validă.',
+ 'unique' => ':attribute este deja folosit.',
+ 'url' => 'Formatul :attribute nu este valid.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'mesaj-personalizat',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/ru-RU/cachet.php b/resources/lang/ru-RU/cachet.php
index 80b4e160..7fade858 100644
--- a/resources/lang/ru-RU/cachet.php
+++ b/resources/lang/ru-RU/cachet.php
@@ -14,7 +14,7 @@ return [
'components' => [
'last_updated' => 'Последнее обновление :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Неизвестный',
1 => 'Работает',
2 => 'Падение производительности',
3 => 'Перебои в работе',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Без происшествий',
- 'past' => 'Последние инциденты',
- 'previous_week' => 'Предыдущая неделя',
- 'next_week' => 'Следующая неделя',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Плановые работы',
- 'scheduled_at' => ', запланированы :timestamp',
- 'posted' => 'Отправлено :timestamp',
- 'status' => [
+ 'none' => 'Без происшествий',
+ 'past' => 'Последние инциденты',
+ 'stickied' => 'Stickied инциденты',
+ 'scheduled' => 'Плановые работы',
+ 'scheduled_at' => ', запланированы :timestamp',
+ 'posted' => 'Отправлено :timestamp',
+ 'status' => [
1 => 'Проводим анализ проблемы',
2 => 'Причина определена',
3 => 'Под наблюдением',
@@ -46,9 +44,9 @@ return [
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Будущие',
+ 1 => 'Выполняется',
+ 2 => 'Завершено',
],
],
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Подпишитесь, чтобы получать информацию об изменениях',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Отписаться от :link',
'button' => 'Подписаться',
'manage' => [
'no_subscriptions' => 'Вы подписаны на все изменения.',
diff --git a/resources/lang/ru-RU/dashboard.php b/resources/lang/ru-RU/dashboard.php
new file mode 100644
index 00000000..af4e51fe
--- /dev/null
+++ b/resources/lang/ru-RU/dashboard.php
@@ -0,0 +1,293 @@
+ 'Панель управления',
+ 'writeable_settings' => 'У вас недостаточно прав на запись в папку с Cachet. Пожалуйста, убедитесь, что веб-серверу достаточно привелегий для записи в папку ./bootstrap/cachet.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Инциденты и плановые работы',
+ 'incidents' => 'Инциденты',
+ 'logged' => '{0} Нет инцидентов, отличная работа!|У вас зарегистрирован :count инцидент.|У вас зарегистрировано :count инцидента.|У вас зарегистрировано :count инцидентов.',
+ 'incident-create-template' => 'Создать шаблон',
+ 'incident-templates' => 'Шаблоны инцидентов',
+ 'updates' => '{0} Нет обновлений|Одно обновление|:count обновлений',
+ 'add' => [
+ 'title' => 'Добавить инцидент',
+ 'success' => 'Инцидент добавлен.',
+ 'failure' => 'При добавлении инцидента произошла ошибка, пожалуйста, попробуйте ещё раз.',
+ ],
+ 'edit' => [
+ 'title' => 'Изменить инцидент',
+ 'success' => 'Инцидент обновлен.',
+ 'failure' => 'При редактировании инцидента произошла ошибка, пожалуйста, попробуйте ещё раз.',
+ ],
+ 'delete' => [
+ 'success' => 'Инцидент удалён и больше не будет отображаться на статусной странице.',
+ 'failure' => 'Инцидент не может быть уделён, пожалуйста, попробуйте ещё раз.',
+ ],
+ 'update' => [
+ 'title' => 'Создать новое обновление инцидента',
+ 'subtitle' => 'Добавить обновление к :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Шаблоны инцидентов',
+ 'add' => [
+ 'title' => 'Создать шаблон инцидента',
+ 'message' => 'Необходимо добавить шаблон инцидента.',
+ 'success' => 'Новый шаблон инцидента создан.',
+ 'failure' => 'С шаблоном инцидента что-то не так.',
+ ],
+ 'edit' => [
+ 'title' => 'Изменить шаблон',
+ 'success' => 'Шаблон инцидента обновлён.',
+ 'failure' => 'Что-то пошло не так при изменении шаблона инцидента',
+ ],
+ 'delete' => [
+ 'success' => 'Шаблон инцидента удалён.',
+ 'failure' => 'Шаблон инцидента не может быть уделён, пожалуйста, попробуйте ещё раз.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Плановые работы',
+ 'logged' => '{0} Ни одного планового обслуживания не зарегистрировано.|У вас зарегистрировано :count плановое обслуживание.|У вас зарегистрировано :count плановых обслуживания.|У вас зарегистрировано :count плановых обслуживаний.',
+ 'scheduled_at' => 'Запланировано на :timestamp',
+ 'add' => [
+ 'title' => 'Добавить плановые работы',
+ 'success' => 'Плановые работы добавлены.',
+ 'failure' => 'Что-то пошло не так при добавлении плановых работ, пожалуйста, попробуйте ещё раз.',
+ ],
+ 'edit' => [
+ 'title' => 'Изменить плановые работы',
+ 'success' => 'Плановые работы обновлены!',
+ 'failure' => 'Что-то пошло не так при изменении плановых работ, пожалуйста, попробуйте ещё раз.',
+ ],
+ 'delete' => [
+ 'success' => 'Плановые работы удалены и больше не будут отображаться на статусной странице.',
+ 'failure' => 'Плановые работы не могут быть уделены, пожалуйста, попробуйте ещё раз.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Компоненты',
+ 'component_statuses' => ' Статусы компонентов',
+ 'listed_group' => 'В группе :name',
+ 'add' => [
+ 'title' => 'Добавить компонент',
+ 'message' => 'Необходимо добавить компонент.',
+ 'success' => 'Компонент создан.',
+ 'failure' => 'Что-то не так с компонентом, пожалуйста, повторите ещё раз.',
+ ],
+ 'edit' => [
+ 'title' => 'Изменить компонент',
+ 'success' => 'Компонент обновлён.',
+ 'failure' => 'Что-то не так с компонентом, пожалуйста, повторите ещё раз.',
+ ],
+ 'delete' => [
+ 'success' => 'Компонент удалён!',
+ 'failure' => 'Компонент не может быть удалён, пожалуйста, повторите ещё раз.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Группа компонентов|Группы компонентов',
+ 'no_components' => 'Необходимо добавить группу компонентов.',
+ 'add' => [
+ 'title' => 'Добавить группу компонентов',
+ 'success' => 'Группа компонентов добавлена.',
+ 'failure' => 'Что-то не так с компонентом, пожалуйста, повторите ещё раз.',
+ ],
+ 'edit' => [
+ 'title' => 'Изменить группу компонентов',
+ 'success' => 'Группа компонентов обновлена.',
+ 'failure' => 'Что-то не так с компонентом, пожалуйста, повторите ещё раз.',
+ ],
+ 'delete' => [
+ 'success' => 'Группа компонентов удалена!',
+ 'failure' => 'Группа компонентов не может быть удалена, пожалуйста, повторите ещё раз.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Метрики',
+ 'add' => [
+ 'title' => 'Создать метрику',
+ 'message' => 'Необходимо добавить метрику.',
+ 'success' => 'Метрика создана.',
+ 'failure' => 'С метрикой что-то пошло не так, пожалуйста, повторите ещё раз.',
+ ],
+ 'edit' => [
+ 'title' => 'Изменить метрику',
+ 'success' => 'Метрика обновлена.',
+ 'failure' => 'С метрикой что-то пошло не так, пожалуйста, повторите ещё раз.',
+ ],
+ 'delete' => [
+ 'success' => 'Метрика удалена и больше не будет отображаться на статусной странице.',
+ 'failure' => 'Метрика не может быть удалена, пожалуйста, повторите ещё раз.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Подписчики',
+ 'description' => 'Подписчики будут получать уведомления по электронной почте при добавлении инцидентов или изменении статусов компонентов.',
+ 'verified' => 'Подтверждён',
+ 'not_verified' => 'Не подтверждён',
+ 'subscriber' => ':email, подписан :date',
+ 'no_subscriptions' => 'Подписан на все обновления',
+ 'add' => [
+ 'title' => 'Добавить нового подписчика',
+ 'success' => 'Подписчик добавлен!',
+ 'failure' => 'Что-то пошло не так при добавлении подписчика, пожалуйста, повторите ещё раз.',
+ 'help' => 'Введите каждого подписчика с новой строки.',
+ ],
+ 'edit' => [
+ 'title' => 'Обновить подписчика',
+ 'success' => 'Подписчик обновлён!',
+ 'failure' => 'Что-то пошло не так при изменении подписчика, пожалуйста, попробуйте ещё раз.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Команда',
+ 'member' => 'Участник',
+ 'profile' => 'Профиль',
+ 'description' => 'Участники команды смогут добавлять и изменять компоненты и инциденты.',
+ 'add' => [
+ 'title' => 'Добавить нового участника команды',
+ 'success' => 'Участник команды добавлен.',
+ 'failure' => 'Участник команды не может быть добавлен, пожалуйста, повторите ещё раз.',
+ ],
+ 'edit' => [
+ 'title' => 'Обновить профиль',
+ 'success' => 'Профиль обновлён.',
+ 'failure' => 'Что-то пошло не так при обновлении профиля, пожалуйста, повторите ещё раз.',
+ ],
+ 'delete' => [
+ 'success' => 'Участник команды удалён и больше не сможет получить доступ к панели управления!',
+ 'failure' => 'Участник команды не может быть добавлен, пожалуйста, повторите ещё раз.',
+ ],
+ 'invite' => [
+ 'title' => 'Пригласить нового участника команды',
+ 'success' => 'Приглашение отправлено',
+ 'failure' => 'Не получается отправить приглашение, пожалуйста, попробуйте ещё раз.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Настройки',
+ 'app-setup' => [
+ 'app-setup' => 'Настройки приложения',
+ 'images-only' => 'Можно загружать только изображения.',
+ 'too-big' => 'Загруженный вами файл слишком большой. Загрузите картинку меньше чем :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Аналитика',
+ ],
+ 'log' => [
+ 'log' => 'Журнал',
+ ],
+ 'localization' => [
+ 'localization' => 'Региональные настройки',
+ ],
+ 'customization' => [
+ 'customization' => 'Пользовательские настройки',
+ 'header' => 'Верхний колонтитул HTML',
+ 'footer' => 'Нижний колонтитул HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Электронная почта',
+ 'test' => 'Тест',
+ 'email' => [
+ 'subject' => 'Тестовое уведомление от Cachet',
+ 'body' => 'Это тестовое уведомления от Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Безопасность',
+ 'two-factor' => 'Пользователи без двухфакторной аутентификации',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Таблица стилей',
+ ],
+ 'theme' => [
+ 'theme' => 'Тема',
+ ],
+ 'edit' => [
+ 'success' => 'Настройки сохранены.',
+ 'failure' => 'Не удаётся сохранить настройки.',
+ ],
+ 'credits' => [
+ 'credits' => 'Разработчики',
+ 'contributors' => 'Контрибьюторы',
+ 'license' => 'Cachet - это проект с открытым исходным кодом по лицензии BSD-3, разрабатываемый компанией Alt Three Services Limited.',
+ 'backers-title' => 'Партнеры и спонсоры',
+ 'backers' => 'Если вы хотите поддержать будущую разработку, присоединяйтесь к сбору средств в Cachet Patreon.',
+ 'thank-you' => 'Спасибо всем нашим :count контрибьюторам.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Войти',
+ 'logged_in' => 'Вы вошли в систему.',
+ 'welcome' => 'С возвращением!',
+ 'two-factor' => 'Пожалуйста, введите ваш токен.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Помощь',
+ 'status_page' => 'Статусная страница',
+ 'logout' => 'Выйти',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Уведомления',
+ 'awesome' => 'Отлично.',
+ 'whoops' => 'Ой-ой!',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Поддержать Cachet',
+ 'support_subtitle' => 'Посетите нашу страницу на Patreon!',
+ 'news' => 'Последние новости',
+ 'news_subtitle' => 'Проверить обновления',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Добро пожаловать на вашу статусную страницу!',
+ 'message' => 'Ваша статусная страница почти готова! Возможно, вы захотите настроить дополнительные параметры',
+ 'close' => 'Закрыть и перейти к панели управления',
+ 'steps' => [
+ 'component' => 'Создание компонентов',
+ 'incident' => 'Создание инцидентов',
+ 'customize' => 'Настройка',
+ 'team' => 'Добавление пользователей',
+ 'api' => 'Создание API токена',
+ 'two-factor' => 'Двухфакторная аутентификация',
+ ],
+ ],
+
+];
diff --git a/resources/lang/ru-RU/forms.php b/resources/lang/ru-RU/forms.php
new file mode 100644
index 00000000..f180f287
--- /dev/null
+++ b/resources/lang/ru-RU/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'Имя пользователя',
+ 'password' => 'Пароль',
+ 'site_name' => 'Название сайта',
+ 'site_domain' => 'Домен сайта',
+ 'site_timezone' => 'Часовой пояс',
+ 'site_locale' => 'Язык интерфейса',
+ 'enable_google2fa' => 'Включить двухфакторную аутентификацию Google',
+ 'cache_driver' => 'Хранилище кеша',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Хранилище сессий',
+ 'mail_driver' => 'Водитель почты',
+ 'mail_host' => 'Почтовый хост',
+ 'mail_address' => 'Почту с адреса',
+ 'mail_username' => 'Имя пользователя электронной почты',
+ 'mail_password' => 'Почтовый пароль',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Имя пользователя или Email',
+ 'email' => 'Email',
+ 'password' => 'Пароль',
+ '2fauth' => 'Код аутентификации',
+ 'invalid' => 'Неверное имя пользователя или пароль',
+ 'invalid-token' => 'Неверный токен',
+ 'cookies' => 'Необходимо включить cookies для входа.',
+ 'rate-limit' => 'Превышено ограничение скорости.',
+ 'remember_me' => 'Запомнить',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Название',
+ 'status' => 'Статус',
+ 'component' => 'Компонент',
+ 'message' => 'Сообщение',
+ 'message-help' => 'Вы также можете использовать Markdown.',
+ 'occurred_at' => 'Когда произошел инцидент?',
+ 'notify_subscribers' => 'Уведомить подписчиков?',
+ 'visibility' => 'Отображение инцидента',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
+ 'public' => 'Доступен публично',
+ 'logged_in_only' => 'Показывать только авторизованным пользователям',
+ 'templates' => [
+ 'name' => 'Название',
+ 'template' => 'Шаблон',
+ 'twig' => 'В шаблонах инцидентов можно использовать Twig.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Название',
+ 'status' => 'Статус',
+ 'message' => 'Сообщение',
+ 'message-help' => 'Вы также можете использовать Markdown.',
+ 'scheduled_at' => 'Когда планируется обслуживание?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Название',
+ 'template' => 'Шаблон',
+ 'twig' => 'В шаблонах инцидентов можно использовать Twig.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Название',
+ 'status' => 'Статус',
+ 'group' => 'Группа',
+ 'description' => 'Описание',
+ 'link' => 'Ссылка',
+ 'tags' => 'Теги',
+ 'tags-help' => 'Разделяйте запятыми.',
+ 'enabled' => 'Компонент включен?',
+
+ 'groups' => [
+ 'name' => 'Название',
+ 'collapsing' => 'Развернуть/свернуть параметры',
+ 'visible' => 'Всегда развернута',
+ 'collapsed' => 'Свернута по умолчанию',
+ 'collapsed_incident' => 'Свернута, но разворачивать, если есть проблема',
+ 'visibility' => 'Видимость',
+ 'visibility_public' => 'Видно всем',
+ 'visibility_authenticated' => 'Visible only to logged in users',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Название',
+ 'description' => 'Описание',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Часовой пояс',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Задержка завершения (в секундах)',
+ 'group' => 'Группа',
+ 'active' => 'Активная?',
+ 'groups' => [
+ 'name' => 'Название группы',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Название',
+ 'suffix' => 'Суффикс',
+ 'description' => 'Описание',
+ 'description-help' => 'Вы также можете использовать Markdown.',
+ 'display-chart' => 'Отображать график на статусной странице?',
+ 'default-value' => 'Значение по умолчанию',
+ 'calc_type' => 'Расчет метрики',
+ 'type_sum' => 'Сумма',
+ 'type_avg' => 'Среднее значение',
+ 'places' => 'Количество цифр после точки',
+ 'default_view' => 'Представление по умолчанию',
+ 'threshold' => 'Количество минут между снятием метрик?',
+ 'visibility' => 'Видимость',
+ 'visibility_authenticated' => 'Visible to authenticated users',
+ 'visibility_public' => 'Visible to everybody',
+ 'visibility_hidden' => 'Always hidden',
+
+ 'points' => [
+ 'value' => 'Значение',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Название сайта',
+ 'site-url' => 'URL сайта',
+ 'display-graphs' => 'Отображать графики на статусной странице?',
+ 'about-this-page' => 'Об этой странице',
+ 'days-of-incidents' => 'За сколько дней показывать инциденты?',
+ 'banner' => 'Картинка-баннер',
+ 'banner-help' => 'Рекомендуется загружать картинки не больше 930 пикс. в ширину.',
+ 'subscribers' => 'Разрешить посетителям подписываться на email-уведомления?',
+ 'skip_subscriber_verification' => 'Skip verifying of users? (Be warned, you could be spammed)',
+ 'automatic_localization' => 'Автоматически переводить вашу статусную страницу на язык посетителя?',
+ 'enable_external_dependencies' => 'Включить зависимости (Google шрифты, трекеры, и др...)',
+ 'show_timezone' => 'Show the timezone the status page is running in.',
+ 'only_disrupted_days' => 'Показывать только дни, содержащие инциденты на шкале времени?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Код Google Analytics',
+ 'analytics_gosquared' => 'Код GoSquared Analytics',
+ 'analytics_piwik_url' => 'URL Piwik сайта (без http(s)://)',
+ 'analytics_piwik_siteid' => 'Идентификатор сайта в Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Часовой пояс сайта',
+ 'site-locale' => 'Язык сайта',
+ 'date-format' => 'Формат даты',
+ 'incident-date-format' => 'Формат даты и времени для инцидента',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Разрешённые домены',
+ 'allowed-domains-help' => 'Разделяйте запятыми. Домен, установленный в настройках, разрешен по умолчанию.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Код пользовательских стилей (CSS)',
+ ],
+ 'theme' => [
+ 'background-color' => 'Цвет фона',
+ 'background-fills' => 'Заливка фона (компоненты, инциденты, «подвал»)',
+ 'banner-background-color' => 'Цвет фона для баннера',
+ 'banner-padding' => 'Отступы баннера',
+ 'fullwidth-banner' => 'Включить баннер на всю ширину?',
+ 'text-color' => 'Цвет текста',
+ 'dashboard-login' => 'Отображать кнопку панели управления в «подвале»?',
+ 'reds' => 'Красный (для ошибок)',
+ 'blues' => 'Синий (для информации)',
+ 'greens' => 'Зеленый (для сообщений о выполнении)',
+ 'yellows' => 'Желтый (для тревожных сообщений)',
+ 'oranges' => 'Оранжевый (для предупреждений)',
+ 'metrics' => 'Заливка метрик',
+ 'links' => 'Ссылки',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Имя пользователя',
+ 'email' => 'Email',
+ 'password' => 'Пароль',
+ 'api-token' => 'API токен',
+ 'api-token-help' => 'Обновление вашего API токена заблокирует существующим приложениям доступ в Cachet. Вам будет необходимо прописать в них новый токен.',
+ 'gravatar' => 'Изменить своё изображение на Gravatar.',
+ 'user_level' => 'Тип пользователя',
+ 'levels' => [
+ 'admin' => 'Администратор',
+ 'user' => 'Пользователь',
+ ],
+ '2fa' => [
+ 'help' => 'Включение двухфакторной аутентификации увеличивает безопасность вашей учетной записи. Вам понадобится скачать Google Authenticator или аналогичное приложение на свой смартфон. Для входа в панель управления, вам понадобится код, выданный этим приложением.',
+ ],
+ 'team' => [
+ 'description' => 'Пригласите своих коллег введя их адреса электронной почты.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Выберите часовой пояс',
+ ],
+
+ // Buttons
+ 'add' => 'Добавить',
+ 'save' => 'Сохранить',
+ 'update' => 'Обновить',
+ 'create' => 'Создать',
+ 'edit' => 'Изменить',
+ 'delete' => 'Удалить',
+ 'submit' => 'Отправить',
+ 'cancel' => 'Отменить',
+ 'remove' => 'Удалить',
+ 'invite' => 'Пригласить',
+ 'signup' => 'Зарегистрироваться',
+
+ // Other
+ 'optional' => '* Необязательно',
+];
diff --git a/resources/lang/ru-RU/notifications.php b/resources/lang/ru-RU/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/ru-RU/notifications.php
+++ b/resources/lang/ru-RU/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/ru-RU/pagination.php b/resources/lang/ru-RU/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/ru-RU/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/ru-RU/setup.php b/resources/lang/ru-RU/setup.php
new file mode 100644
index 00000000..4a80ab49
--- /dev/null
+++ b/resources/lang/ru-RU/setup.php
@@ -0,0 +1,23 @@
+ 'Установка',
+ 'title' => 'Установка Cachet',
+ 'service_details' => 'Параметры сервиса',
+ 'env_setup' => 'Настройка окружения',
+ 'status_page_setup' => 'Настройки статусной страницы',
+ 'show_support' => 'Показывать, что статусная страница создана на Cachet?',
+ 'admin_account' => 'Учетная запись администратора',
+ 'complete_setup' => 'Завершить установку',
+ 'completed' => 'Вы успешно настроили Cachet!',
+ 'finish_setup' => 'Перейти в панель управления',
+];
diff --git a/resources/lang/ru-RU/validation.php b/resources/lang/ru-RU/validation.php
new file mode 100644
index 00000000..b40a81bd
--- /dev/null
+++ b/resources/lang/ru-RU/validation.php
@@ -0,0 +1,122 @@
+ ':attribute должен быть принят.',
+ 'active_url' => ':attribute не является допустимым URL.',
+ 'after' => ':attribute должно быть датой после :date.',
+ 'alpha' => ':attribute может содержать только буквы.',
+ 'alpha_dash' => ':attribute может содержать только латинские буквы, цифры и дефис.',
+ 'alpha_num' => ':attribute может содержать только буквы и цифры.',
+ 'array' => ': attribute должно быть массивом.',
+ 'before' => ':attribute должно быть датой до :date.',
+ 'between' => [
+ 'numeric' => 'Значение :attribute должно быть между :min и :max.',
+ 'file' => 'Значение :attribute должно быть между :min и :max килобайт.',
+ 'string' => 'Значение :attribute должно быть между :min и :max символов.',
+ 'array' => ':attribute должно содержать от :min до :max элементов.',
+ ],
+ 'boolean' => 'Значение :attribute должно быть true или false.',
+ 'confirmed' => 'The :attribute confirmation does not match.',
+ 'date' => 'Значение :attribute не является корректной датой.',
+ 'date_format' => 'Значение :attribute не соответствует формату :format.',
+ 'different' => 'Значения :attribute и :other должны быть разными.',
+ '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' => 'Поле :attribute содержит дублирующееся значение.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => ':attribute должно быть изображением.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'Поле :attribute не существует в :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute должен быть в 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' => ':attribute не может содержать больше чем :max элементов.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute должно быть не меньше :min килобайт.',
+ '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' => 'Значение :attribute должно быть числом.',
+ 'present' => 'Поле :attribute должно быть заполнено.',
+ 'regex' => 'Неправильный формат :attribute.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'Поле :attribute обязательно, если :other не из :values.',
+ 'required_with' => 'Поле :attribute является обязательным, если все :values заполнены.',
+ 'required_with_all' => 'Поле :attribute является обязательным, если все :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' => ':attribute должно быть объемом :size килобайт.',
+ 'string' => 'Поле :attribute должно содержать :size символов.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute должно быть корректным часовым поясом.',
+ 'unique' => ':attribute уже занято.',
+ 'url' => 'Неправильный формат :attribute.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'настраиваемое сообщение',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/sq-AL/cachet.php b/resources/lang/sq-AL/cachet.php
new file mode 100644
index 00000000..3958df78
--- /dev/null
+++ b/resources/lang/sq-AL/cachet.php
@@ -0,0 +1,129 @@
+ [
+ 'last_updated' => 'Last updated :timestamp',
+ 'status' => [
+ 0 => 'Unknown',
+ 1 => 'Funksionim',
+ 2 => 'Çështje të performancës',
+ 3 => 'Ndërprerje e pjesshëm',
+ 4 => 'Ndërprerje Kryesore',
+ ],
+ 'group' => [
+ 'other' => 'Other Components',
+ ],
+ ],
+
+ // Incidents
+ 'incidents' => [
+ 'none' => 'No incidents reported',
+ 'past' => 'Past Incidents',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'Mirëmbajtje planifikuar',
+ 'scheduled_at' => ', planifiko :timestamp',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
+ 1 => 'Hetimin',
+ 2 => 'Identifikohet',
+ 3 => 'Shikim',
+ 4 => 'Rregulluar',
+ ],
+ ],
+
+ // Schedule
+ 'schedules' => [
+ 'status' => [
+ 0 => 'Upcoming',
+ 1 => 'In Progress',
+ 2 => 'Complete',
+ ],
+ ],
+
+ // Service Status
+ 'service' => [
+ 'good' => '[0,1] System operational|[2,Inf] All systems are operational',
+ 'bad' => '[0,1] The system is experiencing issues|[2,Inf] Some systems are experiencing issues',
+ 'major' => '[0,1] The system is experiencing major issues|[2,Inf] Some systems are experiencing major issues',
+ ],
+
+ 'api' => [
+ 'regenerate' => 'Rikrijo çelësin e API-t',
+ 'revoke' => 'Refuzo çelësin e API-t',
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'filter' => [
+ 'last_hour' => 'Last Hour',
+ 'hourly' => 'Last 12 Hours',
+ 'weekly' => 'Week',
+ 'monthly' => 'Month',
+ ],
+ ],
+
+ // Subscriber
+ 'subscriber' => [
+ 'subscribe' => 'Subscribe to get the updates',
+ 'unsubscribe' => 'Unsubscribe at :link',
+ 'button' => 'Subscribe',
+ 'manage' => [
+ 'no_subscriptions' => 'You\'re currently subscribed to all updates.',
+ 'my_subscriptions' => 'You\'re currently subscribed to the following updates.',
+ ],
+ '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!',
+ 'manage' => 'Manage your subscription',
+ 'unsubscribe' => 'Unsubscribe from email updates.',
+ 'unsubscribed' => 'Your email subscription has been cancelled.',
+ 'failure' => 'Something went wrong with the subscription.',
+ 'already-subscribed' => 'Cannot subscribe :email because they\'re already subscribed.',
+ ],
+ ],
+
+ 'signup' => [
+ 'title' => 'Sign Up',
+ 'username' => 'Emri i përdoruesit',
+ 'email' => 'Email',
+ 'password' => 'Fjalëkalimi',
+ 'success' => 'Your account has been created.',
+ 'failure' => 'Something went wrong with the signup.',
+ ],
+
+ 'system' => [
+ 'update' => 'There is a newer version of Cachet available. You can learn how to update here!',
+ ],
+
+ // Modal
+ 'modal' => [
+ 'close' => 'Close',
+ 'subscribe' => [
+ 'title' => 'Subscribe to component updates',
+ 'body' => 'Enter your email address to subscribe to updates for this component. If you\'re already subscribed, you\'ll already receive emails for this component.',
+ 'button' => 'Subscribe',
+ ],
+ ],
+
+ // Other
+ 'home' => 'Home',
+ 'description' => 'Stay up to date with the latest service updates from :app.',
+ 'powered_by' => 'Powered by Cachet.',
+ 'timezone' => 'Times are shown in :timezone.',
+ 'about_this_site' => 'About This Site',
+ 'rss-feed' => 'RSS',
+ 'atom-feed' => 'Atom',
+ 'feed' => 'Status Feed',
+
+];
diff --git a/resources/lang/sq-AL/dashboard.php b/resources/lang/sq-AL/dashboard.php
new file mode 100644
index 00000000..e1172ab9
--- /dev/null
+++ b/resources/lang/sq-AL/dashboard.php
@@ -0,0 +1,293 @@
+ 'Paneli',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Incidenti & Planifikuar',
+ 'incidents' => 'Incidents',
+ 'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
+ 'incident-create-template' => 'Create Template',
+ 'incident-templates' => 'Incident Templates',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Report an incident',
+ 'success' => 'Incident added.',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit an incident',
+ 'success' => 'Incident updated.',
+ 'failure' => 'There was an error editing the incident, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The incident has been deleted and will not show on your status page.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Incident Templates',
+ 'add' => [
+ 'title' => 'Create an incident template',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Template',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Mirëmbajtje planifikuar',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Scheduled at :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Components',
+ 'component_statuses' => 'Component Statuses',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Add a component',
+ 'message' => 'You should add a component.',
+ 'success' => 'Component created.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrics',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Member',
+ 'profile' => 'Profile',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Settings',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Security',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Settings saved.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Login',
+ 'logged_in' => 'You\'re logged in.',
+ 'welcome' => 'Welcome back!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Help',
+ 'status_page' => 'Status Page',
+ 'logout' => 'Logout',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifications',
+ 'awesome' => 'Awesome.',
+ 'whoops' => 'Whoops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Add your components',
+ 'incident' => 'Create an incident',
+ 'customize' => 'Customize your page',
+ 'team' => 'Add your team',
+ 'api' => 'Generate an API token',
+ 'two-factor' => 'Setup Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/sq-AL/forms.php b/resources/lang/sq-AL/forms.php
new file mode 100644
index 00000000..0e2d64e6
--- /dev/null
+++ b/resources/lang/sq-AL/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'Emri i përdoruesit',
+ 'password' => 'Fjalëkalimi',
+ 'site_name' => 'Emri Faqes',
+ 'site_domain' => 'Site Domain',
+ 'site_timezone' => 'Zgjidh orën e zonës tuaj',
+ 'site_locale' => 'Zgjidhni gjuhën tuaj',
+ 'enable_google2fa' => 'Aktivizo Dy-Faktorin e identifikimit te Google',
+ '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',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Username or Email',
+ 'email' => 'Email',
+ 'password' => 'Fjalëkalimi',
+ '2fauth' => 'Kodi i identifikimit',
+ 'invalid' => 'Invalid username or password',
+ 'invalid-token' => '"Token" i pavlefshëm',
+ 'cookies' => 'You must enable cookies to login.',
+ 'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Emri',
+ 'status' => 'Statusi',
+ 'component' => 'Përbërësit',
+ 'message' => 'Mesazhi',
+ 'message-help' => 'You may also use Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notify subscribers?',
+ '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',
+ 'templates' => [
+ 'name' => 'Emri',
+ 'template' => 'Paraqitja',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Emri',
+ 'status' => 'Statusi',
+ 'message' => 'Mesazhi',
+ 'message-help' => 'You may also use Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Emri',
+ 'template' => 'Paraqitja',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Emri',
+ 'status' => 'Statusi',
+ 'group' => 'Group',
+ 'description' => 'Përshkrimi',
+ 'link' => 'Nderlidhja',
+ 'tags' => 'Etiketa',
+ 'tags-help' => 'Comma separated.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ 'name' => 'Emri',
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Emri',
+ 'description' => 'Përshkrimi',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Group',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Emri',
+ 'suffix' => 'Suffix',
+ 'description' => 'Përshkrimi',
+ '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',
+
+ 'points' => [
+ 'value' => 'Value',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Emri Faqes',
+ 'site-url' => 'Nderlidhja Faqes',
+ 'display-graphs' => 'Display graphs on status page?',
+ 'about-this-page' => 'Rreth faqes',
+ 'days-of-incidents' => 'How many days of incidents to show?',
+ '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?',
+ '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?',
+ ],
+ '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',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Site timezone',
+ 'site-locale' => 'Site language',
+ 'date-format' => 'Date format',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth 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',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Emri i përdoruesit',
+ 'email' => 'Email',
+ 'password' => 'Fjalëkalimi',
+ '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',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'User',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Shto',
+ 'save' => 'Ruaj',
+ 'update' => ' Përditëso',
+ 'create' => 'Krijo',
+ 'edit' => 'Ndrysho',
+ 'delete' => 'Fshije',
+ 'submit' => 'Parashtroje',
+ 'cancel' => 'Anulloje',
+ 'remove' => 'Hiqe',
+ 'invite' => 'Invite',
+ 'signup' => 'Sign Up',
+
+ // Other
+ 'optional' => '* Optional',
+];
diff --git a/resources/lang/sq-AL/notifications.php b/resources/lang/sq-AL/notifications.php
new file mode 100644
index 00000000..6a65c6bd
--- /dev/null
+++ b/resources/lang/sq-AL/notifications.php
@@ -0,0 +1,108 @@
+ [
+ 'status_update' => [
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ ],
+ ],
+ 'incident' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
+ ],
+ 'update' => [
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
+ ],
+ ],
+ 'schedule' => [
+ 'new' => [
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
+ ],
+ ],
+ 'subscriber' => [
+ 'verify' => [
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
+ ],
+ ],
+ 'system' => [
+ 'test' => [
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
+ ],
+ ],
+ 'user' => [
+ 'invite' => [
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
+ ],
+ ],
+];
diff --git a/resources/lang/sq-AL/pagination.php b/resources/lang/sq-AL/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/sq-AL/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/sq-AL/setup.php b/resources/lang/sq-AL/setup.php
new file mode 100644
index 00000000..7bfb89ea
--- /dev/null
+++ b/resources/lang/sq-AL/setup.php
@@ -0,0 +1,23 @@
+ 'Instalimi',
+ 'title' => 'Install Cachet',
+ 'service_details' => 'Service Details',
+ 'env_setup' => 'Environment Setup',
+ 'status_page_setup' => 'Status Page Setup',
+ 'show_support' => 'Show support for Cachet?',
+ 'admin_account' => 'Administrator i llogarisë',
+ 'complete_setup' => 'Complete Setup',
+ 'completed' => 'Cachet has been configured successfully!',
+ 'finish_setup' => 'Shko tek paneli',
+];
diff --git a/resources/lang/sq-AL/validation.php b/resources/lang/sq-AL/validation.php
new file mode 100644
index 00000000..7d196d98
--- /dev/null
+++ b/resources/lang/sq-AL/validation.php
@@ -0,0 +1,122 @@
+ '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.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :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.',
+ '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.',
+ ],
+ '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.',
+ '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.',
+ '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_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.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/sv-SE/cachet.php b/resources/lang/sv-SE/cachet.php
index 6c9fdb83..feaa0e77 100644
--- a/resources/lang/sv-SE/cachet.php
+++ b/resources/lang/sv-SE/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Inga händelser har rapporterats',
- 'past' => 'Tidigare händelser',
- 'previous_week' => 'Föregående vecka',
- 'next_week' => 'Nästa vecka',
- 'stickied' => 'Fästa incidenter',
- 'scheduled' => 'Planerat underhåll',
- 'scheduled_at' => ', schemalagda: tidsstämpel',
- 'posted' => 'Upplagd :timestamp',
- 'status' => [
+ 'none' => 'Inga händelser har rapporterats',
+ 'past' => 'Tidigare händelser',
+ 'stickied' => 'Fästa incidenter',
+ 'scheduled' => 'Planerat underhåll',
+ 'scheduled_at' => ', schemalagda: tidsstämpel',
+ 'posted' => 'Upplagd :timestamp',
+ 'status' => [
1 => 'Undersöker',
2 => 'Identifierat',
3 => 'Bevakar',
@@ -77,7 +75,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Prenumerera för att få de senaste uppdateringarna',
- 'unsubscribe' => 'Unsubscribe at :link',
+ 'unsubscribe' => 'Avsluta prenumerationen på: länk',
'button' => 'Prenumerera',
'manage' => [
'no_subscriptions' => 'Du prenumererar på alla uppdateringar.',
diff --git a/resources/lang/sv-SE/dashboard.php b/resources/lang/sv-SE/dashboard.php
index dc563901..f23ee791 100644
--- a/resources/lang/sv-SE/dashboard.php
+++ b/resources/lang/sv-SE/dashboard.php
@@ -11,7 +11,8 @@
return [
- 'dashboard' => 'Översiktspanel',
+ 'dashboard' => 'Översiktspanel',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
// Incidents
'incidents' => [
@@ -20,9 +21,10 @@ return [
'logged' => '{0} Det finns inga händelser, bra jobbat!|Du har skapat en händelse.|Du har skapat :count händelser.',
'incident-create-template' => 'Skapa mall',
'incident-templates' => 'Händelsemallar',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
'add' => [
'title' => 'Lägg till händelse',
- 'success' => 'Incident added.',
+ 'success' => 'Incident skapad.',
'failure' => 'There was an error adding the incident, please try again.',
],
'edit' => [
@@ -34,6 +36,11 @@ return [
'success' => 'Händelsen har tagits bort och kommer inte visas på din statussida.',
'failure' => 'The incident could not be deleted, please try again.',
],
+ 'update' => [
+ 'title' => 'Skapa en ny incidentuppdatering',
+ 'subtitle' => 'Lägg till en uppdatering till :händelsen',
+ 'success' => 'Update added.',
+ ],
// Incident templates
'templates' => [
@@ -41,8 +48,8 @@ return [
'add' => [
'title' => 'Skapa en händelsemall',
'message' => 'Du borde lägga till en händelsemall.',
- 'success' => 'Your new incident template has been created.',
- 'failure' => 'Something went wrong with the incident template.',
+ 'success' => 'Händelsemallen har skapats.',
+ 'failure' => 'Något gick fel med uppdateringen av incidentmallen.',
],
'edit' => [
'title' => 'Redigera mall',
@@ -62,13 +69,13 @@ return [
'logged' => '{0} Det finns inget schemalagt, bra jobbat!|Du har skapat ett schemalagt underhåll.|Du har skapat :count schemalagda underhåll.',
'scheduled_at' => 'Schemalagd till: tidsstämpel',
'add' => [
- 'title' => 'Add Scheduled Maintenance',
- 'success' => 'Schedule added.',
+ 'title' => 'Lägg till planerat underhåll',
+ 'success' => 'Schema tillagt.',
'failure' => 'Something went wrong adding the schedule, please try again.',
],
'edit' => [
'title' => 'Edit Scheduled Maintenance',
- 'success' => 'Schedule has been updated!',
+ 'success' => 'Schemat har uppdaterats!',
'failure' => 'Something went wrong editing the schedule, please try again.',
],
'delete' => [
@@ -85,13 +92,13 @@ return [
'add' => [
'title' => 'Lägg till en komponent',
'message' => 'Du borde lägga till en komponent.',
- 'success' => 'Component created.',
- 'failure' => 'Something went wrong with the component, please try again.',
+ 'success' => 'Komponent skapad.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
],
'edit' => [
'title' => 'Redigera komponent',
- 'success' => 'Component updated.',
- 'failure' => 'Something went wrong with the component, please try again.',
+ 'success' => 'Komponenten har uppdaterats.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
],
'delete' => [
'success' => 'Komponenten har tagits bort!',
@@ -104,12 +111,12 @@ return [
'no_components' => 'Du borde lägga till en komponentgrupp.',
'add' => [
'title' => 'Lägg till en komponentgrupp',
- 'success' => 'Component group added.',
+ 'success' => 'Komponentgrupp tillagd.',
'failure' => 'Something went wrong with the component group, please try again.',
],
'edit' => [
'title' => 'Redigera komponentgrupp',
- 'success' => 'Component group updated.',
+ 'success' => 'Komponentgrupp uppdaterad.',
'failure' => 'Something went wrong with the component group, please try again.',
],
'delete' => [
@@ -167,22 +174,22 @@ return [
'description' => 'Teammedlemmar kommer kunna lägga till, ändra & redigera komponenter och händelser.',
'add' => [
'title' => 'Lägg till en ny teammedlem',
- 'success' => 'Team member added.',
- 'failure' => 'The team member could not be added, please try again.',
+ 'success' => 'Gruppmedlem tilllagd.',
+ 'failure' => 'Teammedlemmen kunde inte läggas till. Vänligen försök igen.',
],
'edit' => [
'title' => 'Uppdatera profil',
- 'success' => 'Profile updated.',
+ 'success' => 'Profil uppdaterad.',
'failure' => 'Something went wrong updating the profile, please try again.',
],
'delete' => [
'success' => 'Teammedlemen har tagits bort och kommer inte längre ha tillgång till översiktspanelen!',
- 'failure' => 'The team member could not be added, please try again.',
+ 'failure' => 'Teammedlemmen kunde inte läggas till. Vänligen försök igen.',
],
'invite' => [
'title' => 'Bjud in en ny teammedlem',
'success' => 'Inbjudan har skickats',
- 'failure' => 'The invite could not be sent, please try again.',
+ 'failure' => 'Inbjudan kunde inte skickas. Vänligen försök igen.',
],
],
@@ -197,13 +204,24 @@ return [
'analytics' => [
'analytics' => 'Analys',
],
+ 'log' => [
+ 'log' => 'Log',
+ ],
'localization' => [
'localization' => 'Platsanpassning',
],
'customization' => [
- 'customization' => 'Customization',
- 'header' => 'Custom Header HTML',
- 'footer' => 'Custom Footer HTML',
+ 'customization' => 'Anpassning',
+ 'header' => 'Anpassat sidhuvud HTML',
+ 'footer' => 'Anpassad sidfot HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'Detta är ett testmeddelande från Cachet.',
+ ],
],
'security' => [
'security' => 'Säkerhet',
@@ -220,8 +238,8 @@ return [
'failure' => 'Inställningarna kunde inte sparas.',
],
'credits' => [
- 'credits' => 'Credits',
- 'contributors' => 'Contributors',
+ 'credits' => 'Tack till',
+ 'contributors' => 'Medverkande',
'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
'backers-title' => 'Backers & Sponsors',
'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
@@ -251,17 +269,17 @@ return [
// Widgets
'widgets' => [
- 'support' => 'Support Cachet',
+ 'support' => 'Stöd Cachet',
'support_subtitle' => 'Check out our Patreon page!',
- 'news' => 'Latest News',
- 'news_subtitle' => 'Get the latest updates',
+ 'news' => 'Senaste nytt',
+ 'news_subtitle' => 'Hämta senaste uppdateringen',
],
// Welcome modal
'welcome' => [
'welcome' => 'Välkommen till din statussida!',
'message' => 'Din statussida är nästan redo. Du kan vilja konfigerara de här extra inställningarna',
- 'close' => 'Take me straight to my dashboard',
+ 'close' => 'Jag är nöjd, tack!',
'steps' => [
'component' => 'Skapa komponenter',
'incident' => 'Skapa händelser',
diff --git a/resources/lang/sv-SE/forms.php b/resources/lang/sv-SE/forms.php
index d361de4d..cb9e537f 100644
--- a/resources/lang/sv-SE/forms.php
+++ b/resources/lang/sv-SE/forms.php
@@ -22,7 +22,13 @@ return [
'site_locale' => 'Välj ditt språk',
'enable_google2fa' => 'Aktivera Google tvåfaktorsautentisering',
'cache_driver' => 'Cachedrivrutin',
+ 'queue_driver' => 'Queue Driver',
'session_driver' => 'Sessionsdrivrutin',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => 'Mail Host',
+ 'mail_address' => 'Mail From Address',
+ 'mail_username' => 'Mail Username',
+ 'mail_password' => 'Mail Password',
],
// Login form fields
@@ -35,6 +41,7 @@ return [
'invalid-token' => 'Ogiltig nyckel',
'cookies' => 'Du måste aktivera cookies för att kunna logga in.',
'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Kom ihåg mig',
],
// Incidents form fields
@@ -44,10 +51,12 @@ return [
'component' => 'Komponent',
'message' => 'Meddelande',
'message-help' => 'Du kan även använda Markdown.',
- 'scheduled_at' => 'När vill du schemalägga underhållet?',
- 'incident_time' => 'När inträffade händelsen?',
+ 'occurred_at' => 'When did this incident occur?',
'notify_subscribers' => 'Meddela prenumeranter?',
'visibility' => 'Incident Visibility',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
'public' => 'Kan ses av allmänheten',
'logged_in_only' => 'Endast synlig för inloggade användare',
'templates' => [
@@ -57,6 +66,20 @@ return [
],
],
+ 'schedules' => [
+ 'name' => 'Namn',
+ 'status' => 'Status',
+ 'message' => 'Meddelande',
+ 'message-help' => 'Du kan även använda Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Namn',
+ 'template' => 'Mall',
+ 'twig' => 'Händelsmallar kan använda Twig-mallspråk.',
+ ],
+ ],
+
// Components form fields
'components' => [
'name' => 'Namn',
@@ -69,28 +92,50 @@ return [
'enabled' => 'Komponent aktiverad?',
'groups' => [
- 'name' => 'Namn',
- 'collapsing' => 'Choose visibility of the group',
- 'visible' => 'Always expanded',
- 'collapsed' => 'Collapse the group by default',
- 'collapsed_incident' => 'Collapse the group, but expand if there are issues',
+ 'name' => 'Namn',
+ 'collapsing' => 'Expand/Collapse options',
+ 'visible' => 'Alltid expanderad',
+ 'collapsed' => 'Collapse the group by default',
+ 'collapsed_incident' => 'Collapse the group, but expand if there are issues',
+ 'visibility' => 'Synlighet',
+ 'visibility_public' => 'Publikt synlig',
+ 'visibility_authenticated' => 'Synlig endast för inloggade användare',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Namn',
+ 'description' => 'Beskrivning',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Tidszon',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Grupp',
+ 'active' => 'Aktiv?',
+ 'groups' => [
+ 'name' => 'Gruppnamn',
],
],
// Metric form fields
'metrics' => [
- 'name' => 'Namn',
- 'suffix' => 'Suffix',
- 'description' => 'Beskrivning',
- 'description-help' => 'Du kan även använda Markdown.',
- 'display-chart' => 'Visa diagram på statussidan?',
- 'default-value' => 'Standardvärde',
- 'calc_type' => 'Beräkning av mätetal',
- 'type_sum' => 'Summa',
- 'type_avg' => 'Medelvärde',
- 'places' => 'Decimalplatser',
- 'default_view' => 'Standardvy',
- 'threshold' => 'How many minutes of threshold between metric points?',
+ 'name' => 'Namn',
+ 'suffix' => 'Suffix',
+ 'description' => 'Beskrivning',
+ 'description-help' => 'Du kan även använda Markdown.',
+ 'display-chart' => 'Visa diagram på statussidan?',
+ 'default-value' => 'Standardvärde',
+ 'calc_type' => 'Beräkning av mätetal',
+ 'type_sum' => 'Summa',
+ 'type_avg' => 'Medelvärde',
+ 'places' => 'Decimalplatser',
+ 'default_view' => 'Standardvy',
+ 'threshold' => 'How many minutes of threshold between metric points?',
+ 'visibility' => 'Synlighet',
+ 'visibility_authenticated' => 'Synlig för autentiserade användare',
+ 'visibility_public' => 'Synlig för alla',
+ 'visibility_hidden' => 'Alltid dold',
'points' => [
'value' => 'Värde',
@@ -99,17 +144,21 @@ return [
// Settings
'settings' => [
- /// Application setup
+ // Application setup
'app-setup' => [
- 'site-name' => 'Webbplatsens namn',
- 'site-url' => 'Webbplatsens URL',
- 'display-graphs' => 'Visa grafer på statussidan?',
- 'about-this-page' => 'Om den här sidan',
- 'days-of-incidents' => 'Hur många dagar av händelser ska visas?',
- 'banner' => 'Banner Image',
- 'banner-help' => 'Vi rekommenderar att du inte laddar upp bilder som är bredare än 930 px.',
- 'subscribers' => 'Tillåt att registrera sig för notifikationer via e-post?',
- 'automatic_localization' => 'Automatically localise your status page to your visitor\'s language?',
+ 'site-name' => 'Webbplatsens namn',
+ 'site-url' => 'Webbplatsens URL',
+ 'display-graphs' => 'Visa grafer på statussidan?',
+ 'about-this-page' => 'Om den här sidan',
+ 'days-of-incidents' => 'Hur många dagar av händelser ska visas?',
+ 'banner' => 'Bannerbild',
+ 'banner-help' => 'Vi rekommenderar att du inte laddar upp bilder som är bredare än 930 px.',
+ 'subscribers' => 'Tillåt att registrera sig för notifikationer via e-post?',
+ '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?',
],
'analytics' => [
'analytics_google' => 'Google Analytics-kod',
@@ -128,15 +177,15 @@ return [
'allowed-domains-help' => 'Kommaseparerad. Domänerna ovan tillåts automatiskt som standard.',
],
'stylesheet' => [
- 'custom-css' => 'Custom Stylesheet',
+ 'custom-css' => 'Anpassad stilmall',
],
'theme' => [
- 'background-color' => 'Background Color',
+ 'background-color' => 'Bakgrundsfärg',
'background-fills' => 'Bakgrundsfärg (komponenter, händelser, sidfot)',
'banner-background-color' => 'Bakgrundsfärg för banner',
'banner-padding' => 'Bannerutfyllnad',
'fullwidth-banner' => 'Aktivera fullbreddsbanner?',
- 'text-color' => 'Text Color',
+ 'text-color' => 'Textfärg',
'dashboard-login' => 'Visa länk till översiktspanelen i sidfoten?',
'reds' => 'Röd (används för fel)',
'blues' => 'Blå (används för information)',
@@ -169,6 +218,10 @@ return [
],
],
+ 'general' => [
+ 'timezone' => 'Välj tidszon',
+ ],
+
// Buttons
'add' => 'Lägg till',
'save' => 'Spara',
diff --git a/resources/lang/sv-SE/notifications.php b/resources/lang/sv-SE/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/sv-SE/notifications.php
+++ b/resources/lang/sv-SE/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/sv-SE/validation.php b/resources/lang/sv-SE/validation.php
index 3c0173bc..89e504e7 100644
--- a/resources/lang/sv-SE/validation.php
+++ b/resources/lang/sv-SE/validation.php
@@ -31,60 +31,60 @@ return [
'array' => '.attribute måste vara en lista med värden.',
'before' => ':attribute måste vara ett datum före :date.',
'between' => [
- 'numeric' => ':attribute måste vara ett datum före :date.',
- 'file' => 'The :attribute must be between :min and :max.',
- 'string' => 'The :attribute must be between :min and :max kilobytes.',
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
'array' => ':attribute måste ha mellan :min och :max föremål.',
],
- 'boolean' => ':attribute måste ha mellan :min och :max föremål.',
- 'confirmed' => 'The :attribute field must be true or false.',
- 'date' => 'The :attribute confirmation does not match.',
- 'date_format' => 'The :attribute is not a valid date.',
- 'different' => 'The :attribute does not match the format :format.',
- 'digits' => 'The :attribute and :other must be different.',
- 'digits_between' => 'The :attribute must be :digits digits.',
- 'email' => 'The :attribute must be between :min and :max digits.',
- 'exists' => 'The :attribute must be a valid email address.',
+ '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.',
+ '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.',
- 'filled' => ':attribute-formatet är ogiltigt.',
+ 'filled' => 'The :attribute field is required.',
'image' => ':attribute måste vara en bild.',
- 'in' => ':attribute måste vara en bild.',
+ 'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field does not exist in :other.',
- 'integer' => 'The selected :attribute is invalid.',
- 'ip' => 'The :attribute must be an integer.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
'json' => ':attribute måste vara en giltig JSON-sträng.',
'max' => [
- 'numeric' => 'The :attribute must be a valid IP address.',
- 'file' => 'The :attribute may not be greater than :max.',
- 'string' => 'The :attribute may not be greater than :max kilobytes.',
+ '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' => ':attribute får inte innehålla mer än :max föremål.',
],
- 'mimes' => ':attribute får inte innehålla mer än :max föremål.',
+ 'mimes' => 'The :attribute must be a file of type: :values.',
'min' => [
- 'numeric' => 'The :attribute must be a file of type: :values.',
+ 'numeric' => 'The :attribute must be at least :min.',
'file' => ':attribute måste vara större än :min kilobyte.',
- 'string' => ':attribute måste vara större än :min kilobyte.',
- 'array' => 'The :attribute must be at least :min characters.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ 'array' => 'The :attribute must have at least :min items.',
],
- 'not_in' => 'The :attribute must have at least :min items.',
- 'numeric' => 'The selected :attribute is invalid.',
+ 'not_in' => 'The selected :attribute is invalid.',
+ 'numeric' => 'The :attribute must be a number.',
'present' => 'The :attribute field must be present.',
- 'regex' => 'The :attribute must be a number.',
- 'required' => ':attribute-formatet är ogiltigt.',
- 'required_if' => 'The :attribute field is required.',
+ 'regex' => ':attribute-formatet är ogiltigt.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
'required_unless' => ':attribute-fältet är obligatoriskt om inte :other är :value.',
- 'required_with' => 'The :attribute field is required when :other is :value.',
+ 'required_with' => ':attribute fältet är obligatoriskt när :values är valda.',
'required_with_all' => ':attribute fältet är obligatoriskt när :values är valda.',
- 'required_without' => ':attribute fältet är obligatoriskt när :values är valda.',
- 'required_without_all' => 'The :attribute field is required when :values is not present.',
- 'same' => 'The :attribute field is required when none of :values are present.',
+ '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 and :other must match.',
+ 'numeric' => 'The :attribute must be :size.',
'file' => ':attribute måste vara :size kilobyte.',
'string' => ':attribute måste vara :size tecken.',
- 'array' => ':attribute måste vara :size tecken.',
+ 'array' => 'The :attribute must contain :size items.',
],
- 'string' => 'The :attribute must contain :size items.',
+ 'string' => 'The :attribute must be a string.',
'timezone' => ':attribute måste vara en giltig zon.',
'unique' => ':attribute är upptaget.',
'url' => ':attribute-formatet är ogiltigt.',
diff --git a/resources/lang/tr-TR/cachet.php b/resources/lang/tr-TR/cachet.php
new file mode 100644
index 00000000..6b4b9ade
--- /dev/null
+++ b/resources/lang/tr-TR/cachet.php
@@ -0,0 +1,129 @@
+ [
+ 'last_updated' => 'Son Güncelleme: zaman tipi',
+ 'status' => [
+ 0 => 'Bilinmiyor',
+ 1 => 'Çalışıyor',
+ 2 => 'Performans Sorunları',
+ 3 => 'Kısmi Kesinti',
+ 4 => 'Ana Kesinti',
+ ],
+ 'group' => [
+ 'other' => 'Diğer Bileşenler',
+ ],
+ ],
+
+ // Incidents
+ 'incidents' => [
+ 'none' => 'Hiçbir olay raporlanmadı',
+ 'past' => 'Geçmiş Olaylar',
+ 'stickied' => 'Yapıştırılmış Olaylar',
+ 'scheduled' => 'Zamanlanmış bakım',
+ 'scheduled_at' => ',zamanlanmış :zamandilimi',
+ 'posted' => ':timestamp gönderildi',
+ 'status' => [
+ 1 => 'İnceleniyor',
+ 2 => 'Tanımlandı',
+ 3 => 'İzleniyor',
+ 4 => 'Düzeltildi',
+ ],
+ ],
+
+ // Schedule
+ 'schedules' => [
+ 'status' => [
+ 0 => 'Yaklaşan',
+ 1 => 'Devam Ediyor',
+ 2 => 'Tamamla',
+ ],
+ ],
+
+ // Service Status
+ 'service' => [
+ 'good' => '[0,1] Sistem çalışır durumda| [2, Inf] Tüm sistemler çalışır durumda',
+ 'bad' => '[0,1] Sistemde şu anda sorunlar yaşanıyor [2, Inf] Bazı sistemlerde sorunlar yaşanıyor',
+ 'major' => '[0,1] Bu serviste büyük bir kesinti yaşıyoruz [2, Inf] Bazı sistemlerde büyük bir kesintisi yaşıyoruz',
+ ],
+
+ 'api' => [
+ 'regenerate' => 'API Key\'i yeniden oluştur',
+ 'revoke' => 'API Anahtarı geçersiz kıl',
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'filter' => [
+ 'last_hour' => 'Son 1 saat',
+ 'hourly' => 'Son 12 saat',
+ 'weekly' => 'Hafta',
+ 'monthly' => 'Ay',
+ ],
+ ],
+
+ // Subscriber
+ 'subscriber' => [
+ 'subscribe' => 'Güncellemeleri almak için abone olun',
+ 'unsubscribe' => 'Unsubscribe at :link',
+ 'button' => 'Abone ol',
+ 'manage' => [
+ 'no_subscriptions' => 'Şu anda tüm güncellemeleri abone oldunuz.',
+ 'my_subscriptions' => 'Şu an aşağıdaki güncellemelere abone oldunuz.',
+ ],
+ 'email' => [
+ 'subscribe' => 'Güncellemeler için abone ol.',
+ 'subscribed' => 'Bir email bildirimi almış olmalısın, lütfen aboneliğini onaylamak için kontrol et.',
+ 'verified' => 'E mail aboneliğin kabul edildi. Teşekkürler!',
+ 'manage' => 'Aboneliklerini yönet',
+ 'unsubscribe' => 'E-posta aboneliğinden çık.',
+ 'unsubscribed' => 'Email aboneliğin iptal edildi.',
+ 'failure' => 'Bazı şeyler yanlış gitti.',
+ 'already-subscribed' => ':email adresine abone olunamadı çünkü zaten abone.',
+ ],
+ ],
+
+ 'signup' => [
+ 'title' => 'Kayıt Ol',
+ 'username' => 'Kullanıcı adı',
+ 'email' => 'E-posta',
+ 'password' => 'Parola',
+ 'success' => 'Hesabınız oluşturuldu.',
+ 'failure' => 'Kayıt esnasında bir sorun oluştu.',
+ ],
+
+ 'system' => [
+ 'update' => 'Cachet yeni sürümü kullanılabilir. Nasıl güncelleneceğini buradan öğrenebilirsiniz!',
+ ],
+
+ // Modal
+ 'modal' => [
+ 'close' => 'Kapat',
+ 'subscribe' => [
+ 'title' => 'Bileşen güncellemelerine abone ol',
+ 'body' => 'Enter your email address to subscribe to updates for this component. If you\'re already subscribed, you\'ll already receive emails for this component.',
+ 'button' => 'Abone ol',
+ ],
+ ],
+
+ // Other
+ 'home' => 'Ana Sayfa',
+ 'description' => 'Stay up to date with the latest service updates from :app.',
+ 'powered_by' => 'Powered by Cachet.',
+ 'timezone' => 'Times are shown in :timezone.',
+ 'about_this_site' => 'Bu Site hakkında',
+ 'rss-feed' => 'RSS',
+ 'atom-feed' => 'Atom',
+ 'feed' => 'Status Feed',
+
+];
diff --git a/resources/lang/tr-TR/dashboard.php b/resources/lang/tr-TR/dashboard.php
new file mode 100644
index 00000000..51e699b3
--- /dev/null
+++ b/resources/lang/tr-TR/dashboard.php
@@ -0,0 +1,293 @@
+ 'Kontrol paneli',
+ 'writeable_settings' => 'Cachet ayarlar dizini yazılabilir değil. Lütfen ./bootstrap/cachet sunucu tarafından yazılabilir olduğundan emin olun.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Olaylar & Zamanlama',
+ 'incidents' => 'Olaylar',
+ 'logged' => '{0} Hiç olay yok, tebrikler. |Bir olay rapor ettiniz.|:count olay rapor ettiniz.',
+ 'incident-create-template' => 'Şablon Oluştur',
+ 'incident-templates' => 'Olay Şablonları',
+ 'updates' => '{0} Sıfır Güncelleme | Bir Güncelleme |:count Güncelleme',
+ 'add' => [
+ 'title' => 'Olay Ekle',
+ 'success' => 'Olay eklendi.',
+ 'failure' => 'Olay eklenirken bir hata oluştu, lütfen tekrar deneyin.',
+ ],
+ 'edit' => [
+ 'title' => 'Olay Düzenle',
+ 'success' => 'Olay güncellendi.',
+ 'failure' => 'Olay düzenlenirken bir hata oluştu, lütfen tekrar deneyin.',
+ ],
+ 'delete' => [
+ 'success' => 'Olay silindi ve durum sayfanızda bir daha gösterilmeyecek.',
+ 'failure' => 'Olay silinemedi, lütfen tekrar deneyin.',
+ ],
+ 'update' => [
+ 'title' => 'Yeni olay güncellemesi oluştur',
+ 'subtitle' => ':incident için güncelleme ekkleyin',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Olay Şablonları',
+ 'add' => [
+ 'title' => 'Olay Şablonu Oluştur',
+ 'message' => 'Bir olay şablonu eklemelisiniz.',
+ 'success' => 'Yeni olay şablonunuz oluşturuldu.',
+ 'failure' => 'Olay şablonu ile ilgili bir şeyler ters gitti.',
+ ],
+ 'edit' => [
+ 'title' => 'Şablonu Düzenle',
+ 'success' => 'Olay şablonu güncellendi.',
+ 'failure' => 'Olay şablonunu güncellerken bir şeyler ters gitti',
+ ],
+ 'delete' => [
+ 'success' => 'Olay şablonu silindi.',
+ 'failure' => 'Olay şablonu silinemedi, lütfen tekrar deneyin.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Zamanlanmış bakım',
+ 'logged' => '{0} Hiçbir olay yok, tebrikler. |Bir olayı raprladınız. | :count olayı raporladınız.',
+ 'scheduled_at' => ':timestamp zamanı için kaydedildi',
+ 'add' => [
+ 'title' => 'Zamanlanmış Bakım Ekle',
+ 'success' => 'Zamanlama eklendi.',
+ 'failure' => 'Zamanlama eklerken bir şeyler yanlış gitti, lütfen yeniden deneyin.',
+ ],
+ 'edit' => [
+ 'title' => 'Zamanlanmış Bakımı Düzenle',
+ 'success' => 'Zamanlama güncellendi!',
+ 'failure' => 'Zamanlama düzeltilirken bir şeyler ters gitti, lütfen tekrar deneyin.',
+ ],
+ 'delete' => [
+ 'success' => 'Zamanlanmış bakım silindi ve durum sayfanızda bir daha gösterilmeyecek.',
+ 'failure' => 'Zamanlanmış bakım silinemez, lütfen tekrar deneyin.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Bileşenler',
+ 'component_statuses' => 'Bileşen Durumları',
+ 'listed_group' => ':name altında toplandı',
+ 'add' => [
+ 'title' => 'Bileşen ekle',
+ 'message' => 'Bir bileşen eklemelisiniz.',
+ 'success' => 'Bileşen oluşturuldu.',
+ 'failure' => 'Bileşenlerle ilgili bir şeyler yanlış gitti, lütfen daha sonra tekrar deneyin.',
+ ],
+ 'edit' => [
+ 'title' => 'Bileşen düzenle',
+ 'success' => 'Component updated.',
+ 'failure' => 'Bileşenlerle ilgili bir şeyler yanlış gitti, lütfen daha sonra tekrar deneyin.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Bileşenlerle ilgili bir şeyler yanlış gitti, lütfen daha sonra tekrar deneyin.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Bileşenlerle ilgili bir şeyler yanlış gitti, lütfen daha sonra tekrar deneyin.',
+ ],
+ 'delete' => [
+ 'success' => 'Bileşen grubu silindi!',
+ 'failure' => 'Bileşen grubu silinemedi, lütfen tekrar deneyin.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrik',
+ 'add' => [
+ 'title' => 'Bir ölçü oluştur',
+ 'message' => 'Bir ölçü eklemelisiniz.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Member',
+ 'profile' => 'Profile',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Settings',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Security',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Settings saved.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Login',
+ 'logged_in' => 'You\'re logged in.',
+ 'welcome' => 'Welcome back!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Help',
+ 'status_page' => 'Status Page',
+ 'logout' => 'Logout',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifications',
+ 'awesome' => 'Awesome.',
+ 'whoops' => 'Whoops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Add your components',
+ 'incident' => 'Create an incident',
+ 'customize' => 'Customize your page',
+ 'team' => 'Add your team',
+ 'api' => 'Generate an API token',
+ 'two-factor' => 'Setup Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/tr-TR/forms.php b/resources/lang/tr-TR/forms.php
new file mode 100644
index 00000000..bf6d4c93
--- /dev/null
+++ b/resources/lang/tr-TR/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'E-posta',
+ 'username' => 'Kullanıcı adı',
+ 'password' => 'Parola',
+ 'site_name' => 'Site Adı',
+ 'site_domain' => 'Site Alan Adı',
+ 'site_timezone' => 'Zaman dilimi seçin',
+ 'site_locale' => 'Dil seçin',
+ 'enable_google2fa' => 'Google İki Faktor Doğrulamayı etkinleştir',
+ 'cache_driver' => 'Önbellek Sürücüsü',
+ 'queue_driver' => 'Queue Driver',
+ 'session_driver' => 'Oturum Sürücüsü',
+ 'mail_driver' => 'Posta Sürücü',
+ 'mail_host' => 'Posta Hostu',
+ 'mail_address' => 'Adresten Mail',
+ 'mail_username' => 'Mail Kullanıcı Adı',
+ 'mail_password' => 'Mail Şifresi',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Kullanıcı Adı veya E-Posta',
+ 'email' => 'E-posta',
+ 'password' => 'Parola',
+ '2fauth' => 'Onaylama Kodu',
+ 'invalid' => 'Kullanıcı adı veya parola hatalı',
+ 'invalid-token' => 'Geçersiz jeton',
+ 'cookies' => 'Oturum açabilmek yapabilmek için çerezleri açmalısınız.',
+ 'rate-limit' => 'Kullanım limiti aşıldı.',
+ 'remember_me' => 'Beni hatırla',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'İsim',
+ 'status' => 'Durum',
+ 'component' => 'Bileşen',
+ 'message' => 'Mesaj',
+ 'message-help' => 'Markdown işaretleri kullanabilirsiniz.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Abonelere bildirilsin mi?',
+ 'visibility' => 'Olay Görünürlüğü',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
+ 'public' => 'Herkese açık',
+ 'logged_in_only' => 'Sadece giriş yapan kullanıclar görebilir',
+ 'templates' => [
+ 'name' => 'İsim',
+ 'template' => 'Tema',
+ 'twig' => 'Olay Şablonları\'nan Twig şablon dili faydalanabilir.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'İsim',
+ 'status' => 'Durum',
+ 'message' => 'Mesaj',
+ 'message-help' => 'Markdown işaretleri kullanabilirsiniz.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'İsim',
+ 'template' => 'Tema',
+ 'twig' => 'Olay Şablonları\'nan Twig şablon dili faydalanabilir.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'İsim',
+ 'status' => 'Durum',
+ 'group' => 'Grup',
+ 'description' => 'Açıklama',
+ 'link' => 'Bağlantı',
+ 'tags' => 'Etiketler',
+ 'tags-help' => 'Virgül ile ayrılmış.',
+ 'enabled' => 'Bileşen etkinleştirilsin mi?',
+
+ 'groups' => [
+ 'name' => 'İsim',
+ 'collapsing' => 'Seçenkleri Genişlet/Daralt',
+ 'visible' => 'Her zaman genişlet',
+ 'collapsed' => 'Grubu varsayılan olarak daralt',
+ 'collapsed_incident' => 'Grubu küçült, ancak sorun olursa genişlet',
+ 'visibility' => 'Visibility',
+ 'visibility_public' => 'Visible to public',
+ 'visibility_authenticated' => 'Visible only to logged in users',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'İsim',
+ 'description' => 'Açıklama',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Grup',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'İsim',
+ 'suffix' => 'Suffix',
+ 'description' => 'Açıklama',
+ 'description-help' => 'Markdown işaretleri kullanabilirsiniz.',
+ 'display-chart' => 'Display chart on status page?',
+ 'default-value' => 'Varsayılan değer',
+ 'calc_type' => 'Calculation of metrics',
+ 'type_sum' => 'Toplam',
+ 'type_avg' => 'Ortalama',
+ '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',
+
+ 'points' => [
+ 'value' => 'Değer',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Site Adı',
+ 'site-url' => 'Site url adresi',
+ 'display-graphs' => 'Display graphs on status page?',
+ 'about-this-page' => 'Hakkında',
+ 'days-of-incidents' => 'How many days of incidents to show?',
+ '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?',
+ '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?',
+ ],
+ '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',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Site timezone',
+ 'site-locale' => 'Site language',
+ 'date-format' => 'Date format',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth 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',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Kullanıcı adı',
+ 'email' => 'E-posta',
+ 'password' => 'Parola',
+ 'api-token' => 'API jetonu',
+ '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',
+ 'levels' => [
+ 'admin' => 'Admin',
+ 'user' => 'Kullanıcı',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'E-posta adreslerini buraya girerek ekip üyelerini davet edin.',
+ 'email' => 'E-posta #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Ekle',
+ 'save' => 'Kaydet',
+ 'update' => 'Güncelle',
+ 'create' => 'Oluştur',
+ 'edit' => 'Düzenle',
+ 'delete' => 'Sil',
+ 'submit' => 'Gönder',
+ 'cancel' => 'İptal',
+ 'remove' => 'Kaldır',
+ 'invite' => 'Davet et',
+ 'signup' => 'Kayıt Ol',
+
+ // Other
+ 'optional' => '* İsteğe bağlı',
+];
diff --git a/resources/lang/tr-TR/notifications.php b/resources/lang/tr-TR/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/tr-TR/notifications.php
+++ b/resources/lang/tr-TR/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/tr-TR/pagination.php b/resources/lang/tr-TR/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/tr-TR/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/tr-TR/setup.php b/resources/lang/tr-TR/setup.php
new file mode 100644
index 00000000..acea2caa
--- /dev/null
+++ b/resources/lang/tr-TR/setup.php
@@ -0,0 +1,23 @@
+ 'Kurulum',
+ 'title' => 'Cachet\'i Kur',
+ 'service_details' => 'Hizmet detayları',
+ 'env_setup' => 'Ortam kurulumu',
+ 'status_page_setup' => 'Durum sayfası kurulumu',
+ 'show_support' => 'Cachet için destek ister misiniz?',
+ 'admin_account' => 'Yönetici Hesabı',
+ 'complete_setup' => 'Kurulumu tamamla',
+ 'completed' => 'Cachet başarı ile ayarlandı!',
+ 'finish_setup' => 'Gösterge paneline git',
+];
diff --git a/resources/lang/tr-TR/validation.php b/resources/lang/tr-TR/validation.php
new file mode 100644
index 00000000..e353f11a
--- /dev/null
+++ b/resources/lang/tr-TR/validation.php
@@ -0,0 +1,122 @@
+ ':attribute kabul edilmeli.',
+ 'active_url' => ':attribute geçerli bir URL değil.',
+ 'after' => ':attribtute , :date tarihinden sonra bir tarih olmalıdır.',
+ 'alpha' => ':attribute sadece harf içerebilir.',
+ 'alpha_dash' => ':attribute sadece harf, sayı ve kısa çizgi içerebilir.',
+ 'alpha_num' => ':attribute sadece harf ve sayı içerebilir.',
+ 'array' => ':attribute bir dizi olmalıdır.',
+ 'before' => ':attribute, :date tarihinden önce bir tarih olmalıdır.',
+ 'between' => [
+ 'numeric' => ':attribute :min ve :max arasında olmalıdır.',
+ 'file' => ':attribute :min ve :max kilobayt arasında olmalıdır.',
+ 'string' => ':attribute :min ve :max karakter arasında olmalıdır.',
+ 'array' => ':attribute en az :min en fazla :max maddeye sahip olmalı.',
+ ],
+ 'boolean' => ':attribute alanı doğru veya yanlış olmalıdır.',
+ 'confirmed' => ':attribute doğrulaması eşleşmiyor.',
+ 'date' => ':attribute geçersiz bir tarih.',
+ 'date_format' => ':attribute :format formatı ile eşleşmiyor.',
+ 'different' => ':attribute ve :other farklı olmalıdır.',
+ 'digits' => ':attribute :digits rakam olmalıdır.',
+ 'digits_between' => ':attribute :min ve :max rakam arasında olmalıdır.',
+ 'email' => ':attribute geçerli bir e-posta adresi olmalıdır.',
+ 'exists' => 'Seçili :attribute geçersiz.',
+ 'distinct' => ':attribute alanında yinelenen bir değer var.',
+ 'filled' => ':attribute alanı gereklidir.',
+ 'image' => ':attribute bir görsel olmalı.',
+ 'in' => 'Seçili :attribute geçersiz.',
+ 'in_array' => ':attribute alanı :other ile eşleşmiyor.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute geçerli bir JSON dizini olmalıdır.',
+ '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' => ':attribute :max maddeden daha fazlasına sahip olamaz.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute en az :min kilobayt olmalıdır.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ 'array' => 'The :attribute must have at least :min items.',
+ ],
+ 'not_in' => 'Seçili :attribute geçersiz.',
+ 'numeric' => 'The :attribute must be a number.',
+ 'present' => ':attribute alanı mevcut olmalı.',
+ 'regex' => 'The :attribute format is invalid.',
+ 'required' => ':attribute alanı gereklidir.',
+ '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_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.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'özel-mesaj',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/uk-UA/cachet.php b/resources/lang/uk-UA/cachet.php
index dfc4c2c4..237deb10 100644
--- a/resources/lang/uk-UA/cachet.php
+++ b/resources/lang/uk-UA/cachet.php
@@ -12,120 +12,118 @@
return [
// Components
'components' => [
- 'last_updated' => 'Last updated :timestamp',
+ 'last_updated' => 'Останнє оновлення :timestamp',
'status' => [
- 0 => 'Unknown',
+ 0 => 'Невiдомий',
1 => 'Працює',
2 => 'Проблеми з продуктивністю',
- 3 => 'Partial Outage',
- 4 => 'Major Outage',
+ 3 => 'Частковий перебій у роботі',
+ 4 => 'Перебій у роботі',
],
'group' => [
- 'other' => 'Other Components',
+ 'other' => 'Інші компоненти',
],
],
// Incidents
'incidents' => [
- 'none' => 'No incidents reported',
- 'past' => 'Past Incidents',
- 'previous_week' => 'Previous week',
- 'next_week' => 'Next week',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Scheduled Maintenance',
- 'scheduled_at' => ', scheduled :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
- 1 => 'Investigating',
- 2 => 'Identified',
- 3 => 'Watching',
- 4 => 'Fixed',
+ 'none' => 'Інцидентів не було',
+ 'past' => 'Минулі інциденти',
+ 'stickied' => 'Stickied інциденти',
+ 'scheduled' => 'Запланована перерва у роботі',
+ 'scheduled_at' => ', заплановано на :timestamp',
+ 'posted' => 'Опубліковано :timestamp',
+ 'status' => [
+ 1 => 'Розслідування',
+ 2 => 'Ідентифікований',
+ 3 => 'Спостереження',
+ 4 => 'Виправлено',
],
],
// Schedule
'schedules' => [
'status' => [
- 0 => 'Upcoming',
- 1 => 'In Progress',
- 2 => 'Complete',
+ 0 => 'Майбутні',
+ 1 => 'Виконується',
+ 2 => 'Завершено',
],
],
// Service Status
'service' => [
- 'good' => '[0,1] System operational|[2,Inf] All systems are operational',
- 'bad' => '[0,1] The system is experiencing issues|[2,Inf] Some systems are experiencing issues',
- 'major' => '[0,1] The system is experiencing major issues|[2,Inf] Some systems are experiencing major issues',
+ 'good' => '[0,1] Система працює|[2,Inf] Всі системи працюють',
+ 'bad' => '[0,1] Система має проблеми | [2, Inf] Деякі системи мають проблеми',
+ 'major' => '[0,1] Система має значні проблеми |[2,Inf] Декілька систем мають значні проблеми',
],
'api' => [
- 'regenerate' => 'Regenerate API Key',
- 'revoke' => 'Revoke API Key',
+ 'regenerate' => 'Оновити ключ API',
+ 'revoke' => 'Відкликати ключ API',
],
// Metrics
'metrics' => [
'filter' => [
- 'last_hour' => 'Last Hour',
- 'hourly' => 'Last 12 Hours',
- 'weekly' => 'Week',
- 'monthly' => 'Month',
+ 'last_hour' => 'Останню годину',
+ 'hourly' => 'Останні 12 годин',
+ 'weekly' => 'Тиждень',
+ 'monthly' => 'Місяць',
],
],
// Subscriber
'subscriber' => [
- 'subscribe' => 'Subscribe to get the updates',
- 'unsubscribe' => 'Unsubscribe at :link',
- 'button' => 'Subscribe',
+ 'subscribe' => 'Підписатись на оновлення',
+ 'unsubscribe' => 'Відписатись від :link',
+ 'button' => 'Підписатись',
'manage' => [
- 'no_subscriptions' => 'You\'re currently subscribed to all updates.',
- 'my_subscriptions' => 'You\'re currently subscribed to the following updates.',
+ 'no_subscriptions' => 'Наразі, ви підписані на всі оновлення.',
+ 'my_subscriptions' => 'Ви уже підписані до цих оновлень.',
],
'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!',
- 'manage' => 'Manage your subscription',
- 'unsubscribe' => 'Unsubscribe from email updates.',
- 'unsubscribed' => 'Your email subscription has been cancelled.',
- 'failure' => 'Something went wrong with the subscription.',
- 'already-subscribed' => 'Cannot subscribe :email because they\'re already subscribed.',
+ 'subscribe' => 'Підписатись на email оновлення.',
+ 'subscribed' => 'Ви підписались на розсилку email оновлень. Перевірте вашу пошту, для підтвердження підписки.',
+ 'verified' => 'Ваша підписка підтверджена. Дякую!',
+ 'manage' => 'Керування підпискою',
+ 'unsubscribe' => 'Відписатись від розсилки.',
+ 'unsubscribed' => 'Ваша відписка видалена.',
+ 'failure' => 'Відбулась помилка при підписці на розсилку.',
+ 'already-subscribed' => 'Неможливо підписатись на :email, тому що на нього вже оформлена підписка.',
],
],
'signup' => [
- 'title' => 'Sign Up',
+ 'title' => 'Зареєструйтесь',
'username' => 'Ім’я користувача',
'email' => 'Електронна пошта',
'password' => 'Пароль',
- 'success' => 'Your account has been created.',
- 'failure' => 'Something went wrong with the signup.',
+ 'success' => 'Ваш акаунт був створений.',
+ 'failure' => 'Щось пішло не так з реєстрацією.',
],
'system' => [
- 'update' => 'There is a newer version of Cachet available. You can learn how to update here!',
+ 'update' => 'Існує новіша версія Cachet. Ви можете дізнатися, як оновити систему тут!',
],
// Modal
'modal' => [
- 'close' => 'Close',
+ 'close' => 'Закрити',
'subscribe' => [
- 'title' => 'Subscribe to component updates',
- 'body' => 'Enter your email address to subscribe to updates for this component. If you\'re already subscribed, you\'ll already receive emails for this component.',
- 'button' => 'Subscribe',
+ 'title' => 'Підписатись на оновлення компонента',
+ 'body' => 'Введіть вашу адресу електронної пошти, щоб підписатися на оновлення для цього компонента. Якщо ви вже підписані, вам надійде електронною поштою повідомлення для цього компонента.',
+ 'button' => 'Підписатись',
],
],
// Other
- 'home' => 'Home',
- 'description' => 'Stay up to date with the latest service updates from :app.',
- 'powered_by' => 'Powered by Cachet.',
- 'timezone' => 'Times are shown in :timezone.',
- 'about_this_site' => 'About This Site',
+ 'home' => 'Домашня сторінка',
+ 'description' => 'Залишатись в курсі останніх оновлень стану :app.',
+ 'powered_by' => 'Розроблено Cachet.',
+ 'timezone' => 'Часовий пояс :timezone.',
+ 'about_this_site' => 'Про сайт',
'rss-feed' => 'RSS',
'atom-feed' => 'Atom',
- 'feed' => 'Status Feed',
+ 'feed' => 'Новини стану',
];
diff --git a/resources/lang/uk-UA/dashboard.php b/resources/lang/uk-UA/dashboard.php
new file mode 100644
index 00000000..41b02a11
--- /dev/null
+++ b/resources/lang/uk-UA/dashboard.php
@@ -0,0 +1,293 @@
+ 'Панель управління',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Інциденти & розклад',
+ 'incidents' => 'Інциденти',
+ 'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported :count incidents.',
+ 'incident-create-template' => 'Створити шаблон',
+ 'incident-templates' => 'Шаблони Інцидентів',
+ 'updates' => '{0} Оновлення вiдсутнi|Одне оновлення|:count Оновлень',
+ 'add' => [
+ 'title' => 'Повідомити про інцидент',
+ 'success' => 'Інцидент додано.',
+ 'failure' => 'There was an error adding the incident, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Редагувати інцидент',
+ 'success' => 'Інцидент оновлено.',
+ 'failure' => 'Виникла помилка при редагуваннi інциденту, будь ласка, спробуйте ще раз.',
+ ],
+ 'delete' => [
+ 'success' => 'The incident has been deleted and will not show on your status page.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Шаблони Інцидентів',
+ 'add' => [
+ 'title' => 'Create an incident template',
+ 'message' => 'Ви повинні додати шаблон інциденту.',
+ 'success' => 'Ваш новий шаблон інциденту створено.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Template',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Виникла помилка при оновленнi шаблону iнциденту',
+ ],
+ 'delete' => [
+ 'success' => 'Шаблон iнциденту видалено.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Запланована перерва у роботі',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Scheduled at :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Компоненти',
+ 'component_statuses' => 'Component Statuses',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Додати компонент',
+ 'message' => 'Ви повинні додати компонент.',
+ 'success' => 'Компонент створено.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Редагувати компонент',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metrics',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Verified',
+ 'not_verified' => 'Not verified',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Team',
+ 'member' => 'Member',
+ 'profile' => 'Profile',
+ 'description' => 'Team Members will be able to add, modify & edit components and incidents.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Settings',
+ 'app-setup' => [
+ 'app-setup' => 'Application Setup',
+ 'images-only' => 'Only images may be uploaded.',
+ 'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Analytics',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Localization',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Security',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Settings saved.',
+ 'failure' => 'Settings could not be saved.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Login',
+ 'logged_in' => 'You\'re logged in.',
+ 'welcome' => 'Welcome back!',
+ 'two-factor' => 'Please enter your token.',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Help',
+ 'status_page' => 'Status Page',
+ 'logout' => 'Logout',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notifications',
+ 'awesome' => 'Awesome.',
+ 'whoops' => 'Whoops.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'You\'re almost ready but you might want to configure these extra settings first...',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Add your components',
+ 'incident' => 'Create an incident',
+ 'customize' => 'Customize your page',
+ 'team' => 'Add your team',
+ 'api' => 'Generate an API token',
+ 'two-factor' => 'Setup Two Factor Authentication',
+ ],
+ ],
+
+];
diff --git a/resources/lang/uk-UA/forms.php b/resources/lang/uk-UA/forms.php
new file mode 100644
index 00000000..97732d17
--- /dev/null
+++ b/resources/lang/uk-UA/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Електронна пошта',
+ 'username' => 'Ім’я користувача',
+ 'password' => 'Пароль',
+ 'site_name' => 'Назва сайту',
+ 'site_domain' => 'Назва домену',
+ 'site_timezone' => 'Оберіть Ваш часовий пояс',
+ 'site_locale' => 'Оберіть свою мову',
+ 'enable_google2fa' => 'Ввімкнути двофакторну автентифікацію Google',
+ 'cache_driver' => 'Драйвер кешування',
+ 'queue_driver' => 'Драйвер черги',
+ 'session_driver' => 'Сессія драйверу',
+ 'mail_driver' => 'Поштовий драйвер',
+ 'mail_host' => 'Mail Host',
+ 'mail_address' => 'Mail From Address',
+ 'mail_username' => 'Mail Username',
+ 'mail_password' => 'Mail Password',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Ім\'я користувача або електронна пошта',
+ 'email' => 'Електронна пошта',
+ 'password' => 'Пароль',
+ '2fauth' => 'Код автентифікації',
+ 'invalid' => 'Невірний логін чи пароль',
+ 'invalid-token' => 'Invalid token',
+ 'cookies' => 'Ви повинні увімкнути куки щоб увійти.',
+ 'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Запам\'ятати мене',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Ім’я',
+ 'status' => 'Статус',
+ 'component' => 'Компонент',
+ 'message' => 'Повідомлення',
+ 'message-help' => 'Ви також можете використовувати Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Повідомити підписників?',
+ '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',
+ 'templates' => [
+ 'name' => 'Ім’я',
+ 'template' => 'Шаблон',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Ім’я',
+ 'status' => 'Статус',
+ 'message' => 'Повідомлення',
+ 'message-help' => 'Ви також можете використовувати Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Ім’я',
+ 'template' => 'Шаблон',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Ім’я',
+ 'status' => 'Статус',
+ 'group' => 'Group',
+ 'description' => 'Опис',
+ 'link' => 'Посилання',
+ 'tags' => 'Теги',
+ 'tags-help' => 'Comma separated.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Ім’я',
+ 'description' => 'Опис',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'Group',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Ім’я',
+ 'suffix' => 'Suffix',
+ 'description' => 'Опис',
+ 'description-help' => 'Ви також можете використовувати Markdown.',
+ 'display-chart' => 'Display chart on status page?',
+ 'default-value' => 'Default value',
+ 'calc_type' => 'Calculation of metrics',
+ 'type_sum' => 'Сума',
+ 'type_avg' => 'В середньому',
+ 'places' => 'Decimal places',
+ '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',
+
+ 'points' => [
+ 'value' => 'Значення',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Назва сайту',
+ 'site-url' => 'URL сайту',
+ 'display-graphs' => 'Відображати графіки на сторінці статусу?',
+ 'about-this-page' => 'Інформація про цю сторінку',
+ 'days-of-incidents' => 'How many days of incidents to show?',
+ '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?',
+ '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?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Код Google Analytics',
+ 'analytics_gosquared' => 'Код GoSquared Analytics',
+ 'analytics_piwik_url' => 'URL of your Piwik instance (without http(s)://)',
+ 'analytics_piwik_siteid' => 'id сайту Piwik',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Часовий пояс сайту',
+ 'site-locale' => 'Мова сайту',
+ 'date-format' => 'формат дати',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth banner?',
+ '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',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Ім’я користувача',
+ 'email' => 'Електронна пошта',
+ 'password' => 'Пароль',
+ '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',
+ 'levels' => [
+ 'admin' => 'Адміністратор',
+ 'user' => 'Користувач',
+ ],
+ '2fa' => [
+ 'help' => 'Enabling two factor authentication increases security of your account. You will need to download Google Authenticator or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'додати',
+ 'save' => 'Зберегти',
+ 'update' => 'Update',
+ 'create' => 'Створити',
+ 'edit' => 'Edit',
+ 'delete' => 'Видалити',
+ 'submit' => 'Submit',
+ 'cancel' => 'Скасувати',
+ 'remove' => 'Remove',
+ 'invite' => 'Запросити',
+ 'signup' => 'Зареєструйтесь',
+
+ // Other
+ 'optional' => '* Optional',
+];
diff --git a/resources/lang/uk-UA/notifications.php b/resources/lang/uk-UA/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/uk-UA/notifications.php
+++ b/resources/lang/uk-UA/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/uk-UA/pagination.php b/resources/lang/uk-UA/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/uk-UA/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/uk-UA/setup.php b/resources/lang/uk-UA/setup.php
new file mode 100644
index 00000000..ba1a3e63
--- /dev/null
+++ b/resources/lang/uk-UA/setup.php
@@ -0,0 +1,23 @@
+ 'Інсталяція',
+ 'title' => 'Встановити Cachet',
+ 'service_details' => 'Сервісна інформація',
+ 'env_setup' => 'Налаштування середовища',
+ 'status_page_setup' => 'Налаштування сторінки стану',
+ 'show_support' => 'Показати підтримку Cachet?',
+ 'admin_account' => 'Аккаунт адміністратора',
+ 'complete_setup' => 'Завершити інсталяцію',
+ 'completed' => 'Cachet успішно налаштований!',
+ 'finish_setup' => 'Перейти на робочий стіл',
+];
diff --git a/resources/lang/uk-UA/validation.php b/resources/lang/uk-UA/validation.php
new file mode 100644
index 00000000..5dc7123c
--- /dev/null
+++ b/resources/lang/uk-UA/validation.php
@@ -0,0 +1,122 @@
+ ':attribute має будти прийнятий.',
+ 'active_url' => ':attribute не є допустимою URL адресою.',
+ 'after' => ':attribute має бути після :date.',
+ 'alpha' => ':attribute має містити лише літери.',
+ 'alpha_dash' => ':attribute має містити лише букви, цифри і тире.',
+ 'alpha_num' => ':attribute має містити лише літери та цифри.',
+ 'array' => ':attribute має бути массивом.',
+ 'before' => ':attribute має бути датою до :date.',
+ 'between' => [
+ 'numeric' => ':attribute має бути між :min і :max.',
+ 'file' => 'Розмір :attribute має бути в межах між :min і :max.',
+ 'string' => 'Довжина :attribute має бути в межах від :min до :max символів.',
+ 'array' => 'Поле :attribute має бути між :min та :max елементами.',
+ ],
+ 'boolean' => 'Поле :attribute має бути true або 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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => ':attribute має бути цілим числом.',
+ '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.',
+ 'string' => 'The :attribute may not be greater than :max characters.',
+ 'array' => 'The :attribute may not have more than :max items.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute має становити щонайменше :min кілобайт.',
+ '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' => ':attribute має бути числом.',
+ 'present' => 'Поле :attribute має бути присутнім.',
+ 'regex' => 'The :attribute format is invalid.',
+ '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_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' => ':attribute i :other мають спiвпадати.',
+ 'size' => [
+ 'numeric' => 'The :attribute must be :size.',
+ 'file' => 'The :attribute must be :size kilobytes.',
+ 'string' => 'The :attribute must be :size characters.',
+ '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.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/vi-VN/cachet.php b/resources/lang/vi-VN/cachet.php
index c8c7018c..016d7c8c 100644
--- a/resources/lang/vi-VN/cachet.php
+++ b/resources/lang/vi-VN/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => 'Không có báo cáo về sự số nào',
- 'past' => 'Sự số trong quá khứ',
- 'previous_week' => 'Previous week',
- 'next_week' => 'Next week',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => 'Bảo trì định kỳ',
- 'scheduled_at' => ', định kỳ :timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => 'Không có báo cáo về sự số nào',
+ 'past' => 'Sự số trong quá khứ',
+ 'stickied' => 'Stickied Incidents',
+ 'scheduled' => 'Bảo trì định kỳ',
+ 'scheduled_at' => ', định kỳ :timestamp',
+ 'posted' => 'Posted :timestamp',
+ 'status' => [
1 => 'Đang điều tra',
2 => 'Xác định',
3 => 'Đang xem',
diff --git a/resources/lang/vi-VN/dashboard.php b/resources/lang/vi-VN/dashboard.php
new file mode 100644
index 00000000..1bdbfa82
--- /dev/null
+++ b/resources/lang/vi-VN/dashboard.php
@@ -0,0 +1,293 @@
+ 'Bảng điều khiển',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
+
+ // Incidents
+ 'incidents' => [
+ 'title' => 'Sự cố & Lịch trình',
+ 'incidents' => 'Các sự cố',
+ 'logged' => '{0} Không có sự cố nào, làm việc tốt.|Bạn có một sự cố được ghi nhận.|Bạn có :count sự cố được báo cáo.',
+ 'incident-create-template' => 'Tạo template',
+ 'incident-templates' => 'Mẫu sự cố',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
+ 'add' => [
+ 'title' => 'Thêm một sự cố',
+ 'success' => 'Sự cố đã được thêm.',
+ 'failure' => 'Có một lỗi xảy ra khi đang lưu Sự Cố, xin vui lòng thử lại.',
+ ],
+ 'edit' => [
+ 'title' => 'Chỉnh sửa một sự cố',
+ 'success' => 'Sự cố đã được cập nhật.',
+ 'failure' => 'Có một lỗi xảy ra khi đang lưu Sự Cố, xin vui lòng thử lại.',
+ ],
+ 'delete' => [
+ 'success' => 'The incident has been deleted and will not show on your status page.',
+ 'failure' => 'The incident could not be deleted, please try again.',
+ ],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'title' => 'Mẫu sự cố',
+ 'add' => [
+ 'title' => 'Tạo ra một khuôn mẫu khi gặp sự cố',
+ 'message' => 'You should add an incident template.',
+ 'success' => 'Your new incident template has been created.',
+ 'failure' => 'Something went wrong with the incident template.',
+ ],
+ 'edit' => [
+ 'title' => 'Sửa mẫu',
+ 'success' => 'The incident template has been updated.',
+ 'failure' => 'Something went wrong updating the incident template',
+ ],
+ 'delete' => [
+ 'success' => 'The incident template has been deleted.',
+ 'failure' => 'The incident template could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Incident Maintenance
+ 'schedule' => [
+ 'schedule' => 'Bảo trì định kỳ',
+ 'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported :count schedules.',
+ 'scheduled_at' => 'Định kỳ lúc :timestamp',
+ 'add' => [
+ 'title' => 'Add Scheduled Maintenance',
+ 'success' => 'Schedule added.',
+ 'failure' => 'Something went wrong adding the schedule, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit Scheduled Maintenance',
+ 'success' => 'Schedule has been updated!',
+ 'failure' => 'Something went wrong editing the schedule, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
+ 'failure' => 'The scheduled maintenance could not be deleted, please try again.',
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Components',
+ 'component_statuses' => 'Component Statuses',
+ 'listed_group' => 'Grouped under :name',
+ 'add' => [
+ 'title' => 'Thêm một thành phần',
+ 'message' => 'Bạn cần thêm một component.',
+ 'success' => 'Component created.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Chỉnh sửa một thành phần',
+ 'success' => 'Component updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The component has been deleted!',
+ 'failure' => 'The component could not be deleted, please try again.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Component group|Component groups',
+ 'no_components' => 'You should add a component group.',
+ 'add' => [
+ 'title' => 'Add a component group',
+ 'success' => 'Component group added.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a component group',
+ 'success' => 'Component group updated.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Component group has been deleted!',
+ 'failure' => 'The component group could not be deleted, please try again.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Các số liệu',
+ 'add' => [
+ 'title' => 'Create a metric',
+ 'message' => 'You should add a metric.',
+ 'success' => 'Metric created.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Edit a metric',
+ 'success' => 'Metric updated.',
+ 'failure' => 'Something went wrong with the metric, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'The metric has been deleted and will no longer display on your status page.',
+ 'failure' => 'The metric could not be deleted, please try again.',
+ ],
+ ],
+ // Subscribers
+ 'subscribers' => [
+ 'subscribers' => 'Subscribers',
+ 'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
+ 'verified' => 'Đã xác nhận',
+ 'not_verified' => 'Chưa xác nhận',
+ 'subscriber' => ':email, subscribed :date',
+ 'no_subscriptions' => 'Subscribed to all updates',
+ 'add' => [
+ 'title' => 'Add a new subscriber',
+ 'success' => 'Subscriber has been added!',
+ 'failure' => 'Something went wrong adding the subscriber, please try again.',
+ 'help' => 'Enter each subscriber on a new line.',
+ ],
+ 'edit' => [
+ 'title' => 'Update subscriber',
+ 'success' => 'Subscriber has been updated!',
+ 'failure' => 'Something went wrong editing the subscriber, please try again.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Nhóm',
+ 'member' => 'Thành viên',
+ 'profile' => 'Hồ sơ cá nhân',
+ 'description' => 'Thành viên trong đội sẽ có thể để thêm, sửa đổi và chỉnh sửa các thành phần và sự cố.',
+ 'add' => [
+ 'title' => 'Add a new team member',
+ 'success' => 'Team member added.',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'edit' => [
+ 'title' => 'Update profile',
+ 'success' => 'Profile updated.',
+ 'failure' => 'Something went wrong updating the profile, please try again.',
+ ],
+ 'delete' => [
+ 'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
+ 'failure' => 'The team member could not be added, please try again.',
+ ],
+ 'invite' => [
+ 'title' => 'Invite a new team member',
+ 'success' => 'An invite has been sent',
+ 'failure' => 'The invite could not be sent, please try again.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Thiết lập',
+ 'app-setup' => [
+ 'app-setup' => 'Thiết lập ứng dụng',
+ 'images-only' => 'Chỉ có thể upload ảnh.',
+ 'too-big' => 'File bạn vừa upload có kích thước quá lớn, hãy upload ảnh có kích thước nhỏ hơn :size',
+ ],
+ 'analytics' => [
+ 'analytics' => 'Thống kê',
+ ],
+ 'log' => [
+ 'log' => 'Log',
+ ],
+ 'localization' => [
+ 'localization' => 'Bản địa hoá',
+ ],
+ 'customization' => [
+ 'customization' => 'Customization',
+ 'header' => 'Custom Header HTML',
+ 'footer' => 'Custom Footer HTML',
+ ],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
+ 'security' => [
+ 'security' => 'Bảo mật',
+ 'two-factor' => 'Users without two-factor authentication',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Stylesheet',
+ ],
+ 'theme' => [
+ 'theme' => 'Theme',
+ ],
+ 'edit' => [
+ 'success' => 'Các setting đã được lưu.',
+ 'failure' => 'Không thể lưu các settings.',
+ ],
+ 'credits' => [
+ 'credits' => 'Credits',
+ 'contributors' => 'Contributors',
+ 'license' => 'Cachet is a BSD-3-licensed open source project, released by Alt Three Services Limited.',
+ 'backers-title' => 'Backers & Sponsors',
+ 'backers' => 'If you\'d like to support future development, check out the Cachet Patreon campaign.',
+ 'thank-you' => 'Thank you to each and every one of the :count contributors.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Đăng nhập',
+ 'logged_in' => 'Bạn đang đăng nhập.',
+ 'welcome' => 'Chào mừng Quay trở lại!',
+ 'two-factor' => 'Vui lòng nhập mã token của bạn',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Trợ giúp',
+ 'status_page' => 'Trang trang thái',
+ 'logout' => 'Đăng xuất',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Thông báo',
+ 'awesome' => 'Tuyệt vời.',
+ 'whoops' => 'Ôi.',
+ ],
+
+ // Widgets
+ 'widgets' => [
+ 'support' => 'Support Cachet',
+ 'support_subtitle' => 'Check out our Patreon page!',
+ 'news' => 'Latest News',
+ 'news_subtitle' => 'Get the latest update',
+ ],
+
+ // Welcome modal
+ 'welcome' => [
+ 'welcome' => 'Welcome to your new status page, :username!',
+ 'message' => 'Trang trái thái cảu bạn gần như đã sẵn sàng. Bạn có thể muốn cấu hình mình vài thiết lập phụ',
+ 'close' => 'I\'m good thanks!',
+ 'steps' => [
+ 'component' => 'Tạo thành phần',
+ 'incident' => 'Tạo sự cố',
+ 'customize' => 'Tùy chỉnh',
+ 'team' => 'Thêm người dùng',
+ 'api' => 'Tạo API token',
+ 'two-factor' => 'Xác minh 2 bước',
+ ],
+ ],
+
+];
diff --git a/resources/lang/vi-VN/forms.php b/resources/lang/vi-VN/forms.php
new file mode 100644
index 00000000..92f7fd8a
--- /dev/null
+++ b/resources/lang/vi-VN/forms.php
@@ -0,0 +1,240 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'Tên người dùng',
+ 'password' => 'Mật khẩu',
+ 'site_name' => 'Tến site',
+ 'site_domain' => 'Domain',
+ 'site_timezone' => 'Chọn timezone',
+ 'site_locale' => 'Chọn ngôn ngữ',
+ 'enable_google2fa' => 'Bật tính năng xác thực 2 bước của google',
+ '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',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'login' => 'Tên đăng nhập hoặc Email',
+ 'email' => 'Email',
+ 'password' => 'Mật khẩu',
+ '2fauth' => 'Mã số xác thực',
+ 'invalid' => 'Invalid username or password',
+ 'invalid-token' => 'Token không hợp lệ',
+ 'cookies' => 'Bạn phải bật cookie để đăng nhập.',
+ 'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Remember me',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Tên',
+ 'status' => 'Trạng thái',
+ 'component' => 'Component',
+ 'message' => 'Tin nhắn',
+ 'message-help' => 'Bạn cũng có thể sử dụng Markdown.',
+ 'occurred_at' => 'When did this incident occur?',
+ 'notify_subscribers' => 'Notify subscribers?',
+ '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',
+ 'templates' => [
+ 'name' => 'Tên',
+ 'template' => 'Template',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => 'Tên',
+ 'status' => 'Trạng thái',
+ 'message' => 'Tin nhắn',
+ 'message-help' => 'Bạn cũng có thể sử dụng Markdown.',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => 'Tên',
+ 'template' => 'Template',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Tên',
+ 'status' => 'Trạng thái',
+ 'group' => 'nhóm',
+ 'description' => 'Miêu tả',
+ 'link' => 'Liên kết',
+ 'tags' => 'Thẻ Tag',
+ 'tags-help' => 'Ngăn cách bởi dấu phẩy.',
+ 'enabled' => 'Component enabled?',
+
+ 'groups' => [
+ 'name' => 'Tên',
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => 'Tên',
+ 'description' => 'Miêu tả',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => 'nhóm',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
+ ],
+ ],
+
+ // Metric form fields
+ 'metrics' => [
+ 'name' => 'Tên',
+ 'suffix' => 'Hậu tố',
+ 'description' => 'Miêu tả',
+ 'description-help' => 'Bạn cũng có thể sử dụng Markdown.',
+ 'display-chart' => 'Hiển thị các biểu đồ trên trang trạng thái?',
+ 'default-value' => 'Giá trị mặc định',
+ 'calc_type' => 'Calculation of metrics',
+ 'type_sum' => 'Tổng hợp',
+ 'type_avg' => 'Trung bình',
+ 'places' => 'Chữ số thập phân',
+ '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',
+
+ 'points' => [
+ 'value' => 'Giá trị',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ // Application setup
+ 'app-setup' => [
+ 'site-name' => 'Tến site',
+ 'site-url' => 'URL trang web',
+ 'display-graphs' => 'Hiển thị các biểu đồ trên trang trạng thái?',
+ 'about-this-page' => 'Về trang này',
+ 'days-of-incidents' => 'Sự cố này sẽ hiển thị mấy ngày ?',
+ 'banner' => 'Banner Image',
+ 'banner-help' => 'Bạn nên upload ảnh có chiều rộng lớn hơn 930px',
+ 'subscribers' => 'Allow people to signup to email notifications?',
+ '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?',
+ ],
+ 'analytics' => [
+ 'analytics_google' => 'Mã Google Analytics',
+ 'analytics_gosquared' => 'GoSquared Analytics code',
+ 'analytics_piwik_url' => 'URL of your Piwik instance (without http(s)://)',
+ 'analytics_piwik_siteid' => 'Piwik\'s site id',
+ ],
+ 'localization' => [
+ 'site-timezone' => 'Múi giờ',
+ 'site-locale' => 'Ngôn ngữ',
+ 'date-format' => 'Định dạng ngày',
+ 'incident-date-format' => 'Incident timestamp format',
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Allowed domains',
+ 'allowed-domains-help' => 'Ngăn cách bằng dấu phẩy. Những domain dưới đây được cho phép một cách tự động.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Custom Stylesheet',
+ ],
+ '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 fullwidth 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' => 'Liên kết',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Tên người dùng',
+ 'email' => 'Email',
+ 'password' => 'Mật khẩu',
+ 'api-token' => 'API Token',
+ 'api-token-help' => 'Khi tạo API token mới, các API token cũ sẽ không sử dụng được nữa.',
+ 'gravatar' => 'Change your profile picture at Gravatar.',
+ 'user_level' => 'User Level',
+ 'levels' => [
+ 'admin' => 'Quản trị',
+ 'user' => 'Người dùng',
+ ],
+ '2fa' => [
+ 'help' => 'Khi enable chức năng xác minh hai lớp ( two factor authentication ) sẽ tăng độ bảo mật cho account của bạn. Bạn cần phải tải Google Authenticator hoặc các ứng dụng tương tự cho điện thoại của bạn. Mỗi khi login, bạn sẽ phải sử dụng phần mềm này để tạo mã, và nhập vào khung đăng nhập.',
+ ],
+ 'team' => [
+ 'description' => 'Invite your team members by entering their email addresses here.',
+ 'email' => 'Email #:id',
+ ],
+ ],
+
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
+ // Buttons
+ 'add' => 'Thêm',
+ 'save' => 'Lưu thay đổi',
+ 'update' => 'Cập nhật',
+ 'create' => 'Tạo mới',
+ 'edit' => 'Chỉnh sửa',
+ 'delete' => 'Xoá',
+ 'submit' => 'Gửi',
+ 'cancel' => 'Hủy',
+ 'remove' => 'Xoá',
+ 'invite' => 'Mời',
+ 'signup' => 'Đăng ký',
+
+ // Other
+ 'optional' => '* Tùy chọn',
+];
diff --git a/resources/lang/vi-VN/notifications.php b/resources/lang/vi-VN/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/vi-VN/notifications.php
+++ b/resources/lang/vi-VN/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/vi-VN/pagination.php b/resources/lang/vi-VN/pagination.php
new file mode 100644
index 00000000..0ee724cf
--- /dev/null
+++ b/resources/lang/vi-VN/pagination.php
@@ -0,0 +1,28 @@
+ 'Previous',
+ 'next' => 'Next',
+
+];
diff --git a/resources/lang/vi-VN/setup.php b/resources/lang/vi-VN/setup.php
new file mode 100644
index 00000000..ef7308d9
--- /dev/null
+++ b/resources/lang/vi-VN/setup.php
@@ -0,0 +1,23 @@
+ 'Cài đặt',
+ 'title' => 'Cài đặt Cachet',
+ 'service_details' => 'Chi tiết DỊch vụ',
+ 'env_setup' => 'Thiết lập môi trường',
+ 'status_page_setup' => 'Cài đặt Trang Trạng thái',
+ 'show_support' => 'Hiển thị hỗ trợ cho Cachet?',
+ 'admin_account' => 'Tài khoản người quản trị',
+ 'complete_setup' => 'Hoàn tất cài đặt',
+ 'completed' => 'Cachet đã được cấu hình thành công!',
+ 'finish_setup' => 'Đi đến bảng điều khiển',
+];
diff --git a/resources/lang/vi-VN/validation.php b/resources/lang/vi-VN/validation.php
new file mode 100644
index 00000000..56522417
--- /dev/null
+++ b/resources/lang/vi-VN/validation.php
@@ -0,0 +1,122 @@
+ ':attribute phải được chấp nhận.',
+ 'active_url' => ':attribute không phải một URL hợp lệ.',
+ 'after' => ':attribute phải là một ngày sau :date.',
+ 'alpha' => ':attribute chỉ có thể chứa các chữ cái.',
+ 'alpha_dash' => ':attribute chỉ có thể chứa các chữ cái, số, và dấu gạch ngang.',
+ 'alpha_num' => ':attribute chỉ có thể chứa các chữ cái và số.',
+ 'array' => ':attribute phải là một mảng.',
+ 'before' => ':attribute phải là một ngày trước :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => ':attribute phải trong khoảng :min và :max mục.',
+ ],
+ '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.',
+ '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.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'Thuộc tính :attribute phải là một file ảnh.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => ':attribute phải là một chuỗi JSON hợp lệ.',
+ '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' => ':attribute có thể không có nhiều hơn :max mục.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => ':attribute phải tối thiểu :min kilobytes.',
+ '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' => 'Định dạng :attribute không hợp lệ.',
+ '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' => 'Trường :attribute là bắt buộc khi :values là hiện tại.',
+ 'required_with_all' => 'Trường :attribute là bắt buộc khi :values là hiện tại.',
+ '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' => ':attribute phải là :size kilobytes.',
+ 'string' => ':attribute phải là :size ký tự.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => ':attribute phải là một khu vực hợp lệ.',
+ 'unique' => ':attribute đã được dùng.',
+ 'url' => 'Định dạng :attribute không hợp lệ.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/zh-CN/cachet.php b/resources/lang/zh-CN/cachet.php
index a19a9a58..83b03dde 100644
--- a/resources/lang/zh-CN/cachet.php
+++ b/resources/lang/zh-CN/cachet.php
@@ -12,13 +12,13 @@
return [
// Components
'components' => [
- 'last_updated' => '最后更新 :timestamp',
+ 'last_updated' => '最后更新于 :timestamp',
'status' => [
0 => '未知',
1 => '运行正常',
2 => '性能问题',
- 3 => 'Partial Outage',
- 4 => 'Major Outage',
+ 3 => '部分中断',
+ 4 => '严重中断',
],
'group' => [
'other' => '其他组件',
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => '无故障报告',
- 'past' => '历史状态',
- 'previous_week' => '上一周',
- 'next_week' => '下一周',
- 'stickied' => '已关注的故障',
- 'scheduled' => 'Scheduled Maintenance',
- 'scheduled_at' => ', scheduled :timestamp',
- 'posted' => '发布于 :timestamp',
- 'status' => [
+ 'none' => '无故障报告',
+ 'past' => '历史状态',
+ 'stickied' => '已关注的故障',
+ 'scheduled' => '计划维护',
+ 'scheduled_at' => ',计划于 :timestamp',
+ 'posted' => '发布于 :timestamp',
+ 'status' => [
1 => '确认中',
2 => '修复中',
3 => '已更新',
@@ -60,7 +58,7 @@ return [
],
'api' => [
- 'regenerate' => 'Regenerate API Key',
+ 'regenerate' => '重新生成 API 密钥',
'revoke' => '注销 API 密钥',
],
@@ -77,20 +75,20 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => '订阅最新的更新。',
- 'unsubscribe' => 'Unsubscribe at :link',
- 'button' => 'Subscribe',
+ 'unsubscribe' => '使用这个链接取消订阅: :link',
+ 'button' => '订阅',
'manage' => [
'no_subscriptions' => '您当前已订阅所有更新。',
'my_subscriptions' => '您当前已订阅下列更新',
],
'email' => [
- 'subscribe' => 'Subscribe to email updates.',
- 'subscribed' => '您已经订阅电子邮件通知,请检查您的电子邮件,确认您的订阅。',
- 'verified' => 'Your email subscription has been confirmed. Thank you!',
+ 'subscribe' => '订阅电子邮件更新。',
+ 'subscribed' => '您已经订阅电子邮件通知,请检查您的电子邮件进行确认。',
+ 'verified' => '您的电子邮件订阅已确认。谢谢!',
'manage' => '管理您的订阅',
'unsubscribe' => '取消电子邮件订阅。',
- 'unsubscribed' => 'Your email subscription has been cancelled.',
- 'failure' => 'Something went wrong with the subscription.',
+ 'unsubscribed' => '您的电子邮件订阅已被取消。',
+ 'failure' => '邮件订阅失败。',
'already-subscribed' => '无法订阅,因为这个邮箱地址 ( :email ) 已经在订阅列表中了。',
],
],
@@ -114,7 +112,7 @@ return [
'subscribe' => [
'title' => '订阅组件状态更新',
'body' => '请输入您用于接收订阅该组件更新通知的电子邮箱。如果您已经订阅,您应已收到关于这个组件的一系列电子邮件。',
- 'button' => 'Subscribe',
+ 'button' => '订阅',
],
],
@@ -126,6 +124,6 @@ return [
'about_this_site' => '关于我们',
'rss-feed' => 'RSS',
'atom-feed' => 'Atom',
- 'feed' => 'Status Feed',
+ 'feed' => '状态源',
];
diff --git a/resources/lang/zh-CN/dashboard.php b/resources/lang/zh-CN/dashboard.php
index f675b48b..2cd8696b 100644
--- a/resources/lang/zh-CN/dashboard.php
+++ b/resources/lang/zh-CN/dashboard.php
@@ -11,15 +11,17 @@
return [
- 'dashboard' => '控制台',
+ 'dashboard' => '控制台',
+ 'writeable_settings' => 'Cachet 设置目录无法写入。请确认 ./bootstrap/cachet 文件夹可被服务器写入。',
// Incidents
'incidents' => [
'title' => '故障和维护计划',
- 'incidents' => 'Incidents',
+ 'incidents' => '事件',
'logged' => '{0} 当前没有故障信息|您已经记录了一个故障|您已经报告了 :count 个故障',
- 'incident-create-template' => 'Create Template',
+ 'incident-create-template' => '创建模板',
'incident-templates' => '故障模板',
+ 'updates' => '{0} 0 个更新|1 个更新|:count 个更新',
'add' => [
'title' => '添加故障',
'success' => '故障已添加',
@@ -34,10 +36,15 @@ return [
'success' => '故障已删除并将不会出现在状态页中',
'failure' => '无法删除该故障,请再试一次。',
],
+ 'update' => [
+ 'title' => '添加故障更新',
+ 'subtitle' => '给 :incident 故障添加一个更新',
+ 'success' => 'Update added.',
+ ],
// Incident templates
'templates' => [
- 'title' => '事件模板',
+ 'title' => '故障模板',
'add' => [
'title' => '添加故障模板',
'message' => '你应该增加一个故障模板',
@@ -60,7 +67,7 @@ return [
'schedule' => [
'schedule' => '计划维护',
'logged' => '{0} 现在没有维护计划,好样的。|你已经记录下 1 个维护计划|你已经报告了 :count 个维护计划',
- 'scheduled_at' => 'Scheduled at :timestamp',
+ 'scheduled_at' => '计划在 :timestamp',
'add' => [
'title' => '添加维护计划',
'success' => '维护计划已添加。',
@@ -79,9 +86,9 @@ return [
// Components
'components' => [
- 'components' => 'Components',
- 'component_statuses' => 'Component Statuses',
- 'listed_group' => 'Grouped under :name',
+ 'components' => '组件',
+ 'component_statuses' => '组件状态',
+ 'listed_group' => '根据 :name 分组',
'add' => [
'title' => '添加组件',
'message' => '没有组件,马上添加一个吧',
@@ -105,12 +112,12 @@ return [
'add' => [
'title' => '添加组件分组',
'success' => '分组已添加。',
- 'failure' => '分组更新失败,请重试。',
+ 'failure' => '组件更新失败,请稍后再试。',
],
'edit' => [
'title' => '编辑组件分组',
'success' => '分组已更新。',
- 'failure' => '分组更新失败,请重试。',
+ 'failure' => '组件更新失败,请稍后再试。',
],
'delete' => [
'success' => '组建分组已删除。',
@@ -121,9 +128,9 @@ return [
// Metrics
'metrics' => [
- 'metrics' => 'Metrics',
+ 'metrics' => '图表',
'add' => [
- 'title' => '添加图表',
+ 'title' => '创建图表',
'message' => '你应该添加一个图表。',
'success' => '图表已创建。',
'failure' => '添加图表时出错了,请再试一次。',
@@ -161,9 +168,9 @@ return [
// Team
'team' => [
- 'team' => 'Team',
- 'member' => 'Member',
- 'profile' => 'Profile',
+ 'team' => '团队',
+ 'member' => '成员',
+ 'profile' => '用户信息',
'description' => '团队成员可维护组件和故障信息。',
'add' => [
'title' => '添加团队成员',
@@ -188,39 +195,50 @@ return [
// Settings
'settings' => [
- 'settings' => 'Settings',
+ 'settings' => '系统设置',
'app-setup' => [
- 'app-setup' => '网站设置',
- 'images-only' => 'Only images may be uploaded.',
+ 'app-setup' => '常规选项',
+ 'images-only' => '只能上传图像。',
'too-big' => '您上传的文件太大了。上传的图像大小应小于:size',
],
'analytics' => [
'analytics' => '第三方统计',
],
+ 'log' => [
+ 'log' => '日志',
+ ],
'localization' => [
- 'localization' => '本地化',
+ 'localization' => '时间和语言',
],
'customization' => [
- 'customization' => '自定义',
+ 'customization' => '个性定制',
'header' => '自定义页眉 HTML',
'footer' => '自定义页脚 HTML',
],
+ 'mail' => [
+ 'mail' => '邮件',
+ 'test' => '测试',
+ 'email' => [
+ 'subject' => 'Cachet 通知测试',
+ 'body' => '这是来自 Cachet 的测试通知邮件。',
+ ],
+ ],
'security' => [
'security' => '安全设置',
- 'two-factor' => 'Users without two-factor authentication',
+ 'two-factor' => '没有启用双因素身份验证的用户',
],
'stylesheet' => [
- 'stylesheet' => '自定义样式',
+ 'stylesheet' => '附加样式',
],
'theme' => [
- 'theme' => 'Theme',
+ 'theme' => '主题外观',
],
'edit' => [
- 'success' => 'Settings saved.',
- 'failure' => 'Settings could not be saved.',
+ 'success' => '设置已保存。',
+ 'failure' => '无法保存设置。',
],
'credits' => [
- 'credits' => '团队',
+ 'credits' => '关于开发团队',
'contributors' => '贡献者',
'license' => 'Cachet 是 Alt Three Services Limited 开发的一个开源项目,使用 BSD-3 授权。',
'backers-title' => '后勤力量和赞助商',
@@ -233,19 +251,19 @@ return [
'login' => [
'login' => '登录',
'logged_in' => '您已登录',
- 'welcome' => 'Welcome Back!',
- 'two-factor' => 'Please enter your token.',
+ 'welcome' => '欢迎回来!',
+ 'two-factor' => '请输入您的双重验证码。',
],
// Sidebar footer
- 'help' => 'Help',
+ 'help' => '帮助',
'status_page' => '状态页',
'logout' => '退出',
// Notifications
'notifications' => [
- 'notifications' => 'Notifications',
- 'awesome' => 'Awesome.',
+ 'notifications' => '通知',
+ 'awesome' => '太棒了!',
'whoops' => '抱歉,',
],
@@ -260,13 +278,13 @@ return [
// Welcome modal
'welcome' => [
'welcome' => '欢迎来到你的状态页!',
- 'message' => 'Your status page is almost ready! You might want to configure these extra settings',
+ 'message' => '您的状态页面即将准备好了!您可能想要配置这些额外的设置',
'close' => '带我直接进入控制台',
'steps' => [
'component' => '添加组件',
'incident' => '添加故障',
'customize' => '主题设置',
- 'team' => 'Add users',
+ 'team' => '添加用户',
'api' => '生成 API Token',
'two-factor' => '双因素身份验证',
],
diff --git a/resources/lang/zh-CN/forms.php b/resources/lang/zh-CN/forms.php
index 34a24196..2b98101d 100644
--- a/resources/lang/zh-CN/forms.php
+++ b/resources/lang/zh-CN/forms.php
@@ -15,14 +15,20 @@ return [
'setup' => [
'email' => '电子邮箱',
'username' => '用户名',
- 'password' => 'Password',
- 'site_name' => '站点名称',
+ 'password' => '密码',
+ 'site_name' => '站点标题',
'site_domain' => '域名',
- 'site_timezone' => 'Select your timezone',
- 'site_locale' => 'Select your language',
- 'enable_google2fa' => 'Enable Google Two Factor Authentication',
- 'cache_driver' => 'Cache Driver',
- 'session_driver' => 'Session Driver',
+ 'site_timezone' => '选择时区',
+ 'site_locale' => '选择您的语言',
+ 'enable_google2fa' => '启用谷歌两步身份验证',
+ 'cache_driver' => '缓存驱动',
+ 'queue_driver' => '队列存储方式',
+ 'session_driver' => '会话数据存储驱动',
+ 'mail_driver' => '邮件发送方式',
+ 'mail_host' => '电子邮件服务器',
+ 'mail_address' => '发件人',
+ 'mail_username' => '邮箱用户名',
+ 'mail_password' => '邮箱密码',
],
// Login form fields
@@ -30,86 +36,129 @@ return [
'login' => '用户名或者邮箱地址',
'email' => '电子邮箱',
'password' => '密码',
- '2fauth' => 'Authentication Code',
+ '2fauth' => '两步验证代码',
'invalid' => '无效的用户名或密码',
- 'invalid-token' => 'Invalid token',
- 'cookies' => 'You must enable cookies to login.',
+ 'invalid-token' => '无效的代码。',
+ 'cookies' => '您必须启用 cookies 来进行登录。',
'rate-limit' => '已超出登陆次数限制。',
+ 'remember_me' => '记住我',
],
// Incidents form fields
'incidents' => [
'name' => '名称',
- 'status' => 'Status',
- 'component' => 'Component',
+ 'status' => '状态',
+ 'component' => '组件',
'message' => '描述',
- 'message-help' => 'You may also use Markdown.',
- 'scheduled_at' => 'When to schedule the maintenance for?',
- 'incident_time' => '这次故障是什么时候发生的?',
+ 'message-help' => '您可以使用Markdown语言。',
+ 'occurred_at' => '这次故障是什么时候发生的?',
'notify_subscribers' => '通知订阅者',
'visibility' => '故障的可见性',
- 'public' => 'Viewable by public',
+ 'stick_status' => '关注故障',
+ 'stickied' => '已关注',
+ 'not_stickied' => '未关注',
+ 'public' => '公共可见',
'logged_in_only' => '仅登录用户可见',
'templates' => [
- 'name' => '事件名',
- 'template' => 'Template',
+ 'name' => '名称',
+ 'template' => '模板',
+ 'twig' => '故障模板可以使用 Twig 模板语言',
+ ],
+ ],
+
+ 'schedules' => [
+ 'name' => '名称',
+ 'status' => '状态',
+ 'message' => '描述',
+ 'message-help' => '您可以使用Markdown语言。',
+ 'scheduled_at' => '这次维护将在何时进行?',
+ 'completed_at' => '这次维护将在何时结束?',
+ 'templates' => [
+ 'name' => '名称',
+ 'template' => '模板',
'twig' => '故障模板可以使用 Twig 模板语言',
],
],
// Components form fields
'components' => [
- 'name' => '组件名',
+ 'name' => '名称',
'status' => '状态',
'group' => '组件分组',
'description' => '组件描述',
- 'link' => 'Link',
- 'tags' => 'Tags',
- 'tags-help' => 'Comma separated.',
+ 'link' => '链接',
+ 'tags' => '标签',
+ 'tags-help' => '以逗号分隔。',
'enabled' => '启用',
'groups' => [
- 'name' => '组名',
- 'collapsing' => '选择分组可见',
- 'visible' => '总是展开',
- 'collapsed' => '默认折叠',
- 'collapsed_incident' => '折叠分组,但当有故障时展开',
+ 'name' => '名称',
+ 'collapsing' => '展开/折叠选项',
+ 'visible' => '总是展开',
+ 'collapsed' => '默认折叠',
+ 'collapsed_incident' => '折叠分组,但当有故障时展开',
+ 'visibility' => '可见性',
+ 'visibility_public' => '对所有人可见',
+ 'visibility_authenticated' => '只对已登录用户可见',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => '名称',
+ 'description' => '组件描述',
+ 'start_at' => '计划开始时间',
+ 'timezone' => '时区',
+ 'schedule_frequency' => '计划间隔 (秒)',
+ 'completion_latency' => '延误时长 (秒)',
+ 'group' => '组件分组',
+ 'active' => '活跃?',
+ 'groups' => [
+ 'name' => '组名',
],
],
// Metric form fields
'metrics' => [
- 'name' => '图表名',
- 'suffix' => 'Suffix',
- 'description' => '描述信息',
- 'description-help' => '您可以使用Markdown语言。',
- 'display-chart' => 'Display chart on status page?',
- 'default-value' => '默认值',
- 'calc_type' => '图表计算方法',
- 'type_sum' => 'Sum',
- 'type_avg' => 'Average',
- 'places' => '小数点位数',
- 'default_view' => '默认视图',
- 'threshold' => '每个度量点之间应当间隔多少分钟?',
+ 'name' => '名称',
+ 'suffix' => '后缀',
+ 'description' => '组件描述',
+ 'description-help' => '您可以使用Markdown语言。',
+ 'display-chart' => '是否在状态页上显示图表?',
+ 'default-value' => '默认值',
+ 'calc_type' => '图表计算方法',
+ 'type_sum' => '求和',
+ 'type_avg' => '求平均',
+ 'places' => '小数点位数',
+ 'default_view' => '默认视图',
+ 'threshold' => '每个度量点之间应当间隔多少分钟?',
+ 'visibility' => '可见性',
+ 'visibility_authenticated' => '只对已登录用户可见',
+ 'visibility_public' => '对所有人可见',
+ 'visibility_hidden' => '总是隐藏',
'points' => [
- 'value' => 'Value',
+ 'value' => '数值',
],
],
// Settings
'settings' => [
- /// Application setup
+ // Application setup
'app-setup' => [
- 'site-name' => '站点名称',
- 'site-url' => '网址',
- 'display-graphs' => 'Display graphs on status page?',
- 'about-this-page' => '关于本页',
- 'days-of-incidents' => '显示多少天的故障?',
- 'banner' => '横幅图像',
- 'banner-help' => "It's recommended that you upload files no bigger than 930px wide .",
- 'subscribers' => 'Allow people to signup to email notifications?',
- 'automatic_localization' => '根据访客的系统语言自动本地化状态页面?',
+ 'site-name' => '站点标题',
+ 'site-url' => '站点地址(URL)',
+ 'display-graphs' => '在状态页上显示图表',
+ 'about-this-page' => '关于本页',
+ 'days-of-incidents' => '显示多少天的故障?',
+ 'banner' => '横幅图像',
+ 'banner-help' => '建议上传文件宽度不大于 930 像素。',
+ 'subscribers' => '允许用户订阅邮件通知',
+ 'skip_subscriber_verification' => '是否跳过用户邮件验证?(小心,这可能会被滥用)',
+ 'automatic_localization' => '根据访客的系统语言自动本地化状态页面',
+ 'enable_external_dependencies' => '启用第三方服务 (Google Fonts, Tracker 等)',
+ 'show_timezone' => '显示状态页所在的时区',
+ 'only_disrupted_days' => '仅显示有故障的日期',
],
'analytics' => [
'analytics_google' => 'Google Analytics 代码',
@@ -121,20 +170,20 @@ return [
'site-timezone' => '系统时区',
'site-locale' => '系统语言',
'date-format' => '日期格式',
- 'incident-date-format' => '故障的时间显示格式',
+ 'incident-date-format' => '故障日期和时间格式',
],
'security' => [
- 'allowed-domains' => '允许的域',
- 'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
+ 'allowed-domains' => '允许的 CORS 域',
+ 'allowed-domains-help' => '以逗号分隔。默认情况下,API跨域请求将自动允许以上已设置的域。',
],
'stylesheet' => [
'custom-css' => '自定义 CSS 样式表',
],
'theme' => [
- 'background-color' => '背景色',
+ 'background-color' => '网站背景',
'background-fills' => '区块填充色(组件, 故障, 页尾)',
- 'banner-background-color' => '横幅背景色',
- 'banner-padding' => '横幅Padding值',
+ 'banner-background-color' => '横幅背景',
+ 'banner-padding' => '横幅图像边距',
'fullwidth-banner' => '启用全宽横幅?',
'text-color' => '文字颜色',
'dashboard-login' => '在页尾显示 管理后台 的入口?',
@@ -149,10 +198,10 @@ return [
],
'user' => [
- 'username' => 'Username',
+ 'username' => '用户名',
'email' => '电子邮箱',
'password' => '密码',
- 'api-token' => 'API Token',
+ 'api-token' => 'API 令牌',
'api-token-help' => '重新生成您的 API Token将阻止现有的应用程序访问Cachet。',
'gravatar' => '修改您的 Gravatar 头像。',
'user_level' => '用户等级',
@@ -165,23 +214,27 @@ return [
],
'team' => [
'description' => '请输入您要邀请的团队成员的邮件地址:',
- 'email' => 'Email #:id',
+ 'email' => '电子邮箱 #:id',
],
],
+ 'general' => [
+ 'timezone' => '选择时区',
+ ],
+
// Buttons
- 'add' => 'Add',
- 'save' => 'Save',
- 'update' => 'Update',
- 'create' => 'Create',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'submit' => 'Submit',
- 'cancel' => 'Cancel',
- 'remove' => 'Remove',
+ 'add' => '增加',
+ 'save' => '保存',
+ 'update' => '更新',
+ 'create' => '创建',
+ 'edit' => '编辑',
+ 'delete' => '删除',
+ 'submit' => '提交',
+ 'cancel' => '取消',
+ 'remove' => '删除',
'invite' => '邀请',
'signup' => '注册',
// Other
- 'optional' => '* Optional',
+ 'optional' => '* 可选',
];
diff --git a/resources/lang/zh-CN/notifications.php b/resources/lang/zh-CN/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/zh-CN/notifications.php
+++ b/resources/lang/zh-CN/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/zh-CN/setup.php b/resources/lang/zh-CN/setup.php
index b2f1e531..00bede12 100644
--- a/resources/lang/zh-CN/setup.php
+++ b/resources/lang/zh-CN/setup.php
@@ -15,7 +15,7 @@ return [
'service_details' => '服务细节',
'env_setup' => '环境设置',
'status_page_setup' => '状态页面设置',
- 'show_support' => '您想支持Cachet么?',
+ 'show_support' => '您想支持 Cachet 么?',
'admin_account' => '管理员帐户',
'complete_setup' => '设置完成',
'completed' => 'Cachet已成功配置!',
diff --git a/resources/lang/zh-CN/validation.php b/resources/lang/zh-CN/validation.php
index fa7d926c..5913f5d6 100644
--- a/resources/lang/zh-CN/validation.php
+++ b/resources/lang/zh-CN/validation.php
@@ -22,7 +22,7 @@ return [
|
*/
- 'accepted' => ':attribute 必须是可以接受的。',
+ 'accepted' => '您必须同意 :attribute。',
'active_url' => ':attribute 不是一个有效的URL网址。',
'after' => ':attribute 必须在 :date 之后。',
'alpha' => ':attribute 只能包含字母。',
@@ -31,60 +31,60 @@ return [
'array' => ':attribute 必须是个数组。',
'before' => ':attribute 必须在 :date 之前。',
'between' => [
- 'numeric' => ':attribute 必须在 :date 之前。',
- 'file' => ':attribute 必须在 :min 和 :max 之间。',
- 'string' => ':attribute 必须在 :min 到 :max Kb 之间。',
+ 'numeric' => ':attribute 必须在 :min 和 :max 之间。',
+ 'file' => ':attribute 必须在 :min KB 到 :max KB 之间。',
+ 'string' => ':attribute 包含的字符数量必须在 :min 到 :max 之间。',
'array' => ':attribute 必须在 :min 到 :max 个数目之间。',
],
- 'boolean' => ':attribute 必须在 :min 到 :max 个数目之间。',
- 'confirmed' => ':attribute 字段必须为 true 或 false。',
- 'date' => ':attribute 与确认项目不匹配',
- 'date_format' => ':attribute 不是有效的日期。',
- 'different' => ':attribute 不符合格式 :format 。',
- 'digits' => ':attribute 和 :other 不能相同。',
- 'digits_between' => ':attribute 必须是 :digits 位数字。',
- 'email' => ':attribute 必须在 :min 位和 :max 位数字之间。',
- 'exists' => ':attribute 必须是一个有效的电子邮件地址。',
+ 'boolean' => ':attribute 字段必须为 true 或 false。',
+ 'confirmed' => ':attribute 的两次输入不匹配。',
+ 'date' => ':attribute 不是有效的日期。',
+ 'date_format' => ':attribute 不符合格式 :format 。',
+ 'different' => ':attribute 和 :other 不能相同。',
+ 'digits' => ':attribute 必须是 :digits 位数字。',
+ 'digits_between' => ':attribute 必须是 :min - :max 位数字。',
+ 'email' => ':attribute 必须是一个有效的电子邮件地址。',
+ 'exists' => '选择的 :attribute 无效。',
'distinct' => ':attribute 有重复。',
- 'filled' => ':attribute 的格式无效',
+ 'filled' => ':attribute 字段必填。',
'image' => ':attribute 必须是图片。',
- 'in' => ':attribute 必须是图片。',
+ 'in' => '选择的 :attribute 无效。',
'in_array' => ':attribute 不在 :other 中。',
- 'integer' => '选择的 :attribute 无效',
- 'ip' => ':attribute 必须是整数。',
+ 'integer' => ':attribute 必须是整数。',
+ 'ip' => ':attribute 必须是一个有效的 IP 地址。',
'json' => ':attribute 必须是规范的 JSON 字串。',
'max' => [
- 'numeric' => ':attribute 必须是一个有效的 IP 地址',
- 'file' => ':attribute 不允许大于 :max',
- 'string' => ':attribute 不能大于 :max Kb。',
+ 'numeric' => ':attribute 不允许大于 :max。',
+ 'file' => ':attribute 不能大于 :max KB。',
+ 'string' => ':attribute 的字符数量不能大于 :max 。',
'array' => ':attribute 不能超过 :max 个。',
],
- 'mimes' => ':attribute 不能超过 :max 个。',
+ 'mimes' => ':attribute 文件类型必须是 :values。',
'min' => [
- 'numeric' => ':attribute 文件类型必须是 :values',
+ 'numeric' => ':attribute 必须至少是 :min。',
'file' => ':attribute 至少需要 :min KB。',
- 'string' => ':attribute 至少需要 :min KB。',
- 'array' => ':attribute 最少需要 :min 个字符。',
+ 'string' => ':attribute 最少需要有 :min 个字符。',
+ 'array' => ':attribute 至少需要有 :min 项。',
],
- 'not_in' => ':attribute 至少需要有 :min 项。',
- 'numeric' => '选择的 :attribute 无效',
+ 'not_in' => '选择的 :attribute 无效。',
+ 'numeric' => ':attribute 必须是数字。',
'present' => ':attribute 为必填项。',
- 'regex' => ':attribute 必须是数字。',
- 'required' => ':attribute 的格式无效',
- 'required_if' => ':attribute 字段必填。',
+ 'regex' => ':attribute 的格式无效',
+ 'required' => ':attribute 字段必填。',
+ 'required_if' => ':attribute 字段在 :other 是 :value 时是必填的。',
'required_unless' => ':attribute 是必须的除非 :other 在 :values 中。',
- 'required_with' => ':attribute 字段在 :other 是 :value 时是必填的。',
+ 'required_with' => '当含有 :values 时, :attribute 是必需的。',
'required_with_all' => '当含有 :values 时, :attribute 是必需的。',
- 'required_without' => '当含有 :values 时, :attribute 是必需的。',
- 'required_without_all' => '当 :values 不存在时, :attribute 是必填的。',
- 'same' => '当没有任何 :values 存在时, :attribute 字段为必填项。',
+ 'required_without' => '当 :values 不存在时, :attribute 是必填的。',
+ 'required_without_all' => '当没有任何 :values 存在时,:attribute 字段为必填项。',
+ 'same' => ':attribute 和 :other 必须匹配。',
'size' => [
- 'numeric' => ':attribute 和 :other 必须匹配。',
+ 'numeric' => ':attribute 的大小必须是 :size 。',
'file' => ':attribute 必须是 :size KB大小',
'string' => ':attribute 必须是 :size 个字符',
- 'array' => ':attribute 必须是 :size 个字符',
+ 'array' => ':attribute 必须包含 :size 个项。',
],
- 'string' => ':attribute 必须包含 :size 个项。',
+ 'string' => ':attribute 必须是一个字符串。',
'timezone' => ':attribute 必须是个有效的区域。',
'unique' => ':attribute 已经被占用',
'url' => ':attribute 的格式无效',
diff --git a/resources/lang/zh-TW/cachet.php b/resources/lang/zh-TW/cachet.php
index 7a0d8d65..0111abb6 100644
--- a/resources/lang/zh-TW/cachet.php
+++ b/resources/lang/zh-TW/cachet.php
@@ -27,15 +27,13 @@ return [
// Incidents
'incidents' => [
- 'none' => '沒有任何報告',
- 'past' => '過去的事件',
- 'previous_week' => '上一週',
- 'next_week' => '下一週',
- 'stickied' => 'Stickied Incidents',
- 'scheduled' => '排程維護',
- 'scheduled_at' => ',於:timestamp',
- 'posted' => 'Posted :timestamp',
- 'status' => [
+ 'none' => '沒有任何報告',
+ 'past' => 'Past Incidents',
+ 'stickied' => 'Stickied 事件',
+ 'scheduled' => '排程維護',
+ 'scheduled_at' => ',於:timestamp',
+ 'posted' => '簽名時間戳',
+ 'status' => [
1 => '調查中',
2 => '已辨明',
3 => '警戒中',
diff --git a/resources/lang/zh-TW/dashboard.php b/resources/lang/zh-TW/dashboard.php
index 64515a2f..e9718391 100644
--- a/resources/lang/zh-TW/dashboard.php
+++ b/resources/lang/zh-TW/dashboard.php
@@ -11,7 +11,8 @@
return [
- 'dashboard' => '儀表板',
+ 'dashboard' => '儀表板',
+ 'writeable_settings' => 'The Cachet settings directory is not writeable. Please make sure that ./bootstrap/cachet is writeable by the web server.',
// Incidents
'incidents' => [
@@ -20,6 +21,7 @@ return [
'logged' => '{0} 做得好,沒有任何事件。|你記錄了一個事件。|你回報了 :count 個事件。',
'incident-create-template' => '新增模板',
'incident-templates' => '事件模板',
+ 'updates' => '{0} Zero Updates|One Update|:count Updates',
'add' => [
'title' => '添加事件',
'success' => 'Incident added.',
@@ -34,6 +36,11 @@ return [
'success' => 'The incident has been deleted and will not show on your status page.',
'failure' => 'The incident could not be deleted, please try again.',
],
+ 'update' => [
+ 'title' => 'Create new incident update',
+ 'subtitle' => 'Add an update to :incident',
+ 'success' => 'Update added.',
+ ],
// Incident templates
'templates' => [
@@ -86,12 +93,12 @@ return [
'title' => '添加組件',
'message' => '你應該先新增一個組件。',
'success' => 'Component created.',
- 'failure' => 'Something went wrong with the component, please try again.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
],
'edit' => [
'title' => '編輯組件',
'success' => 'Component updated.',
- 'failure' => 'Something went wrong with the component, please try again.',
+ 'failure' => 'Something went wrong with the component group, please try again.',
],
'delete' => [
'success' => 'The component has been deleted!',
@@ -197,6 +204,9 @@ return [
'analytics' => [
'analytics' => '第三方統計',
],
+ 'log' => [
+ 'log' => 'Log',
+ ],
'localization' => [
'localization' => '國際化',
],
@@ -205,6 +215,14 @@ return [
'header' => 'Custom Header HTML',
'footer' => 'Custom Footer HTML',
],
+ 'mail' => [
+ 'mail' => 'Mail',
+ 'test' => 'Test',
+ 'email' => [
+ 'subject' => 'Test notification from Cachet',
+ 'body' => 'This is a test notification from Cachet.',
+ ],
+ ],
'security' => [
'security' => '安全',
'two-factor' => '下列用戶未使用雙重認證',
@@ -254,14 +272,14 @@ return [
'support' => 'Support Cachet',
'support_subtitle' => 'Check out our Patreon page!',
'news' => 'Latest News',
- 'news_subtitle' => 'Get the latest updates',
+ 'news_subtitle' => 'Get the latest update',
],
// Welcome modal
'welcome' => [
- 'welcome' => 'Welcome to your new status page!',
+ 'welcome' => 'Welcome to your new status page, :username!',
'message' => '你的狀態頁快準備好了!不過你也許先想調整一下以下設定。',
- 'close' => 'Take me straight to my dashboard',
+ 'close' => 'I\'m good thanks!',
'steps' => [
'component' => '新增組件',
'incident' => '新增事件',
diff --git a/resources/lang/zh-TW/forms.php b/resources/lang/zh-TW/forms.php
index 420ea135..3c336120 100644
--- a/resources/lang/zh-TW/forms.php
+++ b/resources/lang/zh-TW/forms.php
@@ -22,7 +22,13 @@ return [
'site_locale' => '選擇你的語言',
'enable_google2fa' => '啟用 Google 兩步驗證',
'cache_driver' => '緩存驅動',
+ 'queue_driver' => 'Queue Driver',
'session_driver' => '會話驅動',
+ 'mail_driver' => 'Mail Driver',
+ 'mail_host' => 'Mail Host',
+ 'mail_address' => 'Mail From Address',
+ 'mail_username' => 'Mail Username',
+ 'mail_password' => 'Mail Password',
],
// Login form fields
@@ -35,6 +41,7 @@ return [
'invalid-token' => '錯誤的驗證碼',
'cookies' => '您必須啟用 cookies 來進行登錄。',
'rate-limit' => 'Rate limit exceeded.',
+ 'remember_me' => 'Remember me',
],
// Incidents form fields
@@ -44,10 +51,12 @@ return [
'component' => '組件',
'message' => '訊息',
'message-help' => '你可以使用 Markdown 。',
- 'scheduled_at' => '排期在什麼時候進行維護?',
- 'incident_time' => '這次事件是什麽時候發生的?',
+ 'occurred_at' => 'When did this incident occur?',
'notify_subscribers' => '通知訂閱者',
'visibility' => 'Incident Visibility',
+ 'stick_status' => 'Stick Incident',
+ 'stickied' => 'Stickied',
+ 'not_stickied' => 'Not Stickied',
'public' => '公共可見',
'logged_in_only' => '僅登錄用戶可見',
'templates' => [
@@ -57,6 +66,20 @@ return [
],
],
+ 'schedules' => [
+ 'name' => '名稱',
+ 'status' => '狀態',
+ 'message' => '訊息',
+ 'message-help' => '你可以使用 Markdown 。',
+ 'scheduled_at' => 'When is this maintenance scheduled for?',
+ 'completed_at' => 'When did this maintenance complete?',
+ 'templates' => [
+ 'name' => '名稱',
+ 'template' => '範本',
+ 'twig' => 'Incident Templates can make use of the Twig templating language.',
+ ],
+ ],
+
// Components form fields
'components' => [
'name' => '名稱',
@@ -69,28 +92,50 @@ return [
'enabled' => '啟用',
'groups' => [
- 'name' => '名稱',
- 'collapsing' => 'Choose visibility of the group',
- 'visible' => 'Always expanded',
- 'collapsed' => 'Collapse the group by default',
- 'collapsed_incident' => 'Collapse the group, but expand if there are issues',
+ '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',
+ ],
+ ],
+
+ // Action form fields
+ 'actions' => [
+ 'name' => '名稱',
+ 'description' => '描述',
+ 'start_at' => 'Schedule start time',
+ 'timezone' => 'Timezone',
+ 'schedule_frequency' => 'Schedule frequency (in seconds)',
+ 'completion_latency' => 'Completion latency (in seconds)',
+ 'group' => '組別',
+ 'active' => 'Active?',
+ 'groups' => [
+ 'name' => 'Group Name',
],
],
// Metric form fields
'metrics' => [
- 'name' => '名稱',
- 'suffix' => '後綴',
- 'description' => '描述',
- 'description-help' => '你也可以使用 Markdown',
- 'display-chart' => '在狀態頁上顯示圖表?',
- 'default-value' => '默認值',
- 'calc_type' => '圖表計算方法',
- 'type_sum' => '總和',
- 'type_avg' => '平均',
- 'places' => '小數點位數',
- 'default_view' => 'Default view',
- 'threshold' => 'How many minutes of threshold between metric points?',
+ 'name' => '名稱',
+ 'suffix' => '後綴',
+ 'description' => '描述',
+ 'description-help' => '你可以使用 Markdown 。',
+ 'display-chart' => '在狀態頁上顯示圖表?',
+ 'default-value' => '默認值',
+ 'calc_type' => '圖表計算方法',
+ 'type_sum' => '總和',
+ 'type_avg' => '平均',
+ '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',
'points' => [
'value' => '值',
@@ -99,17 +144,21 @@ return [
// Settings
'settings' => [
- /// Application setup
+ // Application setup
'app-setup' => [
- 'site-name' => '網站名稱',
- 'site-url' => '網站 URL',
- 'display-graphs' => '在狀態頁上顯示圖片?',
- 'about-this-page' => '關於本站',
- 'days-of-incidents' => '顯示多少天前的事件?',
- 'banner' => 'Banner Image',
- 'banner-help' => '橫幅寬度建議少於 930px 。',
- 'subscribers' => '允許用戶訂閱郵件通知嗎?',
- 'automatic_localization' => 'Automatically localise your status page to your visitor\'s language?',
+ 'site-name' => '網站名稱',
+ 'site-url' => '網站 URL',
+ 'display-graphs' => '在狀態頁上顯示圖片?',
+ 'about-this-page' => '關於本站',
+ 'days-of-incidents' => '顯示多少天前的事件?',
+ 'banner' => 'Banner Image',
+ 'banner-help' => '橫幅寬度建議少於 930px 。',
+ 'subscribers' => '允許用戶訂閱郵件通知嗎?',
+ '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?',
],
'analytics' => [
'analytics_google' => 'Google Analytics 代碼',
@@ -131,12 +180,12 @@ return [
'custom-css' => 'Custom Stylesheet',
],
'theme' => [
- 'background-color' => 'Background Color',
+ 'background-color' => 'Background color',
'background-fills' => '區塊填充色(組件, 事件, 頁尾)',
'banner-background-color' => '横幅背景色',
'banner-padding' => '横幅Padding值',
'fullwidth-banner' => '横幅全寬?',
- 'text-color' => 'Text Color',
+ 'text-color' => 'Text color',
'dashboard-login' => '在頁尾顯示 管理後臺 的入口?',
'reds' => '紅(用於錯誤類提示)',
'blues' => '藍 (用於信息類提示)',
@@ -169,6 +218,10 @@ return [
],
],
+ 'general' => [
+ 'timezone' => 'Select Timezone',
+ ],
+
// Buttons
'add' => '增加',
'save' => '儲存',
diff --git a/resources/lang/zh-TW/notifications.php b/resources/lang/zh-TW/notifications.php
index 4db80e7c..6a65c6bd 100644
--- a/resources/lang/zh-TW/notifications.php
+++ b/resources/lang/zh-TW/notifications.php
@@ -12,54 +12,97 @@
return [
'component' => [
'status_update' => [
- 'subject' => 'Component Status Updated',
- 'title' => 'A component\'s status was updated!',
- 'content' => ':name status changed from :old_status to :new_status.',
+ 'mail' => [
+ 'subject' => 'Component Status Updated',
+ 'greeting' => 'A component\'s status was updated!',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Component Status Updated',
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
+ 'sms' => [
+ 'content' => ':name status changed from :old_status to :new_status.',
+ ],
],
],
'incident' => [
'new' => [
- 'subject' => 'New Incident Reported',
- 'content' => ':name was reported',
- 'title' => 'A new incident was reported at :app_name status page.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Incident Reported',
+ 'greeting' => 'A new incident was reported at :app_name.',
+ 'content' => 'Incident :name was reported',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'Incident :name Reported',
+ 'content' => 'A new incident was reported at :app_name',
+ ],
+ 'sms' => [
+ 'content' => 'A new incident was reported at :app_name.',
+ ],
],
'update' => [
- 'subject' => 'Incident Updated',
- 'content' => ':name was updated',
- 'title' => ':name was updated to :new_status',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'Incident Updated',
+ 'content' => ':name was updated',
+ 'title' => ':name was updated to :new_status',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => ':name Updated',
+ 'content' => ':name was updated to :new_status',
+ ],
+ 'sms' => [
+ 'content' => 'Incident :name was updated',
+ ],
],
],
'schedule' => [
'new' => [
- 'subject' => 'New Schedule Created',
- 'content' => ':name was scheduled for :date',
- 'title' => 'A new scheduled maintenance was created.',
- 'action' => 'View',
+ 'mail' => [
+ 'subject' => 'New Schedule Created',
+ 'content' => ':name was scheduled for :date',
+ 'title' => 'A new scheduled maintenance was created.',
+ 'action' => 'View',
+ ],
+ 'slack' => [
+ 'title' => 'New Schedule Created!',
+ 'content' => ':name was scheduled for :date',
+ ],
+ 'sms' => [
+ 'content' => ':name was scheduled for :date',
+ ],
],
],
'subscriber' => [
'verify' => [
- 'subject' => 'Verify Your Subscription',
- 'content' => 'Click to verify your subscription to :app_name status page.',
- 'title' => 'Verify your subscription to :app_name status page.',
- 'action' => 'Verify',
+ 'mail' => [
+ 'subject' => 'Verify Your Subscription',
+ 'content' => 'Click to verify your subscription to :app_name status page.',
+ 'title' => 'Verify your subscription to :app_name status page.',
+ 'action' => 'Verify',
+ ],
],
],
'system' => [
'test' => [
- 'subject' => 'Ping from Cachet!',
- 'content' => 'This is a test notification from Cachet!',
- 'title' => '🔔',
+ 'mail' => [
+ 'subject' => 'Ping from Cachet!',
+ 'content' => 'This is a test notification from Cachet!',
+ 'title' => '🔔',
+ ],
],
],
'user' => [
'invite' => [
- 'subject' => 'Your invitation is inside...',
- 'content' => 'You have been invited to join :app_name status page.',
- 'title' => 'You\'re invited to join :app_name status page.',
- 'action' => 'Accept',
+ 'mail' => [
+ 'subject' => 'Your invitation is inside...',
+ 'content' => 'You have been invited to join :app_name status page.',
+ 'title' => 'You\'re invited to join :app_name status page.',
+ 'action' => 'Accept',
+ ],
],
],
];
diff --git a/resources/lang/zh-TW/validation.php b/resources/lang/zh-TW/validation.php
index 5f073e43..4305ac57 100644
--- a/resources/lang/zh-TW/validation.php
+++ b/resources/lang/zh-TW/validation.php
@@ -31,60 +31,60 @@ return [
'array' => ':attribute 必須是一個陣列',
'before' => ':attribute 必須在 :date 之前',
'between' => [
- 'numeric' => ':attribute 必須在 :date 之前',
- 'file' => 'The :attribute must be between :min and :max.',
- 'string' => 'The :attribute must be between :min and :max kilobytes.',
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
'array' => 'The :attribute must have between :min and :max items.',
],
- 'boolean' => 'The :attribute must have between :min and :max items.',
- 'confirmed' => 'The :attribute field must be true or false.',
- 'date' => 'The :attribute confirmation does not match.',
- 'date_format' => 'The :attribute is not a valid date.',
- 'different' => 'The :attribute does not match the format :format.',
- 'digits' => 'The :attribute and :other must be different.',
- 'digits_between' => 'The :attribute must be :digits digits.',
- 'email' => 'The :attribute must be between :min and :max digits.',
- 'exists' => 'The :attribute must be a valid email address.',
+ '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.',
+ '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.',
- 'filled' => ':attribute 格式無效',
+ 'filled' => 'The :attribute field is required.',
'image' => ':attribute 必須是圖片',
- 'in' => ':attribute 必須是圖片',
+ 'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field does not exist in :other.',
- 'integer' => 'The selected :attribute is invalid.',
- 'ip' => 'The :attribute must be an integer.',
+ '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 must be a valid IP address.',
- 'file' => 'The :attribute may not be greater than :max.',
- 'string' => 'The :attribute may not be greater than :max kilobytes.',
+ '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.',
],
- 'mimes' => 'The :attribute may not have more than :max items.',
+ 'mimes' => 'The :attribute must be a file of type: :values.',
'min' => [
- 'numeric' => 'The :attribute must be a file of type: :values.',
+ 'numeric' => 'The :attribute must be at least :min.',
'file' => 'The :attribute must be at least :min kilobytes.',
- 'string' => 'The :attribute must be at least :min kilobytes.',
- 'array' => 'The :attribute must be at least :min characters.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ 'array' => 'The :attribute must have at least :min items.',
],
- 'not_in' => 'The :attribute must have at least :min items.',
- 'numeric' => 'The selected :attribute is invalid.',
+ 'not_in' => 'The selected :attribute is invalid.',
+ 'numeric' => 'The :attribute must be a number.',
'present' => 'The :attribute field must be present.',
- 'regex' => 'The :attribute must be a number.',
- 'required' => ':attribute 格式無效',
- 'required_if' => 'The :attribute field is required.',
+ 'regex' => ':attribute 格式無效',
+ '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 :other is :value.',
+ 'required_with' => ':attribute 欄位在 :values 存在時,是必填的',
'required_with_all' => ':attribute 欄位在 :values 存在時,是必填的',
- 'required_without' => ':attribute 欄位在 :values 存在時,是必填的',
- 'required_without_all' => 'The :attribute field is required when :values is not present.',
- 'same' => 'The :attribute field is required when none of :values are present.',
+ '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 and :other must match.',
+ 'numeric' => 'The :attribute must be :size.',
'file' => 'The :attribute must be :size kilobytes.',
'string' => 'The :attribute must be :size characters.',
- 'array' => 'The :attribute must be :size characters.',
+ 'array' => 'The :attribute must contain :size items.',
],
- 'string' => 'The :attribute must contain :size items.',
+ 'string' => 'The :attribute must be a string.',
'timezone' => ':attribute 必須是有效的區域',
'unique' => ':attribute 已經被佔用',
'url' => ':attribute 格式無效',