A token acts as the person who made it, within the permissions it was given and those they still hold, checked on every request. Permission checks now go through one gate rule, since spatie's answered first and never asked the token. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
74 lines
2.7 KiB
PHP
74 lines
2.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
return [
|
|
'translatable' => [
|
|
'type' => 'The :attribute field must be a string or a translations object (locale => text).',
|
|
'unsupported_locale' => 'The locale ":locale" is not supported for :attribute. Available locales: :supported.',
|
|
'max' => 'The ":locale" translation of :attribute may not be longer than :max characters.',
|
|
'default_required' => 'The :attribute is missing a translation for the primary locale (":locale").',
|
|
],
|
|
|
|
'slug' => [
|
|
'unique' => 'The slug ":slug" is already in use for the ":locale" locale.',
|
|
],
|
|
|
|
'applications' => [
|
|
'attributes' => [
|
|
'name' => 'name',
|
|
'email' => 'e-mail',
|
|
'message' => 'message',
|
|
'organisation' => 'organisation',
|
|
'hours_per_week' => 'hours per week',
|
|
'consent' => 'consent',
|
|
],
|
|
],
|
|
|
|
'pages' => [
|
|
'cannot_publish' => 'You do not have permission to publish pages.',
|
|
],
|
|
|
|
'revisions' => [
|
|
'nothing_to_restore' => 'This revision has no changes to undo.',
|
|
],
|
|
|
|
'reviews' => [
|
|
'not_requestable' => 'It is already awaiting review or already published.',
|
|
'not_a_reviewer' => 'That person cannot publish this, so they cannot review it.',
|
|
'not_awaiting' => 'It is not awaiting review.',
|
|
],
|
|
|
|
'batch' => [
|
|
'path' => 'Only admin API operations (/v1/…), with no nested batches or imports.',
|
|
'too_many' => 'At most :max rows per import.',
|
|
],
|
|
|
|
'tokens' => [
|
|
'ability' => '":ability" is not a permission you hold, so a token of yours cannot hold it.',
|
|
'machine' => 'Tokens are managed by a person, not by another token.',
|
|
],
|
|
|
|
'settings' => [
|
|
'read_only' => 'This setting is written by the application and cannot be edited by hand.',
|
|
],
|
|
|
|
'publication' => [
|
|
'forbidden' => 'You do not have permission to publish or unpublish this.',
|
|
],
|
|
|
|
'media' => [
|
|
'in_use' => 'The image is in use: remove it from where it appears first.',
|
|
'not_an_image' => 'The file is not a JPEG, PNG, WebP, GIF, AVIF or SVG image.',
|
|
'remote' => [
|
|
'https_only' => 'The image URL must start with https://.',
|
|
'unresolvable' => 'The URL\'s domain could not be resolved.',
|
|
'private' => 'The URL points at a private or reserved address: images are only downloaded from public ones.',
|
|
'unreachable' => 'Could not connect to the URL.',
|
|
'redirect' => 'The URL redirects elsewhere. Use the image\'s final address.',
|
|
'status' => 'The URL answered :status instead of the image.',
|
|
'too_large' => 'The image is larger than the :max KB limit.',
|
|
],
|
|
],
|
|
];
|