Compare commits

..

82 Commits
v2.3.18 ... 2.3

Author SHA1 Message Date
James Brooks
7ed480dd64 Merge pull request #4203 from fiveai/fix-api-search-with-pagination
Fix API search with pagination when specifying page
2021-03-29 11:54:58 +01:00
Seb Dangerfield
c040fc334c Ensure only allowed searchable columns are used in DB Query 2021-01-15 18:38:29 +00:00
Seb Dangerfield
48fdf79a8f Test API Pagination and searching 2021-01-15 17:10:19 +00:00
James Brooks
fe3675ff33 Apply fixes from StyleCI (#4072) 2020-08-01 09:18:12 +01:00
James Brooks
94b4fe2d39 Merge pull request #3601 from CachetHQ/l10n_2.3
New Crowdin translations
2020-08-01 09:17:48 +01:00
Cachet Bot
23cd590815 New translations pagination.php (Afrikaans) 2020-07-16 18:01:00 +01:00
Cachet Bot
748962b1c6 New translations forms.php (Swedish) 2020-04-27 09:12:19 +01:00
Cachet Bot
6f0ccb7e76 New translations forms.php (Russian) 2020-04-27 09:12:16 +01:00
Cachet Bot
0c637cc683 New translations forms.php (Vietnamese) 2020-04-27 09:11:44 +01:00
Cachet Bot
ec26e01e8d New translations validation.php (Portuguese, Brazilian) 2020-04-27 09:11:41 +01:00
Cachet Bot
9caecd3268 New translations forms.php (Danish) 2020-04-27 09:11:27 +01:00
Cachet Bot
f7ab99483c New translations forms.php (Romanian) 2020-04-27 09:11:13 +01:00
Cachet Bot
b9c9d28b59 New translations pagination.php (Afrikaans) 2020-04-27 09:11:03 +01:00
Cachet Bot
1d32adb0e6 New translations dashboard.php (Norwegian) 2020-04-27 09:10:47 +01:00
Cachet Bot
e36abd5ce4 New translations forms.php (Polish) 2020-04-27 09:10:41 +01:00
Cachet Bot
735c722918 New translations dashboard.php (Korean) 2020-04-27 09:10:15 +01:00
Cachet Bot
a588cfbd0a New translations validation.php (Czech) 2020-02-18 13:00:12 +00:00
Cachet Bot
8f0e56873e New translations setup.php (Chinese Simplified) 2020-01-13 06:50:15 +00:00
Cachet Bot
dfcf9bd392 New translations forms.php (Chinese Simplified) 2020-01-13 06:50:13 +00:00
Cachet Bot
52c93a0dfe New translations dashboard.php (Chinese Simplified) 2020-01-13 06:50:12 +00:00
Cachet Bot
28a896bf02 New translations cachet.php (Chinese Simplified) 2020-01-13 06:50:11 +00:00
Cachet Bot
06faecf3a7 New translations dashboard.php (Chinese Simplified) 2019-12-10 14:40:22 +00:00
James Brooks
5dfeaa3b6a Merge pull request #3845 from tomecho/2.3-3844-fix
add is_object check for feed result, fixes #3844
2019-11-05 21:43:26 +00:00
Tom Peck
18f5c29a16 add is_object check for feed result, fixes #3844 2019-11-05 15:43:46 -05:00
Cachet Bot
3681d277a4 New translations forms.php (Portuguese, Brazilian) 2019-11-02 10:50:13 +00:00
James Brooks
6752596ba8 Merge pull request #3712 from sigv/bugfix/2.3/gravatar-lowercase
Lowercase email for Gravatar avatars
2019-08-14 07:23:52 +01:00
Cachet Bot
d02ec7f150 New translations cachet.php (Russian) 2019-08-02 23:40:12 +01:00
Valters Jansons
300961cad4 Lowercase email for Gravatar avatars
The Gravatar docs explicitly say that e-mail addresses have
to be lowercased before hashing. In the `2.4` branch this was
already resolved in `0f4c14ac0820562a3155d6f60ea4a7770d19084b`
back in 2016 so it is safe to backport that change to the
latest stable branch for a maintenance patch release.
2019-07-16 21:58:20 +03:00
Cachet Bot
12b6888feb New translations setup.php (Japanese) 2019-07-16 10:50:30 +01:00
Cachet Bot
dde38b08d3 New translations dashboard.php (Japanese) 2019-07-16 10:50:29 +01:00
Cachet Bot
0bdf3f35aa New translations cachet.php (Japanese) 2019-07-16 10:50:27 +01:00
Cachet Bot
1a053ff5b8 New translations forms.php (Polish) 2019-07-11 13:21:54 +01:00
Cachet Bot
7f54029bad New translations forms.php (Norwegian) 2019-07-11 13:21:49 +01:00
Cachet Bot
f50a2c717e New translations forms.php (Italian) 2019-07-11 13:21:46 +01:00
Cachet Bot
a4ab01d9dc New translations forms.php (German) 2019-07-11 13:21:41 +01:00
Cachet Bot
dfa1650936 New translations forms.php (Indonesian) 2019-07-11 13:21:36 +01:00
Cachet Bot
b3f4eb261a New translations forms.php (Swedish) 2019-07-11 13:21:25 +01:00
Cachet Bot
552c029682 New translations forms.php (Zulu) 2019-07-11 13:21:21 +01:00
Cachet Bot
ce833c52bc New translations cachet.php (Zulu) 2019-07-11 13:21:19 +01:00
Cachet Bot
61acfd5dab New translations forms.php (Romanian) 2019-07-11 13:21:13 +01:00
Cachet Bot
72f6b7185d New translations forms.php (Portuguese) 2019-07-11 13:21:07 +01:00
Cachet Bot
39e670edb5 New translations validation.php (Portuguese, Brazilian) 2019-07-11 13:21:05 +01:00
Cachet Bot
0f99a14bd6 New translations forms.php (Spanish) 2019-07-11 13:21:03 +01:00
Cachet Bot
18cccd9a76 New translations forms.php (Russian) 2019-07-11 13:20:57 +01:00
Cachet Bot
f15709850d New translations forms.php (Chinese Simplified) 2019-07-11 13:20:53 +01:00
Cachet Bot
a24604b169 New translations forms.php (Chinese Traditional) 2019-07-11 13:20:49 +01:00
Cachet Bot
5cb438a30b New translations forms.php (French) 2019-07-11 13:20:30 +01:00
Cachet Bot
b43974eb48 New translations forms.php (Danish) 2019-07-11 13:20:26 +01:00
Cachet Bot
c020fd50b7 New translations validation.php (Dutch) 2019-07-11 13:20:23 +01:00
Cachet Bot
b76acbeee1 New translations forms.php (Dutch) 2019-07-11 13:20:22 +01:00
Cachet Bot
f46371bde0 New translations dashboard.php (Czech) 2019-06-25 10:20:15 +01:00
Cachet Bot
5853b43da1 New translations dashboard.php (Czech) 2019-06-25 10:10:14 +01:00
Cachet Bot
d2f3572ffc New translations forms.php (Czech) 2019-06-25 10:00:12 +01:00
Cachet Bot
8b98141c61 New translations cachet.php (Czech) 2019-06-25 10:00:10 +01:00
James Brooks
59ef9023d5 Merge pull request #3645 from anthonybocci/feature/3618-setup-assets-path
Allow Cachet setup not to be at server's root
2019-06-23 08:14:14 +01:00
Cachet Bot
1c371e9fe3 New translations setup.php (Czech) 2019-06-20 15:20:21 +01:00
Cachet Bot
cb518d0d14 New translations validation.php (Czech) 2019-06-20 15:20:20 +01:00
Cachet Bot
64dd4cbf9c New translations pagination.php (Czech) 2019-06-20 15:20:19 +01:00
Cachet Bot
c0513da918 New translations forms.php (Czech) 2019-06-20 15:20:18 +01:00
Cachet Bot
393669beae New translations dashboard.php (Czech) 2019-06-20 15:20:16 +01:00
Cachet Bot
1dfc3683ce New translations forms.php (Czech) 2019-06-20 15:10:16 +01:00
Cachet Bot
99d95a8e11 New translations dashboard.php (Czech) 2019-06-20 15:10:14 +01:00
Cachet Bot
48e8bc84f8 New translations cachet.php (Czech) 2019-06-20 15:00:16 +01:00
Cachet Bot
3e065f6c9c New translations cachet.php (Czech) 2019-06-20 14:30:26 +01:00
Cachet Bot
249de039f6 New translations cachet.php (Czech) 2019-06-20 14:00:18 +01:00
Cachet Bot
cba2eece5f New translations cachet.php (Czech) 2019-06-20 13:50:26 +01:00
Anthony Bocci
fbf141c39d Allow Cachet setup not to be at server's root
Cachet may be installed at the root of its vhost or in a subdirectory,
for example in "/" or under "/status".

The URI we found pointing to some assets were usually not prefixed with
the path, so if Cachet was installed under "/status" the asset
URI pointed to the server root like "/my-asset.js".
It is a problem because that means the behaviour is broken in this case.
The problem was present from the setup, it was not possible to fill the
setup since the path to the scripts and CSS weres wrong.

The "asset" helper is now used and resolves the URI.

See: CachetHQ#3618
2019-06-19 11:20:04 +02:00
Cachet Bot
b639d1e5ab New translations cachet.php (Czech) 2019-06-18 08:50:13 +01:00
Graham Campbell
168e36f224 Updated with the latest cloudflare ips (#3650) 2019-06-15 18:04:26 +01:00
Graham Campbell
87b5b67be4 Upgraded deps (#3616) 2019-05-22 14:24:33 +01:00
James Brooks
f79eef0e88 Merge pull request #3615 from CachetHQ/extra-spaces
Removed extra spaces
2019-05-22 13:56:30 +01:00
Graham Campbell
30978bd125 Removed extra spaces 2019-05-22 13:44:45 +01:00
James Brooks
22b6135541 Bump version for dev 2019-05-14 13:27:46 +01:00
Cachet Bot
0d5cfb17d4 New translations setup.php (Portuguese, Brazilian) 2019-05-14 01:50:12 +01:00
Cachet Bot
429719585f New translations dashboard.php (Portuguese, Brazilian) 2019-05-14 01:50:11 +01:00
Cachet Bot
63a2d9445b New translations dashboard.php (Portuguese, Brazilian) 2019-05-14 01:40:12 +01:00
Cachet Bot
967961787c New translations cachet.php (Portuguese, Brazilian) 2019-05-14 01:40:10 +01:00
Cachet Bot
e281597260 New translations cachet.php (Portuguese, Brazilian) 2019-05-14 01:30:09 +01:00
Cachet Bot
c6b4d9ed5e New translations cachet.php (Portuguese, Brazilian) 2019-05-14 01:20:10 +01:00
Cachet Bot
31eb7086a2 New translations dashboard.php (Portuguese, Brazilian) 2019-05-14 01:10:11 +01:00
Cachet Bot
ae874c704e New translations forms.php (Portuguese, Brazilian) 2019-05-14 01:00:15 +01:00
Cachet Bot
7b2b90a78d New translations cachet.php (Portuguese, Brazilian) 2019-05-14 01:00:13 +01:00
52 changed files with 823 additions and 759 deletions

View File

@@ -1 +1 @@
2.3.18
2.3.19-dev

View File

@@ -39,16 +39,16 @@ class TimezoneLocaleComposer
$langs = call_user_func_array('array_merge', $langs);
$regions = [
'Africa' => DateTimeZone::AFRICA,
'America' => DateTimeZone::AMERICA,
'Antarctica' => DateTimeZone::ANTARCTICA,
'Asia' => DateTimeZone::ASIA,
'Atlantic' => DateTimeZone::ATLANTIC,
'Australia' => DateTimeZone::AUSTRALIA,
'Europe' => DateTimeZone::EUROPE,
'Indian' => DateTimeZone::INDIAN,
'Pacific' => DateTimeZone::PACIFIC,
'UTC' => DateTimeZone::UTC,
'Africa' => DateTimeZone::AFRICA,
'America' => DateTimeZone::AMERICA,
'Antarctica' => DateTimeZone::ANTARCTICA,
'Asia' => DateTimeZone::ASIA,
'Atlantic' => DateTimeZone::ATLANTIC,
'Australia' => DateTimeZone::AUSTRALIA,
'Europe' => DateTimeZone::EUROPE,
'Indian' => DateTimeZone::INDIAN,
'Pacific' => DateTimeZone::PACIFIC,
'UTC' => DateTimeZone::UTC,
];
$timezones = [];

View File

@@ -88,7 +88,7 @@ class ComponentController extends AbstractApiController
$tags = preg_split('/ ?, ?/', Binput::get('tags'));
// For every tag, do we need to create it?
$componentTags = array_map(function ($taggable) use ($component) {
$componentTags = array_map(function ($taggable) {
return Tag::firstOrCreate([
'name' => $taggable,
])->id;
@@ -128,7 +128,7 @@ class ComponentController extends AbstractApiController
$tags = preg_split('/ ?, ?/', Binput::get('tags'));
// For every tag, do we need to create it?
$componentTags = array_map(function ($taggable) use ($component) {
$componentTags = array_map(function ($taggable) {
return Tag::firstOrCreate(['name' => $taggable])->id;
}, $tags);

View File

@@ -148,7 +148,7 @@ class ComponentController extends Controller
$tags = preg_split('/ ?, ?/', $tags);
// For every tag, do we need to create it?
$componentTags = array_map(function ($taggable) use ($component) {
$componentTags = array_map(function ($taggable) {
return Tag::firstOrCreate(['name' => $taggable])->id;
}, $tags);
@@ -201,7 +201,7 @@ class ComponentController extends Controller
$tags = preg_split('/ ?, ?/', $tags);
// For every tag, do we need to create it?
$componentTags = array_map(function ($taggable) use ($component) {
$componentTags = array_map(function ($taggable) {
return Tag::firstOrCreate(['name' => $taggable])->id;
}, $tags);

View File

@@ -85,7 +85,9 @@ class DashboardController extends Controller
$entries = null;
if ($feed = $this->feed->latest()) {
$entries = array_slice($feed->channel->item, 0, 5);
if (is_object($feed)) {
$entries = array_slice($feed->channel->item, 0, 5);
}
}
return View::make('dashboard.index')

View File

@@ -254,7 +254,9 @@ class SetupController extends Controller
$envValue = env($envKey) ?: 'null';
file_put_contents($path, str_replace(
$envKey.'='.$envValue, $envKey.'='.$value, file_get_contents($path)
$envKey.'='.$envValue,
$envKey.'='.$value,
file_get_contents($path)
));
} catch (InvalidPathException $e) {
//

View File

@@ -22,7 +22,10 @@ use McCool\LaravelAutoPresenter\HasPresenter;
class Component extends Model implements HasPresenter
{
use SearchableTrait, SoftDeletes, SortableTrait, ValidatingTrait;
use SearchableTrait;
use SoftDeletes;
use SortableTrait;
use ValidatingTrait;
/**
* List of attributes that have default values.

View File

@@ -20,7 +20,9 @@ use McCool\LaravelAutoPresenter\HasPresenter;
class ComponentGroup extends Model implements HasPresenter
{
use SearchableTrait, SortableTrait, ValidatingTrait;
use SearchableTrait;
use SortableTrait;
use ValidatingTrait;
/**
* The model's attributes.

View File

@@ -23,7 +23,10 @@ use McCool\LaravelAutoPresenter\HasPresenter;
class Incident extends Model implements HasPresenter
{
use SearchableTrait, SoftDeletes, SortableTrait, ValidatingTrait;
use SearchableTrait;
use SoftDeletes;
use SortableTrait;
use ValidatingTrait;
/**
* The attributes that should be casted to native types.

View File

@@ -20,7 +20,8 @@ use McCool\LaravelAutoPresenter\HasPresenter;
class Metric extends Model implements HasPresenter
{
use SortableTrait, ValidatingTrait;
use SortableTrait;
use ValidatingTrait;
/**
* The calculation type of sum.

View File

@@ -34,10 +34,11 @@ trait SearchableTrait
return $query;
}
if (!array_intersect(array_keys($search), $this->searchable)) {
$allowed_search = array_intersect_key($search, array_flip($this->searchable));
if (!$allowed_search) {
return $query;
}
return $query->where($search);
return $query->where($allowed_search);
}
}

View File

@@ -22,7 +22,9 @@ use Illuminate\Support\Facades\Hash;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, CanResetPassword, ValidatingTrait;
use Authenticatable;
use CanResetPassword;
use ValidatingTrait;
/**
* The admin level of user.
@@ -116,7 +118,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
*/
public function getGravatarAttribute($size = 200)
{
return sprintf('https://www.gravatar.com/avatar/%s?size=%d', md5($this->email), $size);
return sprintf('https://www.gravatar.com/avatar/%s?size=%d', md5(strtolower($this->email)), $size);
}
/**

32
composer.lock generated
View File

@@ -327,16 +327,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.93.7",
"version": "3.94.1",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "41fe205dae433d5cd7a48a4117d37a43a44ed0d2"
"reference": "759a565285324d2248b6ee783de541ce65bddd46"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/41fe205dae433d5cd7a48a4117d37a43a44ed0d2",
"reference": "41fe205dae433d5cd7a48a4117d37a43a44ed0d2",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/759a565285324d2248b6ee783de541ce65bddd46",
"reference": "759a565285324d2248b6ee783de541ce65bddd46",
"shasum": ""
},
"require": {
@@ -406,7 +406,7 @@
"s3",
"sdk"
],
"time": "2019-05-10T18:13:26+00:00"
"time": "2019-05-21T18:29:47+00:00"
},
{
"name": "backup-manager/backup-manager",
@@ -2261,16 +2261,16 @@
},
{
"name": "league/flysystem",
"version": "1.0.51",
"version": "1.0.52",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "755ba7bf3fb9031e6581d091db84d78275874396"
"reference": "c5a5097156387970e6f0ccfcdf03f752856f3391"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/755ba7bf3fb9031e6581d091db84d78275874396",
"reference": "755ba7bf3fb9031e6581d091db84d78275874396",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/c5a5097156387970e6f0ccfcdf03f752856f3391",
"reference": "c5a5097156387970e6f0ccfcdf03f752856f3391",
"shasum": ""
},
"require": {
@@ -2341,7 +2341,7 @@
"sftp",
"storage"
],
"time": "2019-03-30T13:22:34+00:00"
"time": "2019-05-20T20:21:14+00:00"
},
{
"name": "mccool/laravel-auto-presenter",
@@ -4183,16 +4183,16 @@
},
{
"name": "twig/twig",
"version": "v1.40.1",
"version": "v1.41.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "35889516bbd6bbe46a600c2c33b03515df4a076e"
"reference": "575cd5028362da591facde1ef5d7b94553c375c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/35889516bbd6bbe46a600c2c33b03515df4a076e",
"reference": "35889516bbd6bbe46a600c2c33b03515df4a076e",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/575cd5028362da591facde1ef5d7b94553c375c9",
"reference": "575cd5028362da591facde1ef5d7b94553c375c9",
"shasum": ""
},
"require": {
@@ -4207,7 +4207,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.40-dev"
"dev-master": "1.41-dev"
}
},
"autoload": {
@@ -4245,7 +4245,7 @@
"keywords": [
"templating"
],
"time": "2019-04-29T14:12:28+00:00"
"time": "2019-05-14T11:59:08+00:00"
},
{
"name": "vlucas/phpdotenv",

View File

@@ -23,27 +23,27 @@ return [
|
*/
'github' => [
'github' => [
'token' => env('GITHUB_TOKEN'),
],
'mailgun' => [
'domain' => env('MAIL_USERNAME'),
'secret' => env('MAIL_PASSWORD'),
],
'mailgun' => [
'domain' => env('MAIL_USERNAME'),
'secret' => env('MAIL_PASSWORD'),
],
'mandrill' => [
'secret' => env('MAIL_PASSWORD'),
],
'mandrill' => [
'secret' => env('MAIL_PASSWORD'),
],
'ses' => [
'key' => env('MAIL_USERNAME'),
'secret' => env('MAIL_PASSWORD'),
'region' => 'us-east-1',
],
'ses' => [
'key' => env('MAIL_USERNAME'),
'secret' => env('MAIL_PASSWORD'),
'region' => 'us-east-1',
],
'sparkpost' => [
'secret' => env('MAIL_PASSWORD'),
],
'sparkpost' => [
'secret' => env('MAIL_PASSWORD'),
],
];

View File

@@ -43,7 +43,7 @@ return [
|
*/
'automatic_localization' => false,
'automatic_localization' => false,
/*
|--------------------------------------------------------------------------

View File

@@ -28,26 +28,27 @@ return [
*/
'proxies' => [
'173.245.48.0/20',
'103.21.244.0/22',
'103.22.200.0/22',
'103.31.4.0/22',
'104.16.0.0/12',
'108.162.192.0/18',
'131.0.72.0/22',
'141.101.64.0/18',
'162.158.0.0/15',
'172.64.0.0/13',
'173.245.48.0/20',
'188.114.96.0/20',
'108.162.192.0/18',
'190.93.240.0/20',
'188.114.96.0/20',
'197.234.240.0/22',
'198.41.128.0/17',
'199.27.128.0/21',
'162.158.0.0/15',
'104.16.0.0/12',
'172.64.0.0/13',
'131.0.72.0/22',
'2400:cb00::/32',
'2405:8100::/32',
'2405:b500::/32',
'2606:4700::/32',
'2803:f800::/32',
'2405:b500::/32',
'2405:8100::/32',
'2a06:98c0::/29',
'2c0f:f248::/32',
],
/*

23
public/build/dist/js/all-83303e6904.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
{
"dist/css/all.css": "dist/css/all-2812406e36.css",
"dist/js/all.js": "dist/js/all-b2c62d4294.js"
}
"dist/js/all.js": "dist/js/all-83303e6904.js"
}

View File

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

View File

@@ -12,90 +12,90 @@
return [
// Components
'components' => [
'last_updated' => 'Last updated :timestamp',
'last_updated' => 'Poslední aktualizace :timestamp',
'status' => [
1 => 'Operational',
2 => 'Performance Issues',
3 => 'Partial Outage',
4 => 'Major Outage',
1 => 'V provozu',
2 => 'Problémy s výkonem',
3 => 'Částečný výpadek',
4 => 'Závažný výpadek',
],
'group' => [
'other' => 'Other Components',
'other' => 'Ostatní služby',
],
],
// Incidents
'incidents' => [
'none' => 'No incidents reported',
'past' => 'Past Incidents',
'previous_week' => 'Previous Week',
'next_week' => 'Next Week',
'scheduled' => 'Scheduled Maintenance',
'scheduled_at' => ', scheduled :timestamp',
'none' => 'Nejsou nahlášeny žádné incidenty',
'past' => 'Minulé incidenty',
'previous_week' => 'Předchozí týden',
'next_week' => 'Následující týden',
'scheduled' => 'Plánovaná údržba',
'scheduled_at' => ', plánované na :timestamp',
'status' => [
0 => 'Scheduled', // TODO: Hopefully remove this.
1 => 'Investigating',
2 => 'Identified',
3 => 'Watching',
4 => 'Fixed',
0 => 'Naplánováno', // TODO: Hopefully remove this.
1 => 'Zkoumání příčiny',
2 => 'Problém identifikován',
3 => 'Sledování',
4 => 'Opraveno',
],
],
// Service Status
'service' => [
'good' => '[0,1] System operational|[2,Inf] All systems are operational',
'bad' => '[0,1] The system is currently experiencing issues|[2,Inf] Some systems are experiencing issues',
'major' => '[0,1] The service experiencing a major outage|[2,Inf] Some systems are experiencing a major outage',
'good' => '[0,1] Služba je v provozu|[2,Inf] Všechny služby fungují bez problémů',
'bad' => '[0,1] Služba má problémy|[2,Inf] Některá ze služeb má problémy',
'major' => '[0,1] Služba má celkový výpadek|[2,Inf] Některé služby mají celkový výpadek',
],
'api' => [
'regenerate' => 'Regenerate API Key',
'revoke' => 'Revoke API Key',
'regenerate' => 'Obnovit API klíč',
'revoke' => 'Zrušit API klíč',
],
// Metrics
'metrics' => [
'filter' => [
'last_hour' => 'Last Hour',
'hourly' => 'Last 12 Hours',
'weekly' => 'Week',
'monthly' => 'Month',
'last_hour' => 'Během poslední hodiny',
'hourly' => 'Posledních 12 hodin',
'weekly' => 'Týden',
'monthly' => 'Měsíc',
],
],
// Subscriber
'subscriber' => [
'subscribe' => 'Subscribe to get the most recent updates',
'button' => 'Subscribe',
'subscribe' => 'Přihlásit se k odběru upozornění',
'button' => 'Přihlásit',
'manage' => [
'no_subscriptions' => 'Aktuálně jsi přihlášen(a) ke všem upozorněním.',
'my_subscriptions' => 'Aktuálně jsi přihlášen(a) k následujícím upozorněním.',
],
'email' => [
'subscribe' => 'Subscribe to email updates.',
'subscribed' => 'You\'ve been subscribed to email notifications, please check your email to confirm your subscription.',
'verified' => 'Your email subscription has been confirmed. Thank you!',
'manage' => 'Manage your subscription',
'unsubscribe' => 'Unsubscribe from email updates.',
'unsubscribed' => 'Your email subscription has been cancelled.',
'failure' => 'Something went wrong with the subscription.',
'already-subscribed' => 'Cannot subscribe :email because they\'re already subscribed.',
'subscribe' => 'Přihlásit se k zasílání upozornění e-mailem.',
'subscribed' => 'Proběhlo přihlášení k e-mailovým upozorněním, potvrďte ho prosím na vašem e-mailu.',
'verified' => 'E-mail pro zasílání upozornění byl ověřen. Děkujeme!',
'manage' => 'Spravovat e-mailové odběry',
'unsubscribe' => 'Odhlásit z odběru e-mailových upozornění.',
'unsubscribed' => 'Odběr e-mailových upozornění byl zrušen.',
'failure' => 'Došlo k chybě při nastavení odběru e-mailů.',
'already-subscribed' => 'Nelze přihlásit k odběru :email, protože je již přihlášen.',
'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>',
'button' => 'Confirm Subscription',
'text' => "Potvrď prosím svůj email k odběru upozornění od :app_name.\n:link",
'html' => '<p>Prosím potvrď svůj email k odběru upozornění pro :app_name.</p>',
'button' => 'Potvrdit odběr',
],
'maintenance' => [
'subject' => '[Maintenance Scheduled] :name',
'subject' => '[Naplánovaná odstávka] :name',
],
'incident' => [
'subject' => '[New Incident] :status: :name',
'subject' => '[Nový incident] :status: :name',
],
'component' => [
'subject' => 'Component Status Update',
'text' => 'The component :component_name has seen a status change. The component is now at :component_human_status.\nThank you, :app_name',
'html' => '<p>The component :component_name has seen a status change. The component is now at :component_human_status.</p><p>Thank you, :app_name</p>',
'tooltip-title' => 'Subscribe to notifications for :component_name.',
'subject' => 'Aktualizace stavu služby',
'text' => 'Byl změněn stav služby :component_name. Služba má nyní stav :component_human_status.\nDěkujeme, :app_name',
'html' => '<p>Byl změněn stav služby :component_name. Služba má nyní stav :component_human_status.</p><p>Děkujeme, :app_name</p>',
'tooltip-title' => 'Přihlásit se k odběru upozornění pro :component_name.',
],
],
],
@@ -110,35 +110,35 @@ return [
],
'signup' => [
'title' => 'Sign Up',
'username' => 'Username',
'email' => 'Email',
'password' => 'Password',
'success' => 'Your account has been created.',
'failure' => 'Something went wrong with the signup.',
'title' => 'Registrovat se',
'username' => 'Uživatelské jméno',
'email' => 'E-mail',
'password' => 'Heslo',
'success' => 'Tvůj účet byl vytvořen.',
'failure' => 'Něco je špatně, nelze se registrovat.',
],
'system' => [
'update' => 'There is a newer version of Cachet available. You can learn how to update <a href="https://docs.cachethq.io/docs/updating-cachet">here</a>!',
'update' => 'Je k dispozici nová verze Cachet. Jak provést update najdeš <a href="https://docs.cachethq.io/docs/updating-cachet">zde</a>!',
],
// Modal
'modal' => [
'close' => 'Close',
'close' => 'Zavřít',
'subscribe' => [
'title' => 'Subscribe to component updates',
'body' => 'Enter your email address to subscribe to updates for this component. If you\'re already subscribed, you\'ll already receive emails for this component.',
'button' => 'Subscribe',
'title' => 'Přihlásit se k odběru upozornění',
'body' => 'Zadej svůj email pro odběr upozornění této služby. Pokud již odebíráš upozornění, budeš nadále dostávat emaily pro tuto službu.',
'button' => 'Přihlásit',
],
],
// Other
'home' => 'Home',
'description' => 'Stay up to date with the latest service updates from :app.',
'powered_by' => 'Powered by <a href="https://cachethq.io" class="links">Cachet</a>.',
'about_this_site' => 'About This Site',
'home' => 'Hlavní stránka',
'description' => 'Držte krok s nejnovějšími aktualizacemi od: app.',
'powered_by' => 'Vytvořeno pomocí <a href="https://cachethq.io" class="links">Cachet</a>.',
'about_this_site' => 'O tomto webu',
'rss-feed' => 'RSS',
'atom-feed' => 'Atom',
'feed' => 'Status Feed',
'feed' => 'Kanál stavů',
];

View File

@@ -11,262 +11,262 @@
return [
'dashboard' => 'Dashboard',
'dashboard' => 'Řídicí panel',
// Incidents
'incidents' => [
'title' => 'Incidents &amp; Schedule',
'incidents' => 'Incidents',
'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported <strong>:count</strong> incidents.',
'incident-create-template' => 'Create Template',
'incident-templates' => 'Incident Templates',
'title' => 'Incidenty &amp; Plánovaná údržba',
'incidents' => 'Incidenty',
'logged' => '{0} Nejsou hlášeny žádné incidenty, dobrá práce. | Zapsali jste jeden incident. | Nahlásili jste <strong>:count</strong> incidenty(ů).',
'incident-create-template' => 'Vytvořit šablonu',
'incident-templates' => 'Šablony incidentů',
'add' => [
'title' => 'Report an incident',
'success' => 'Incident added.',
'failure' => 'There was an error adding the incident, please try again.',
'title' => 'Nahlásit incident',
'success' => 'Incident byl přidán.',
'failure' => 'Došlo k chybě při přidávání události, opakujte akci.',
],
'edit' => [
'title' => 'Edit an incident',
'success' => 'Incident updated.',
'failure' => 'There was an error editing the incident, please try again.',
'title' => 'Upravit incident',
'success' => 'Incident aktualizován.',
'failure' => 'Došlo k chybě při editaci události, opakujte akci.',
],
'delete' => [
'success' => 'The incident has been deleted and will not show on your status page.',
'failure' => 'The incident could not be deleted, please try again.',
'success' => 'Událost byla odstraněna a už se nebude zobrazovat na stavové stránce.',
'failure' => 'Událost se nepodařilo smazat, opakujte akci.',
],
// Incident templates
'templates' => [
'title' => 'Incident Templates',
'title' => 'Šablony incidentů',
'add' => [
'title' => 'Create an incident template',
'message' => 'You should add an incident template.',
'success' => 'Your new incident template has been created.',
'failure' => 'Something went wrong with the incident template.',
'title' => 'Vytvořit šablonu incidentu',
'message' => 'Měli byste přidat šablonu události.',
'success' => 'Byla vytvořena nová šablona události.',
'failure' => 'Se šablonou události se něco pokazilo.',
],
'edit' => [
'title' => 'Edit Template',
'success' => 'The incident template has been updated.',
'failure' => 'Something went wrong updating the incident template',
'title' => 'Upravit šablonu',
'success' => 'Šablona události byla aktualizována.',
'failure' => 'Při aktualizaci šablony incidentu se něco pokazilo',
],
'delete' => [
'success' => 'The incident template has been deleted.',
'failure' => 'The incident template could not be deleted, please try again.',
'success' => 'Šablona události byla smazána.',
'failure' => 'Šablonu události se nepodařilo smazat, opakujte akci.',
],
],
],
// Incident Maintenance
'schedule' => [
'schedule' => 'Scheduled Maintenance',
'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported <strong>:count</strong> schedules.',
'scheduled_at' => 'Scheduled at :timestamp',
'schedule' => 'Plánovaná údržba',
'logged' => '{0} Žádná údržba není v plánu, skvělá práce.|Je v plánu jedna údržba.|Je v plánu <strong>:count</strong> údržb.',
'scheduled_at' => 'Naplánováno na :timestamp',
'add' => [
'title' => 'Add Scheduled Maintenance',
'success' => 'Schedule added.',
'failure' => 'Something went wrong adding the schedule, please try again.',
'title' => 'Přidat plánovanou údržbu',
'success' => 'Údržba byla přidána.',
'failure' => 'Něco se pokazilo při přidávání údržby, zkus to znova.',
],
'edit' => [
'title' => 'Edit Scheduled Maintenance',
'success' => 'Schedule has been updated!',
'failure' => 'Something went wrong editing the schedule, please try again.',
'title' => 'Upravit naplánovanou údržbu',
'success' => 'Údržba byla aktualizovaná!',
'failure' => 'Něco se pokazilo při úpravě údržby, zkus to znova.',
],
'delete' => [
'success' => 'The scheduled maintenance has been deleted and will not show on your status page.',
'failure' => 'The scheduled maintenance could not be deleted, please try again.',
'success' => 'Plánovaná údržba byla smazána a nebude se zobrazovat na hlavní stránce.',
'failure' => 'Plánovaná údržba nemohla být smazána, zkus to znova.',
],
],
// Components
'components' => [
'components' => 'Components',
'component_statuses' => 'Component Statuses',
'listed_group' => 'Grouped under :name',
'components' => 'Služby',
'component_statuses' => 'Stavy služeb',
'listed_group' => 'Seskupeno podle :name',
'add' => [
'title' => 'Add a component',
'message' => 'You should add a component.',
'success' => 'Component created.',
'failure' => 'Something went wrong with the component group, please try again.',
'title' => 'Přidat službu',
'message' => 'Měli byste přidat službu.',
'success' => 'Služba vytvořena.',
'failure' => 'Něco se pokazilo se skupinou služby, zkus to znova.',
],
'edit' => [
'title' => 'Edit a component',
'success' => 'Component updated.',
'failure' => 'Something went wrong with the component group, please try again.',
'title' => 'Upravit službu',
'success' => 'Služba byla aktualizována.',
'failure' => 'Něco se pokazilo se skupinou služby, zkus to znova.',
],
'delete' => [
'success' => 'The component has been deleted!',
'failure' => 'The component could not be deleted, please try again.',
'success' => 'Služba byla smazána!',
'failure' => 'Služba nemůže být odstraněna, opakujte akci.',
],
// Component groups
'groups' => [
'groups' => 'Component group|Component groups',
'no_components' => 'You should add a component group.',
'groups' => 'Skupina služeb|Skupiny služeb',
'no_components' => 'Můžete přidat skupinu služeb.',
'add' => [
'title' => 'Add a component group',
'success' => 'Component group added.',
'failure' => 'Something went wrong with the component group, please try again.',
'title' => 'Přidat skupinu služeb',
'success' => 'Skupina služeb byla přidána.',
'failure' => 'Něco se pokazilo se skupinou služby, zkus to znova.',
],
'edit' => [
'title' => 'Edit a component group',
'success' => 'Component group updated.',
'failure' => 'Something went wrong with the component group, please try again.',
'title' => 'Upravit skupinu komponent',
'success' => 'Skupina služeb byla aktualizována.',
'failure' => 'Něco se pokazilo se skupinou služby, zkus to znova.',
],
'delete' => [
'success' => 'Component group has been deleted!',
'failure' => 'The component group could not be deleted, please try again.',
'success' => 'Skupina služeb byla smazána!',
'failure' => 'Skupina komponent nemohla být smazána, zkus to znova.',
],
],
],
// Metrics
'metrics' => [
'metrics' => 'Metrics',
'metrics' => 'Metriky',
'add' => [
'title' => 'Create a metric',
'message' => 'You should add a metric.',
'success' => 'Metric created.',
'failure' => 'Something went wrong with the metric, please try again.',
'title' => 'Vytvořit metriku',
'message' => 'Měli byste přidat metriku.',
'success' => 'Metrika vytvořena.',
'failure' => 'Něco se pokazilo s metrikou, zkus to znova.',
],
'edit' => [
'title' => 'Edit a metric',
'success' => 'Metric updated.',
'failure' => 'Something went wrong with the metric, please try again.',
'title' => 'Upravit metriku',
'success' => 'Metrika aktualizována.',
'failure' => 'Něco se pokazilo s metrikou, zkus to znova.',
],
'delete' => [
'success' => 'The metric has been deleted and will no longer display on your status page.',
'failure' => 'The metric could not be deleted, please try again.',
'success' => 'Měření bylo smazáno a už se nebude zobrazovat na stavové stránce.',
'failure' => 'Měření nemohlo být odstraněno, opakujte akci.',
],
],
// Subscribers
'subscribers' => [
'subscribers' => 'Subscribers',
'description' => 'Subscribers will receive email updates when incidents are created or components are updated.',
'verified' => 'Verified',
'not_verified' => 'Not verified',
'subscriber' => ':email, subscribed :date',
'no_subscriptions' => 'Subscribed to all updates',
'subscribers' => 'Odběratelé',
'description' => 'Pokud dojde ke vzniku incidentu nebo služby, odběratelé obdrží aktualizace e-mailem.',
'verified' => 'Ověřeno',
'not_verified' => 'Neověřeno',
'subscriber' => ': e-mail, přihlášen: datum',
'no_subscriptions' => 'Přihlášeno k zasílání všech aktualizací',
'add' => [
'title' => 'Add a new subscriber',
'success' => 'Subscriber has been added!',
'failure' => 'Something went wrong adding the subscriber, please try again.',
'help' => 'Enter each subscriber on a new line.',
'title' => 'Přidat nového odběratele',
'success' => 'Odběratel přidán.',
'failure' => 'Něco se pokazilo při přidávání odběratele, opakujte akci.',
'help' => 'Zadejte každého odběratele na nový řádek.',
],
'edit' => [
'title' => 'Update subscriber',
'success' => 'Subscriber has been updated!',
'failure' => 'Something went wrong editing the subscriber, please try again.',
'title' => 'Aktualizovat odeběratele',
'success' => 'Odběratel aktualizován.',
'failure' => 'Něco se pokazilo při úpravě odběratele, zkus to znova.',
],
],
// Team
'team' => [
'team' => 'Team',
'member' => 'Member',
'profile' => 'Profile',
'description' => 'Team Members will be able to add, modify &amp; edit components and incidents.',
'team' => 'Tým',
'member' => 'Člen',
'profile' => 'Profil',
'description' => 'Členové týmu budou moci přidat &amp; upravit komponenty a incidenty.',
'add' => [
'title' => 'Add a new team member',
'success' => 'Team member added.',
'failure' => 'The team member could not be added, please try again.',
'title' => 'Přidat nového člena týmu',
'success' => 'Nový člen týmu byl přidán.',
'failure' => 'Člena týmu se nezdařilo přidat, opakujte akci.',
],
'edit' => [
'title' => 'Update profile',
'success' => 'Profile updated.',
'failure' => 'Something went wrong updating the profile, please try again.',
'title' => 'Aktualizovat profil',
'success' => 'Profil byl aktualizován.',
'failure' => 'Něco se pokazilo při aktualizaci profilu, zkus to znova.',
],
'delete' => [
'success' => 'Team member has been deleted and will no longer have access to the dashboard!',
'failure' => 'The team member could not be added, please try again.',
'success' => 'Člen týmu byl smazán a již nebude mít přístup do řídícího panelu!',
'failure' => 'Člena týmu se nezdařilo přidat, opakujte akci.',
],
'invite' => [
'title' => 'Invite a new team member',
'success' => 'An invite has been sent',
'failure' => 'The invite could not be sent, please try again.',
'title' => 'Pozvat nového člena týmu',
'success' => 'Pozvánka byla odeslána',
'failure' => 'Pozvánka nemohla být odeslána, zkus to znova.',
],
],
// Settings
'settings' => [
'settings' => 'Settings',
'settings' => 'Nastavení',
'app-setup' => [
'app-setup' => 'Application Setup',
'images-only' => 'Only images may be uploaded.',
'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
'app-setup' => 'Nastavení aplikace',
'images-only' => 'Nahrány mohou být pouze obrázky.',
'too-big' => 'Soubor, který nahráváte, je příliš velký. Nahrajte obrázek menší než :velikost',
],
'analytics' => [
'analytics' => 'Analytics',
'analytics' => 'Monitoring přístupů',
],
'localization' => [
'localization' => 'Localization',
'localization' => 'Lokální nastavení',
],
'customization' => [
'customization' => 'Customization',
'header' => 'Custom Header HTML',
'footer' => 'Custom Footer HTML',
'customization' => 'Vlastní nastavení',
'header' => 'Vlastní hlavička HTML',
'footer' => 'Vlastní zápatí HTML',
],
'security' => [
'security' => 'Security',
'two-factor' => 'Users without two-factor authentication',
'security' => 'Zabezpečení',
'two-factor' => 'Uživatelé bez dvoufaktorového ověřování',
],
'stylesheet' => [
'stylesheet' => 'Stylesheet',
'stylesheet' => 'Šablona stylů',
],
'theme' => [
'theme' => 'Theme',
'theme' => 'Nastavení vzhledu',
],
'edit' => [
'success' => 'Settings saved.',
'failure' => 'Settings could not be saved.',
'success' => 'Nastavení uložena.',
'failure' => 'Nastavení nelze uložit.',
],
'credits' => [
'credits' => 'Credits',
'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 CrowdIn and GitHub.',
'thank-you' => 'Thank you to each and every one of the :count contributors.',
'credits' => 'Autoři',
'contributors' => 'Přispěvatelé',
'license' => 'Cachet je open-sourcový projekt pod BSD-3-licencí, vydávaný <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' => 'Podporovatelé a sponzoři',
'backers' => 'Chcete-li podpořit budoucí rozvoj, podívejte se na CrowdIn a GitHub.',
'thank-you' => 'Děkujeme každému z :count přispěvatelů.',
],
],
// Login
'login' => [
'login' => 'Login',
'logged_in' => 'You\'re logged in.',
'welcome' => 'Welcome Back!',
'two-factor' => 'Please enter your token.',
'login' => 'Přihlášení',
'logged_in' => 'Jste přihlášeni.',
'welcome' => 'Vítejte zpět!',
'two-factor' => 'Zadejte prosím váš token.',
],
// Sidebar footer
'help' => 'Help',
'status_page' => 'Status Page',
'logout' => 'Logout',
'help' => 'Nápověda',
'status_page' => 'Stavová stránka',
'logout' => 'Odhlásit',
// Notifications
'notifications' => [
'notifications' => 'Notifications',
'awesome' => 'Awesome.',
'whoops' => 'Whoops.',
'notifications' => 'Oznámení',
'awesome' => 'Vynikající.',
'whoops' => 'Jejda.',
],
// Widgets
'widgets' => [
'news' => 'Latest News',
'news_subtitle' => 'Get the latest update',
'news' => 'Poslední novinky',
'news_subtitle' => 'Získat nejnovější aktualizace',
],
// Welcome modal
'welcome' => [
'welcome' => 'Welcome to your new Status page!',
'message' => 'Your status page is almost ready! You might want to configure these extra settings',
'close' => 'Take me straight to my dashboard',
'welcome' => 'Vítejte na vaší nové stavové stránce!',
'message' => 'Vaše stavová stránka je téměř připravená! Možná si budete chtít nakonfigurovat tato extra nastavení',
'close' => 'Přejít rovnou do řídícího panelu',
'steps' => [
'component' => 'Create components',
'incident' => 'Create incidents',
'customize' => 'Customize',
'team' => 'Add users',
'api' => 'Generate API token',
'two-factor' => 'Two Factor Authentication',
'component' => 'Vytvořit komponenty',
'incident' => 'Vytvořit incident',
'customize' => 'Přizpůsobit',
'team' => 'Přidat uživatele',
'api' => 'Připravit API token',
'two-factor' => 'Dvoufaktorové ověření',
],
],

View File

@@ -13,92 +13,92 @@ return [
// Setup form fields
'setup' => [
'email' => 'Email',
'username' => 'Username',
'password' => 'Password',
'site_name' => 'Site Name',
'site_domain' => 'Site Domain',
'site_timezone' => 'Select your timezone',
'site_locale' => 'Select your language',
'enable_google2fa' => 'Enable Google Two Factor Authentication',
'cache_driver' => 'Cache Driver',
'session_driver' => 'Session Driver',
'mail_driver' => 'Mail Driver',
'mail_host' => 'Mail Host',
'mail_address' => 'Mail From Address',
'mail_username' => 'Mail Username',
'mail_password' => 'Mail Password',
'email' => 'E-mail',
'username' => 'Uživatelské jméno',
'password' => 'Heslo',
'site_name' => 'Název webu',
'site_domain' => 'Doména webu',
'site_timezone' => 'Vyberte vaše časové pásmo',
'site_locale' => 'Vyberte svůj jazyk',
'enable_google2fa' => 'Povolit dvoufaktorové ověřování Google',
'cache_driver' => 'Ovladač cache',
'session_driver' => 'Ovladač sezení',
'mail_driver' => 'Ovladač pro e-mail',
'mail_host' => 'Host pro Mail',
'mail_address' => 'Adresa Mailu',
'mail_username' => 'Uživatelské jméno pro Mail účet',
'mail_password' => 'Heslo pro Mail účet',
],
// Login form fields
'login' => [
'login' => 'Username or Email',
'email' => 'Email',
'password' => 'Password',
'2fauth' => 'Authentication Code',
'invalid' => 'Invalid username or password',
'invalid-token' => 'Invalid token',
'cookies' => 'You must enable cookies to login.',
'rate-limit' => 'Rate limit exceeded.',
'login' => 'Uživatelské jméno nebo e-mail',
'email' => 'E-mail',
'password' => 'Heslo',
'2fauth' => 'Ověřovací kód',
'invalid' => 'Nesprávné uživatelské jméno nebo heslo',
'invalid-token' => 'Neplatný token',
'cookies' => 'Pro přihlášení je třeba povolit soubory cookie.',
'rate-limit' => 'Překročen limit.',
],
// Incidents form fields
'incidents' => [
'name' => 'Name',
'status' => 'Status',
'component' => 'Component',
'message' => 'Message',
'message-help' => 'You may also use Markdown.',
'scheduled_at' => 'When to schedule the maintenance for?',
'incident_time' => 'When did this incident occur?',
'notify_subscribers' => 'Notify subscribers?',
'visibility' => 'Incident Visibility',
'public' => 'Viewable by public',
'logged_in_only' => 'Only visible to logged in users',
'name' => 'Jméno',
'status' => 'Stav',
'component' => 'Komponenta',
'message' => 'Zpráva',
'message-help' => 'Můžete také použít Markdown.',
'scheduled_at' => 'Na kdy naplánovat údržbu?',
'incident_time' => 'Kdy došlo k incidentu?',
'notify_subscribers' => 'Oznámit odběratelům?',
'visibility' => 'Viditelnost incidentu',
'public' => 'Viditelné veřejnosti',
'logged_in_only' => 'Viditelné pouze pro přihlášené uživatele',
'templates' => [
'name' => 'Name',
'template' => 'Template',
'twig' => 'Incident Templates can make use of the <a href="http://twig.sensiolabs.org/" target="_blank">Twig</a> templating language.',
'name' => 'Jméno',
'template' => 'Šablona',
'twig' => 'Šablony pro incidenty mohou používat šablonovací jazyk <a href="http://twig.sensiolabs.org/" target="_blank">Twig</a>.',
],
],
// Components form fields
'components' => [
'name' => 'Name',
'status' => 'Status',
'group' => 'Group',
'description' => 'Description',
'link' => 'Link',
'tags' => 'Tags',
'tags-help' => 'Comma separated.',
'enabled' => 'Component enabled?',
'name' => 'Jméno',
'status' => 'Stav',
'group' => 'Skupina',
'description' => 'Popis',
'link' => 'Odkaz',
'tags' => 'Štítky',
'tags-help' => 'Oddělené čárkou.',
'enabled' => 'Je služba povolena?',
'groups' => [
'name' => 'Name',
'collapsing' => 'Choose visibility of the group',
'visible' => 'Always expanded',
'collapsed' => 'Collapse the group by default',
'collapsed_incident' => 'Collapse the group, but expand if there are issues',
'name' => 'Jméno',
'collapsing' => 'Zvolte viditelnost skupiny',
'visible' => 'Vždy rozbalené',
'collapsed' => 'Sbalit skupinu ve výchozím nastavení',
'collapsed_incident' => 'Sbalit skupinu, ale rozšířit, pokud existují problémy',
],
],
// Metric form fields
'metrics' => [
'name' => 'Name',
'suffix' => 'Suffix',
'description' => 'Description',
'description-help' => 'You may also use Markdown.',
'display-chart' => 'Display chart on status page?',
'default-value' => 'Default value',
'calc_type' => 'Calculation of metrics',
'type_sum' => 'Sum',
'type_avg' => 'Average',
'places' => 'Decimal places',
'default_view' => 'Default view',
'threshold' => 'How many minutes of threshold between metric points?',
'name' => 'Jméno',
'suffix' => 'Přípona',
'description' => 'Popis',
'description-help' => 'Můžete také použít Markdown.',
'display-chart' => 'Zobrazovat graf na stavové stránce?',
'default-value' => 'Výchozí hodnota',
'calc_type' => 'Výpočet metrik',
'type_sum' => 'Celkem',
'type_avg' => 'Průměr',
'places' => 'Počet desetinných míst',
'default_view' => 'Výchozí zobrazení',
'threshold' => 'Jak často se mají snímat metrické body?',
'points' => [
'value' => 'Value',
'value' => 'Hodnota',
],
],
@@ -106,87 +106,87 @@ return [
'settings' => [
/// Application setup
'app-setup' => [
'site-name' => 'Site Name',
'site-url' => 'Site URL',
'display-graphs' => 'Display graphs on status page?',
'about-this-page' => 'About this page',
'days-of-incidents' => 'How many days of incidents to show?',
'banner' => 'Banner Image',
'banner-help' => "It's recommended that you upload files no bigger than 930px wide .",
'subscribers' => 'Allow people to signup to email notifications?',
'automatic_localization' => 'Automatically localise your status page to your visitor\'s language?',
'site-name' => 'Název webu',
'site-url' => 'URL adresa webu',
'display-graphs' => 'Zobrazit grafy na stavové stránce?',
'about-this-page' => 'O této stránce',
'days-of-incidents' => 'Kolik dní incidentů zobrazovat?',
'banner' => 'Obrázek banneru',
'banner-help' => 'Doručuje se nenahrávat soubory větší než 930 pixelů na šířku.',
'subscribers' => 'Umožnit lidem, aby se přihlašovali k odběru e-mailových upozornění?',
'automatic_localization' => 'Automaticky lokalizovat stránku do jazyka návštěvníka?',
],
'analytics' => [
'analytics_google' => 'Google Analytics code',
'analytics_gosquared' => 'GoSquared Analytics code',
'analytics_piwik_url' => 'URL of your Piwik instance (without http(s)://)',
'analytics_piwik_siteid' => 'Piwik\'s site id',
'analytics_google' => 'Kód pro Google Analytics',
'analytics_gosquared' => 'Kód pro GoSquared Analytics',
'analytics_piwik_url' => 'URL tvojí instance Piwik (bez http(s)://)',
'analytics_piwik_siteid' => 'Id webu Piwik',
],
'localization' => [
'site-timezone' => 'Site timezone',
'site-locale' => 'Site language',
'date-format' => 'Date format',
'incident-date-format' => 'Incident timestamp format',
'site-timezone' => 'Časové pásmo webu',
'site-locale' => 'Jazyk webu',
'date-format' => 'Formát datumu',
'incident-date-format' => 'Formát času pro incident',
],
'security' => [
'allowed-domains' => 'Allowed domains',
'allowed-domains-help' => 'Comma separated. The domain set above is automatically allowed by default.',
'allowed-domains' => 'Povolené domény',
'allowed-domains-help' => 'Oddělené čárkami. Výše uvedené domény jsou ve výchozím nastavení automaticky povoleny.',
],
'stylesheet' => [
'custom-css' => 'Custom Stylesheet',
'custom-css' => 'Vlastní šablona stylů',
],
'theme' => [
'background-color' => 'Background Color',
'background-fills' => 'Background fills (components, incidents, footer)',
'banner-background-color' => 'Banner background color',
'banner-padding' => 'Banner padding',
'fullwidth-banner' => 'Enable fullwidth banner?',
'text-color' => 'Text Color',
'dashboard-login' => 'Show dashboard button in the footer?',
'reds' => 'Red (used for errors)',
'blues' => 'Blue (used for information)',
'greens' => 'Green (used for success)',
'yellows' => 'Yellow (used for alerts)',
'oranges' => 'Orange (used for notices)',
'metrics' => 'Metrics fill',
'links' => 'Links',
'background-color' => 'Barva pozadí',
'background-fills' => 'Pozadí výplně (komponenty, incidenty, zápatí)',
'banner-background-color' => 'Barva pozadí banneru',
'banner-padding' => 'Odsazení banneru',
'fullwidth-banner' => 'Povolit banner přes celou obrazovku?',
'text-color' => 'Barva textu',
'dashboard-login' => 'Zobrazit tlačítko Řídící panel v zápatí?',
'reds' => 'Červená (používané pro chyby)',
'blues' => 'Modrá (používané pro informace)',
'greens' => 'Zelená (používá se pro vyřešení problémů)',
'yellows' => 'Žlutá (používá se pro upozornění)',
'oranges' => 'Oranžová (slouží k oznámení)',
'metrics' => 'Vyplnění metrik',
'links' => 'Odkazy',
],
],
'user' => [
'username' => 'Username',
'email' => 'Email',
'password' => 'Password',
'username' => 'Uživatelské jméno',
'email' => 'E-mail',
'password' => 'Heslo',
'api-token' => 'API Token',
'api-token-help' => 'Regenerating your API token will prevent existing applications from accessing Cachet.',
'gravatar' => 'Change your profile picture at Gravatar.',
'user_level' => 'User Level',
'api-token-help' => 'egenerování vašeho API tokenu zabrání současným aplikacím přistupovat ke Cachet.',
'gravatar' => 'Profilový obrázek si změn na Gravatar.',
'user_level' => 'Úroveň uživatele',
'levels' => [
'admin' => 'Admin',
'user' => 'User',
'admin' => 'Správce',
'user' => 'Uživatel',
],
'2fa' => [
'help' => 'Enabling two factor authentication increases security of your account. You will need to download <a href="https://support.google.com/accounts/answer/1066447?hl=en">Google Authenticator</a> or a similar app on to your mobile device. When you login you will be asked to provide a token generated by the app.',
'help' => 'Zapnutí dvoufaktorového ověřování zvýší zabezpečení vašeho účtu. Budete muset stáhnout <a href="https://support.google.com/accounts/answer/1066447?hl=en">Google Authenticator</a> nebo podobnou aplikaci pro mobilní zařízení. Po přihlášení budete vyzváni k zadání tokenu vygenerovaného aplikací.',
],
'team' => [
'description' => 'Invite your team members by entering their email addresses here.',
'description' => 'Pozvi uživatele do týmu zadáním emailové adresy.',
'email' => 'Email #:id',
],
],
// Buttons
'add' => 'Add',
'save' => 'Save',
'update' => 'Update',
'create' => 'Create',
'edit' => 'Edit',
'delete' => 'Delete',
'submit' => 'Submit',
'cancel' => 'Cancel',
'remove' => 'Remove',
'invite' => 'Invite',
'signup' => 'Sign Up',
'add' => 'Přidat',
'save' => 'Uložit',
'update' => 'Aktualizovat',
'create' => 'Vytvořit',
'edit' => 'Upravit',
'delete' => 'Smazat',
'submit' => 'Potvrdit',
'cancel' => 'Zrušit',
'remove' => 'Smazat',
'invite' => 'Pozvat',
'signup' => 'Registrovat se',
// Other
'optional' => '* Optional',
'optional' => '* Volitelné',
];

View File

@@ -22,7 +22,7 @@ return [
|
*/
'previous' => '&laquo; Previous',
'next' => 'Next &raquo;',
'previous' => '&laquo; Předchozí',
'next' => 'Následuující &raquo;',
];

View File

@@ -10,14 +10,14 @@
*/
return [
'setup' => 'Setup',
'title' => 'Setup Cachet',
'service_details' => 'Service Details',
'env_setup' => 'Environment Setup',
'status_page_setup' => 'Status Page Setup',
'show_support' => 'Show support for Cachet?',
'admin_account' => 'Administrator Account',
'complete_setup' => 'Complete Setup',
'completed' => 'Cachet has been configured successfully!',
'finish_setup' => 'Go to dashboard',
'setup' => 'Instalace',
'title' => 'Instalace Cachet',
'service_details' => 'Podrobnosti o službě',
'env_setup' => 'Nastavení prostředí',
'status_page_setup' => 'Nastavení Stavové stránky',
'show_support' => 'Zobrazit podporu pro Cachet?',
'admin_account' => 'Účet správce',
'complete_setup' => 'Dokončení instalace',
'completed' => 'Cachet byl úspěšně nakonfigurován!',
'finish_setup' => 'Přejít na dashboard',
];

View File

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

View File

@@ -14,7 +14,7 @@ return [
// Setup form fields
'setup' => [
'email' => 'Email',
'username' => 'Username',
'username' => 'Brugernavn',
'password' => 'Adgangskode',
'site_name' => 'Sidenavn',
'site_domain' => 'Sidens domæne',
@@ -34,7 +34,7 @@ return [
'login' => [
'login' => 'Brugernavn eller email',
'email' => 'Email',
'password' => 'Password',
'password' => 'Adgangskode',
'2fauth' => 'Bekræftelseskode',
'invalid' => 'Ugyldigt brugernavn eller adgangskode',
'invalid-token' => 'Ugyldig token',
@@ -56,7 +56,7 @@ return [
'public' => 'Kan ses af alle',
'logged_in_only' => 'Kun synlig for brugere der er logget ind',
'templates' => [
'name' => 'Name',
'name' => 'Navn',
'template' => 'Skabelon',
'twig' => 'Hændelse skabeloner kan gøre brug af <a href="http://twig.sensiolabs.org/" target="_blank"> Twigs</a> skabelon sprog.',
],
@@ -64,7 +64,7 @@ return [
// Components form fields
'components' => [
'name' => 'Name',
'name' => 'Navn',
'status' => 'Status',
'group' => 'Gruppe',
'description' => 'Beskrivelse',
@@ -74,7 +74,7 @@ return [
'enabled' => 'Komponent er aktivt',
'groups' => [
'name' => 'Name',
'name' => 'Navn',
'collapsing' => 'Choose visibility of the group',
'visible' => 'Altid åben',
'collapsed' => 'Minimer gruppen som standard',
@@ -84,10 +84,10 @@ return [
// Metric form fields
'metrics' => [
'name' => 'Name',
'name' => 'Navn',
'suffix' => 'Endelse',
'description' => 'Description',
'description-help' => 'You may also use Markdown.',
'description' => 'Beskrivelse',
'description-help' => 'Du kan benytte Markdown.',
'display-chart' => 'Vis graf på statussiden?',
'default-value' => 'Standard værdi',
'calc_type' => 'Beregning af grafer',
@@ -156,7 +156,7 @@ return [
'user' => [
'username' => 'Brugernavn',
'email' => 'Email',
'password' => 'Password',
'password' => 'Adgangskode',
'api-token' => 'API nøgle',
'api-token-help' => 'Hvis du regenerere din API nøgle vil eksisterende applikationer ikke kunne tilgå API\'et.',
'gravatar' => 'Ændre dit profilbillede hos Gravatar.',

View File

@@ -44,8 +44,8 @@ return [
// Service Status
'service' => [
'good' => '全システムが正常に稼動しています',
'bad' => '[0,1] The system is currently experiencing issues|[2,Inf] Some systems are experiencing issues',
'major' => '[0,1] The service experiencing a major outage|[2,Inf] Some systems are experiencing a major outage',
'bad' => '一部のシステムに問題が発生しています ',
'major' => 'システムに深刻な問題が発生しています',
],
'api' => [
@@ -65,7 +65,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Subscribe to get the most recent updates',
'subscribe' => '最新の更新情報を購読する',
'button' => '購読',
'manage' => [
'no_subscriptions' => '現在、すべてのアップデートを購読しています。',

View File

@@ -15,7 +15,7 @@ return [
// Incidents
'incidents' => [
'title' => 'Incidents &amp; Schedule',
'title' => '障害・メンテナンス',
'incidents' => 'Incidents',
'logged' => '{0} There are no incidents, good work.|You have logged one incident.|You have reported <strong>:count</strong> incidents.',
'incident-create-template' => 'Create Template',
@@ -164,7 +164,7 @@ return [
'team' => 'Team',
'member' => 'Member',
'profile' => 'Profile',
'description' => 'Team Members will be able to add, modify &amp; edit components and incidents.',
'description' => 'チームメンバーを追加すると、サービスや障害情報の追加、編集をチームで行うことができます。',
'add' => [
'title' => 'Add a new team member',
'success' => 'Team member added.',
@@ -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 CrowdIn and GitHub.',
'backers' => '開発に興味をお持ちの場合は次をご確認ください。 <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> キャンペーン',
'thank-you' => 'Thank you to each and every one of the :count contributors.',
],
],

View File

@@ -11,7 +11,7 @@
return [
'setup' => 'Setup',
'title' => 'Setup Cachet',
'title' => 'Cachetのセットアップ',
'service_details' => 'Service Details',
'env_setup' => 'Environment Setup',
'status_page_setup' => 'Status Page Setup',

View File

@@ -58,7 +58,7 @@ return [
// Incident Maintenance
'schedule' => [
'schedule' => 'Scheduled Maintenance',
'schedule' => '예정된 유지 보수',
'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported <strong>:count</strong> schedules.',
'scheduled_at' => 'Scheduled at :timestamp',
'add' => [

View File

@@ -32,59 +32,59 @@ return [
'before' => ':attribute moet een datum vóór :date zijn.',
'between' => [
'numeric' => ':attribute moet een datum vóór :date zijn.',
'file' => 'The :attribute must be between :min and :max.',
'string' => 'The :attribute must be between :min and :max kilobytes.',
'file' => ':attribute moet tussen :min en de :max zijn.',
'string' => ':attribute moet tussen de :min en de :max aantal kilobytes zijn.',
'array' => ':attribute moet tussen :min en :max items hebben.',
],
'boolean' => ':attribute moet tussen :min en :max items hebben.',
'confirmed' => 'The :attribute field must be true or false.',
'date' => 'The :attribute confirmation does not match.',
'date_format' => 'The :attribute is not a valid date.',
'different' => 'The :attribute does not match the format :format.',
'digits' => 'The :attribute and :other must be different.',
'digits_between' => 'The :attribute must be :digits digits.',
'email' => 'The :attribute must be between :min and :max digits.',
'exists' => 'The :attribute must be a valid email address.',
'confirmed' => 'Het :attribute veld moet waar of onwaar zijn.',
'date' => 'De :attribute bevestiging komt niet overeen.',
'date_format' => ':attribute is geen geldige datum.',
'different' => ':attribute komt niet overeen met het volgende formaat :format.',
'digits' => ':attribute en :other mogen niet hetzelfde zijn.',
'digits_between' => ':attribute moet uit :digits cijfers bestaan.',
'email' => ':attribute moet tussen de :min en :max cijfers zijn.',
'exists' => ':attribute moet een geldig e-mail adres zijn.',
'distinct' => 'Het :attribute veld heeft een dubbele waarde.',
'filled' => 'Het :attribute-formaat is ongeldig.',
'image' => ':attribute moet een afbeelding zijn.',
'in' => ':attribute moet een afbeelding zijn.',
'in_array' => 'Het :attribute veld bestaat niet in :other.',
'integer' => 'The selected :attribute is invalid.',
'ip' => 'The :attribute must be an integer.',
'integer' => 'Het geselecteerde :attribute is ongeldig.',
'ip' => ':attribute moet een geheel getal zijn.',
'json' => ':attribute moet een valide JSON tekst zijn.',
'max' => [
'numeric' => 'The :attribute must be a valid IP address.',
'file' => 'The :attribute may not be greater than :max.',
'string' => 'The :attribute may not be greater than :max kilobytes.',
'numeric' => 'Het :attribute moet een geldig IP-adres zijn.',
'file' => ':attribute mag niet groter zijn dan :max.',
'string' => ':attribute mag niet groter zijn dan :max kilobytes.',
'array' => ':attribute mag niet meer dan :max items hebben.',
],
'mimes' => ':attribute mag niet meer dan :max items hebben.',
'min' => [
'numeric' => 'The :attribute must be a file of type: :values.',
'numeric' => ':attribute moet een :values bestand zijn.',
'file' => ':attribute moet minstens :min kilobytes groot zijn.',
'string' => ':attribute moet minstens :min kilobytes groot zijn.',
'array' => 'The :attribute must be at least :min characters.',
'array' => ':attribute moet minimaal :min tekens zijn.',
],
'not_in' => 'The :attribute must have at least :min items.',
'numeric' => 'The selected :attribute is invalid.',
'not_in' => ':attribute moet tenminste :min onderdelen hebben.',
'numeric' => 'Het geselecteerde :attribute is ongeldig.',
'present' => 'Het :attribute veld moet aanwezig zijn.',
'regex' => 'The :attribute must be a number.',
'regex' => ':attribute moet een getal zijn.',
'required' => 'Het :attribute-formaat is ongeldig.',
'required_if' => 'The :attribute field is required.',
'required_if' => 'Het :attribute veld is verplicht.',
'required_unless' => 'Het :attribute veld is verplicht tenzij :other is in :values.',
'required_with' => 'The :attribute field is required when :other is :value.',
'required_with' => 'Het :attribute veld is verplicht als :other :value is.',
'required_with_all' => ':attribute veld is verplicht wanneer :values aanwezig zijn.',
'required_without' => ':attribute veld is verplicht wanneer :values aanwezig zijn.',
'required_without_all' => 'The :attribute field is required when :values is not present.',
'same' => 'The :attribute field is required when none of :values are present.',
'required_without_all' => 'Het :attribute veld is verplicht als er geen :values zijn.',
'same' => 'Het :attribute veld is verplicht als geen van :values aanwezig zijn.',
'size' => [
'numeric' => 'The :attribute and :other must match.',
'numeric' => ':attribute en :other moeten overeenkomen.',
'file' => ':attribute moet :size kilobytes groot zijn.',
'string' => ':attribute moet :size karakters zijn.',
'array' => ':attribute moet :size karakters zijn.',
],
'string' => 'The :attribute must contain :size items.',
'string' => ':attribute moet :size onderdelen bevatten.',
'timezone' => ':attribute moet een geldige zone zijn.',
'unique' => ':attribute is reeds in gebruik.',
'url' => 'Het :attribute-formaat is ongeldig.',

View File

@@ -58,7 +58,7 @@ return [
// Incident Maintenance
'schedule' => [
'schedule' => 'Scheduled Maintenance',
'schedule' => 'Planlagt vedlikehold',
'logged' => '{0} There are no schedules, good work.|You have logged one schedule.|You have reported <strong>:count</strong> schedules.',
'scheduled_at' => 'Scheduled at :timestamp',
'add' => [

View File

@@ -14,7 +14,7 @@ return [
// Setup form fields
'setup' => [
'email' => 'E-Mail',
'username' => 'Username',
'username' => 'Nazwa Użytkownika',
'password' => 'Hasło',
'site_name' => 'Nazwa strony',
'site_domain' => 'Domena',

View File

@@ -28,12 +28,12 @@ return [
'incidents' => [
'none' => 'Nenhum incidente reportado',
'past' => 'Incidentes anteriores',
'previous_week' => 'Previous Week',
'next_week' => 'Next Week',
'previous_week' => 'Semana anterior',
'next_week' => 'Próxima semana',
'scheduled' => 'Manutenção Agendada',
'scheduled_at' => ', agendada :timestamp',
'status' => [
0 => 'Scheduled', // TODO: Hopefully remove this.
0 => 'Agendado', // TODO: Hopefully remove this.
1 => 'Investigando',
2 => 'Identificado',
3 => 'Observando',
@@ -44,8 +44,8 @@ return [
// Service Status
'service' => [
'good' => '[0,1] Sistema operacional|[2,Inf] Todos os sistemas estão operacionais',
'bad' => '[0,1] The system is currently experiencing issues|[2,Inf] Some systems are experiencing issues',
'major' => '[0,1] The service experiencing a major outage|[2,Inf] Some systems are experiencing a major outage',
'bad' => '[0,1] O sistema encontra-se com alguns problemas|[2,Inf] Alguns sistemas estão com problemas',
'major' => '[0,1] O sistema encontra-se com uma indisponibilidade total.|[2,Inf] Alguns sistemas encontram-se totalmente indisponíveis',
],
'api' => [
@@ -65,7 +65,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Subscribe to get the most recent updates',
'subscribe' => 'Inscreva-se para obter as atualizações mais recentes',
'button' => 'Inscreva-se',
'manage' => [
'no_subscriptions' => 'Você está atualmente inscrito a todas as atualizações.',

View File

@@ -15,7 +15,7 @@ return [
// Incidents
'incidents' => [
'title' => 'Incidents &amp; Schedule',
'title' => 'Incidentes &amp; Agenda',
'incidents' => 'Incidentes',
'logged' => '{0} Não existem incidentes, bom trabalho.|Você registrou um incidente.|Você reportou <strong>:count</strong> incidentes.',
'incident-create-template' => 'Criar template',
@@ -164,7 +164,7 @@ return [
'team' => 'Equipe',
'member' => 'Membro',
'profile' => 'Perfil ',
'description' => 'Team Members will be able to add, modify &amp; edit components and incidents.',
'description' => 'Membros da equipe serão capazes de adicionar, modificar &amp; editar componentes e incidentes.',
'add' => [
'title' => 'Adicionar um novo membro da equipe',
'success' => 'Membro da equipe adicionado.',
@@ -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' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
'backers' => 'Se você gostaria de apoiar o desenvolvimento futuro, confira o CrowdIn e GitHub.',
'thank-you' => 'Agradeço a cada um dos :count colaboradores.',
],
],
@@ -233,7 +233,7 @@ return [
'login' => [
'login' => 'Login',
'logged_in' => 'Você está logado.',
'welcome' => 'Welcome Back!',
'welcome' => 'Bem-vindo de volta!',
'two-factor' => 'Por favor insira o seu token.',
],
@@ -257,16 +257,16 @@ return [
// Welcome modal
'welcome' => [
'welcome' => 'Welcome to your new Status page!',
'message' => 'Your status page is almost ready! You might want to configure these extra settings',
'close' => 'Take me straight to my dashboard',
'welcome' => 'Bem-vindo à sua nova página de status!',
'message' => 'Sua página de status está quase pronta! Talvez você queira checar essas configurações extras',
'close' => 'Me leve direto para o meu painel de controle',
'steps' => [
'component' => 'Create components',
'incident' => 'Create incidents',
'customize' => 'Customize',
'team' => 'Add users',
'api' => 'Generate API token',
'two-factor' => 'Two Factor Authentication',
'component' => 'Criar componentes',
'incident' => 'Criar incidentes',
'customize' => 'Personalizar',
'team' => 'Adicionar usuários',
'api' => 'Gerar token de API',
'two-factor' => 'Autenticação em duas etapas',
],
],

View File

@@ -49,8 +49,8 @@ return [
'component' => 'Componente',
'message' => 'Mensagem',
'message-help' => 'Você também pode usar o Markdown.',
'scheduled_at' => 'When to schedule the maintenance for?',
'incident_time' => 'When did this incident occur?',
'scheduled_at' => 'Agendar a manutenção para quando?',
'incident_time' => 'Quando este incidente ocorreu?',
'notify_subscribers' => 'Notificar os assinantes?',
'visibility' => 'Visibilidade do incidente',
'public' => 'Visível para todos',
@@ -75,7 +75,7 @@ return [
'groups' => [
'name' => 'Nome',
'collapsing' => 'Choose visibility of the group',
'collapsing' => 'Escolha a visibilidade do grupo',
'visible' => 'Sempre expandido',
'collapsed' => 'Colapsar o grupo por padrão',
'collapsed_incident' => 'Colapsar o grupo, mas expandir se ocorrer algum problema',
@@ -136,12 +136,12 @@ return [
'custom-css' => 'Folha de estilos personalizada',
],
'theme' => [
'background-color' => 'Background Color',
'background-color' => 'Cor de fundo',
'background-fills' => 'Preenchimento de Fundo (Componentes, Incidentes, Rodapé)',
'banner-background-color' => 'Cor de Fundo do banner',
'banner-padding' => 'Margem interna',
'fullwidth-banner' => 'Habilitar largura completa do banner?',
'text-color' => 'Text Color',
'text-color' => 'Cor do Texto',
'dashboard-login' => 'Mostrar botão para painel no rodapé?',
'reds' => 'Vermelho (Usado para erros)',
'blues' => 'Azul (usado para informações)',

View File

@@ -11,7 +11,7 @@
return [
'setup' => 'Configuração',
'title' => 'Setup Cachet',
'title' => 'Configurar o Cachet',
'service_details' => 'Detalhes do serviço',
'env_setup' => 'Configurações do Ambiente',
'status_page_setup' => 'Configuração da página de status',

View File

@@ -32,59 +32,59 @@ return [
'before' => 'O campo :attribute deverá conter uma data anterior a :date.',
'between' => [
'numeric' => 'O campo :attribute deverá conter uma data anterior a :date.',
'file' => 'The :attribute must be between :min and :max.',
'string' => 'The :attribute must be between :min and :max kilobytes.',
'file' => 'O campo :attribute deverá ter um valor entre :min - :max.',
'string' => 'O campo :attribute deve estar entre :min e :max kilobytes.',
'array' => 'O campo :attribute deve ter entre :min e :max itens.',
],
'boolean' => 'O campo :attribute deve ter entre :min e :max itens.',
'confirmed' => 'The :attribute field must be true or false.',
'date' => 'The :attribute confirmation does not match.',
'date_format' => 'The :attribute is not a valid date.',
'different' => 'The :attribute does not match the format :format.',
'digits' => 'The :attribute and :other must be different.',
'digits_between' => 'The :attribute must be :digits digits.',
'email' => 'The :attribute must be between :min and :max digits.',
'exists' => 'The :attribute must be a valid email address.',
'confirmed' => 'O campo :attribute deve ser verdadeiro ou falso.',
'date' => 'A confirmação do campo :attribute não corresponde.',
'date_format' => 'O campo :attribute não é uma data válida.',
'different' => 'O campo :attribute não corresponde ao formato :format.',
'digits' => 'O campo :attribute e :other devem ser diferentes.',
'digits_between' => 'O campo :attribute deve ter :digits dígitos.',
'email' => 'O campo :attribute deve ter entre :min e :max dígitos.',
'exists' => 'O campo :attribute deve ser um endereço de email válido.',
'distinct' => 'O campo :attribute tem um valor duplicado.',
'filled' => 'O formato de :attribute é inválido.',
'image' => 'O :attribute deve ser uma imagem.',
'in' => 'O :attribute deve ser uma imagem.',
'in_array' => 'O campo :attribute não existe em :other.',
'integer' => 'The selected :attribute is invalid.',
'ip' => 'The :attribute must be an integer.',
'integer' => 'O campo :attribute é inválido.',
'ip' => 'O campo :attribute deve ser um número inteiro.',
'json' => 'O :attribute tem que ser uma string JSON válida.',
'max' => [
'numeric' => 'The :attribute must be a valid IP address.',
'file' => 'The :attribute may not be greater than :max.',
'string' => 'The :attribute may not be greater than :max kilobytes.',
'numeric' => 'O campo :attribute deve ser um endereço de IP válido.',
'file' => 'O campo :attribute não deve ser maior que :max.',
'string' => 'O campo :attribute não deve ser maior que :max kilobytes.',
'array' => 'A: atributo não pode ter mais de que :max itens.',
],
'mimes' => 'A: atributo não pode ter mais de que :max itens.',
'min' => [
'numeric' => 'The :attribute must be a file of type: :values.',
'numeric' => 'O campo :attribute deve ser um arquivo do tipo: :values.',
'file' => 'O :attribute deve ter pelo menos :min kilobytes.',
'string' => 'O :attribute deve ter pelo menos :min kilobytes.',
'array' => 'The :attribute must be at least :min characters.',
'array' => 'O campo :attribute deve ter no mínimo :min caracteres.',
],
'not_in' => 'The :attribute must have at least :min items.',
'numeric' => 'The selected :attribute is invalid.',
'not_in' => 'O campo :attribute deve ter no mínimo :min itens.',
'numeric' => 'O campo :attribute é inválido.',
'present' => 'O campo :attribute deve estar presente.',
'regex' => 'The :attribute must be a number.',
'regex' => 'O campo :attribute deve ser um número.',
'required' => 'O formato de :attribute é inválido.',
'required_if' => 'The :attribute field is required.',
'required_if' => 'O campo :attribute é obrigatório.',
'required_unless' => 'O campo :attribute é obrigatório a não ser que :other esteja entre :values.',
'required_with' => 'The :attribute field is required when :other is :value.',
'required_with' => 'O campo :attribute é obrigatório quando :other é :value.',
'required_with_all' => 'O campo :attribute é obrigatório quando :values está presente.',
'required_without' => 'O campo :attribute é obrigatório quando :values está presente.',
'required_without_all' => 'The :attribute field is required when :values is not present.',
'same' => 'The :attribute field is required when none of :values are present.',
'required_without_all' => 'O campo :attribute é obrigatório quando :values não está presente.',
'same' => 'O campo :attribute é obrigatório quando nenhum dos :values está presente.',
'size' => [
'numeric' => 'The :attribute and :other must match.',
'numeric' => 'O campo :attribute e :other devem ser iguais.',
'file' => 'O :attribute deve ter :size kilobytes.',
'string' => 'O :attribute deve ter :size caracteres.',
'array' => 'O :attribute deve ter :size caracteres.',
],
'string' => 'The :attribute must contain :size items.',
'string' => 'O campo :attribute deve ter :size itens.',
'timezone' => 'O :attribute deve ser uma zona válida.',
'unique' => 'O :attribute já existe.',
'url' => 'O formato de :attribute é inválido.',

View File

@@ -13,92 +13,92 @@ return [
// Setup form fields
'setup' => [
'email' => 'Email',
'username' => 'Utilizator',
'password' => 'Parolă',
'site_name' => 'Numele site-ului',
'site_domain' => 'Domeniu Site',
'site_timezone' => 'Selectaţi fusul orar',
'site_locale' => 'Selectaţi limba dumneavoastră',
'enable_google2fa' => 'Activaţi Google Two Factor Authentication',
'cache_driver' => 'Driver Cache',
'session_driver' => 'Driver Sesiune',
'mail_driver' => 'Driver Mail',
'mail_host' => 'Gazdă Mail',
'mail_address' => 'Adresa Email Expeditor',
'mail_username' => 'Utilizator Mail',
'mail_password' => 'Parolă Mail',
'email' => 'Adresse e-mail',
'username' => 'Nom d\'utilisateur',
'password' => 'Mot de passe',
'site_name' => 'Nom du site',
'site_domain' => 'Nom de domaine du site',
'site_timezone' => 'Choisissez votre fuseau horaire',
'site_locale' => 'Sélectionner votre langue',
'enable_google2fa' => 'Activer l\'authentification à deux facteurs de Google',
'cache_driver' => 'Gestionnaire de cache',
'session_driver' => 'Gestionnaire de session',
'mail_driver' => 'Gestionnaire de mail',
'mail_host' => 'Serveur de mail',
'mail_address' => 'Adresse de l\'expéditeur du mail',
'mail_username' => 'Nom d\'utilisateur de mail',
'mail_password' => 'Mot de passe du serveur de mail',
],
// Login form fields
'login' => [
'login' => 'Utilizator sau Email',
'login' => 'Nom d\'utilisateur ou e-mail',
'email' => 'Email',
'password' => 'Parolă',
'2fauth' => 'Cod de Autentificare',
'invalid' => 'Utilizator sau parolă incorecte',
'invalid-token' => 'Token incorect',
'cookies' => 'Trebuie să activaţi cookies pentru a vă putea autentifica.',
'rate-limit' => 'Limita de folosire a fost depăşită.',
'password' => 'Mot de passe',
'2fauth' => 'Code d\'authentification',
'invalid' => 'Nom d\'utilisateur ou mot de passe incorrect',
'invalid-token' => 'Jeton invalide',
'cookies' => 'Vous devez activer les cookies pour vous connecter.',
'rate-limit' => 'Limite de tentatives atteinte.',
],
// Incidents form fields
'incidents' => [
'name' => 'Nume',
'status' => 'Stare',
'component' => 'Componentă',
'message' => 'Mesaj',
'message-help' => 'Puteţi utiliza şi Markdown.',
'scheduled_at' => 'When to schedule the maintenance for?',
'incident_time' => 'When did this incident occur?',
'notify_subscribers' => 'Notificaţi abonaţii?',
'visibility' => 'Vizibilitatea Incidentului',
'public' => 'Vizibilă public',
'logged_in_only' => 'Vizibilă numai pentru utilizatorii autentificaţi',
'name' => 'Nom',
'status' => 'Statut',
'component' => 'Composant',
'message' => 'Message',
'message-help' => 'Vous pouvez également utiliser le format Markdown.',
'scheduled_at' => 'Quand planifier la maintenance ?',
'incident_time' => 'Quand s\'est produit cet incident ?',
'notify_subscribers' => 'Notifier les abonnés ?',
'visibility' => 'Visibilité de l\'incident',
'public' => 'Visible par le public',
'logged_in_only' => 'Uniquement visible par les utilisateurs enregistrés',
'templates' => [
'name' => 'Nume',
'template' => 'Șablon',
'twig' => 'Şabloanele pentru incidente pot folosi limbajul <a href="http://twig.sensiolabs.org/" target="_blank">Twig</a>.',
'name' => 'Nom',
'template' => 'Modèle',
'twig' => 'Vous pouvez utiliser <a href="http://twig.sensiolabs.org/" target="_blank">Twig</a> pour créer des modèles par langues pour les modèles d\'incidents.',
],
],
// Components form fields
'components' => [
'name' => 'Nume',
'status' => 'Stare',
'group' => 'Grup',
'description' => 'Descriere',
'link' => 'Legătură',
'tags' => 'Etichete',
'tags-help' => 'Separate prin virgulă.',
'enabled' => 'Componentă activată?',
'name' => 'Nom',
'status' => 'Etat',
'group' => 'Groupe',
'description' => 'Description',
'link' => 'Lien',
'tags' => 'Mots-clés',
'tags-help' => 'Séparés par des virgules.',
'enabled' => 'Activer le composant ?',
'groups' => [
'name' => 'Nume',
'collapsing' => 'Choose visibility of the group',
'visible' => 'Întotdeauna extins',
'collapsed' => 'Restrânge grupul implicit',
'collapsed_incident' => 'Restrânge grupul, dar extinde în cazul în care sunt probleme',
'name' => 'Nom',
'collapsing' => 'Choisir la visibilité du groupe',
'visible' => 'Toujours déplier',
'collapsed' => 'Réduire le groupe par défaut',
'collapsed_incident' => 'Réduire le groupe par défaut, mais déplier s\'il y a des incidents',
],
],
// Metric form fields
'metrics' => [
'name' => 'Nume',
'suffix' => 'Sufix',
'description' => 'Descriere',
'description-help' => 'Puteţi utiliza şi Markdown.',
'display-chart' => 'Afişaţi graficul pe pagina de stare?',
'default-value' => 'Valoare implicită',
'calc_type' => 'Calculul măsurătorilor',
'type_sum' => 'Sumă',
'type_avg' => 'Medie',
'places' => 'Zecimale',
'default_view' => 'Opţiunea implicită',
'threshold' => 'Ce interval de timp(în minute) doriţi între măsurători?',
'name' => 'Nom',
'suffix' => 'Suffixe',
'description' => 'Description',
'description-help' => 'Vous pouvez également utiliser le format Markdown.',
'display-chart' => 'Afficher le graphique sur la page de statut ?',
'default-value' => 'Valeur par défaut',
'calc_type' => 'Calcul des données',
'type_sum' => 'Somme',
'type_avg' => 'Moyenne',
'places' => 'Nombre de chiffres après la virgule',
'default_view' => 'Vue par défaut',
'threshold' => 'Quel intervalle en minutes entre chaque point de métrique ?',
'points' => [
'value' => 'Valoarea',
'value' => 'Valeur',
],
],
@@ -106,87 +106,87 @@ return [
'settings' => [
/// Application setup
'app-setup' => [
'site-name' => 'Numele site-ului',
'site-url' => 'URL-ul site-ului',
'display-graphs' => 'Afişaţi grafice pe pagina stare?',
'about-this-page' => 'Despre această pagină',
'days-of-incidents' => 'Câte zile de incidente vreţi să fie afişate?',
'banner' => 'Imagine Banner',
'banner-help' => 'Este recomandat să încărcaţi fişiere cu lăţimea nu mai mare de 930px.',
'subscribers' => 'Permiteţi vizitatorilor să se aboneze la notificări prin email?',
'automatic_localization' => 'Schimbaţi automat limba pentru pagina de stare în funcţie de limba vizitatorului?',
'site-name' => 'Nom du site',
'site-url' => 'URL du site',
'display-graphs' => 'Afficher les graphiques sur la page de statut ?',
'about-this-page' => 'À propos de cette page',
'days-of-incidents' => 'Combien de jours d\'incidents à montrer ?',
'banner' => 'Image d\'en-tête',
'banner-help' => 'Il est recommandé de téléchargez un fichier ne dépassant pas 930px de large .',
'subscribers' => 'Permettre aux personnes de s\'inscrire aux notifications par e-mail ?',
'automatic_localization' => 'Traduire automatiquement votre page de statut dans la langue du visiteur ?',
],
'analytics' => [
'analytics_google' => 'Cod Google Analytics',
'analytics_gosquared' => 'Cod GoSquared Analytics',
'analytics_piwik_url' => 'URL-ul instanţei dvs. de Piwik (fără http(s)://)',
'analytics_piwik_siteid' => 'Id site Piwik',
'analytics_google' => 'Code de Google Analytics',
'analytics_gosquared' => 'Code de GoSquared Analytics',
'analytics_piwik_url' => 'URL de votre instance de Piwik (sans http(s)://)',
'analytics_piwik_siteid' => 'Id du site de Piwik',
],
'localization' => [
'site-timezone' => 'Fusul orar al site-ului',
'site-locale' => 'Limba site-ului',
'date-format' => 'Formatul datei',
'incident-date-format' => 'Formatul de timp al incidentului',
'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' => 'Domenii permise',
'allowed-domains-help' => 'Separate prin virgulă. Domeniul configurat mai sus este automat permis implicit.',
'allowed-domains' => 'Domaines autorisés',
'allowed-domains-help' => 'Séparés par des virgules. Le domaine défini ci-dessus est automatiquement autorisé par défaut.',
],
'stylesheet' => [
'custom-css' => 'Personalizează Stilurile',
'custom-css' => 'Feuille de style personnalisée',
],
'theme' => [
'background-color' => 'Background Color',
'background-fills' => 'Gradient Fundal (componente, incidente, subsol)',
'banner-background-color' => 'Culoarea de fundal pentru banner',
'banner-padding' => 'Spaţiere banner',
'fullwidth-banner' => 'Activaţi banner pe toată lăţimea paginii?',
'text-color' => 'Text Color',
'dashboard-login' => 'Arătaţi butonul Dashboard în subsol?',
'reds' => 'Roşu (utilizat pentru mesaje de eroare)',
'blues' => 'Albastru (utilizat pentru mesaje de informare)',
'greens' => 'Verde (folosit pentru mesaje de succes)',
'yellows' => 'Galben (folosit pentru alerte)',
'oranges' => 'Orange (folosit pentru mesaje de notificare)',
'metrics' => 'Măsurători de umplere',
'links' => 'Legături',
'background-color' => 'Couleur de fond',
'background-fills' => 'Couleur de remplissage de l\'arrière-plan (composants, incidents, pied de page)',
'banner-background-color' => 'Couleur d\'arrière-plan de l\'en-tête',
'banner-padding' => 'Marge de l\'en-tête',
'fullwidth-banner' => 'Activer l\'en-tête en pleine largeur ?',
'text-color' => 'Couleur du texte',
'dashboard-login' => 'Afficher le bouton "Tableau de bord" dans le pied de page ?',
'reds' => 'Rouge (utilisé pour les erreurs)',
'blues' => 'Bleu (utilisé pour les informations)',
'greens' => 'Vert (utilisé pour les succès)',
'yellows' => 'Jaune (utilisé pour les alertes)',
'oranges' => 'Orange (utilisé pour les informations)',
'metrics' => 'Remplissage des données',
'links' => 'Liens',
],
],
'user' => [
'username' => 'Utilizator',
'username' => 'Nom d\'utilisateur',
'email' => 'Email',
'password' => 'Parolă',
'api-token' => 'Token API',
'api-token-help' => 'Regenerarea token-ului API va împiedica aplicaţiile existente să acceseze Cachet.',
'gravatar' => 'Schimbaţi poza de profil pe Gravatar.',
'user_level' => 'Nivel utilizator',
'password' => 'Mot de passe ',
'api-token' => 'Jeton de l\'API',
'api-token-help' => 'Régénérer votre jeton API empêchera les applications existantes d\'accéder à Cachet.',
'gravatar' => 'Change your profile picture at Gravatar.',
'user_level' => 'Niveau de l\'utilisateur',
'levels' => [
'admin' => 'Administator',
'user' => 'Utilizator',
'admin' => 'Administrateur',
'user' => 'Utilisateur',
],
'2fa' => [
'help' => 'Activând autentificarea two factor securitatea contului dvs. este mult îmbunătăţită. Trebuie să descărcaţi <a href="https://support.google.com/accounts/answer/1066447?hl=en">Google Authenticator</a> sau o aplicaţie similară pe telefonul dvs. Când vă autentificaţi, vi se va cere token-ul generat de aplicaţie.',
'help' => 'Activer l\'authentification à deux facteurs augmente la sécurité de votre compte. Vous aurez besoin de télécharger <a href="https://support.google.com/accounts/answer/1066447?hl=en"> Google Authenticator</a> ou une application similaire sur votre appareil mobile. Lorsque vous vous connectez, il vous sera demandé de fournir un jeton généré par l\'application.',
],
'team' => [
'description' => 'Invităţi membrii echipei introducând aici adresele lor de email.',
'email' => 'Email #:id',
'description' => 'Invitez les membres de votre équipe en entrant leurs adresses e-mail ici.',
'email' => 'E-mail #:id',
],
],
// Buttons
'add' => 'Adaugă',
'save' => 'Salvează',
'update' => 'Actualizează',
'create' => 'Creează',
'edit' => 'Modifi',
'delete' => 'Şterge',
'submit' => 'Trimite',
'cancel' => 'Renunță',
'remove' => 'Elimină',
'invite' => 'Invită',
'signup' => 'Înregistrează-te',
'add' => 'Ajouter',
'save' => 'Enregistrer',
'update' => 'Mettre à jour',
'create' => 'Créer',
'edit' => 'Modifier',
'delete' => 'Supprimer',
'submit' => 'Envoyer',
'cancel' => 'Annuler',
'remove' => 'Enlever',
'invite' => 'Inviter',
'signup' => 'Inscription',
// Other
'optional' => '* Opţional',
'optional' => '* Optionnel',
];

View File

@@ -28,12 +28,12 @@ return [
'incidents' => [
'none' => 'Без происшествий',
'past' => 'Последние инциденты',
'previous_week' => 'Previous Week',
'next_week' => 'Next Week',
'previous_week' => 'Предыдущая неделя',
'next_week' => 'Следующая неделя',
'scheduled' => 'Плановые работы',
'scheduled_at' => ', запланированы :timestamp',
'status' => [
0 => 'Scheduled', // TODO: Hopefully remove this.
0 => 'Запланировано', // TODO: Hopefully remove this.
1 => 'Проводим анализ проблемы',
2 => 'Причина определена',
3 => 'Под наблюдением',
@@ -44,8 +44,8 @@ return [
// Service Status
'service' => [
'good' => '[0,1] Система работает исправно|[2,Inf] Все системы работают исправно',
'bad' => '[0,1] The system is currently experiencing issues|[2,Inf] Some systems are experiencing issues',
'major' => '[0,1] The service experiencing a major outage|[2,Inf] Some systems are experiencing a major outage',
'bad' => '[0,1] В настоящее время система испытывает проблемы |[2,Inf] Некоторые системы испытывают проблемы',
'major' => '[0,1] Значительные неполадки|[2,Inf] В системе есть неполадки',
],
'api' => [
@@ -65,7 +65,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Subscribe to get the most recent updates',
'subscribe' => 'Подпишитесь, чтобы быть в курсе недавних событий',
'button' => 'Подписаться',
'manage' => [
'no_subscriptions' => 'Вы подписаны на все изменения.',

View File

@@ -34,7 +34,7 @@ return [
'login' => [
'login' => 'Имя пользователя или Email',
'email' => 'Email',
'password' => 'Password',
'password' => 'Пароль',
'2fauth' => 'Код аутентификации',
'invalid' => 'Неверное имя пользователя или пароль',
'invalid-token' => 'Неверный токен',

View File

@@ -14,7 +14,7 @@ return [
// Setup form fields
'setup' => [
'email' => 'E-post',
'username' => 'Username',
'username' => 'Användarnamn',
'password' => 'Lösenord',
'site_name' => 'Webbplatsens namn',
'site_domain' => 'Webbplatsens domän',
@@ -33,8 +33,8 @@ return [
// Login form fields
'login' => [
'login' => 'Användarnamn eller e-postadress',
'email' => 'Email',
'password' => 'Password',
'email' => 'E-post',
'password' => 'Lösenord',
'2fauth' => 'Autentiseringskod',
'invalid' => 'Ogiltigt användarnamn eller lösenord',
'invalid-token' => 'Ogiltig nyckel',

View File

@@ -34,7 +34,7 @@ return [
'login' => [
'login' => 'Username or Email',
'email' => 'Email',
'password' => 'Password',
'password' => 'Mật khẩu',
'2fauth' => 'Authentication Code',
'invalid' => 'Invalid username or password',
'invalid-token' => 'Invalid token',
@@ -156,7 +156,7 @@ return [
'user' => [
'username' => 'Username',
'email' => 'Email',
'password' => 'Password',
'password' => 'Mật khẩu',
'api-token' => 'API Token',
'api-token-help' => 'Regenerating your API token will prevent existing applications from accessing Cachet.',
'gravatar' => 'Change your profile picture at Gravatar.',

View File

@@ -28,12 +28,12 @@ return [
'incidents' => [
'none' => '无故障报告',
'past' => '历史状态',
'previous_week' => 'Previous Week',
'next_week' => 'Next Week',
'previous_week' => '上周',
'next_week' => '下周',
'scheduled' => '计划维护',
'scheduled_at' => ',计划于 :timestamp',
'status' => [
0 => 'Scheduled', // TODO: Hopefully remove this.
0 => '计划中', // TODO: Hopefully remove this.
1 => '确认中',
2 => '修复中',
3 => '已更新',
@@ -44,8 +44,8 @@ return [
// Service Status
'service' => [
'good' => '[0,1] 系统工作正常|[2,Inf] 所有系统工作正常',
'bad' => '[0,1] The system is currently experiencing issues|[2,Inf] Some systems are experiencing issues',
'major' => '[0,1] The service experiencing a major outage|[2,Inf] Some systems are experiencing a major outage',
'bad' => '[0,1] 一个系统出现了问题|[2,Inf] 一些系统出现了问题',
'major' => '[0,1] 一个系统出现重大故障|[2,Inf] 一些系统出现重大故障',
],
'api' => [
@@ -65,7 +65,7 @@ return [
// Subscriber
'subscriber' => [
'subscribe' => 'Subscribe to get the most recent updates',
'subscribe' => '订阅以获取最新更新',
'button' => '订阅',
'manage' => [
'no_subscriptions' => '您当前已订阅所有更新。',

View File

@@ -15,7 +15,7 @@ return [
// Incidents
'incidents' => [
'title' => 'Incidents &amp; Schedule',
'title' => '故障和维护计划',
'incidents' => '事件',
'logged' => '{0} 当前没有故障信息|您已经记录了一个故障|您已经报告了 <strong>:count</strong> 个故障',
'incident-create-template' => '创建模板',
@@ -164,7 +164,7 @@ return [
'team' => '团队',
'member' => '成员',
'profile' => '用户信息',
'description' => 'Team Members will be able to add, modify &amp; edit components and incidents.',
'description' => '团队成员可维护组件和故障信息。',
'add' => [
'title' => '添加团队成员',
'success' => '团队成员已添加',
@@ -224,7 +224,7 @@ return [
'contributors' => '贡献者',
'license' => 'Cachet 是 <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a> 开发的一个开源项目,使用 BSD-3 授权。',
'backers-title' => '后勤力量和赞助商',
'backers' => 'If you\'d like to support future development, check out the CrowdIn and GitHub.',
'backers' => '如果你想为我们后续的开发提供支持,请查看 CrowdIn GitHub.',
'thank-you' => '感谢您和 :count 位贡献者们',
],
],
@@ -233,7 +233,7 @@ return [
'login' => [
'login' => '登录',
'logged_in' => '您已登录',
'welcome' => 'Welcome Back!',
'welcome' => '欢迎回来!',
'two-factor' => '请输入您的双重验证码。',
],
@@ -257,16 +257,16 @@ return [
// Welcome modal
'welcome' => [
'welcome' => 'Welcome to your new Status page!',
'message' => 'Your status page is almost ready! You might want to configure these extra settings',
'close' => 'Take me straight to my dashboard',
'welcome' => '欢迎来到你的新状态页面!',
'message' => '您的状态页面即将完成!您可能想要配置这些额外的设置',
'close' => '带我直接进入控制台',
'steps' => [
'component' => 'Create components',
'incident' => 'Create incidents',
'customize' => 'Customize',
'team' => 'Add users',
'api' => 'Generate API token',
'two-factor' => 'Two Factor Authentication',
'component' => '添加组件',
'incident' => '添加故障',
'customize' => '主题设置',
'team' => '添加用户',
'api' => '生成 API Token',
'two-factor' => '双因素身份验证',
],
],

View File

@@ -49,7 +49,7 @@ return [
'component' => '组件',
'message' => '描述',
'message-help' => '您可以使用Markdown语言。',
'scheduled_at' => 'When to schedule the maintenance for?',
'scheduled_at' => '什么时间安排维护?',
'incident_time' => '这次故障是什么时候发生的?',
'notify_subscribers' => '通知订阅者',
'visibility' => '故障的可见性',
@@ -75,7 +75,7 @@ return [
'groups' => [
'name' => '组名',
'collapsing' => 'Choose visibility of the group',
'collapsing' => '选择分组可见',
'visible' => '总是展开',
'collapsed' => '默认折叠',
'collapsed_incident' => '折叠分组,但当有故障时展开',
@@ -136,12 +136,12 @@ return [
'custom-css' => '自定义 CSS 样式表',
],
'theme' => [
'background-color' => 'Background Color',
'background-color' => '背景色',
'background-fills' => '区块填充色(组件, 故障, 页尾)',
'banner-background-color' => '横幅背景',
'banner-padding' => '横幅图像边距',
'fullwidth-banner' => '启用全宽横幅?',
'text-color' => 'Text Color',
'text-color' => '文字颜色',
'dashboard-login' => '在页尾显示 管理后台 的入口?',
'reds' => '红 (用于错误类提示)',
'blues' => '蓝 (用于信息类提示)',

View File

@@ -11,7 +11,7 @@
return [
'setup' => '设置',
'title' => 'Setup Cachet',
'title' => '安装 Cachet',
'service_details' => '服务细节',
'env_setup' => '环境设置',
'status_page_setup' => '状态页面设置',

View File

@@ -7,8 +7,8 @@
<meta name="env" content="{{ app('env') }}">
<meta name="token" content="{{ csrf_token() }}">
<link rel="alternate" type="application/atom+xml" href="/atom" title="{{ $site_title }} - Atom Feed">
<link rel="alternate" type="application/rss+xml" href="/rss" title="{{ $site_title }} - RSS Feed">
<link rel="alternate" type="application/atom+xml" href="{{ asset('/atom') }}" title="{{ $site_title }} - Atom Feed">
<link rel="alternate" type="application/rss+xml" href="{{ asset('/rss') }}" title="{{ $site_title }} - RSS Feed">
<!-- Mobile friendliness -->
<meta name="HandheldFriendly" content="True">
@@ -19,35 +19,35 @@
<meta property="og:type" content="website">
<meta property="og:title" content="{{ $site_title }}">
<meta property="og:image" content="/img/ogimage.png">
<meta property="og:image" content="{{ asset('/img/ogimage.png') }}">
<meta property="og:description" content="{{ trans('cachet.description', ['app' => $app_name]) }}">
<!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading -->
<meta http-equiv="cleartype" content="on">
<meta name="msapplication-TileColor" content="{{ $theme_greens }}" />
<meta name="msapplication-TileImage" content="/img/favicon.png" />
<meta name="msapplication-TileImage" content="{{ asset('/img/favicon.png') }} " />
@if (isset($favicon))
<link rel="icon" type="image/png" href="/img/{{ $favicon }}.ico">
<link rel="shortcut icon" href="/img/{{ $favicon }}.png" type="image/x-icon">
<link rel="icon" type="image/png" href="{{ asset('/img/' ~ $favicon ~ '.ico') }}">
<link rel="shortcut icon" href="{{ asset('/img/' ~ $favicon ~ '.png') }}" type="image/x-icon">
@else
<link rel="icon" type="image/png" href="/img/favicon.ico">
<link rel="shortcut icon" href="/img/favicon.png" type="image/x-icon">
<link rel="icon" type="image/png" href="{{ asset('/img/favicon.ico') }}">
<link rel="shortcut icon" href="{{ asset('/img/favicon.png') }}" type="image/x-icon">
@endif
<link rel="apple-touch-icon" href="/img/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="57x57" href="/img/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" href="{{ asset('/img/apple-touch-icon.png') }}">
<link rel="apple-touch-icon" sizes="57x57" href="{{ asset('/img/apple-touch-icon-57x57.png') }}">
<link rel="apple-touch-icon" sizes="72x72" href="{{ asset('/img/apple-touch-icon-72x72.png') }}">
<link rel="apple-touch-icon" sizes="114x114" href="{{ asset('/img/apple-touch-icon-114x114.png') }}">
<link rel="apple-touch-icon" sizes="120x120" href="{{ asset('/img/apple-touch-icon-120x120.png') }}">
<link rel="apple-touch-icon" ssizes="144x144" href="{{ asset('/img/apple-touch-icon-144x144.png') }}">
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('/img/apple-touch-icon-152x152.png') }}">
<title>{{ $site_title }}</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $font_subset }}" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="{{ elixir('dist/css/all.css') }}">
<link rel="stylesheet" href="{{ asset(elixir('dist/css/all.css')) }}">
@include('partials.stylesheet')
@@ -63,7 +63,7 @@
var Global = {};
Global.locale = '{{ $app_locale }}';
</script>
<script src="{{ elixir('dist/js/all.js') }}"></script>
<script src="{{ asset(elixir('dist/js/all.js')) }}"></script>
</head>
<body class="status-page @yield('bodyClass')">
@yield('outer-content')

View File

@@ -7,21 +7,21 @@
<meta name="env" content="{{ app('env') }}">
<meta name="token" content="{{ csrf_token() }}">
<link rel="icon" type="image/png" href="/img/favicon.ico">
<link rel="shortcut icon" href="/img/favicon.png" type="image/x-icon">
<link rel="icon" type="image/png" href="{{ asset('/img/favicon.ico') }}">
<link rel="shortcut icon" href="{{ asset('/img/favicon.png') }}" type="image/x-icon">
<link rel="apple-touch-icon" href="/img/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="57x57" href="/img/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" href="{{ asset('/img/apple-touch-icon.png') }}">
<link rel="apple-touch-icon" sizes="57x57" href="{{ asset('/img/apple-touch-icon-57x57.png') }}">
<link rel="apple-touch-icon" sizes="72x72" href="{{ asset('/img/apple-touch-icon-72x72.png') }}">
<link rel="apple-touch-icon" sizes="114x114" href="{{ asset('/img/apple-touch-icon-114x114.png') }}">
<link rel="apple-touch-icon" sizes="120x120" href="{{ asset('/img/apple-touch-icon-120x120.png') }}">
<link rel="apple-touch-icon" sizes="144x144" href="{{ asset('/img/apple-touch-icon-144x144.png') }}">
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('/img/apple-touch-icon-152x152.png') }}">
<title>{{ $page_title or $site_title }}</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $font_subset }}" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="{{ elixir('dist/css/all.css') }}">
<link rel="stylesheet" href="{{ asset(elixir('dist/css/all.css')) }}">
@yield('css')
@include('partials.crowdin')
@@ -30,5 +30,5 @@
var Global = {};
Global.locale = '{{ $app_locale }}';
</script>
<script src="{{ elixir('dist/js/all.js') }}"></script>
<script src="{{ asset(elixir('dist/js/all.js')) }}"></script>
</head>

View File

@@ -5,7 +5,7 @@
@section('content')
<div class="setup-page">
<div class="text-center">
<img class="logo" height="50" src="/img/cachet-logo.svg" alt="Cachet">
<img class="logo" height="50" src="{{ asset('/img/cachet-logo.svg') }}" alt="Cachet">
<h4>{{ trans('setup.title') }}</h4>
<br>
</div>

View File

@@ -30,6 +30,49 @@ class IncidentTest extends AbstractApiTestCase
$this->assertResponseOk();
}
public function testGetIncidentsPaginated()
{
$incidents = factory('CachetHQ\Cachet\Models\Incident', 3)->create();
$this->get('/api/v1/incidents?per_page=1&page=1');
$this->seeJson(['id' => $incidents[0]->id]);
$this->assertResponseOk();
$this->get('/api/v1/incidents?per_page=1&page=2');
$this->seeJson(['id' => $incidents[1]->id]);
$this->assertResponseOk();
}
public function testGetIncidentsBySearch()
{
factory('CachetHQ\Cachet\Models\Incident', 3)->create([
'status' => 0,
]);
$incidents = factory('CachetHQ\Cachet\Models\Incident', 2)->create([
'status' => 1,
]);
$this->get('/api/v1/incidents?status=1');
$this->seeJson(['id' => $incidents[0]->id]);
$this->assertResponseOk();
}
public function testGetIncidentsPaginatedBySearch()
{
factory('CachetHQ\Cachet\Models\Incident', 3)->create([
'status' => 0,
]);
$incidents = factory('CachetHQ\Cachet\Models\Incident', 2)->create([
'status' => 1,
]);
$this->get('/api/v1/incidents?status=1&per_page=1&page=1');
$this->seeJson(['id' => $incidents[0]->id]);
$this->assertResponseOk();
}
public function testGetInvalidIncident()
{
$this->get('/api/v1/incidents/0');