mirror of
https://github.com/cachethq/cachet.git
synced 2026-03-05 12:37:02 +00:00
Compare commits
60 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c72e5eec8 | ||
|
|
83bc743d79 | ||
|
|
35dcc8c928 | ||
|
|
93d1f8784a | ||
|
|
0450f2f330 | ||
|
|
595b152db5 | ||
|
|
cc15d078bf | ||
|
|
3b568bbc07 | ||
|
|
ae4c414a82 | ||
|
|
5358cf5e1e | ||
|
|
6dedacad57 | ||
|
|
29c9211935 | ||
|
|
7d47546650 | ||
|
|
f5a9941903 | ||
|
|
52b7bf74b9 | ||
|
|
6a59d5ac4d | ||
|
|
19b7b0c3b2 | ||
|
|
d4507e0722 | ||
|
|
47bc73f9e9 | ||
|
|
81fc6479d5 | ||
|
|
c9ca99990c | ||
|
|
e0d35d6e64 | ||
|
|
813be34f25 | ||
|
|
900723105b | ||
|
|
8012a201b9 | ||
|
|
706e7765e1 | ||
|
|
bcff3d0730 | ||
|
|
db5bf005bc | ||
|
|
dac88efce6 | ||
|
|
38ef2630ee | ||
|
|
c215ad4111 | ||
|
|
c899839a7f | ||
|
|
2e5e8b1545 | ||
|
|
7e556d5dba | ||
|
|
331e176fbc | ||
|
|
bde0abe472 | ||
|
|
f2bf2eff68 | ||
|
|
50ab96fc4f | ||
|
|
3cbee1302e | ||
|
|
8d74923e3f | ||
|
|
dbf6fe528c | ||
|
|
2a9d1b4897 | ||
|
|
c2192d7ef7 | ||
|
|
1b580360ac | ||
|
|
15407ad9a3 | ||
|
|
14127de3ca | ||
|
|
57988f0009 | ||
|
|
7ac7344b5e | ||
|
|
472dcfe85a | ||
|
|
77409abc5a | ||
|
|
7548ae7e58 | ||
|
|
074d3457c6 | ||
|
|
205748b182 | ||
|
|
1f4bee67d6 | ||
|
|
2f0df5ab7b | ||
|
|
8fe75f7112 | ||
|
|
b3ee389ca5 | ||
|
|
a40bfd12b7 | ||
|
|
8d86c5e072 | ||
|
|
20ca9ceade |
@@ -1,13 +1,18 @@
|
||||
language: php
|
||||
|
||||
sudo: false
|
||||
|
||||
dist: trusty
|
||||
|
||||
php:
|
||||
- 5.5.9
|
||||
- 5.5
|
||||
- 5.6
|
||||
- 7.0
|
||||
- 7.1
|
||||
- hhvm
|
||||
|
||||
sudo: false
|
||||
before_install: cp .env.example .env
|
||||
|
||||
install: travis_retry composer install --no-interaction --no-scripts --prefer-source
|
||||
|
||||
|
||||
62
README.md
62
README.md
@@ -1,18 +1,14 @@
|
||||
# Cachet
|
||||
|
||||
[](https://styleci.io/repos/26730195/)
|
||||
[](https://travis-ci.org/CachetHQ/Cachet)
|
||||
[](https://travis-ci.org/CachetHQ/Cachet)
|
||||
[](LICENSE)
|
||||
[](http://translate.cachethq.io/project/cachet)
|
||||
[](https://packagist.org/packages/cachethq/cachet)
|
||||
|
||||

|
||||
|
||||
Cachet is a beautiful and powerful open source status page system, a free replacement to services such as StatusPage.io, Status.io and others.
|
||||
|
||||
## Supporting Cachet
|
||||
|
||||
Cachet is a BSD-3-licensed open source project. If you'd like to support future development, check out the [Cachet Patreon campaign](https://patreon.com/jbrooksuk).
|
||||
Cachet is a beautiful and powerful open source status page system.
|
||||
|
||||
## Features
|
||||
|
||||
@@ -25,11 +21,7 @@ Cachet is a BSD-3-licensed open source project. If you'd like to support future
|
||||
- Metrics
|
||||
- Cross-database support: MySQL, PostgreSQL and SQLite
|
||||
- Subscriber notifications via Email
|
||||
- Two factor authentication, with Google Authenticator
|
||||
|
||||
## Usage in production
|
||||
|
||||
The `master` branch of this repository is a development branch and **should not** be used in production. Instead, please check out the latest tag release.
|
||||
- Two factor authentication using Google Authenticator
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -37,15 +29,15 @@ The `master` branch of this repository is a development branch and **should not*
|
||||
- Apache or Nginx server
|
||||
- [Composer](https://getcomposer.org)
|
||||
|
||||
## How to contribute
|
||||
## I'm looking to contribute to this awesome project!
|
||||
|
||||
We're always looking for contributions that improve Cachet. It's easy to get started and you don't even need to know how to write a single line of code!
|
||||
Sweet, we're always looking for contributions that improve Cachet! It's easy to get started and you don't even need to know how to write a single line of code!
|
||||
|
||||
### Contributing as a non-developer/non-designer
|
||||
|
||||
If you're one of the more linguistically talented people in the world who can speak and write more than just English, we're always looking for new [translations](#translations).
|
||||
We're always looking for new [translations](#translations).
|
||||
|
||||
Of course bug reports, feature requests and [documentation](https://docs.cachethq.io) are always being sought after.
|
||||
Of course bug reports, feature requests and [documentation](https://docs.cachethq.io) are always appreciated.
|
||||
|
||||
### Contributing as a designer
|
||||
|
||||
@@ -56,26 +48,28 @@ You'll need to install Node.js, Bower and Gulp.
|
||||
To get started you can do the following:
|
||||
|
||||
1. Install Node.js and our dev dependencies.
|
||||
2. Modify the SCSS files in `./resources/assets/sass/`
|
||||
2. Make your changes to the SCSS files in `./resources/assets/sass/`
|
||||
3. Run `gulp`
|
||||
|
||||
If you're making a lot of changes, you'll find that running `gulp watch` will really help you out!
|
||||
If you're making a lot of changes, you'll find that running `gulp watch` will make life easier for you!
|
||||
|
||||
### Contributing as a developer
|
||||
|
||||
Built using [Laravel](https://laravel.com), Cachet is very easy to jump into. Have a look around you'll find it surprisingly easy!
|
||||
Built using [Laravel](https://laravel.com).
|
||||
|
||||
These extra dependencies are required to develop Cachet:
|
||||
We use these extra dependencies to develop Cachet:
|
||||
|
||||
- Node.js
|
||||
- Gulp
|
||||
- Git
|
||||
|
||||
Once cloned to your local machine, you'll need some demo data! Simply run `php artisan cachet:seed` to get the demo installation on the go.
|
||||
Once cloned to your local machine, you'll need some demo data! Run `php artisan cachet:seed` to get the demo installation ready for action.
|
||||
|
||||
## Installation, Upgrades and Documentation
|
||||
|
||||
You can now find our documentation at [https://docs.cachethq.io](https://docs.cachethq.io).
|
||||
Documentation is found at [https://docs.cachethq.io](https://docs.cachethq.io).
|
||||
|
||||
Here are some useful quick links:
|
||||
|
||||
- [Installing Cachet](https://docs.cachethq.io/docs/installing-cachet)
|
||||
- [Getting started with Docker](https://docs.cachethq.io/docs/get-started-with-docker)
|
||||
@@ -84,25 +78,29 @@ You can now find our documentation at [https://docs.cachethq.io](https://docs.ca
|
||||
|
||||
To test out the demo, you may login to the [Dashboard](https://demo.cachethq.io/dashboard) with the following:
|
||||
|
||||
- **Username:** test or test@test.com
|
||||
- **Password:** test123
|
||||
- **Username:** `test` or `test@test.com`
|
||||
- **Password:** `test123`
|
||||
|
||||
The demo is reset every half hour.
|
||||
|
||||
### Release Notes
|
||||
|
||||
All releases are listed on the [Releases page](https://github.com/CachetHQ/Cachet/releases) of the [Cachet GitHub repository](https://github.com/CachetHQ/Cachet). On the Releases page, you can also find the release notes for each release.
|
||||
We list releases on the [Releases page](https://github.com/CachetHQ/Cachet/releases) of the [Cachet GitHub repository](https://github.com/CachetHQ/Cachet). On the Releases page, you can also find the release notes for each release.
|
||||
|
||||
## Translations
|
||||
|
||||
A special thank you to our [translators](https://crowdin.com/project/cachet/activity_stream), who have allowed us to share Cachet with the world. If you'd like to contribute translations, please check out our [CrowdIn project](https://crowdin.com/project/cachet).
|
||||
If you'd like to contribute translations, please check out our [CrowdIn project](https://crowdin.com/project/cachet).
|
||||
|
||||
> Thank you to our [translators](https://crowdin.com/project/cachet/activity_stream), who have allowed us to share Cachet with the world!
|
||||
|
||||
## Show your support
|
||||
|
||||
Cachet is a BSD-3-licensed open source project.
|
||||
|
||||
## Professional Installation Service
|
||||
|
||||
We offer a professional installation service. To find out more, email us at [support@alt-three.com](mailto:support@alt-three.com?Cachet Installation)
|
||||
|
||||
## Security Vulnerabilities
|
||||
|
||||
If you discover a security vulnerability within Cachet, please send an e-mail to us at support@alt-three.com. All security vulnerabilities will be promptly addressed.
|
||||
|
||||
## Installations
|
||||
|
||||
We offer a paid installation service, which starts at $99 but is subject to change, dependant on your setup and infrastructure.
|
||||
|
||||
To find out more, email us at support@alt-three.com
|
||||
If you discover a security vulnerability within Cachet, please send an e-mail to us at support@alt-three.com. We handle all security vulnerabilities on a case-by-case basis.
|
||||
|
||||
@@ -70,7 +70,7 @@ class ReportIncidentCommandHandler
|
||||
'visible' => $command->visible,
|
||||
];
|
||||
|
||||
if ($command->template) {
|
||||
if (IncidentTemplate::where('slug', '=', $command->template)->first()) {
|
||||
$data['message'] = $this->parseIncidentTemplate($command->template, $command->template_vars);
|
||||
} else {
|
||||
$data['message'] = $command->message;
|
||||
|
||||
@@ -44,17 +44,17 @@ class SubscribeSubscriberCommandHandler
|
||||
|
||||
// Decide what to subscribe the subscriber to.
|
||||
if ($subscriptions = $command->subscriptions) {
|
||||
$subscriptions = Component::whereIn('id', $subscriptions);
|
||||
$components = Component::whereIn('id', $subscriptions)->get();
|
||||
} else {
|
||||
$subscriptions = Component::all();
|
||||
$components = Component::all();
|
||||
}
|
||||
|
||||
foreach ($subscriptions as $component) {
|
||||
$components->map(function ($component) use ($subscriber) {
|
||||
Subscription::create([
|
||||
'subscriber_id' => $subscriber->id,
|
||||
'component_id' => $component->id,
|
||||
]);
|
||||
}
|
||||
});
|
||||
|
||||
if ($command->verified) {
|
||||
dispatch(new VerifySubscriberCommand($subscriber));
|
||||
@@ -62,6 +62,8 @@ class SubscribeSubscriberCommandHandler
|
||||
event(new SubscriberHasSubscribedEvent($subscriber));
|
||||
}
|
||||
|
||||
$subscriber->load('subscriptions');
|
||||
|
||||
return $subscriber;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ namespace CachetHQ\Cachet\Bus\Handlers\Commands\Subscriber;
|
||||
|
||||
use CachetHQ\Cachet\Bus\Commands\Subscriber\UnsubscribeSubscriberCommand;
|
||||
use CachetHQ\Cachet\Bus\Events\Subscriber\SubscriberHasUnsubscribedEvent;
|
||||
use CachetHQ\Cachet\Models\Subscriber;
|
||||
|
||||
class UnsubscribeSubscriberCommandHandler
|
||||
{
|
||||
|
||||
@@ -106,8 +106,8 @@ class SendIncidentEmailNotificationHandler
|
||||
$component = AutoPresenter::decorate($event->incident->component);
|
||||
|
||||
$mail = [
|
||||
'email' => $subscriber->email,
|
||||
'subject' => trans('cachet.subscriber.email.incident.subject', [
|
||||
'email' => $subscriber->email,
|
||||
'subject' => trans('cachet.subscriber.email.incident.subject', [
|
||||
'status' => $incident->human_status,
|
||||
'name' => $incident->name,
|
||||
]),
|
||||
|
||||
@@ -106,9 +106,9 @@ class SendMaintenanceEmailNotificationHandler
|
||||
$component = AutoPresenter::decorate($event->incident->component);
|
||||
|
||||
$mail = [
|
||||
'email' => $subscriber->email,
|
||||
'subject' => trans('cachet.subscriber.email.maintenance.subject', [
|
||||
'name' => $incident->name,
|
||||
'email' => $subscriber->email,
|
||||
'subject' => trans('cachet.subscriber.email.maintenance.subject', [
|
||||
'name' => $incident->name,
|
||||
]),
|
||||
'has_component' => ($event->incident->component) ? true : false,
|
||||
'component_name' => $component ? $component->name : null,
|
||||
|
||||
@@ -46,9 +46,9 @@ class SendSubscriberVerificationEmailHandler
|
||||
public function handle(SubscriberHasSubscribedEvent $event)
|
||||
{
|
||||
$mail = [
|
||||
'email' => $event->subscriber->email,
|
||||
'subject' => 'Confirm your subscription.',
|
||||
'link' => route('subscribe.verify', ['code' => $event->subscriber->verify_code]),
|
||||
'email' => $event->subscriber->email,
|
||||
'subject' => 'Confirm your subscription.',
|
||||
'link' => route('subscribe.verify', ['code' => $event->subscriber->verify_code]),
|
||||
];
|
||||
|
||||
$this->mailer->queue([
|
||||
|
||||
@@ -46,9 +46,9 @@ class SendInviteUserEmailHandler
|
||||
public function handle(UserWasInvitedEvent $event)
|
||||
{
|
||||
$mail = [
|
||||
'email' => $event->invite->email,
|
||||
'subject' => 'You have been invited.',
|
||||
'link' => route('signup.invite', ['code' => $event->invite->code]),
|
||||
'email' => $event->invite->email,
|
||||
'subject' => 'You have been invited.',
|
||||
'link' => route('signup.invite', ['code' => $event->invite->code]),
|
||||
];
|
||||
|
||||
$this->mailer->queue([
|
||||
|
||||
@@ -11,13 +11,38 @@
|
||||
|
||||
namespace CachetHQ\Cachet\Composers;
|
||||
|
||||
use CachetHQ\Cachet\Integrations\Core\System;
|
||||
use CachetHQ\Cachet\Models\Component;
|
||||
use CachetHQ\Cachet\Models\ComponentGroup;
|
||||
use CachetHQ\Cachet\Models\Incident;
|
||||
use Illuminate\Contracts\View\View;
|
||||
|
||||
/**
|
||||
* This is the status page composer.
|
||||
*
|
||||
* @author James Brooks <james@alt-three.com>
|
||||
*/
|
||||
class StatusPageComposer
|
||||
{
|
||||
/**
|
||||
* The system instance.
|
||||
*
|
||||
* @var \CachetHQ\Cachet\Integrations\Contracts\System
|
||||
*/
|
||||
protected $system;
|
||||
|
||||
/**
|
||||
* Create a new status page composer instance.
|
||||
*
|
||||
* @param \CachetHQ\Cachet\Integrations\Contracts\System $system
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(System $system)
|
||||
{
|
||||
$this->system = $system;
|
||||
}
|
||||
|
||||
/**
|
||||
* Index page view composer.
|
||||
*
|
||||
@@ -27,42 +52,7 @@ class StatusPageComposer
|
||||
*/
|
||||
public function compose(View $view)
|
||||
{
|
||||
$totalComponents = Component::enabled()->count();
|
||||
$majorOutages = Component::enabled()->status(4)->count();
|
||||
$isMajorOutage = $totalComponents ? ($majorOutages / $totalComponents) >= 0.5 : false;
|
||||
|
||||
// Default data
|
||||
$withData = [
|
||||
'system_status' => 'info',
|
||||
'system_message' => trans_choice('cachet.service.bad', $totalComponents),
|
||||
'favicon' => 'favicon-high-alert',
|
||||
];
|
||||
|
||||
if ($isMajorOutage) {
|
||||
$withData = [
|
||||
'system_status' => 'danger',
|
||||
'system_message' => trans_choice('cachet.service.major', $totalComponents),
|
||||
'favicon' => 'favicon-high-alert',
|
||||
];
|
||||
} elseif (Component::enabled()->notStatus(1)->count() === 0) {
|
||||
// If all our components are ok, do we have any non-fixed incidents?
|
||||
$incidents = Incident::notScheduled()->orderBy('created_at', 'desc')->get()->filter(function ($incident) {
|
||||
return $incident->status > 0;
|
||||
});
|
||||
$incidentCount = $incidents->count();
|
||||
|
||||
if ($incidentCount === 0 || ($incidentCount >= 1 && (int) $incidents->first()->status === 4)) {
|
||||
$withData = [
|
||||
'system_status' => 'success',
|
||||
'system_message' => trans_choice('cachet.service.good', $totalComponents),
|
||||
'favicon' => 'favicon',
|
||||
];
|
||||
}
|
||||
} else {
|
||||
if (Component::enabled()->whereIn('status', [2, 3])->count() > 0) {
|
||||
$withData['favicon'] = 'favicon-medium-alert';
|
||||
}
|
||||
}
|
||||
$status = $this->system->getStatus();
|
||||
|
||||
// Scheduled maintenance code.
|
||||
$scheduledMaintenance = Incident::scheduled()->orderBy('scheduled_at')->get();
|
||||
@@ -72,7 +62,7 @@ class StatusPageComposer
|
||||
$componentGroups = ComponentGroup::whereIn('id', $usedComponentGroups)->orderBy('order')->get();
|
||||
$ungroupedComponents = Component::enabled()->where('group_id', 0)->orderBy('order')->orderBy('created_at')->get();
|
||||
|
||||
$view->with($withData)
|
||||
$view->with($status)
|
||||
->withComponentGroups($componentGroups)
|
||||
->withUngroupedComponents($ungroupedComponents)
|
||||
->withScheduledMaintenance($scheduledMaintenance);
|
||||
|
||||
@@ -163,13 +163,6 @@ class DemoSeederCommand extends Command
|
||||
'order' => 1,
|
||||
'group_id' => 2,
|
||||
'link' => 'https://styleci.io',
|
||||
], [
|
||||
'name' => 'Patreon Page',
|
||||
'description' => 'Support future development of Cachet.',
|
||||
'status' => 1,
|
||||
'order' => 0,
|
||||
'group_id' => 0,
|
||||
'link' => 'https://patreon.com/jbrooksuk',
|
||||
],
|
||||
];
|
||||
|
||||
|
||||
47
app/Foundation/Providers/IntegrationServiceProvider.php
Normal file
47
app/Foundation/Providers/IntegrationServiceProvider.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Cachet.
|
||||
*
|
||||
* (c) Alt Three Services Limited
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace CachetHQ\Cachet\Foundation\Providers;
|
||||
|
||||
use CachetHQ\Cachet\Integrations\Contracts\System as SystemContract;
|
||||
use CachetHQ\Cachet\Integrations\Core\System;
|
||||
use Illuminate\Contracts\Container\Container;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
/**
|
||||
* This is the integration service provider.
|
||||
*
|
||||
* @author James Brooks <james@alt-three.com>
|
||||
*/
|
||||
class IntegrationServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Register the service provider.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->registerSystem();
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the system class.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function registerSystem()
|
||||
{
|
||||
$this->app->singleton(SystemContract::class, function (Container $app) {
|
||||
return new System();
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Controllers\Api;
|
||||
|
||||
use CachetHQ\Cachet\Integrations\Contracts\System;
|
||||
use CachetHQ\Cachet\Integrations\Releases;
|
||||
|
||||
/**
|
||||
@@ -44,4 +45,19 @@ class GeneralController extends AbstractApiController
|
||||
'latest' => $latest,
|
||||
])->item(CACHET_VERSION);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the system status message.
|
||||
*
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function status()
|
||||
{
|
||||
$system = app()->make(System::class)->getStatus();
|
||||
|
||||
return $this->item([
|
||||
'status' => $system['system_status'],
|
||||
'message' => $system['system_message'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,11 +48,11 @@ class SetupController extends Controller
|
||||
* @var string[]
|
||||
*/
|
||||
protected $mailDrivers = [
|
||||
'smtp' => 'SMTP',
|
||||
'mail' => 'Mail',
|
||||
'sendmail' => 'Sendmail',
|
||||
'mailgun' => 'Mailgun',
|
||||
'mandrill' => 'Mandrill',
|
||||
'smtp' => 'SMTP',
|
||||
'mail' => 'Mail',
|
||||
'sendmail' => 'Sendmail',
|
||||
'mailgun' => 'Mailgun',
|
||||
'mandrill' => 'Mandrill',
|
||||
// 'ses' => 'Amazon SES', this will be available only if aws/aws-sdk-php is installed
|
||||
'sparkpost' => 'SparkPost',
|
||||
'log' => 'Log (Testing)',
|
||||
@@ -149,7 +149,7 @@ class SetupController extends Controller
|
||||
return $input->mail_driver === 'smtp';
|
||||
});
|
||||
|
||||
$v->sometimes(['env.mail_address', 'env.mail_username', 'env.mail_password'], 'required', function ($input) {
|
||||
$v->sometimes(['env.mail_address', 'env.mail_username'], 'required', function ($input) {
|
||||
return $input->mail_driver !== 'log';
|
||||
});
|
||||
|
||||
|
||||
@@ -180,8 +180,6 @@ class SubscribeController extends Controller
|
||||
try {
|
||||
dispatch(new UpdateSubscriberSubscriptionCommand($subscriber, Binput::get('subscriptions')));
|
||||
} catch (ValidationException $e) {
|
||||
dd($e->getMessageBag());
|
||||
|
||||
return Redirect::route('subscribe.manage', $subscriber->verify_code)
|
||||
->withInput(Binput::all())
|
||||
->withTitle(sprintf('%s %s', trans('dashboard.notifications.whoops'), trans('cachet.subscriber.email.failure')))
|
||||
|
||||
@@ -33,6 +33,7 @@ class ApiRoutes
|
||||
$router->group(['middleware' => ['auth.api']], function (Registrar $router) {
|
||||
$router->get('ping', 'GeneralController@ping');
|
||||
$router->get('version', 'GeneralController@version');
|
||||
$router->get('status', 'GeneralController@status');
|
||||
|
||||
$router->get('components', 'ComponentController@getComponents');
|
||||
$router->get('components/groups', 'ComponentGroupController@getGroups');
|
||||
|
||||
@@ -131,7 +131,7 @@ class DashboardRoutes
|
||||
$router->delete('{incident_template}/delete', 'IncidentController@deleteTemplateAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'subscribers.', 'prefix' => 'subscribers'], function (Registrar $router) {
|
||||
$router->group(['as' => 'subscribers.', 'prefix' => 'subscribers'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'SubscriberController@showSubscribers',
|
||||
@@ -144,7 +144,7 @@ class DashboardRoutes
|
||||
$router->delete('{subscriber}/delete', 'SubscriberController@deleteSubscriberAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'metrics.', 'prefix' => 'metrics'], function (Registrar $router) {
|
||||
$router->group(['as' => 'metrics.', 'prefix' => 'metrics'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'MetricController@showMetrics',
|
||||
|
||||
27
app/Integrations/Contracts/System.php
Normal file
27
app/Integrations/Contracts/System.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Cachet.
|
||||
*
|
||||
* (c) Alt Three Services Limited
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace CachetHQ\Cachet\Integrations\Contracts;
|
||||
|
||||
/**
|
||||
* This is the system interface.
|
||||
*
|
||||
* @author James Brooks <james@alt-three.com>
|
||||
*/
|
||||
interface System
|
||||
{
|
||||
/**
|
||||
* Get the entire system status.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getStatus();
|
||||
}
|
||||
70
app/Integrations/Core/System.php
Normal file
70
app/Integrations/Core/System.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Cachet.
|
||||
*
|
||||
* (c) Alt Three Services Limited
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace CachetHQ\Cachet\Integrations\Core;
|
||||
|
||||
use CachetHQ\Cachet\Integrations\Contracts\System as SystemContract;
|
||||
use CachetHQ\Cachet\Models\Component;
|
||||
use CachetHQ\Cachet\Models\Incident;
|
||||
|
||||
/**
|
||||
* This is the core system class.
|
||||
*
|
||||
* @author James Brooks <james@alt-three.com>
|
||||
*/
|
||||
class System implements SystemContract
|
||||
{
|
||||
/**
|
||||
* Get the entire system status.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getStatus()
|
||||
{
|
||||
$enabledScope = Component::enabled();
|
||||
$totalComponents = Component::enabled()->count();
|
||||
$majorOutages = Component::enabled()->status(4)->count();
|
||||
$isMajorOutage = $totalComponents ? ($majorOutages / $totalComponents) >= 0.5 : false;
|
||||
|
||||
// Default data
|
||||
$status = [
|
||||
'system_status' => 'info',
|
||||
'system_message' => trans_choice('cachet.service.bad', $totalComponents),
|
||||
'favicon' => 'favicon-high-alert',
|
||||
];
|
||||
|
||||
if ($isMajorOutage) {
|
||||
$status = [
|
||||
'system_status' => 'danger',
|
||||
'system_message' => trans_choice('cachet.service.major', $totalComponents),
|
||||
'favicon' => 'favicon-high-alert',
|
||||
];
|
||||
} elseif (Component::enabled()->notStatus(1)->count() === 0) {
|
||||
// If all our components are ok, do we have any non-fixed incidents?
|
||||
$incidents = Incident::notScheduled()->orderBy('created_at', 'desc')->get()->filter(function ($incident) {
|
||||
return $incident->status > 0;
|
||||
});
|
||||
$incidentCount = $incidents->count();
|
||||
|
||||
if ($incidentCount === 0 || ($incidentCount >= 1 && (int) $incidents->first()->status === 4)) {
|
||||
$status = [
|
||||
'system_status' => 'success',
|
||||
'system_message' => trans_choice('cachet.service.good', $totalComponents),
|
||||
'favicon' => 'favicon',
|
||||
];
|
||||
}
|
||||
} elseif (Component::enabled()->whereIn('status', [2, 3])->count() > 0) {
|
||||
$status['favicon'] = 'favicon-medium-alert';
|
||||
}
|
||||
|
||||
return $status;
|
||||
}
|
||||
}
|
||||
@@ -47,6 +47,20 @@ abstract class AbstractMetricRepository
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the table names prefix.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getPrefix()
|
||||
{
|
||||
$driver = $this->config->get('database.default');
|
||||
$connection = $this->config->get('database.connections.'.$driver);
|
||||
$prefix = $connection['prefix'];
|
||||
|
||||
return $prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the metrics table name.
|
||||
*
|
||||
@@ -54,10 +68,20 @@ abstract class AbstractMetricRepository
|
||||
*/
|
||||
protected function getTableName()
|
||||
{
|
||||
$driver = $this->config->get('database.default');
|
||||
$connection = $this->config->get('database.connections.'.$driver);
|
||||
$prefix = $connection['prefix'];
|
||||
$prefix = $this->getPrefix();
|
||||
|
||||
return $prefix.'metrics';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the metric points table name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getMetricPointsTableName()
|
||||
{
|
||||
$prefix = $this->getPrefix();
|
||||
|
||||
return $prefix.'metric_points';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ class MySqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
{
|
||||
$dateTime = (new Date())->sub(new DateInterval('PT'.$hour.'H'))->sub(new DateInterval('PT'.$minute.'M'));
|
||||
$timeInterval = $dateTime->format('YmdHi');
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'SUM(mp.`value` * mp.`counter`) AS `value`';
|
||||
@@ -45,7 +46,7 @@ class MySqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
|
||||
$value = 0;
|
||||
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND DATE_FORMAT(mp.`created_at`, '%Y%m%d%H%i') = :timeInterval GROUP BY HOUR(mp.`created_at`), MINUTE(mp.`created_at`)", [
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN $metricPointsTableName mp ON m.id = mp.metric_id WHERE m.id = :metricId AND DATE_FORMAT(mp.`created_at`, '%Y%m%d%H%i') = :timeInterval GROUP BY HOUR(mp.`created_at`), MINUTE(mp.`created_at`)", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $timeInterval,
|
||||
]);
|
||||
@@ -73,6 +74,7 @@ class MySqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
{
|
||||
$dateTime = (new Date())->sub(new DateInterval('PT'.$hour.'H'));
|
||||
$hourInterval = $dateTime->format('YmdH');
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'SUM(mp.`value` * mp.`counter`) AS `value`';
|
||||
@@ -82,7 +84,7 @@ class MySqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
|
||||
$value = 0;
|
||||
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND DATE_FORMAT(mp.`created_at`, '%Y%m%d%H') = :hourInterval GROUP BY HOUR(mp.`created_at`)", [
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN $metricPointsTableName mp ON m.id = mp.metric_id WHERE m.id = :metricId AND DATE_FORMAT(mp.`created_at`, '%Y%m%d%H') = :hourInterval GROUP BY HOUR(mp.`created_at`)", [
|
||||
'metricId' => $metric->id,
|
||||
'hourInterval' => $hourInterval,
|
||||
]);
|
||||
@@ -108,6 +110,7 @@ class MySqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
public function getPointsForDayInWeek(Metric $metric, $day)
|
||||
{
|
||||
$dateTime = (new Date())->sub(new DateInterval('P'.$day.'D'));
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'SUM(mp.`value` * mp.`counter`) AS `value`';
|
||||
@@ -117,7 +120,7 @@ class MySqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
|
||||
$value = 0;
|
||||
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND mp.`created_at` BETWEEN DATE_SUB(mp.`created_at`, INTERVAL 1 WEEK) AND DATE_ADD(NOW(), INTERVAL 1 DAY) AND DATE_FORMAT(mp.`created_at`, '%Y%m%d') = :timeInterval GROUP BY DATE_FORMAT(mp.`created_at`, '%Y%m%d')", [
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN $metricPointsTableName mp ON m.id = mp.metric_id WHERE m.id = :metricId AND mp.`created_at` BETWEEN DATE_SUB(mp.`created_at`, INTERVAL 1 WEEK) AND DATE_ADD(NOW(), INTERVAL 1 DAY) AND DATE_FORMAT(mp.`created_at`, '%Y%m%d') = :timeInterval GROUP BY DATE_FORMAT(mp.`created_at`, '%Y%m%d')", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('Ymd'),
|
||||
]);
|
||||
|
||||
@@ -34,19 +34,20 @@ class PgSqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
*/
|
||||
public function getPointsLastHour(Metric $metric, $hour, $minute)
|
||||
{
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
$dateTime = (new Date())->sub(new DateInterval('PT'.$hour.'H'))->sub(new DateInterval('PT'.$minute.'M'));
|
||||
|
||||
// Default metrics calculations.
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} elseif ($metric->calc_type == Metric::CALC_AVG) {
|
||||
$queryType = 'avg(metric_points.value * metric_points.counter)';
|
||||
$queryType = "avg($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} else {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE m.id = :metricId AND to_char(metric_points.created_at, 'YYYYMMDDHH24MI') = :timeInterval GROUP BY to_char(metric_points.created_at, 'HHMI')", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN $metricPointsTableName ON $metricPointsTableName.metric_id = m.id WHERE m.id = :metricId AND to_char($metricPointsTableName.created_at, 'YYYYMMDDHH24MI') = :timeInterval GROUP BY to_char($metricPointsTableName.created_at, 'HHMI')", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('YmdHi'),
|
||||
]);
|
||||
@@ -73,18 +74,19 @@ class PgSqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
public function getPointsByHour(Metric $metric, $hour)
|
||||
{
|
||||
$dateTime = (new Date())->sub(new DateInterval('PT'.$hour.'H'));
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
|
||||
// Default metrics calculations.
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} elseif ($metric->calc_type == Metric::CALC_AVG) {
|
||||
$queryType = 'avg(metric_points.value * metric_points.counter)';
|
||||
$queryType = "avg($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} else {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE metric_points.metric_id = :metricId AND to_char(metric_points.created_at, 'YYYYMMDDHH24') = :timeInterval GROUP BY to_char(metric_points.created_at, 'H')", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN $metricPointsTableName ON $metricPointsTableName.metric_id = m.id WHERE $metricPointsTableName.metric_id = :metricId AND to_char($metricPointsTableName.created_at, 'YYYYMMDDHH24') = :timeInterval GROUP BY to_char($metricPointsTableName.created_at, 'H')", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('YmdH'),
|
||||
]);
|
||||
@@ -110,6 +112,7 @@ class PgSqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
public function getPointsForDayInWeek(Metric $metric, $day)
|
||||
{
|
||||
$dateTime = (new Date())->sub(new DateInterval('P'.$day.'D'));
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'sum(mp.value * mp.counter) AS value';
|
||||
@@ -118,7 +121,7 @@ class PgSqlRepository extends AbstractMetricRepository implements MetricInterfac
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND mp.created_at BETWEEN (mp.created_at - interval '1 week') AND (now() + interval '1 day') AND to_char(mp.created_at, 'YYYYMMDD') = :timeInterval GROUP BY to_char(mp.created_at, 'YYYYMMDD')", [
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN $metricPointsTableName mp ON m.id = mp.metric_id WHERE m.id = :metricId AND mp.created_at BETWEEN (mp.created_at - interval '1 week') AND (now() + interval '1 day') AND to_char(mp.created_at, 'YYYYMMDD') = :timeInterval GROUP BY to_char(mp.created_at, 'YYYYMMDD')", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('Ymd'),
|
||||
]);
|
||||
|
||||
@@ -30,18 +30,19 @@ class SqliteRepository extends AbstractMetricRepository implements MetricInterfa
|
||||
public function getPointsLastHour(Metric $metric, $hour, $minute)
|
||||
{
|
||||
$dateTime = (new Date())->sub(new DateInterval('PT'.$hour.'H'))->sub(new DateInterval('PT'.$minute.'M'));
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
|
||||
// Default metrics calculations.
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} elseif ($metric->calc_type == Metric::CALC_AVG) {
|
||||
$queryType = 'avg(metric_points.value * metric_points.counter)';
|
||||
$queryType = "avg($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} else {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE m.id = :metricId AND strftime('%Y%m%d%H%M', metric_points.created_at) = :timeInterval GROUP BY strftime('%H%M', metric_points.created_at)", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN $metricPointsTableName ON $metricPointsTableName.metric_id = m.id WHERE m.id = :metricId AND strftime('%Y%m%d%H%M', $metricPointsTableName.created_at) = :timeInterval GROUP BY strftime('%H%M', $metricPointsTableName.created_at)", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('YmdHi'),
|
||||
]);
|
||||
@@ -68,18 +69,19 @@ class SqliteRepository extends AbstractMetricRepository implements MetricInterfa
|
||||
public function getPointsByHour(Metric $metric, $hour)
|
||||
{
|
||||
$dateTime = (new Date())->sub(new DateInterval('PT'.$hour.'H'));
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
|
||||
// Default metrics calculations.
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} elseif ($metric->calc_type == Metric::CALC_AVG) {
|
||||
$queryType = 'avg(metric_points.value * metric_points.counter)';
|
||||
$queryType = "avg($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} else {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE m.id = :metricId AND strftime('%Y%m%d%H', metric_points.created_at) = :timeInterval GROUP BY strftime('%H', metric_points.created_at)", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN $metricPointsTableName ON $metricPointsTableName.metric_id = m.id WHERE m.id = :metricId AND strftime('%Y%m%d%H', $metricPointsTableName.created_at) = :timeInterval GROUP BY strftime('%H', $metricPointsTableName.created_at)", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('YmdH'),
|
||||
]);
|
||||
@@ -105,18 +107,19 @@ class SqliteRepository extends AbstractMetricRepository implements MetricInterfa
|
||||
public function getPointsForDayInWeek(Metric $metric, $day)
|
||||
{
|
||||
$dateTime = (new Date())->sub(new DateInterval('P'.$day.'D'));
|
||||
$metricPointsTableName = $this->getMetricPointsTableName();
|
||||
|
||||
// Default metrics calculations.
|
||||
if (!isset($metric->calc_type) || $metric->calc_type == Metric::CALC_SUM) {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} elseif ($metric->calc_type == Metric::CALC_AVG) {
|
||||
$queryType = 'avg(metric_points.value * metric_points.counter)';
|
||||
$queryType = "avg($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
} else {
|
||||
$queryType = 'sum(metric_points.value * metric_points.counter)';
|
||||
$queryType = "sum($metricPointsTableName.value * $metricPointsTableName.counter)";
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE m.id = :metricId AND metric_points.created_at > date('now', '-7 day') AND strftime('%Y%m%d', metric_points.created_at) = :timeInterval GROUP BY strftime('%Y%m%d', metric_points.created_at)", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN $metricPointsTableName ON $metricPointsTableName.metric_id = m.id WHERE m.id = :metricId AND $metricPointsTableName.created_at > date('now', '-7 day') AND strftime('%Y%m%d', $metricPointsTableName.created_at) = :timeInterval GROUP BY strftime('%Y%m%d', $metricPointsTableName.created_at)", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('Ymd'),
|
||||
]);
|
||||
|
||||
@@ -83,6 +83,13 @@ class CommandSubscriber
|
||||
|
||||
$command->line('Settings cache cleared!');
|
||||
|
||||
// SQLite does not backup.
|
||||
if ($this->config->get('database.default') === 'sqlite') {
|
||||
$command->line('Backup skipped: SQLite is not supported.');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$command->line('Backing up database...');
|
||||
|
||||
try {
|
||||
|
||||
@@ -14,7 +14,6 @@ use Illuminate\Support\Facades\Request;
|
||||
use Jenssegers\Date\Date;
|
||||
|
||||
if (!function_exists('set_active')) {
|
||||
|
||||
/**
|
||||
* Set active class if request is in path.
|
||||
*
|
||||
|
||||
@@ -20,26 +20,28 @@
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.5.9",
|
||||
"laravel/framework": "5.2.39",
|
||||
"ext-xml": "*",
|
||||
"alt-three/badger": "^3.1",
|
||||
"alt-three/bus": "^1.1",
|
||||
"alt-three/emoji": "^3.1",
|
||||
"alt-three/throttle": "^1.0",
|
||||
"alt-three/validator": "^1.5",
|
||||
"aws/aws-sdk-php": "^3.7",
|
||||
"backup-manager/laravel": "^1.1",
|
||||
"backup-manager/laravel": "dev-master#df53f9c9d8c6be5d7a2638f45d54b8fb7bc51e2b",
|
||||
"barryvdh/laravel-cors": "^0.8",
|
||||
"doctrine/dbal": "^2.5",
|
||||
"fedeisas/laravel-mail-css-inliner": "^1.5",
|
||||
"fideloper/proxy": "^3.1",
|
||||
"graham-campbell/binput": "^3.4",
|
||||
"graham-campbell/core": "^5.1",
|
||||
"graham-campbell/exceptions": "^8.6",
|
||||
"graham-campbell/exceptions": "^9.4",
|
||||
"graham-campbell/markdown": "^6.1",
|
||||
"guzzlehttp/guzzle": "^6.2.1",
|
||||
"jenssegers/date": "^3.2",
|
||||
"laravel/framework": "5.2.39",
|
||||
"mccool/laravel-auto-presenter": "^4.3",
|
||||
"pragmarx/google2fa": "^0.7.1",
|
||||
"predis/predis": "^1.1",
|
||||
"rcrowe/twigbridge": "^0.9.2",
|
||||
"roumen/feed": "^2.10.4"
|
||||
},
|
||||
@@ -48,7 +50,7 @@
|
||||
"filp/whoops": "^2.1",
|
||||
"fzaninotto/faker": "^1.6",
|
||||
"graham-campbell/testbench-core": "^1.1",
|
||||
"mockery/mockery": "0.9.5",
|
||||
"mockery/mockery": "0.9.9",
|
||||
"phpunit/phpunit": "4.8.21",
|
||||
"symfony/css-selector": "^3.0",
|
||||
"symfony/dom-crawler": "^3.0"
|
||||
|
||||
1063
composer.lock
generated
1063
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -184,6 +184,7 @@ return [
|
||||
'CachetHQ\Cachet\Foundation\Providers\ComposerServiceProvider',
|
||||
'CachetHQ\Cachet\Foundation\Providers\ConsoleServiceProvider',
|
||||
'CachetHQ\Cachet\Foundation\Providers\ConfigServiceProvider',
|
||||
'CachetHQ\Cachet\Foundation\Providers\IntegrationServiceProvider',
|
||||
'CachetHQ\Cachet\Foundation\Providers\EventServiceProvider',
|
||||
'CachetHQ\Cachet\Foundation\Providers\RepositoryServiceProvider',
|
||||
'CachetHQ\Cachet\Foundation\Providers\RouteServiceProvider',
|
||||
@@ -233,8 +234,8 @@ return [
|
||||
'Validator' => 'Illuminate\Support\Facades\Validator',
|
||||
'View' => 'Illuminate\Support\Facades\View',
|
||||
|
||||
'Binput' => 'GrahamCampbell\Binput\Facades\Binput',
|
||||
'Str' => 'Illuminate\Support\Str',
|
||||
'Binput' => 'GrahamCampbell\Binput\Facades\Binput',
|
||||
'Str' => 'Illuminate\Support\Str',
|
||||
|
||||
],
|
||||
|
||||
|
||||
@@ -76,25 +76,25 @@ return [
|
||||
],
|
||||
|
||||
'pgsql' => [
|
||||
'driver' => 'pgsql',
|
||||
'host' => env('DB_HOST', null),
|
||||
'database' => env('DB_DATABASE', null),
|
||||
'username' => env('DB_USERNAME', null),
|
||||
'password' => env('DB_PASSWORD', null),
|
||||
'port' => env('DB_PORT', '5432'),
|
||||
'charset' => 'utf8',
|
||||
'prefix' => env('DB_PREFIX', null),
|
||||
'schema' => env('DB_SCHEMA', 'public'),
|
||||
'driver' => 'pgsql',
|
||||
'host' => env('DB_HOST', null),
|
||||
'database' => env('DB_DATABASE', null),
|
||||
'username' => env('DB_USERNAME', null),
|
||||
'password' => env('DB_PASSWORD', null),
|
||||
'port' => env('DB_PORT', '5432'),
|
||||
'charset' => 'utf8',
|
||||
'prefix' => env('DB_PREFIX', null),
|
||||
'schema' => env('DB_SCHEMA', 'public'),
|
||||
],
|
||||
|
||||
'sqlsrv' => [
|
||||
'driver' => 'sqlsrv',
|
||||
'host' => env('DB_HOST', null),
|
||||
'database' => env('DB_DATABASE', null),
|
||||
'username' => env('DB_USERNAME', null),
|
||||
'password' => env('DB_PASSWORD', null),
|
||||
'port' => env('DB_PORT', null),
|
||||
'prefix' => env('DB_PREFIX', null),
|
||||
'driver' => 'sqlsrv',
|
||||
'host' => env('DB_HOST', null),
|
||||
'database' => env('DB_DATABASE', null),
|
||||
'username' => env('DB_USERNAME', null),
|
||||
'password' => env('DB_PASSWORD', null),
|
||||
'port' => env('DB_PORT', null),
|
||||
'prefix' => env('DB_PREFIX', null),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
@@ -11,35 +11,35 @@
|
||||
|
||||
return [
|
||||
// Enabled langs
|
||||
'af' => [
|
||||
'af' => [
|
||||
'name' => 'Afrikaans',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'ar' => [
|
||||
'ar' => [
|
||||
'name' => 'Arabic',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'ca' => [
|
||||
'ca' => [
|
||||
'name' => 'Catalan',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'cs' => [
|
||||
'cs' => [
|
||||
'name' => 'Czech',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'da' => [
|
||||
'da' => [
|
||||
'name' => 'Danish',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'de' => [
|
||||
'de' => [
|
||||
'name' => 'Deutsch',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'el' => [
|
||||
'el' => [
|
||||
'name' => 'Greek',
|
||||
'subset' => 'greek,greek-ext',
|
||||
],
|
||||
'en' => [
|
||||
'en' => [
|
||||
'name' => 'English',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
@@ -47,55 +47,55 @@ return [
|
||||
'name' => 'CrowdIn - InContext Localization',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'es' => [
|
||||
'es' => [
|
||||
'name' => 'Español',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'fa' => [
|
||||
'fa' => [
|
||||
'name' => 'Persian',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'fi' => [
|
||||
'fi' => [
|
||||
'name' => 'Finnish',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'fr' => [
|
||||
'fr' => [
|
||||
'name' => 'Français',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'he' => [
|
||||
'he' => [
|
||||
'name' => 'Hebrew',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'hu' => [
|
||||
'hu' => [
|
||||
'name' => 'Hungarian',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'id' => [
|
||||
'id' => [
|
||||
'name' => 'Indonesian',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'it' => [
|
||||
'it' => [
|
||||
'name' => 'Italiano',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'ja' => [
|
||||
'ja' => [
|
||||
'name' => 'Japanese',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'ko' => [
|
||||
'ko' => [
|
||||
'name' => '한글',
|
||||
'subset' => 'latin',
|
||||
],
|
||||
'nl' => [
|
||||
'nl' => [
|
||||
'name' => 'Nederlands',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'no' => [
|
||||
'no' => [
|
||||
'name' => 'Norwegian',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'pl' => [
|
||||
'pl' => [
|
||||
'name' => 'Polski',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
@@ -107,19 +107,19 @@ return [
|
||||
'name' => 'Portuguese, Portugal',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'ro' => [
|
||||
'ro' => [
|
||||
'name' => 'Romanian',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'ru' => [
|
||||
'ru' => [
|
||||
'name' => 'Русский',
|
||||
'subset' => 'latin,cyrillic',
|
||||
],
|
||||
'sq' => [
|
||||
'sq' => [
|
||||
'name' => 'Albanian',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'sr' => [
|
||||
'sr' => [
|
||||
'name' => 'Sebrian (Cyrillic)',
|
||||
'subset' => 'latin,cyrillic,cyrillic-ext',
|
||||
],
|
||||
@@ -127,15 +127,15 @@ return [
|
||||
'name' => 'Swedish',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'tr' => [
|
||||
'tr' => [
|
||||
'name' => 'Turkish',
|
||||
'subset' => 'latin,latin-ext',
|
||||
],
|
||||
'uk' => [
|
||||
'uk' => [
|
||||
'name' => 'Ukranian',
|
||||
'subset' => 'latin,cyrillic-ext',
|
||||
],
|
||||
'vi' => [
|
||||
'vi' => [
|
||||
'name' => 'Vietnamese',
|
||||
'subset' => 'latin,vietnamese',
|
||||
],
|
||||
|
||||
BIN
public/img/ogimage.png
Normal file
BIN
public/img/ogimage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'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',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Du er blevet inviteret til :app_name status status side, Klik på linket for at oprette dig.\n:link\nTak, :app_name",
|
||||
'html' => '<p>Du er blevet inviteret til :app_name status side, Klik på linket for at oprette dig.</p><p><a href=":link">:link</a></p><p>Tak, :app_name</p>',
|
||||
'text' => "Du er blevet inviteret til :app_name status status side, Klik på linket for at oprette dig.\n:link\nTak, :app_name",
|
||||
'html' => '<p>Du er blevet inviteret til :app_name status side, Klik på linket for at oprette dig.</p><p><a href=":link">:link</a></p><p>Tak, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Tidszone',
|
||||
'site-locale' => 'Sprog på siden',
|
||||
'date-format' => 'Datoformat',
|
||||
'incident-date-format' => 'Datoformat for hændelser',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Tilladte domæner',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Du wurdest in das Team :app_name Status Seite eingeladen. Um dich zu registrieren klicke den Link.\n:link\nDanke, :app_name",
|
||||
'html' => '<p>Du wurdest in das Team :app_name Status Seite eingeladen. Um dich zu registrieren klicke den Link.</p><p><a href=":link">:link</a></p><p>Danke, :app_name</p>',
|
||||
'text' => "Du wurdest in das Team :app_name Status Seite eingeladen. Um dich zu registrieren klicke den Link.\n:link\nDanke, :app_name",
|
||||
'html' => '<p>Du wurdest in das Team :app_name Status Seite eingeladen. Um dich zu registrieren klicke den Link.</p><p><a href=":link">:link</a></p><p>Danke, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Unterstützer',
|
||||
'license' => 'Cachet ist ein BSD-3-lizensiertes Open Source-Projekt, veröffentlicht von <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Unterstützer & Sponsoren',
|
||||
'backers' => 'Wenn Du die Entwicklung der Software unterstützen möchtest, kannst Du unter <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> einen Beitrag leisten.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Vielen Dank an jeden der :count Unterstützer.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Cachet unterstützen',
|
||||
'support_subtitle' => 'Unterstütze uns unter <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong>!',
|
||||
'news' => 'Aktuelle Neuigkeiten',
|
||||
'news_subtitle' => 'Erhalte die neusten Nachrichten',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Zeitzone ihrer Seite',
|
||||
'site-locale' => 'Sprache ihrer Seite',
|
||||
'date-format' => 'Datumsformat',
|
||||
'incident-date-format' => 'Vorfall Zeitstempel-Format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Erlaubte Domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Έχετε προσκληθεί στη σελίδα ενημερώσεων της ομάδας :app_name, εγγραφείτε στον παρακάτω σύνδεσμο.\n:link\nΕυχαριστούμε, :app_name",
|
||||
'html' => '<p>Έχετε προσκληθεί στη σελίδα ενημερώσεων της ομάδας :app_name, εγγραφείτε στον παρακάτω σύνδεσμο.</p><p><a href=":link">:link</a></p><p>Ευχαριστούμε, :app_name</p>',
|
||||
'text' => "Έχετε προσκληθεί στη σελίδα ενημερώσεων της ομάδας :app_name, εγγραφείτε στον παρακάτω σύνδεσμο.\n:link\nΕυχαριστούμε, :app_name",
|
||||
'html' => '<p>Έχετε προσκληθεί στη σελίδα ενημερώσεων της ομάδας :app_name, εγγραφείτε στον παρακάτω σύνδεσμο.</p><p><a href=":link">:link</a></p><p>Ευχαριστούμε, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => 'crwdns553:0crwdne553:0',
|
||||
'html' => 'crwdns555:0crwdne555:0',
|
||||
'text' => 'crwdns553:0crwdne553:0',
|
||||
'html' => 'crwdns555:0crwdne555:0',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'crwdns771:0crwdne771:0',
|
||||
'support_subtitle' => 'crwdns772:0crwdne772:0',
|
||||
'news' => 'crwdns773:0crwdne773:0',
|
||||
'news_subtitle' => 'crwdns774:0crwdne774:0',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'analytics_piwik_siteid' => 'crwdns594:0crwdne594: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' => 'crwdns595:0crwdne595:0',
|
||||
'site-locale' => 'crwdns596:0crwdne596:0',
|
||||
'date-format' => 'crwdns597:0crwdne597:0',
|
||||
'incident-date-format' => 'crwdns598:0crwdne598:0',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'crwdns599:0crwdne599:0',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest update',
|
||||
],
|
||||
|
||||
@@ -123,10 +123,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Te han invitado a la página de estado del equipo de :app_name, para registrarte sigue este enlace.\n:link\nGracias, :app_name",
|
||||
'html' => '<p>Has sido invitado a la página de estado del equipo :app_name, para inscribirte sigue el siguiente enlace.</p><p><a href=":link">:link</a></p><p>Gracias, :app_name</p>',
|
||||
'text' => "Te han invitado a la página de estado del equipo de :app_name, para registrarte sigue este enlace.\n:link\nGracias, :app_name",
|
||||
'html' => '<p>Has sido invitado a la página de estado del equipo :app_name, para inscribirte sigue el siguiente enlace.</p><p><a href=":link">:link</a></p><p>Gracias, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Colaboradores',
|
||||
'license' => 'Cachet es un proyecto de código libre bajo la licencia BSD-3, liberado por <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Patrocinadores',
|
||||
'backers' => 'Si desea apoyar futuros desarrollos, ingrese a la campaña de <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a>.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Gracias a todos y cada uno de los :count colaboradores.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Apoye Cachet',
|
||||
'support_subtitle' => '¡Visite nuestro proyecto en la página de <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong>!',
|
||||
'news' => 'Últimas noticias',
|
||||
'news_subtitle' => 'Obtener las actualizaciones más recientes',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'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',
|
||||
|
||||
@@ -92,8 +92,8 @@ return [
|
||||
'subject' => '[New Incident] :status: :name',
|
||||
],
|
||||
'component' => [
|
||||
'subject' => 'بهروزرسانی وضعیت کامپوننت',
|
||||
'text' => 'کامپوننت :component یک تغییر وضعیت دارد. این کامپوننت هماکنون در حالت :component_human_status قرار دارد.\n
|
||||
'subject' => 'بهروزرسانی وضعیت کامپوننت',
|
||||
'text' => 'کامپوننت :component یک تغییر وضعیت دارد. این کامپوننت هماکنون در حالت :component_human_status قرار دارد.\n
|
||||
با تشکر، :app_name',
|
||||
'html' => '<p> کامپوننت با نام :component_name یک تغییر وضعیت دارد. کامپوننت هماکنون در حالت :component_human_status قرار دارد. </p><p> با تشکر :app_name </p>',
|
||||
'tooltip-title' => 'Subscribe to notifications for :component_name.',
|
||||
@@ -104,8 +104,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Sinut on kutsuttu ryhmään :app_name tila sivulle, rekisteröi tästä: \n:link\n. Kiitos, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "Sinut on kutsuttu ryhmään :app_name tila sivulle, rekisteröi tästä: \n:link\n. Kiitos, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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' => 'Incident timestamp format',
|
||||
'site-timezone' => 'Sivuston aikavyöhyke',
|
||||
'site-locale' => 'Sivuston kieli',
|
||||
'date-format' => 'Päivämäärän muoto',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Sallittu toimialueet',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Vous avez été invité à la page de statut de l'équipe :app_name , veuillez suivre le lien suivant pour vous inscire \n:link\nMerci, :app_name",
|
||||
'html' => '<p>Vous avez été invité à la page de statut de l\'équipe :app_name, veuillez suivre le lien suivant pour vous inscrire.</p><p><a href=":link">:link</a></p><p>Merci, :app_name</p>',
|
||||
'text' => "Vous avez été invité à la page de statut de l'équipe :app_name , veuillez suivre le lien suivant pour vous inscire \n:link\nMerci, :app_name",
|
||||
'html' => '<p>Vous avez été invité à la page de statut de l\'équipe :app_name, veuillez suivre le lien suivant pour vous inscrire.</p><p><a href=":link">:link</a></p><p>Merci, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributeurs',
|
||||
'license' => 'Cachet est un logiciel libre sous licence BSD-3 édité par <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Partenaires financiers et sponsors',
|
||||
'backers' => 'Si vous souhaitez aider des développements futurs jetez un œil à la campagne <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a>.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Merci à chacun des :count contributeurs.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Supportez Cachet',
|
||||
'support_subtitle' => 'Jetez un œil à la page <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong>!',
|
||||
'news' => 'Dernières actualités',
|
||||
'news_subtitle' => 'Obtenez les dernières mises à jour',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'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',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Anda diundang dalam tim Halaman Status :app_name, untuk mendaftar silakan klik tautan berikut \n:link\nTerima kasih, :app_name",
|
||||
'html' => '<p>Anda diundang dalam tim Halaman Status :app_name, untuk mendaftar silakan klik tautan berikut. </p><p><a href=":link">:link</a></p><p>Terima kasih, :app_name</p>',
|
||||
'text' => "Anda diundang dalam tim Halaman Status :app_name, untuk mendaftar silakan klik tautan berikut \n:link\nTerima kasih, :app_name",
|
||||
'html' => '<p>Anda diundang dalam tim Halaman Status :app_name, untuk mendaftar silakan klik tautan berikut. </p><p><a href=":link">:link</a></p><p>Terima kasih, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'analytics_piwik_siteid' => 'ID situs Piwik',
|
||||
],
|
||||
'localization' => [
|
||||
'site-timezone' => 'Zona Waktu',
|
||||
'site-locale' => 'Bahasa',
|
||||
'date-format' => 'Format Tanggal',
|
||||
'incident-date-format' => 'Format Waktu Insiden',
|
||||
'site-timezone' => 'Zona Waktu',
|
||||
'site-locale' => 'Bahasa',
|
||||
'date-format' => 'Format Tanggal',
|
||||
'incident-date-format' => 'Format Waktu Insiden',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Domain yang dibolehkan',
|
||||
|
||||
@@ -81,8 +81,8 @@ return [
|
||||
'failure' => 'Qualcosa è andato storto con l\'iscrizione.',
|
||||
'already-subscribed' => 'Non è possibile iscrivere :email perchè risulta già iscritto.',
|
||||
'verify' => [
|
||||
'text' => "Please confirm your email subscription to :app_name status updates.\n:link",
|
||||
'html' => '<p>Please confirm your email subscription to :app_name status updates.</p>',
|
||||
'text' => "Conferma l'iscrizione a :app_name. \n:link",
|
||||
'html' => 'Per favore conferma la tua iscrizione tramite email su :app_name',
|
||||
'button' => 'Conferma iscrizione',
|
||||
],
|
||||
'maintenance' => [
|
||||
@@ -93,8 +93,8 @@ return [
|
||||
],
|
||||
'component' => [
|
||||
'subject' => 'Aggiornamento di stato del componente',
|
||||
'text' => 'Lo stato del componente: nome_componente è cambiato. Il nuovo stato del componente è :component_human_status.\nGrazie,: app_name',
|
||||
'html' => '<p>Lo stato del componente: nome_componente è cambiato. Il nuovo stato del componente è :component_human_status.</p><p>Grazie, :app_name</p>',
|
||||
'text' => 'Lo stato del componente: :component_name è cambiato. Il nuovo stato del componente è :component_human_status.\nGrazie, :app_name',
|
||||
'html' => '<p>Lo stato del componente :component_name è cambiato. Il nuovo stato del componente è :component_human_status.</p><p>Grazie, :app_name</p>',
|
||||
'tooltip-title' => 'Iscriviti alle notifiche di :component_name.',
|
||||
],
|
||||
],
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Sei stato invitato nel team :app_name status page, per iscriverti segui il prossimo link.\n:link\nGrazie, :app_name",
|
||||
'html' => '<p>Sei stato invitato nel team :app_name status page, per iscriverti segui il prossimo link.</p><p><a href=":link">:link</a></p><p>Grazie, :app_name</p>',
|
||||
'text' => "Sei stato invitato nel team :app_name status page, per iscriverti segui il prossimo link.\n:link\nGrazie, :app_name",
|
||||
'html' => '<p>Sei stato invitato nel team :app_name status page, per iscriverti segui il prossimo link.</p><p><a href=":link">:link</a></p><p>Grazie, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Collaboratori',
|
||||
'license' => 'Cachet è un progetto open source con licenza BSD-3, rilasciato da <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank"> Alt tre Services Limited</a>.',
|
||||
'backers-title' => 'Sostenitori e sponsor',
|
||||
'backers' => 'Se si desidera sostenere lo sviluppo futuro, scopri la campagna <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a>.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Grazie a tutti i :count contributori.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Supporta Cachet',
|
||||
'support_subtitle' => 'Visita la nostra pagina <strong><a href="https://patreon.com/jbrooksuk" target="_blank"> Patreon</a></strong>!',
|
||||
'news' => 'Utime notizie',
|
||||
'news_subtitle' => 'Ottieni l\'aggiornamento più recente',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'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',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => ":app_name 팀의 상태페이지에 초대되었습니다. 가입하시려면 다음 링크를 눌러주세요.\n:link\n감사합니다, :app_name",
|
||||
'html' => '<p>:app_name 팀의 상태페이지에 초대되었습니다. 가입하시려면 다음 링크를 눌러주세요.</p>
|
||||
'text' => ":app_name 팀의 상태페이지에 초대되었습니다. 가입하시려면 다음 링크를 눌러주세요.\n:link\n감사합니다, :app_name",
|
||||
'html' => '<p>:app_name 팀의 상태페이지에 초대되었습니다. 가입하시려면 다음 링크를 눌러주세요.</p>
|
||||
<p><a href=":link">:link</a></p><p>감사합니다, :app_name</p>',
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'analytics_piwik_siteid' => 'Piwik 사이트 id',
|
||||
],
|
||||
'localization' => [
|
||||
'site-timezone' => '사이트 시간대',
|
||||
'site-locale' => '사이트 언어',
|
||||
'date-format' => '날짜 형식',
|
||||
'incident-date-format' => '문제 Timestamp 형식',
|
||||
'site-timezone' => '사이트 시간대',
|
||||
'site-locale' => '사이트 언어',
|
||||
'date-format' => '날짜 형식',
|
||||
'incident-date-format' => '문제 Timestamp 형식',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => '허용된 도메인',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "U bent uitgenodigd voor team :app_name status pagina, om u in te schrijven klik op de volgende link.\n:link\nBedankt, :app_name",
|
||||
'html' => '<p>U bent uitgenodigd voor team :app_name status pagina, om u in te schrijven klik op de volgende link.</p><p><a href=":link">:link</a></p><p>Bedankt, :app_name</p>',
|
||||
'text' => "U bent uitgenodigd voor team :app_name status pagina, om u in te schrijven klik op de volgende link.\n:link\nBedankt, :app_name",
|
||||
'html' => '<p>U bent uitgenodigd voor team :app_name status pagina, om u in te schrijven klik op de volgende link.</p><p><a href=":link">:link</a></p><p>Bedankt, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Bijdragers',
|
||||
'license' => 'Cachet is een BSD-3-gelicentieerd opensourceproject, uitgebracht door <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank"> Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Donateurs & Sponsoren',
|
||||
'backers' => 'Als u de toekomstige ontwikkeling wilt ondersteunen, bezoek de <a href="https://patreon.com/jbrooksuk" target="_blank"> Cachet Patreon</a>-campagne.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Dank aan de :count verschillende medewerkers.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Ondersteuning Cachet',
|
||||
'support_subtitle' => 'Kijk op onze <strong><a href="https://patreon.com/jbrooksuk" target="_blank"> Patreon</a></strong> pagina!',
|
||||
'news' => 'Laatste nieuws',
|
||||
'news_subtitle' => 'Ontvang de nieuwste updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Website tijdzone',
|
||||
'site-locale' => 'Taal van de site',
|
||||
'date-format' => 'Datum formaat',
|
||||
'incident-date-format' => 'Incident tijdsaanduiding',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Toegestane domeinen',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
'text' => "You have been invited to the team :app_name status page, to sign up follow the next link.\n:link\nThank you, :app_name",
|
||||
'html' => '<p>You have been invited to the team :app_name status page, to sign up follow the next link.</p><p><a href=":link">:link</a></p><p>Thank you, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Site timezone',
|
||||
'site-locale' => 'Site language',
|
||||
'date-format' => 'Date format',
|
||||
'incident-date-format' => 'Incident timestamp format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Allowed domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Zostałeś zaproszony do strony statusowej zespołu :app_name. Aby się zapisać, kliknij na link umieszczony dalej.\n:link\nDziękujemy, :app_name",
|
||||
'html' => '<p>Zostałeś zaproszony do strony statusowej zespołu :app_name. Aby się zapisać, kliknij na link umieszczony dalej.</p><p><a href=":link">:link</a></p><p>Dziękujemy, :app_name</p>',
|
||||
'text' => "Zostałeś zaproszony do strony statusowej zespołu :app_name. Aby się zapisać, kliknij na link umieszczony dalej.\n:link\nDziękujemy, :app_name",
|
||||
'html' => '<p>Zostałeś zaproszony do strony statusowej zespołu :app_name. Aby się zapisać, kliknij na link umieszczony dalej.</p><p><a href=":link">:link</a></p><p>Dziękujemy, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
],
|
||||
|
||||
@@ -118,10 +118,10 @@ return [
|
||||
'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',
|
||||
'site-timezone' => 'Zeitzone ihrer Seite',
|
||||
'site-locale' => 'Sprache ihrer Seite',
|
||||
'date-format' => 'Datumsformat',
|
||||
'incident-date-format' => 'Vorfall Zeitstempel-Format',
|
||||
],
|
||||
'security' => [
|
||||
'allowed-domains' => 'Erlaubte Domains',
|
||||
|
||||
@@ -103,8 +103,8 @@ return [
|
||||
'users' => [
|
||||
'email' => [
|
||||
'invite' => [
|
||||
'text' => "Você foi convidado para a página de status da equipe :app_name, para se inscrever siga o próximo link.\n:link\nObrigado,: app_name",
|
||||
'html' => '<p>Você foi convidado para a página de status da equipe :app_name, para se inscrever siga o seguinte link.</p> <p><a href=":link">:link</a></p> <p>Obrigado, :app_name</p>',
|
||||
'text' => "Você foi convidado para a página de status da equipe :app_name, para se inscrever siga o próximo link.\n:link\nObrigado,: app_name",
|
||||
'html' => '<p>Você foi convidado para a página de status da equipe :app_name, para se inscrever siga o seguinte link.</p> <p><a href=":link">:link</a></p> <p>Obrigado, :app_name</p>',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -224,7 +224,7 @@ return [
|
||||
'contributors' => 'Colaboradores',
|
||||
'license' => 'Cachet é um projeto de código aberto com licença BSD-3, lançado pela <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank"> Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Apoiadores e Patrocinadores',
|
||||
'backers' => 'Se você deseja apoiar o desenvolvimento, confira a campanha do <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet no Pantreon</a>.',
|
||||
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
|
||||
'thank-you' => 'Agradeço a cada um dos :count colaboradores.',
|
||||
],
|
||||
],
|
||||
@@ -251,8 +251,6 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Ajude o Cachet',
|
||||
'support_subtitle' => 'Confira nossa campanha no <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong>!',
|
||||
'news' => 'Últimas Notícias',
|
||||
'news_subtitle' => 'Receba as últimas atualizações',
|
||||
],
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user