0
0
Fork 0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-04-09 06:47:51 +00:00

Merge branch 'BookStackApp:development' into add-priority

This commit is contained in:
Jean-René Rouet 2023-07-11 08:57:14 +02:00 committed by GitHub
commit b1b8067cbe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
378 changed files with 4422 additions and 1890 deletions
.env.example.env.example.complete
.github
app
composer.jsoncomposer.lock
database/migrations
dev/api/responses
lang

View file

@ -37,8 +37,10 @@ MAIL_FROM=bookstack@example.com
# SMTP mail options # SMTP mail options
# These settings can be checked using the "Send a Test Email" # These settings can be checked using the "Send a Test Email"
# feature found in the "Settings > Maintenance" area of the system. # feature found in the "Settings > Maintenance" area of the system.
# For more detailed documentation on mail options, refer to:
# https://www.bookstackapp.com/docs/admin/email-webhooks/#email-configuration
MAIL_HOST=localhost MAIL_HOST=localhost
MAIL_PORT=1025 MAIL_PORT=587
MAIL_USERNAME=null MAIL_USERNAME=null
MAIL_PASSWORD=null MAIL_PASSWORD=null
MAIL_ENCRYPTION=null MAIL_ENCRYPTION=null

View file

@ -69,23 +69,19 @@ DB_PASSWORD=database_user_password
# certificate itself (Common Name or Subject Alternative Name). # certificate itself (Common Name or Subject Alternative Name).
MYSQL_ATTR_SSL_CA="/path/to/ca.pem" MYSQL_ATTR_SSL_CA="/path/to/ca.pem"
# Mail system to use # Mail configuration
# Can be 'smtp' or 'sendmail' # Refer to https://www.bookstackapp.com/docs/admin/email-webhooks/#email-configuration
MAIL_DRIVER=smtp MAIL_DRIVER=smtp
# Mail sending options
MAIL_FROM=mail@bookstackapp.com MAIL_FROM=mail@bookstackapp.com
MAIL_FROM_NAME=BookStack MAIL_FROM_NAME=BookStack
# SMTP mail options
MAIL_HOST=localhost MAIL_HOST=localhost
MAIL_PORT=1025 MAIL_PORT=587
MAIL_USERNAME=null MAIL_USERNAME=null
MAIL_PASSWORD=null MAIL_PASSWORD=null
MAIL_ENCRYPTION=null MAIL_ENCRYPTION=null
MAIL_VERIFY_SSL=true MAIL_VERIFY_SSL=true
# Command to use when email is sent via sendmail
MAIL_SENDMAIL_COMMAND="/usr/sbin/sendmail -bs" MAIL_SENDMAIL_COMMAND="/usr/sbin/sendmail -bs"
# Cache & Session driver to use # Cache & Session driver to use

View file

@ -333,3 +333,12 @@ Patrick Dantas (pa-tiq) :: Portuguese, Brazilian
Michal (michalgurcik) :: Slovak Michal (michalgurcik) :: Slovak
Nepomacs :: German Nepomacs :: German
Rubens (rubenix) :: Catalan Rubens (rubenix) :: Catalan
m4z :: German; German Informal
TheRazvy :: Romanian
Yossi Zilber (lortens) :: Hebrew; Uzbek
desdinova :: French
Ingus Rūķis (ingus.rukis) :: Latvian
Eugene Pershin (SilentEugene) :: Russian
周盛道 (zhoushengdao) :: Chinese Simplified
hamidreza amini (hamidrezaamini2022) :: Persian
Tomislav Kraljević (tomislav.kraljevic) :: Croatian

View file

@ -42,6 +42,7 @@ class CommentController extends Controller
$comment = $this->commentRepo->create($page, $request->get('text'), $request->get('parent_id')); $comment = $this->commentRepo->create($page, $request->get('text'), $request->get('parent_id'));
return view('comments.comment-branch', [ return view('comments.comment-branch', [
'readOnly' => false,
'branch' => [ 'branch' => [
'comment' => $comment, 'comment' => $comment,
'children' => [], 'children' => [],
@ -66,7 +67,7 @@ class CommentController extends Controller
$comment = $this->commentRepo->update($comment, $request->get('text')); $comment = $this->commentRepo->update($comment, $request->get('text'));
return view('comments.comment', ['comment' => $comment]); return view('comments.comment', ['comment' => $comment, 'readOnly' => false]);
} }
/** /**

View file

@ -19,6 +19,8 @@ use Illuminate\Support\Str;
* @property string $entity_type * @property string $entity_type
* @property int $entity_id * @property int $entity_id
* @property int $user_id * @property int $user_id
* @property Carbon $created_at
* @property Carbon $updated_at
*/ */
class Activity extends Model class Activity extends Model
{ {

View file

@ -16,8 +16,8 @@ use ReflectionMethod;
class ApiDocsGenerator class ApiDocsGenerator
{ {
protected $reflectionClasses = []; protected array $reflectionClasses = [];
protected $controllerClasses = []; protected array $controllerClasses = [];
/** /**
* Load the docs form the cache if existing * Load the docs form the cache if existing
@ -139,9 +139,10 @@ class ApiDocsGenerator
protected function parseDescriptionFromMethodComment(string $comment): string protected function parseDescriptionFromMethodComment(string $comment): string
{ {
$matches = []; $matches = [];
preg_match_all('/^\s*?\*\s((?![@\s]).*?)$/m', $comment, $matches); preg_match_all('/^\s*?\*\s?($|((?![\/@\s]).*?))$/m', $comment, $matches);
return implode(' ', $matches[1] ?? []); $text = implode(' ', $matches[1] ?? []);
return str_replace(' ', "\n", $text);
} }
/** /**

View file

@ -8,6 +8,10 @@
* Do not edit this file unless you're happy to maintain any changes yourself. * Do not edit this file unless you're happy to maintain any changes yourself.
*/ */
// Configured mail encryption method.
// STARTTLS should still be attempted, but tls/ssl forces TLS usage.
$mailEncryption = env('MAIL_ENCRYPTION', null);
return [ return [
// Mail driver to use. // Mail driver to use.
@ -27,14 +31,15 @@ return [
'mailers' => [ 'mailers' => [
'smtp' => [ 'smtp' => [
'transport' => 'smtp', 'transport' => 'smtp',
'scheme' => null,
'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587), 'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'), 'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'), 'password' => env('MAIL_PASSWORD'),
'verify_peer' => env('MAIL_VERIFY_SSL', true), 'verify_peer' => env('MAIL_VERIFY_SSL', true),
'timeout' => null, 'timeout' => null,
'local_domain' => env('MAIL_EHLO_DOMAIN'), 'local_domain' => env('MAIL_EHLO_DOMAIN'),
'tls_required' => ($mailEncryption === 'tls' || $mailEncryption === 'ssl'),
], ],
'sendmail' => [ 'sendmail' => [

View file

@ -30,7 +30,7 @@ class BookshelfController extends Controller
} }
/** /**
* Display a listing of the book. * Display a listing of bookshelves.
*/ */
public function index(Request $request) public function index(Request $request)
{ {
@ -111,8 +111,9 @@ class BookshelfController extends Controller
]); ]);
$sort = $listOptions->getSort(); $sort = $listOptions->getSort();
$sortedVisibleShelfBooks = $shelf->visibleBooks()->get() $sortedVisibleShelfBooks = $shelf->visibleBooks()
->sortBy($sort === 'default' ? 'pivot.order' : $sort, SORT_REGULAR, $listOptions->getOrder() === 'desc') ->reorder($sort === 'default' ? 'order' : $sort, $listOptions->getOrder())
->get()
->values() ->values()
->all(); ->all();

View file

@ -13,8 +13,6 @@ use Illuminate\Http\Request;
class PageApiController extends ApiController class PageApiController extends ApiController
{ {
protected PageRepo $pageRepo;
protected $rules = [ protected $rules = [
'create' => [ 'create' => [
'book_id' => ['required_without:chapter_id', 'integer'], 'book_id' => ['required_without:chapter_id', 'integer'],
@ -36,9 +34,9 @@ class PageApiController extends ApiController
], ],
]; ];
public function __construct(PageRepo $pageRepo) public function __construct(
{ protected PageRepo $pageRepo
$this->pageRepo = $pageRepo; ) {
} }
/** /**
@ -86,10 +84,14 @@ class PageApiController extends ApiController
/** /**
* View the details of a single page. * View the details of a single page.
*
* Pages will always have HTML content. They may have markdown content * Pages will always have HTML content. They may have markdown content
* if the markdown editor was used to last update the page. * if the markdown editor was used to last update the page.
* *
* The 'html' property is the fully rendered & escaped HTML content that BookStack
* would show on page view, with page includes handled.
* The 'raw_html' property is the direct database stored HTML content, which would be
* what BookStack shows on page edit.
*
* See the "Content Security" section of these docs for security considerations when using * See the "Content Security" section of these docs for security considerations when using
* the page content returned from this endpoint. * the page content returned from this endpoint.
*/ */

View file

@ -24,16 +24,10 @@ use Throwable;
class PageController extends Controller class PageController extends Controller
{ {
protected PageRepo $pageRepo; public function __construct(
protected ReferenceFetcher $referenceFetcher; protected PageRepo $pageRepo,
protected ReferenceFetcher $referenceFetcher
/** ) {
* PageController constructor.
*/
public function __construct(PageRepo $pageRepo, ReferenceFetcher $referenceFetcher)
{
$this->pageRepo = $pageRepo;
$this->referenceFetcher = $referenceFetcher;
} }
/** /**

View file

@ -139,6 +139,7 @@ class Page extends BookChild
{ {
$refreshed = $this->refresh()->unsetRelations()->load(['tags', 'createdBy', 'updatedBy', 'ownedBy']); $refreshed = $this->refresh()->unsetRelations()->load(['tags', 'createdBy', 'updatedBy', 'ownedBy']);
$refreshed->setHidden(array_diff($refreshed->getHidden(), ['html', 'markdown'])); $refreshed->setHidden(array_diff($refreshed->getHidden(), ['html', 'markdown']));
$refreshed->setAttribute('raw_html', $refreshed->html);
$refreshed->html = (new PageContent($refreshed))->render(); $refreshed->html = (new PageContent($refreshed))->render();
return $refreshed; return $refreshed;

View file

@ -2,6 +2,7 @@
namespace BookStack\Entities\Tools; namespace BookStack\Entities\Tools;
use BookStack\Activity\Tools\CommentTree;
use BookStack\Entities\Models\Page; use BookStack\Entities\Models\Page;
use BookStack\Entities\Repos\PageRepo; use BookStack\Entities\Repos\PageRepo;
use BookStack\Entities\Tools\Markdown\HtmlToMarkdown; use BookStack\Entities\Tools\Markdown\HtmlToMarkdown;
@ -9,19 +10,14 @@ use BookStack\Entities\Tools\Markdown\MarkdownToHtml;
class PageEditorData class PageEditorData
{ {
protected Page $page;
protected PageRepo $pageRepo;
protected string $requestedEditor;
protected array $viewData; protected array $viewData;
protected array $warnings; protected array $warnings;
public function __construct(Page $page, PageRepo $pageRepo, string $requestedEditor) public function __construct(
{ protected Page $page,
$this->page = $page; protected PageRepo $pageRepo,
$this->pageRepo = $pageRepo; protected string $requestedEditor
$this->requestedEditor = $requestedEditor; ) {
$this->viewData = $this->build(); $this->viewData = $this->build();
} }
@ -69,6 +65,7 @@ class PageEditorData
'draftsEnabled' => $draftsEnabled, 'draftsEnabled' => $draftsEnabled,
'templates' => $templates, 'templates' => $templates,
'editor' => $editorType, 'editor' => $editorType,
'comments' => new CommentTree($page),
]; ];
} }

View file

@ -55,9 +55,9 @@ class PermissionsUpdater
} }
if (isset($data['fallback_permissions']['inheriting']) && $data['fallback_permissions']['inheriting'] !== true) { if (isset($data['fallback_permissions']['inheriting']) && $data['fallback_permissions']['inheriting'] !== true) {
$data = $data['fallback_permissions']; $fallbackData = $data['fallback_permissions'];
$data['role_id'] = 0; $fallbackData['role_id'] = 0;
$rolePermissionData = $this->formatPermissionsFromApiRequestToEntityPermissions([$data], true); $rolePermissionData = $this->formatPermissionsFromApiRequestToEntityPermissions([$fallbackData], true);
$entity->permissions()->createMany($rolePermissionData); $entity->permissions()->createMany($rolePermissionData);
} }

View file

@ -2,6 +2,25 @@
namespace BookStack\Exceptions; namespace BookStack\Exceptions;
class ApiAuthException extends UnauthorizedException use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
class ApiAuthException extends \Exception implements HttpExceptionInterface
{ {
protected int $status;
public function __construct(string $message, int $statusCode = 401)
{
$this->status = $statusCode;
parent::__construct($message, $statusCode);
}
public function getStatusCode(): int
{
return $this->status;
}
public function getHeaders(): array
{
return [];
}
} }

View file

@ -9,7 +9,7 @@ use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException; use Illuminate\Validation\ValidationException;
use Symfony\Component\HttpKernel\Exception\HttpException; use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
use Throwable; use Throwable;
class Handler extends ExceptionHandler class Handler extends ExceptionHandler
@ -82,7 +82,7 @@ class Handler extends ExceptionHandler
$code = 500; $code = 500;
$headers = []; $headers = [];
if ($e instanceof HttpException) { if ($e instanceof HttpExceptionInterface) {
$code = $e->getStatusCode(); $code = $e->getStatusCode();
$headers = $e->getHeaders(); $headers = $e->getHeaders();
} }
@ -103,10 +103,6 @@ class Handler extends ExceptionHandler
$code = $e->status; $code = $e->status;
} }
if (method_exists($e, 'getStatus')) {
$code = $e->getStatus();
}
$responseData['error']['code'] = $code; $responseData['error']['code'] = $code;
return new JsonResponse($responseData, $code, $headers); return new JsonResponse($responseData, $code, $headers);

View file

@ -4,8 +4,9 @@ namespace BookStack\Exceptions;
use Exception; use Exception;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Contracts\Support\Responsable;
class JsonDebugException extends Exception class JsonDebugException extends Exception implements Responsable
{ {
protected array $data; protected array $data;
@ -22,7 +23,7 @@ class JsonDebugException extends Exception
* Convert this exception into a response. * Convert this exception into a response.
* We add a manual data conversion to UTF8 to ensure any binary data is presentable as a JSON string. * We add a manual data conversion to UTF8 to ensure any binary data is presentable as a JSON string.
*/ */
public function render(): JsonResponse public function toResponse($request): JsonResponse
{ {
$cleaned = mb_convert_encoding($this->data, 'UTF-8'); $cleaned = mb_convert_encoding($this->data, 'UTF-8');

View file

@ -4,29 +4,39 @@ namespace BookStack\Exceptions;
use Exception; use Exception;
use Illuminate\Contracts\Support\Responsable; use Illuminate\Contracts\Support\Responsable;
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
class NotifyException extends Exception implements Responsable class NotifyException extends Exception implements Responsable, HttpExceptionInterface
{ {
public $message; public $message;
public $redirectLocation; public string $redirectLocation;
protected $status; protected int $status;
public function __construct(string $message, string $redirectLocation = '/', int $status = 500) public function __construct(string $message, string $redirectLocation = '/', int $status = 500)
{ {
$this->message = $message; $this->message = $message;
$this->redirectLocation = $redirectLocation; $this->redirectLocation = $redirectLocation;
$this->status = $status; $this->status = $status;
parent::__construct(); parent::__construct();
} }
/** /**
* Get the desired status code for this exception. * Get the desired HTTP status code for this exception.
*/ */
public function getStatus(): int public function getStatusCode(): int
{ {
return $this->status; return $this->status;
} }
/**
* Get the desired HTTP headers for this exception.
*/
public function getHeaders(): array
{
return [];
}
/** /**
* Send the response for this type of exception. * Send the response for this type of exception.
* *
@ -38,7 +48,7 @@ class NotifyException extends Exception implements Responsable
// Front-end JSON handling. API-side handling managed via handler. // Front-end JSON handling. API-side handling managed via handler.
if ($request->wantsJson()) { if ($request->wantsJson()) {
return response()->json(['error' => $message], 403); return response()->json(['error' => $message], $this->getStatusCode());
} }
if (!empty($message)) { if (!empty($message)) {

View file

@ -4,18 +4,12 @@ namespace BookStack\Exceptions;
use Exception; use Exception;
use Illuminate\Contracts\Support\Responsable; use Illuminate\Contracts\Support\Responsable;
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
class PrettyException extends Exception implements Responsable class PrettyException extends Exception implements Responsable, HttpExceptionInterface
{ {
/** protected ?string $subtitle = null;
* @var ?string protected ?string $details = null;
*/
protected $subtitle = null;
/**
* @var ?string
*/
protected $details = null;
/** /**
* Render a response for when this exception occurs. * Render a response for when this exception occurs.
@ -24,7 +18,7 @@ class PrettyException extends Exception implements Responsable
*/ */
public function toResponse($request) public function toResponse($request)
{ {
$code = ($this->getCode() === 0) ? 500 : $this->getCode(); $code = $this->getStatusCode();
return response()->view('errors.' . $code, [ return response()->view('errors.' . $code, [
'message' => $this->getMessage(), 'message' => $this->getMessage(),
@ -46,4 +40,20 @@ class PrettyException extends Exception implements Responsable
return $this; return $this;
} }
/**
* Get the desired HTTP status code for this exception.
*/
public function getStatusCode(): int
{
return ($this->getCode() === 0) ? 500 : $this->getCode();
}
/**
* Get the desired HTTP headers for this exception.
*/
public function getHeaders(): array
{
return [];
}
} }

View file

@ -1,16 +0,0 @@
<?php
namespace BookStack\Exceptions;
use Exception;
class UnauthorizedException extends Exception
{
/**
* ApiAuthException constructor.
*/
public function __construct($message, $code = 401)
{
parent::__construct($message, $code);
}
}

View file

@ -3,7 +3,6 @@
namespace BookStack\Http\Middleware; namespace BookStack\Http\Middleware;
use BookStack\Exceptions\ApiAuthException; use BookStack\Exceptions\ApiAuthException;
use BookStack\Exceptions\UnauthorizedException;
use Closure; use Closure;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@ -11,15 +10,13 @@ class ApiAuthenticate
{ {
/** /**
* Handle an incoming request. * Handle an incoming request.
*
* @throws ApiAuthException
*/ */
public function handle(Request $request, Closure $next) public function handle(Request $request, Closure $next)
{ {
// Validate the token and it's users API access // Validate the token and it's users API access
try { $this->ensureAuthorizedBySessionOrToken();
$this->ensureAuthorizedBySessionOrToken();
} catch (UnauthorizedException $exception) {
return $this->unauthorisedResponse($exception->getMessage(), $exception->getCode());
}
return $next($request); return $next($request);
} }
@ -28,7 +25,7 @@ class ApiAuthenticate
* Ensure the current user can access authenticated API routes, either via existing session * Ensure the current user can access authenticated API routes, either via existing session
* authentication or via API Token authentication. * authentication or via API Token authentication.
* *
* @throws UnauthorizedException * @throws ApiAuthException
*/ */
protected function ensureAuthorizedBySessionOrToken(): void protected function ensureAuthorizedBySessionOrToken(): void
{ {
@ -58,17 +55,4 @@ class ApiAuthenticate
return $hasApiPermission && hasAppAccess(); return $hasApiPermission && hasAppAccess();
} }
/**
* Provide a standard API unauthorised response.
*/
protected function unauthorisedResponse(string $message, int $code)
{
return response()->json([
'error' => [
'code' => $code,
'message' => $message,
],
], $code);
}
} }

View file

@ -38,8 +38,10 @@ class ContentPermissionApiController extends ApiController
/** /**
* Read the configured content-level permissions for the item of the given type and ID. * Read the configured content-level permissions for the item of the given type and ID.
*
* 'contentType' should be one of: page, book, chapter, bookshelf. * 'contentType' should be one of: page, book, chapter, bookshelf.
* 'contentId' should be the relevant ID of that item type you'd like to handle permissions for. * 'contentId' should be the relevant ID of that item type you'd like to handle permissions for.
*
* The permissions shown are those that override the default for just the specified item, they do not show the * The permissions shown are those that override the default for just the specified item, they do not show the
* full evaluated permission for a role, nor do they reflect permissions inherited from other items in the hierarchy. * full evaluated permission for a role, nor do they reflect permissions inherited from other items in the hierarchy.
* Fallback permission values may be `null` when inheriting is active. * Fallback permission values may be `null` when inheriting is active.
@ -57,6 +59,7 @@ class ContentPermissionApiController extends ApiController
/** /**
* Update the configured content-level permission overrides for the item of the given type and ID. * Update the configured content-level permission overrides for the item of the given type and ID.
* 'contentType' should be one of: page, book, chapter, bookshelf. * 'contentType' should be one of: page, book, chapter, bookshelf.
*
* 'contentId' should be the relevant ID of that item type you'd like to handle permissions for. * 'contentId' should be the relevant ID of that item type you'd like to handle permissions for.
* Providing an empty `role_permissions` array will remove any existing configured role permissions, * Providing an empty `role_permissions` array will remove any existing configured role permissions,
* so you may want to fetch existing permissions beforehand if just adding/removing a single item. * so you may want to fetch existing permissions beforehand if just adding/removing a single item.

View file

@ -52,8 +52,10 @@ class ImageGalleryApiController extends ApiController
/** /**
* Create a new image in the system. * Create a new image in the system.
*
* Since "image" is expected to be a file, this needs to be a 'multipart/form-data' type request. * Since "image" is expected to be a file, this needs to be a 'multipart/form-data' type request.
* The provided "uploaded_to" should be an existing page ID in the system. * The provided "uploaded_to" should be an existing page ID in the system.
*
* If the "name" parameter is omitted, the filename of the provided image file will be used instead. * If the "name" parameter is omitted, the filename of the provided image file will be used instead.
* The "type" parameter should be 'gallery' for page content images, and 'drawio' should only be used * The "type" parameter should be 'gallery' for page content images, and 'drawio' should only be used
* when the file is a PNG file with diagrams.net image data embedded within. * when the file is a PNG file with diagrams.net image data embedded within.

View file

@ -29,7 +29,8 @@ class HttpFetcher
curl_close($ch); curl_close($ch);
if ($err) { if ($err) {
throw new HttpFetchException($err); $errno = curl_errno($ch);
throw new HttpFetchException($err, $errno);
} }
return $data; return $data;

View file

@ -177,6 +177,7 @@ class ImageRepo
$image->refresh(); $image->refresh();
$image->updated_by = user()->id; $image->updated_by = user()->id;
$image->touch();
$image->save(); $image->save();
$this->imageService->replaceExistingFromUpload($image->path, $image->type, $file); $this->imageService->replaceExistingFromUpload($image->path, $image->type, $file);
$this->loadThumbs($image, true); $this->loadThumbs($image, true);

View file

@ -34,7 +34,7 @@ class UserAvatars
$user->avatar()->associate($avatar); $user->avatar()->associate($avatar);
$user->save(); $user->save();
} catch (Exception $e) { } catch (Exception $e) {
Log::error('Failed to save user avatar image'); Log::error('Failed to save user avatar image', ['exception' => $e]);
} }
} }
@ -49,7 +49,7 @@ class UserAvatars
$user->avatar()->associate($avatar); $user->avatar()->associate($avatar);
$user->save(); $user->save();
} catch (Exception $e) { } catch (Exception $e) {
Log::error('Failed to save user avatar image'); Log::error('Failed to save user avatar image', ['exception' => $e]);
} }
} }
@ -107,14 +107,14 @@ class UserAvatars
/** /**
* Gets an image from url and returns it as a string of image data. * Gets an image from url and returns it as a string of image data.
* *
* @throws Exception * @throws HttpFetchException
*/ */
protected function getAvatarImageData(string $url): string protected function getAvatarImageData(string $url): string
{ {
try { try {
$imageData = $this->http->fetch($url); $imageData = $this->http->fetch($url);
} catch (HttpFetchException $exception) { } catch (HttpFetchException $exception) {
throw new Exception(trans('errors.cannot_get_image_from_url', ['url' => $url])); throw new HttpFetchException(trans('errors.cannot_get_image_from_url', ['url' => $url]), $exception->getCode(), $exception);
} }
return $imageData; return $imageData;

View file

@ -73,7 +73,7 @@ class UserApiController extends ApiController
*/ */
public function list() public function list()
{ {
$users = User::query()->select(['*']) $users = User::query()->select(['users.*'])
->scopes('withLastActivityAt') ->scopes('withLastActivityAt')
->with(['avatar']); ->with(['avatar']);

View file

@ -15,7 +15,7 @@ class RolesAllPaginatedAndSorted
{ {
$sort = $listOptions->getSort(); $sort = $listOptions->getSort();
if ($sort === 'created_at') { if ($sort === 'created_at') {
$sort = 'users.created_at'; $sort = 'roles.created_at';
} }
$query = Role::query()->select(['*']) $query = Role::query()->select(['*'])

View file

@ -49,7 +49,8 @@
"nunomaduro/larastan": "^2.4", "nunomaduro/larastan": "^2.4",
"phpunit/phpunit": "^9.5", "phpunit/phpunit": "^9.5",
"squizlabs/php_codesniffer": "^3.7", "squizlabs/php_codesniffer": "^3.7",
"ssddanbrown/asserthtml": "^2.0" "ssddanbrown/asserthtml": "^2.0",
"ssddanbrown/symfony-mailer": "6.0.x-dev"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {

382
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "5a066407dfbd1809ffd39114a873333d", "content-hash": "d010cf625b58a0dc43addda7881ea42f",
"packages": [ "packages": [
{ {
"name": "aws/aws-crt-php", "name": "aws/aws-crt-php",
@ -639,16 +639,16 @@
}, },
{ {
"name": "doctrine/dbal", "name": "doctrine/dbal",
"version": "3.6.2", "version": "3.6.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/dbal.git", "url": "https://github.com/doctrine/dbal.git",
"reference": "b4bd1cfbd2b916951696d82e57d054394d84864c" "reference": "19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/b4bd1cfbd2b916951696d82e57d054394d84864c", "url": "https://api.github.com/repos/doctrine/dbal/zipball/19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f",
"reference": "b4bd1cfbd2b916951696d82e57d054394d84864c", "reference": "19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -661,12 +661,12 @@
"psr/log": "^1|^2|^3" "psr/log": "^1|^2|^3"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "11.1.0", "doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1", "fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2022.3", "jetbrains/phpstorm-stubs": "2022.3",
"phpstan/phpstan": "1.10.9", "phpstan/phpstan": "1.10.14",
"phpstan/phpstan-strict-rules": "^1.5", "phpstan/phpstan-strict-rules": "^1.5",
"phpunit/phpunit": "9.6.6", "phpunit/phpunit": "9.6.7",
"psalm/plugin-phpunit": "0.18.4", "psalm/plugin-phpunit": "0.18.4",
"squizlabs/php_codesniffer": "3.7.2", "squizlabs/php_codesniffer": "3.7.2",
"symfony/cache": "^5.4|^6.0", "symfony/cache": "^5.4|^6.0",
@ -731,7 +731,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/dbal/issues", "issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.6.2" "source": "https://github.com/doctrine/dbal/tree/3.6.4"
}, },
"funding": [ "funding": [
{ {
@ -747,29 +747,33 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-04-14T07:25:38+00:00" "time": "2023-06-15T07:40:12+00:00"
}, },
{ {
"name": "doctrine/deprecations", "name": "doctrine/deprecations",
"version": "v1.0.0", "version": "v1.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/deprecations.git", "url": "https://github.com/doctrine/deprecations.git",
"reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
"reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1|^8.0" "php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^9", "doctrine/coding-standard": "^9",
"phpunit/phpunit": "^7.5|^8.5|^9.5", "phpstan/phpstan": "1.4.10 || 1.10.15",
"psr/log": "^1|^2|^3" "phpstan/phpstan-phpunit": "^1.0",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"psalm/plugin-phpunit": "0.18.4",
"psr/log": "^1 || ^2 || ^3",
"vimeo/psalm": "4.30.0 || 5.12.0"
}, },
"suggest": { "suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation" "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
@ -788,9 +792,9 @@
"homepage": "https://www.doctrine-project.org/", "homepage": "https://www.doctrine-project.org/",
"support": { "support": {
"issues": "https://github.com/doctrine/deprecations/issues", "issues": "https://github.com/doctrine/deprecations/issues",
"source": "https://github.com/doctrine/deprecations/tree/v1.0.0" "source": "https://github.com/doctrine/deprecations/tree/v1.1.1"
}, },
"time": "2022-05-02T15:47:09+00:00" "time": "2023-06-03T09:27:29+00:00"
}, },
{ {
"name": "doctrine/event-manager", "name": "doctrine/event-manager",
@ -886,28 +890,28 @@
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
"version": "2.0.6", "version": "2.0.8",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/doctrine/inflector.git",
"reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff",
"reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2 || ^8.0" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^10", "doctrine/coding-standard": "^11.0",
"phpstan/phpstan": "^1.8", "phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.3", "phpstan/phpstan-strict-rules": "^1.3",
"phpunit/phpunit": "^8.5 || ^9.5", "phpunit/phpunit": "^8.5 || ^9.5",
"vimeo/psalm": "^4.25" "vimeo/psalm": "^4.25 || ^5.4"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -957,7 +961,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/inflector/issues", "issues": "https://github.com/doctrine/inflector/issues",
"source": "https://github.com/doctrine/inflector/tree/2.0.6" "source": "https://github.com/doctrine/inflector/tree/2.0.8"
}, },
"funding": [ "funding": [
{ {
@ -973,7 +977,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-10-20T09:10:12+00:00" "time": "2023-06-16T13:40:37+00:00"
}, },
{ {
"name": "doctrine/lexer", "name": "doctrine/lexer",
@ -1178,16 +1182,16 @@
}, },
{ {
"name": "egulias/email-validator", "name": "egulias/email-validator",
"version": "3.2.5", "version": "3.2.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/egulias/EmailValidator.git", "url": "https://github.com/egulias/EmailValidator.git",
"reference": "b531a2311709443320c786feb4519cfaf94af796" "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b531a2311709443320c786feb4519cfaf94af796", "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7",
"reference": "b531a2311709443320c786feb4519cfaf94af796", "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1233,7 +1237,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/egulias/EmailValidator/issues", "issues": "https://github.com/egulias/EmailValidator/issues",
"source": "https://github.com/egulias/EmailValidator/tree/3.2.5" "source": "https://github.com/egulias/EmailValidator/tree/3.2.6"
}, },
"funding": [ "funding": [
{ {
@ -1241,7 +1245,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-01-02T17:26:14+00:00" "time": "2023-06-01T07:04:22+00:00"
}, },
{ {
"name": "fruitcake/php-cors", "name": "fruitcake/php-cors",
@ -1941,16 +1945,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v9.52.7", "version": "v9.52.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "675ea868fe36b18c8303e954aac540e6b1caa677" "reference": "858add225ce88a76c43aec0e7866288321ee0ee9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/675ea868fe36b18c8303e954aac540e6b1caa677", "url": "https://api.github.com/repos/laravel/framework/zipball/858add225ce88a76c43aec0e7866288321ee0ee9",
"reference": "675ea868fe36b18c8303e954aac540e6b1caa677", "reference": "858add225ce88a76c43aec0e7866288321ee0ee9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2135,7 +2139,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2023-04-25T13:44:05+00:00" "time": "2023-06-27T13:25:54+00:00"
}, },
{ {
"name": "laravel/serializable-closure", "name": "laravel/serializable-closure",
@ -2199,16 +2203,16 @@
}, },
{ {
"name": "laravel/socialite", "name": "laravel/socialite",
"version": "v5.6.1", "version": "v5.6.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/socialite.git", "url": "https://github.com/laravel/socialite.git",
"reference": "a14a177f2cc71d8add71e2b19e00800e83bdda09" "reference": "00ea7f8630673ea49304fc8a9fca5a64eb838c7e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/socialite/zipball/a14a177f2cc71d8add71e2b19e00800e83bdda09", "url": "https://api.github.com/repos/laravel/socialite/zipball/00ea7f8630673ea49304fc8a9fca5a64eb838c7e",
"reference": "a14a177f2cc71d8add71e2b19e00800e83bdda09", "reference": "00ea7f8630673ea49304fc8a9fca5a64eb838c7e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2223,6 +2227,7 @@
"require-dev": { "require-dev": {
"mockery/mockery": "^1.0", "mockery/mockery": "^1.0",
"orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0", "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^8.0|^9.3" "phpunit/phpunit": "^8.0|^9.3"
}, },
"type": "library", "type": "library",
@ -2264,7 +2269,7 @@
"issues": "https://github.com/laravel/socialite/issues", "issues": "https://github.com/laravel/socialite/issues",
"source": "https://github.com/laravel/socialite" "source": "https://github.com/laravel/socialite"
}, },
"time": "2023-01-20T15:42:35+00:00" "time": "2023-06-06T13:42:43+00:00"
}, },
{ {
"name": "laravel/tinker", "name": "laravel/tinker",
@ -3259,16 +3264,16 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.66.0", "version": "2.68.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "496712849902241f04902033b0441b269effe001" "reference": "4f991ed2a403c85efbc4f23eb4030063fdbe01da"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/496712849902241f04902033b0441b269effe001", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4f991ed2a403c85efbc4f23eb4030063fdbe01da",
"reference": "496712849902241f04902033b0441b269effe001", "reference": "4f991ed2a403c85efbc4f23eb4030063fdbe01da",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3357,7 +3362,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-01-29T18:53:47+00:00" "time": "2023-06-20T18:29:04+00:00"
}, },
{ {
"name": "nette/schema", "name": "nette/schema",
@ -3510,16 +3515,16 @@
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
"version": "v4.15.5", "version": "v4.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nikic/PHP-Parser.git", "url": "https://github.com/nikic/PHP-Parser.git",
"reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e" "reference": "19526a33fb561ef417e822e85f08a00db4059c17"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17",
"reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e", "reference": "19526a33fb561ef417e822e85f08a00db4059c17",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3560,9 +3565,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/nikic/PHP-Parser/issues", "issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5" "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0"
}, },
"time": "2023-05-19T20:20:00+00:00" "time": "2023-06-25T14:52:30+00:00"
}, },
{ {
"name": "nunomaduro/termwind", "name": "nunomaduro/termwind",
@ -3990,16 +3995,16 @@
}, },
{ {
"name": "phpseclib/phpseclib", "name": "phpseclib/phpseclib",
"version": "3.0.19", "version": "3.0.20",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpseclib/phpseclib.git", "url": "https://github.com/phpseclib/phpseclib.git",
"reference": "cc181005cf548bfd8a4896383bb825d859259f95" "reference": "543a1da81111a0bfd6ae7bbc2865c5e89ed3fc67"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cc181005cf548bfd8a4896383bb825d859259f95", "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/543a1da81111a0bfd6ae7bbc2865c5e89ed3fc67",
"reference": "cc181005cf548bfd8a4896383bb825d859259f95", "reference": "543a1da81111a0bfd6ae7bbc2865c5e89ed3fc67",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4080,7 +4085,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/phpseclib/phpseclib/issues", "issues": "https://github.com/phpseclib/phpseclib/issues",
"source": "https://github.com/phpseclib/phpseclib/tree/3.0.19" "source": "https://github.com/phpseclib/phpseclib/tree/3.0.20"
}, },
"funding": [ "funding": [
{ {
@ -4096,7 +4101,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-03-05T17:13:09+00:00" "time": "2023-06-13T06:30:34+00:00"
}, },
{ {
"name": "pragmarx/google2fa", "name": "pragmarx/google2fa",
@ -4152,16 +4157,16 @@
}, },
{ {
"name": "predis/predis", "name": "predis/predis",
"version": "v2.1.2", "version": "v2.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/predis/predis.git", "url": "https://github.com/predis/predis.git",
"reference": "a77a43913a74f9331f637bb12867eb8e274814e5" "reference": "33b70b971a32b0d28b4f748b0547593dce316e0d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/predis/predis/zipball/a77a43913a74f9331f637bb12867eb8e274814e5", "url": "https://api.github.com/repos/predis/predis/zipball/33b70b971a32b0d28b4f748b0547593dce316e0d",
"reference": "a77a43913a74f9331f637bb12867eb8e274814e5", "reference": "33b70b971a32b0d28b4f748b0547593dce316e0d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4172,6 +4177,9 @@
"phpstan/phpstan": "^1.9", "phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^8.0 || ~9.4.4" "phpunit/phpunit": "^8.0 || ~9.4.4"
}, },
"suggest": {
"ext-relay": "Faster connection with in-memory caching (>=0.6.2)"
},
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@ -4198,7 +4206,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/predis/predis/issues", "issues": "https://github.com/predis/predis/issues",
"source": "https://github.com/predis/predis/tree/v2.1.2" "source": "https://github.com/predis/predis/tree/v2.2.0"
}, },
"funding": [ "funding": [
{ {
@ -4206,7 +4214,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-03-02T18:32:04+00:00" "time": "2023-06-14T10:37:31+00:00"
}, },
{ {
"name": "psr/cache", "name": "psr/cache",
@ -4623,16 +4631,16 @@
}, },
{ {
"name": "psy/psysh", "name": "psy/psysh",
"version": "v0.11.17", "version": "v0.11.18",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/bobthecow/psysh.git", "url": "https://github.com/bobthecow/psysh.git",
"reference": "3dc5d4018dabd80bceb8fe1e3191ba8460569f0a" "reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/3dc5d4018dabd80bceb8fe1e3191ba8460569f0a", "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4f00ee9e236fa6a48f4560d1300b9c961a70a7ec",
"reference": "3dc5d4018dabd80bceb8fe1e3191ba8460569f0a", "reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4693,9 +4701,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/bobthecow/psysh/issues", "issues": "https://github.com/bobthecow/psysh/issues",
"source": "https://github.com/bobthecow/psysh/tree/v0.11.17" "source": "https://github.com/bobthecow/psysh/tree/v0.11.18"
}, },
"time": "2023-05-05T20:02:42+00:00" "time": "2023-05-23T02:31:11+00:00"
}, },
{ {
"name": "ralouphie/getallheaders", "name": "ralouphie/getallheaders",
@ -5419,6 +5427,74 @@
], ],
"time": "2022-01-24T20:12:20+00:00" "time": "2022-01-24T20:12:20+00:00"
}, },
{
"name": "ssddanbrown/symfony-mailer",
"version": "6.0.x-dev",
"source": {
"type": "git",
"url": "https://github.com/ssddanbrown/symfony-mailer.git",
"reference": "2219dcdc5f58e4f382ce8f1e6942d16982aa3012"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ssddanbrown/symfony-mailer/zipball/2219dcdc5f58e4f382ce8f1e6942d16982aa3012",
"reference": "2219dcdc5f58e4f382ce8f1e6942d16982aa3012",
"shasum": ""
},
"require": {
"egulias/email-validator": "^2.1.10|^3|^4",
"php": ">=8.0.2",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
"symfony/event-dispatcher": "^5.4|^6.0",
"symfony/mime": "^5.4|^6.0",
"symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
"symfony/http-kernel": "<5.4"
},
"replace": {
"symfony/mailer": "^6.0"
},
"require-dev": {
"symfony/http-client-contracts": "^1.1|^2|^3",
"symfony/messenger": "^5.4|^6.0"
},
"default-branch": true,
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Mailer\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Dan Brown",
"homepage": "https://danb.me"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/ssddanbrown/symfony-mailer/tree/6.0"
},
"time": "2023-07-04T14:10:33+00:00"
},
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v6.0.19", "version": "v6.0.19",
@ -6124,80 +6200,6 @@
], ],
"time": "2023-02-01T08:22:55+00:00" "time": "2023-02-01T08:22:55+00:00"
}, },
{
"name": "symfony/mailer",
"version": "v6.0.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
"reference": "cd60799210c488f545ddde2444dc1aa548322872"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/mailer/zipball/cd60799210c488f545ddde2444dc1aa548322872",
"reference": "cd60799210c488f545ddde2444dc1aa548322872",
"shasum": ""
},
"require": {
"egulias/email-validator": "^2.1.10|^3|^4",
"php": ">=8.0.2",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
"symfony/event-dispatcher": "^5.4|^6.0",
"symfony/mime": "^5.4|^6.0",
"symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
"symfony/http-kernel": "<5.4"
},
"require-dev": {
"symfony/http-client-contracts": "^1.1|^2|^3",
"symfony/messenger": "^5.4|^6.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Mailer\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/mailer/tree/v6.0.19"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-01-11T11:50:03+00:00"
},
{ {
"name": "symfony/mime", "name": "symfony/mime",
"version": "v6.0.19", "version": "v6.0.19",
@ -8011,16 +8013,16 @@
}, },
{ {
"name": "fakerphp/faker", "name": "fakerphp/faker",
"version": "v1.22.0", "version": "v1.23.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/FakerPHP/Faker.git", "url": "https://github.com/FakerPHP/Faker.git",
"reference": "f85772abd508bd04e20bb4b1bbe260a68d0066d2" "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/f85772abd508bd04e20bb4b1bbe260a68d0066d2", "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
"reference": "f85772abd508bd04e20bb4b1bbe260a68d0066d2", "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8073,9 +8075,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/FakerPHP/Faker/issues", "issues": "https://github.com/FakerPHP/Faker/issues",
"source": "https://github.com/FakerPHP/Faker/tree/v1.22.0" "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0"
}, },
"time": "2023-05-14T12:31:37+00:00" "time": "2023-06-12T08:44:38+00:00"
}, },
{ {
"name": "filp/whoops", "name": "filp/whoops",
@ -8269,38 +8271,44 @@
}, },
{ {
"name": "mockery/mockery", "name": "mockery/mockery",
"version": "1.5.1", "version": "1.6.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/mockery/mockery.git", "url": "https://github.com/mockery/mockery.git",
"reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e" "reference": "13a7fa2642c76c58fa2806ef7f565344c817a191"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e", "url": "https://api.github.com/repos/mockery/mockery/zipball/13a7fa2642c76c58fa2806ef7f565344c817a191",
"reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e", "reference": "13a7fa2642c76c58fa2806ef7f565344c817a191",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"hamcrest/hamcrest-php": "^2.0.1", "hamcrest/hamcrest-php": "^2.0.1",
"lib-pcre": ">=7.0", "lib-pcre": ">=7.0",
"php": "^7.3 || ^8.0" "php": "^7.4 || ^8.0"
}, },
"conflict": { "conflict": {
"phpunit/phpunit": "<8.0" "phpunit/phpunit": "<8.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^8.5 || ^9.3" "phpunit/phpunit": "^8.5 || ^9.3",
"psalm/plugin-phpunit": "^0.18",
"vimeo/psalm": "^5.9"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4.x-dev" "dev-main": "1.6.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-0": { "files": [
"Mockery": "library/" "library/helpers.php",
"library/Mockery.php"
],
"psr-4": {
"Mockery\\": "library/Mockery"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@ -8335,9 +8343,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/mockery/mockery/issues", "issues": "https://github.com/mockery/mockery/issues",
"source": "https://github.com/mockery/mockery/tree/1.5.1" "source": "https://github.com/mockery/mockery/tree/1.6.2"
}, },
"time": "2022-09-07T15:32:08+00:00" "time": "2023-06-07T09:07:52+00:00"
}, },
{ {
"name": "myclabs/deep-copy", "name": "myclabs/deep-copy",
@ -8488,16 +8496,16 @@
}, },
{ {
"name": "nunomaduro/larastan", "name": "nunomaduro/larastan",
"version": "v2.6.0", "version": "v2.6.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nunomaduro/larastan.git", "url": "https://github.com/nunomaduro/larastan.git",
"reference": "ccac5b25949576807862cf32ba1fce1769c06c42" "reference": "73e5be5f5c732212ce6ca77ffd2753a136f36a23"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nunomaduro/larastan/zipball/ccac5b25949576807862cf32ba1fce1769c06c42", "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/73e5be5f5c732212ce6ca77ffd2753a136f36a23",
"reference": "ccac5b25949576807862cf32ba1fce1769c06c42", "reference": "73e5be5f5c732212ce6ca77ffd2753a136f36a23",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8560,7 +8568,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/nunomaduro/larastan/issues", "issues": "https://github.com/nunomaduro/larastan/issues",
"source": "https://github.com/nunomaduro/larastan/tree/v2.6.0" "source": "https://github.com/nunomaduro/larastan/tree/v2.6.3"
}, },
"funding": [ "funding": [
{ {
@ -8580,7 +8588,7 @@
"type": "patreon" "type": "patreon"
} }
], ],
"time": "2023-04-20T12:40:01+00:00" "time": "2023-06-13T21:39:27+00:00"
}, },
{ {
"name": "phar-io/manifest", "name": "phar-io/manifest",
@ -8695,16 +8703,16 @@
}, },
{ {
"name": "phpmyadmin/sql-parser", "name": "phpmyadmin/sql-parser",
"version": "5.7.0", "version": "5.8.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpmyadmin/sql-parser.git", "url": "https://github.com/phpmyadmin/sql-parser.git",
"reference": "0f5895aab2b6002d00b6831b60983523dea30bff" "reference": "db1b3069b5dbc220d393d67ff911e0ae76732755"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/0f5895aab2b6002d00b6831b60983523dea30bff", "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/db1b3069b5dbc220d393d67ff911e0ae76732755",
"reference": "0f5895aab2b6002d00b6831b60983523dea30bff", "reference": "db1b3069b5dbc220d393d67ff911e0ae76732755",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8778,20 +8786,20 @@
"type": "other" "type": "other"
} }
], ],
"time": "2023-01-25T10:43:40+00:00" "time": "2023-06-05T18:19:38+00:00"
}, },
{ {
"name": "phpstan/phpstan", "name": "phpstan/phpstan",
"version": "1.10.15", "version": "1.10.23",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan.git", "url": "https://github.com/phpstan/phpstan.git",
"reference": "762c4dac4da6f8756eebb80e528c3a47855da9bd" "reference": "65ab678d1248a8bc6fde456f0d7ff3562a61a4cd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/762c4dac4da6f8756eebb80e528c3a47855da9bd", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/65ab678d1248a8bc6fde456f0d7ff3562a61a4cd",
"reference": "762c4dac4da6f8756eebb80e528c3a47855da9bd", "reference": "65ab678d1248a8bc6fde456f0d7ff3562a61a4cd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8840,7 +8848,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-05-09T15:28:01+00:00" "time": "2023-07-04T13:32:44+00:00"
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
@ -9162,16 +9170,16 @@
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "9.6.8", "version": "9.6.9",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "17d621b3aff84d0c8b62539e269e87d8d5baa76e" "reference": "a9aceaf20a682aeacf28d582654a1670d8826778"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/17d621b3aff84d0c8b62539e269e87d8d5baa76e", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a9aceaf20a682aeacf28d582654a1670d8826778",
"reference": "17d621b3aff84d0c8b62539e269e87d8d5baa76e", "reference": "a9aceaf20a682aeacf28d582654a1670d8826778",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9245,7 +9253,7 @@
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues", "issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy", "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.8" "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.9"
}, },
"funding": [ "funding": [
{ {
@ -9261,7 +9269,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-05-11T05:14:45+00:00" "time": "2023-06-11T06:13:56+00:00"
}, },
{ {
"name": "sebastian/cli-parser", "name": "sebastian/cli-parser",
@ -10466,7 +10474,9 @@
], ],
"aliases": [], "aliases": [],
"minimum-stability": "stable", "minimum-stability": "stable",
"stability-flags": [], "stability-flags": {
"ssddanbrown/symfony-mailer": 20
},
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {

View file

@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB::table('entity_permissions')
->where('entity_type', '=', 'bookshelf')
->update(['create' => 0]);
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
// No structural changes to make, and we cannot know the permissions to re-assign.
}
};

View file

@ -1,11 +1,11 @@
{ {
"id": 15,
"name": "My new book", "name": "My new book",
"slug": "my-new-book",
"description": "This is a book created via the API", "description": "This is a book created via the API",
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1, "owned_by": 1,
"slug": "my-new-book",
"updated_at": "2020-01-12T14:05:11.000000Z", "updated_at": "2020-01-12T14:05:11.000000Z",
"created_at": "2020-01-12T14:05:11.000000Z", "created_at": "2020-01-12T14:05:11.000000Z"
"id": 15
} }

View file

@ -7,15 +7,18 @@
"updated_at": "2020-01-12T14:11:51.000000Z", "updated_at": "2020-01-12T14:11:51.000000Z",
"created_by": { "created_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"updated_by": { "updated_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"owned_by": { "owned_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"contents": [ "contents": [
{ {
@ -52,12 +55,12 @@
"template": false, "template": false,
"created_at": "2021-12-19T18:22:11.000000Z", "created_at": "2021-12-19T18:22:11.000000Z",
"updated_at": "2022-07-29T13:44:15.000000Z", "updated_at": "2022-07-29T13:44:15.000000Z",
"url": "https://example.com/books/my-own-book/page/cool-animals" "url": "https://example.com/books/my-own-book/page/cool-animals",
"type": "page"
} }
], ],
"tags": [ "tags": [
{ {
"id": 13,
"name": "Category", "name": "Category",
"value": "Guide", "value": "Guide",
"order": 0 "order": 0

View file

@ -1,39 +1,25 @@
{ {
"id": 74,
"book_id": 1, "book_id": 1,
"priority": 6, "slug": "my-fantastic-new-chapter",
"name": "My fantastic new chapter", "name": "My fantastic new chapter",
"description": "This is a great new chapter that I've created via the API", "description": "This is a great new chapter that I've created via the API",
"priority": 6,
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1, "owned_by": 1,
"slug": "my-fantastic-new-chapter",
"updated_at": "2020-05-22T22:59:55.000000Z", "updated_at": "2020-05-22T22:59:55.000000Z",
"created_at": "2020-05-22T22:59:55.000000Z", "created_at": "2020-05-22T22:59:55.000000Z",
"id": 74,
"book": {
"id": 1,
"name": "BookStack User Guide",
"slug": "bookstack-user-guide",
"description": "This is a general guide on using BookStack on a day-to-day basis.",
"created_at": "2019-05-05T21:48:46.000000Z",
"updated_at": "2019-12-11T20:57:31.000000Z",
"created_by": 1,
"updated_by": 1
},
"tags": [ "tags": [
{ {
"name": "Category", "name": "Category",
"value": "Top Content", "value": "Top Content",
"order": 0, "order": 0
"created_at": "2020-05-22T22:59:55.000000Z",
"updated_at": "2020-05-22T22:59:55.000000Z"
}, },
{ {
"name": "Rating", "name": "Rating",
"value": "Highest", "value": "Highest",
"order": 0, "order": 1
"created_at": "2020-05-22T22:59:55.000000Z",
"updated_at": "2020-05-22T22:59:55.000000Z"
} }
] ]
} }

View file

@ -11,7 +11,8 @@
"updated_at": "2019-09-28T11:24:23.000000Z", "updated_at": "2019-09-28T11:24:23.000000Z",
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1 "owned_by": 1,
"book_slug": "example-book"
}, },
{ {
"id": 2, "id": 2,
@ -24,7 +25,8 @@
"updated_at": "2019-10-17T15:05:34.000000Z", "updated_at": "2019-10-17T15:05:34.000000Z",
"created_by": 3, "created_by": 3,
"updated_by": 3, "updated_by": 3,
"owned_by": 3 "owned_by": 3,
"book_slug": "example-book"
} }
], ],
"total": 40 "total": 40

View file

@ -9,16 +9,20 @@
"updated_at": "2019-09-28T11:24:23.000000Z", "updated_at": "2019-09-28T11:24:23.000000Z",
"created_by": { "created_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"updated_by": { "updated_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"owned_by": { "owned_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"book_slug": "example-book",
"tags": [ "tags": [
{ {
"name": "Category", "name": "Category",
@ -38,9 +42,12 @@
"updated_at": "2019-08-26T14:32:59.000000Z", "updated_at": "2019-08-26T14:32:59.000000Z",
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1,
"draft": false, "draft": false,
"revision_count": 2, "revision_count": 2,
"template": false "template": false,
"editor": "wysiwyg",
"book_slug": "example-book"
}, },
{ {
"id": 7, "id": 7,
@ -53,9 +60,12 @@
"updated_at": "2019-06-06T12:03:04.000000Z", "updated_at": "2019-06-06T12:03:04.000000Z",
"created_by": 3, "created_by": 3,
"updated_by": 3, "updated_by": 3,
"owned_by": 1,
"draft": false, "draft": false,
"revision_count": 1, "revision_count": 1,
"template": false "template": false,
"editor": "wysiwyg",
"book_slug": "example-book"
} }
] ]
} }

View file

@ -10,30 +10,17 @@
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1, "owned_by": 1,
"book": { "book_slug": "bookstack-demo-site",
"id": 1,
"name": "BookStack User Guide",
"slug": "bookstack-user-guide",
"description": "This is a general guide on using BookStack on a day-to-day basis.",
"created_at": "2019-05-05T21:48:46.000000Z",
"updated_at": "2019-12-11T20:57:31.000000Z",
"created_by": 1,
"updated_by": 1
},
"tags": [ "tags": [
{ {
"name": "Category", "name": "Category",
"value": "Kinda Good Content", "value": "Kinda Good Content",
"order": 0, "order": 0
"created_at": "2020-05-22T23:07:20.000000Z",
"updated_at": "2020-05-22T23:07:20.000000Z"
}, },
{ {
"name": "Rating", "name": "Rating",
"value": "Medium", "value": "Medium",
"order": 0, "order": 1
"created_at": "2020-05-22T23:07:20.000000Z",
"updated_at": "2020-05-22T23:07:20.000000Z"
} }
] ]
} }

View file

@ -5,25 +5,30 @@
"name": "My API Page", "name": "My API Page",
"slug": "my-api-page", "slug": "my-api-page",
"html": "<p id=\"bkmrk-my-new-api-page\">my new API page</p>", "html": "<p id=\"bkmrk-my-new-api-page\">my new API page</p>",
"raw_html": "<p id=\"bkmrk-my-new-api-page\">my new API page</p>",
"priority": 14, "priority": 14,
"created_at": "2020-11-28T15:01:39.000000Z", "created_at": "2020-11-28T15:01:39.000000Z",
"updated_at": "2020-11-28T15:01:39.000000Z", "updated_at": "2020-11-28T15:01:39.000000Z",
"created_by": { "created_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"updated_by": { "updated_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"owned_by": { "owned_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"draft": false, "draft": false,
"markdown": "", "markdown": "",
"revision_count": 1, "revision_count": 1,
"template": false, "template": false,
"editor": "wysiwyg",
"tags": [ "tags": [
{ {
"name": "Category", "name": "Category",

View file

@ -8,12 +8,15 @@
"slug": "how-to-create-page-content", "slug": "how-to-create-page-content",
"priority": 0, "priority": 0,
"draft": false, "draft": false,
"revision_count": 3,
"template": false, "template": false,
"created_at": "2019-05-05T21:49:58.000000Z", "created_at": "2019-05-05T21:49:58.000000Z",
"updated_at": "2020-07-04T15:50:58.000000Z", "updated_at": "2020-07-04T15:50:58.000000Z",
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1 "owned_by": 1,
"editor": "wysiwyg",
"book_slug": "example-book"
}, },
{ {
"id": 2, "id": 2,
@ -23,12 +26,15 @@
"slug": "how-to-use-images", "slug": "how-to-use-images",
"priority": 2, "priority": 2,
"draft": false, "draft": false,
"revision_count": 3,
"template": false, "template": false,
"created_at": "2019-05-05T21:53:30.000000Z", "created_at": "2019-05-05T21:53:30.000000Z",
"updated_at": "2019-06-06T12:03:04.000000Z", "updated_at": "2019-06-06T12:03:04.000000Z",
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1 "owned_by": 1,
"editor": "wysiwyg",
"book_slug": "example-book"
}, },
{ {
"id": 3, "id": 3,
@ -38,12 +44,15 @@
"slug": "drawings-via-drawio", "slug": "drawings-via-drawio",
"priority": 3, "priority": 3,
"draft": false, "draft": false,
"revision_count": 3,
"template": false, "template": false,
"created_at": "2019-05-05T21:53:49.000000Z", "created_at": "2019-05-05T21:53:49.000000Z",
"updated_at": "2019-12-18T21:56:52.000000Z", "updated_at": "2019-12-18T21:56:52.000000Z",
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1 "owned_by": 1,
"editor": "wysiwyg",
"book_slug": "example-book"
} }
], ],
"total": 322 "total": 322

View file

@ -4,26 +4,31 @@
"chapter_id": 0, "chapter_id": 0,
"name": "A page written in markdown", "name": "A page written in markdown",
"slug": "a-page-written-in-markdown", "slug": "a-page-written-in-markdown",
"html": "<h1 id=\"bkmrk-how-this-is-built\">How this is built</h1>\r\n<p id=\"bkmrk-this-page-is-written\">This page is written in markdown. BookStack stores the page data in HTML.</p>\r\n<p id=\"bkmrk-here%27s-a-cute-pictur\">Here's a cute picture of my cat:</p>\r\n<p id=\"bkmrk-\"><a href=\"http://example.com/uploads/images/gallery/2020-04/yXSrubes.jpg\"><img src=\"http://example.com/uploads/images/gallery/2020-04/scaled-1680-/yXSrubes.jpg\" alt=\"yXSrubes.jpg\"></a></p>", "html": "<h1 id=\"bkmrk-this-is-my-cool-page\">This is my cool page! With some included text</h1>",
"raw_html": "<h1 id=\"bkmrk-this-is-my-cool-page\">This is my cool page! {{@1#bkmrk-a}}</h1>",
"priority": 13, "priority": 13,
"created_at": "2020-02-02T21:40:38.000000Z", "created_at": "2020-02-02T21:40:38.000000Z",
"updated_at": "2020-11-28T14:43:20.000000Z", "updated_at": "2020-11-28T14:43:20.000000Z",
"created_by": { "created_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"updated_by": { "updated_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"owned_by": { "owned_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"draft": false, "draft": false,
"markdown": "# How this is built\r\n\r\nThis page is written in markdown. BookStack stores the page data in HTML.\r\n\r\nHere's a cute picture of my cat:\r\n\r\n[![yXSrubes.jpg](http://example.com/uploads/images/gallery/2020-04/scaled-1680-/yXSrubes.jpg)](http://example.com/uploads/images/gallery/2020-04/yXSrubes.jpg)", "markdown": "# How this is built\r\n\r\nThis page is written in markdown. BookStack stores the page data in HTML.\r\n\r\nHere's a cute picture of my cat:\r\n\r\n[![yXSrubes.jpg](http://example.com/uploads/images/gallery/2020-04/scaled-1680-/yXSrubes.jpg)](http://example.com/uploads/images/gallery/2020-04/yXSrubes.jpg)",
"revision_count": 5, "revision_count": 5,
"template": false, "template": false,
"editor": "wysiwyg",
"tags": [ "tags": [
{ {
"name": "Category", "name": "Category",

View file

@ -5,25 +5,30 @@
"name": "My updated API Page", "name": "My updated API Page",
"slug": "my-updated-api-page", "slug": "my-updated-api-page",
"html": "<p id=\"bkmrk-my-new-api-page---up\">my new API page - Updated</p>", "html": "<p id=\"bkmrk-my-new-api-page---up\">my new API page - Updated</p>",
"raw_html": "<p id=\"bkmrk-my-new-api-page---up\">my new API page - Updated</p>",
"priority": 16, "priority": 16,
"created_at": "2020-11-28T15:10:54.000000Z", "created_at": "2020-11-28T15:10:54.000000Z",
"updated_at": "2020-11-28T15:13:03.000000Z", "updated_at": "2020-11-28T15:13:03.000000Z",
"created_by": { "created_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"updated_by": { "updated_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"owned_by": { "owned_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"draft": false, "draft": false,
"markdown": "", "markdown": "",
"revision_count": 5, "revision_count": 5,
"template": false, "template": false,
"editor": "wysiwyg",
"tags": [ "tags": [
{ {
"name": "Category", "name": "Category",

View file

@ -1,11 +1,11 @@
{ {
"id": 14,
"name": "My shelf", "name": "My shelf",
"slug": "my-shelf",
"description": "This is my shelf with some books", "description": "This is my shelf with some books",
"created_by": 1, "created_by": 1,
"updated_by": 1, "updated_by": 1,
"owned_by": 1, "owned_by": 1,
"slug": "my-shelf",
"updated_at": "2020-04-10T13:24:09.000000Z",
"created_at": "2020-04-10T13:24:09.000000Z", "created_at": "2020-04-10T13:24:09.000000Z",
"id": 14 "updated_at": "2020-04-10T13:24:09.000000Z"
} }

View file

@ -5,21 +5,23 @@
"description": "This is my shelf with some books", "description": "This is my shelf with some books",
"created_by": { "created_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"updated_by": { "updated_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"owned_by": { "owned_by": {
"id": 1, "id": 1,
"name": "Admin" "name": "Admin",
"slug": "admin"
}, },
"created_at": "2020-04-10T13:24:09.000000Z", "created_at": "2020-04-10T13:24:09.000000Z",
"updated_at": "2020-04-10T13:31:04.000000Z", "updated_at": "2020-04-10T13:31:04.000000Z",
"tags": [ "tags": [
{ {
"id": 16,
"name": "Category", "name": "Category",
"value": "Guide", "value": "Guide",
"order": 0 "order": 0
@ -41,17 +43,35 @@
{ {
"id": 5, "id": 5,
"name": "Sint explicabo alias sunt.", "name": "Sint explicabo alias sunt.",
"slug": "jbsQrzuaXe" "slug": "jbsQrzuaXe",
"description": "Hic forum est.",
"created_at": "2020-04-10T13:31:04.000000Z",
"updated_at": "2020-04-10T13:31:04.000000Z",
"created_by": 1,
"updated_by": 1,
"owned_by": 1
}, },
{ {
"id": 1, "id": 1,
"name": "BookStack User Guide", "name": "BookStack User Guide",
"slug": "bookstack-user-guide" "slug": "bookstack-user-guide",
"description": "The Bookstack User Guide Book.",
"created_at": "2020-04-10T15:30:32.000000Z",
"updated_at": "2020-04-13T09:01:04.000000Z",
"created_by": 1,
"updated_by": 2,
"owned_by": 1
}, },
{ {
"id": 3, "id": 3,
"name": "Molestiae doloribus sint velit suscipit dolorem.", "name": "Molestiae doloribus sint velit suscipit dolorem.",
"slug": "H99QxALaoG" "slug": "H99QxALaoG",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"created_at": "2020-04-10T13:31:04.000000Z",
"updated_at": "2020-04-10T13:31:04.000000Z",
"created_by": 1,
"updated_by": 1,
"owned_by": 1
} }
] ]
} }

View file

@ -18,7 +18,7 @@
"id": 2, "id": 2,
"name": "Benny", "name": "Benny",
"email": "benny@example.com", "email": "benny@example.com",
"created_at": "2022-01-31T20:39:24.000000Z", "created_at": "2020-01-15T04:43:11.000000Z",
"updated_at": "2021-11-18T17:10:58.000000Z", "updated_at": "2021-11-18T17:10:58.000000Z",
"external_auth_id": "", "external_auth_id": "",
"slug": "benny", "slug": "benny",

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'تمت استعادة الصفحة', 'page_restore' => 'تمت استعادة الصفحة',
'page_restore_notification' => 'تمت استعادة الصفحة بنجاح', 'page_restore_notification' => 'تمت استعادة الصفحة بنجاح',
'page_move' => 'تم نقل الصفحة', 'page_move' => 'تم نقل الصفحة',
'page_move_notification' => 'Page successfully moved',
// Chapters // Chapters
'chapter_create' => 'تم إنشاء فصل', 'chapter_create' => 'تم إنشاء فصل',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'تم حذف الفصل', 'chapter_delete' => 'تم حذف الفصل',
'chapter_delete_notification' => 'تم حذف الفصل بنجاح', 'chapter_delete_notification' => 'تم حذف الفصل بنجاح',
'chapter_move' => 'تم نقل الفصل', 'chapter_move' => 'تم نقل الفصل',
'chapter_move_notification' => 'Chapter successfully moved',
// Books // Books
'book_create' => 'تم إنشاء كتاب', 'book_create' => 'تم إنشاء كتاب',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'تم حذف الرف', 'bookshelf_delete' => 'تم حذف الرف',
'bookshelf_delete_notification' => 'تم حذف الرف بنجاح', 'bookshelf_delete_notification' => 'تم حذف الرف بنجاح',
// Revisions
'revision_restore' => 'restored revision',
'revision_delete' => 'deleted revision',
'revision_delete_notification' => 'Revision successfully deleted',
// Favourites // Favourites
'favourite_add_notification' => 'تم إضافة ":name" إلى المفضلة لديك', 'favourite_add_notification' => 'تم إضافة ":name" إلى المفضلة لديك',
'favourite_remove_notification' => 'تم إزالة ":name" من المفضلة لديك', 'favourite_remove_notification' => 'تم إزالة ":name" من المفضلة لديك',
// MFA // Auth
'auth_login' => 'logged in',
'auth_register' => 'registered as new user',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'reset user password',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'تم تكوين طريقة متعددة العوامل بنجاح', 'mfa_setup_method_notification' => 'تم تكوين طريقة متعددة العوامل بنجاح',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'تمت إزالة طريقة متعددة العوامل بنجاح', 'mfa_remove_method_notification' => 'تمت إزالة طريقة متعددة العوامل بنجاح',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks // Webhooks
'webhook_create' => 'تم إنشاء webhook', 'webhook_create' => 'تم إنشاء webhook',
'webhook_create_notification' => 'تم إنشاء Webhook بنجاح', 'webhook_create_notification' => 'تم إنشاء Webhook بنجاح',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'تم حذف Webhook بنجاح', 'webhook_delete_notification' => 'تم حذف Webhook بنجاح',
// Users // Users
'user_create' => 'created user',
'user_create_notification' => 'User successfully created',
'user_update' => 'updated user',
'user_update_notification' => 'تم تحديث المستخدم بنجاح', 'user_update_notification' => 'تم تحديث المستخدم بنجاح',
'user_delete' => 'deleted user',
'user_delete_notification' => 'تم إزالة المستخدم بنجاح', 'user_delete_notification' => 'تم إزالة المستخدم بنجاح',
// API Tokens
'api_token_create' => 'created api token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated api token',
'api_token_update_notification' => 'API token successfully updated',
'api_token_delete' => 'deleted api token',
'api_token_delete_notification' => 'API token successfully deleted',
// Roles // Roles
'role_create' => 'created role',
'role_create_notification' => 'Role successfully created', 'role_create_notification' => 'Role successfully created',
'role_update' => 'updated role',
'role_update_notification' => 'Role successfully updated', 'role_update_notification' => 'Role successfully updated',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Role successfully deleted', 'role_delete_notification' => 'Role successfully deleted',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',
'recycle_bin_restore' => 'restored from recycle bin',
'recycle_bin_destroy' => 'removed from recycle bin',
// Other // Other
'commented_on' => 'تم التعليق', 'commented_on' => 'تم التعليق',
'permissions_update' => 'تحديث الأذونات', 'permissions_update' => 'تحديث الأذونات',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'إلغاء', 'cancel' => 'إلغاء',
'close' => 'Close',
'confirm' => 'تأكيد', 'confirm' => 'تأكيد',
'back' => 'رجوع', 'back' => 'رجوع',
'save' => 'حفظ', 'save' => 'حفظ',

View file

@ -6,6 +6,8 @@ return [
// Image Manager // Image Manager
'image_select' => 'تحديد صورة', 'image_select' => 'تحديد صورة',
'image_list' => 'Image List',
'image_details' => 'Image Details',
'image_upload' => 'Upload Image', 'image_upload' => 'Upload Image',
'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.', 'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.',
'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.',
@ -15,6 +17,9 @@ return [
'image_page_title' => 'عرض الصور المرفوعة لهذه الصفحة', 'image_page_title' => 'عرض الصور المرفوعة لهذه الصفحة',
'image_search_hint' => 'البحث باستخدام اسم الصورة', 'image_search_hint' => 'البحث باستخدام اسم الصورة',
'image_uploaded' => 'وقت الرفع :uploadedDate', 'image_uploaded' => 'وقت الرفع :uploadedDate',
'image_uploaded_by' => 'Uploaded by :userName',
'image_uploaded_to' => 'Uploaded to :pageLink',
'image_updated' => 'Updated :updateDate',
'image_load_more' => 'المزيد', 'image_load_more' => 'المزيد',
'image_image_name' => 'اسم الصورة', 'image_image_name' => 'اسم الصورة',
'image_delete_used' => 'هذه الصورة مستخدمة بالصفحات أدناه.', 'image_delete_used' => 'هذه الصورة مستخدمة بالصفحات أدناه.',
@ -27,6 +32,8 @@ return [
'image_upload_success' => 'تم رفع الصورة بنجاح', 'image_upload_success' => 'تم رفع الصورة بنجاح',
'image_update_success' => 'تم تحديث تفاصيل الصورة بنجاح', 'image_update_success' => 'تم تحديث تفاصيل الصورة بنجاح',
'image_delete_success' => 'تم حذف الصورة بنجاح', 'image_delete_success' => 'تم حذف الصورة بنجاح',
'image_replace' => 'Replace Image',
'image_replace_success' => 'Image file successfully updated',
// Code Editor // Code Editor
'code_editor' => 'تعديل الشفرة', 'code_editor' => 'تعديل الشفرة',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'حفظ الفصل', 'chapters_save' => 'حفظ الفصل',
'chapters_move' => 'نقل الفصل', 'chapters_move' => 'نقل الفصل',
'chapters_move_named' => 'نقل فصل :chapterName', 'chapters_move_named' => 'نقل فصل :chapterName',
'chapter_move_success' => 'تم نقل الفصل إلى :bookName',
'chapters_copy' => 'Copy Chapter', 'chapters_copy' => 'Copy Chapter',
'chapters_copy_success' => 'Chapter successfully copied', 'chapters_copy_success' => 'Chapter successfully copied',
'chapters_permissions' => 'أذونات الفصل', 'chapters_permissions' => 'أذونات الفصل',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'الصفحة قيد التعديل', 'pages_editing_page' => 'الصفحة قيد التعديل',
'pages_edit_draft_save_at' => 'تم خفظ المسودة في ', 'pages_edit_draft_save_at' => 'تم خفظ المسودة في ',
'pages_edit_delete_draft' => 'حذف المسودة', 'pages_edit_delete_draft' => 'حذف المسودة',
'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.',
'pages_edit_discard_draft' => 'التخلص من المسودة', 'pages_edit_discard_draft' => 'التخلص من المسودة',
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor', 'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
'pages_edit_switch_to_markdown_clean' => '(Clean Content)', 'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Sync preview scroll', 'pages_md_sync_scroll' => 'Sync preview scroll',
'pages_not_in_chapter' => 'صفحة ليست في فصل', 'pages_not_in_chapter' => 'صفحة ليست في فصل',
'pages_move' => 'نقل الصفحة', 'pages_move' => 'نقل الصفحة',
'pages_move_success' => 'تم نقل الصفحة إلى ":parentName"',
'pages_copy' => 'نسخ الصفحة', 'pages_copy' => 'نسخ الصفحة',
'pages_copy_desination' => 'نسخ مكان الوصول', 'pages_copy_desination' => 'نسخ مكان الوصول',
'pages_copy_success' => 'تم نسخ الصفحة بنجاح', 'pages_copy_success' => 'تم نسخ الصفحة بنجاح',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'استرجاع', 'pages_revisions_restore' => 'استرجاع',
'pages_revisions_none' => 'لا توجد مراجعات لهذه الصفحة', 'pages_revisions_none' => 'لا توجد مراجعات لهذه الصفحة',
'pages_copy_link' => 'نسخ الرابط', 'pages_copy_link' => 'نسخ الرابط',
'pages_edit_content_link' => 'تعديل المحتوى', 'pages_edit_content_link' => 'Jump to section in editor',
'pages_pointer_enter_mode' => 'Enter section select mode',
'pages_pointer_label' => 'Page Section Options',
'pages_pointer_permalink' => 'Page Section Permalink',
'pages_pointer_include_tag' => 'Page Section Include Tag',
'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag',
'pages_pointer_toggle_include' => 'Include tag mode, Press to show permalink',
'pages_permissions_active' => 'أذونات الصفحة مفعلة', 'pages_permissions_active' => 'أذونات الصفحة مفعلة',
'pages_initial_revision' => 'نشر مبدئي', 'pages_initial_revision' => 'نشر مبدئي',
'pages_references_update_revision' => 'System auto-update of internal links', 'pages_references_update_revision' => 'System auto-update of internal links',
@ -281,7 +286,8 @@ return [
'time_b' => 'في آخر :minCount دقيقة/دقائق', 'time_b' => 'في آخر :minCount دقيقة/دقائق',
'message' => 'وقت البدء: احرص على عدم الكتابة فوق تحديثات بعضنا البعض!', 'message' => 'وقت البدء: احرص على عدم الكتابة فوق تحديثات بعضنا البعض!',
], ],
'pages_draft_discarded' => 'تم التخلص من المسودة وتحديث المحرر بمحتوى الصفحة الحالي', 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content',
'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content',
'pages_specific' => 'صفحة محددة', 'pages_specific' => 'صفحة محددة',
'pages_is_template' => 'قالب الصفحة', 'pages_is_template' => 'قالب الصفحة',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'ضع تعليقاً هنا', 'comment_placeholder' => 'ضع تعليقاً هنا',
'comment_count' => '{0} لا توجد تعليقات|{1} تعليق واحد|{2} تعليقان[3,*] :count تعليقات', 'comment_count' => '{0} لا توجد تعليقات|{1} تعليق واحد|{2} تعليقان[3,*] :count تعليقات',
'comment_save' => 'حفظ التعليق', 'comment_save' => 'حفظ التعليق',
'comment_saving' => 'جار حفظ التعليق...',
'comment_deleting' => 'جار حذف التعليق...',
'comment_new' => 'تعليق جديد', 'comment_new' => 'تعليق جديد',
'comment_created' => 'تم التعليق :createDiff', 'comment_created' => 'تم التعليق :createDiff',
'comment_updated' => 'تم التحديث :updateDiff بواسطة :username', 'comment_updated' => 'تم التحديث :updateDiff بواسطة :username',
'comment_updated_indicator' => 'Updated',
'comment_deleted_success' => 'تم حذف التعليق', 'comment_deleted_success' => 'تم حذف التعليق',
'comment_created_success' => 'تمت إضافة التعليق', 'comment_created_success' => 'تمت إضافة التعليق',
'comment_updated_success' => 'تم تحديث التعليق', 'comment_updated_success' => 'تم تحديث التعليق',
'comment_delete_confirm' => 'تأكيد حذف التعليق؟', 'comment_delete_confirm' => 'تأكيد حذف التعليق؟',
'comment_in_reply_to' => 'رداً على :commentId', 'comment_in_reply_to' => 'رداً على :commentId',
'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.',
// Revision // Revision
'revision_delete_confirm' => 'هل أنت متأكد من أنك تريد حذف هذه المراجعة؟', 'revision_delete_confirm' => 'هل أنت متأكد من أنك تريد حذف هذه المراجعة؟',
'revision_restore_confirm' => 'هل أنت متأكد من أنك تريد استعادة هذه المراجعة؟ سيتم استبدال محتوى الصفحة الحالية.', 'revision_restore_confirm' => 'هل أنت متأكد من أنك تريد استعادة هذه المراجعة؟ سيتم استبدال محتوى الصفحة الحالية.',
'revision_delete_success' => 'تم حذف المراجعة',
'revision_cannot_delete_latest' => 'لايمكن حذف آخر مراجعة.', 'revision_cannot_delete_latest' => 'لايمكن حذف آخر مراجعة.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'حدث خطأ خلال رفع الصورة', 'image_upload_error' => 'حدث خطأ خلال رفع الصورة',
'image_upload_type_error' => 'صيغة الصورة المرفوعة غير صالحة', 'image_upload_type_error' => 'صيغة الصورة المرفوعة غير صالحة',
'image_upload_replace_type' => 'Image file replacements must be of the same type',
'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.', 'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'فشل حفظ المسودة. الرجاء التأكد من وجود اتصال بالإنترنت قبل حفظ الصفحة', 'page_draft_autosave_fail' => 'فشل حفظ المسودة. الرجاء التأكد من وجود اتصال بالإنترنت قبل حفظ الصفحة',
'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content',
'page_custom_home_deletion' => 'لا يمكن حذف الصفحة إذا كانت محددة كصفحة رئيسية', 'page_custom_home_deletion' => 'لا يمكن حذف الصفحة إذا كانت محددة كصفحة رئيسية',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'الإعدادات', 'settings' => 'الإعدادات',
'settings_save' => 'حفظ الإعدادات', 'settings_save' => 'حفظ الإعدادات',
'settings_save_success' => 'تم حفظ الإعدادات',
'system_version' => 'System Version', 'system_version' => 'System Version',
'categories' => 'Categories', 'categories' => 'Categories',
@ -232,8 +231,6 @@ return [
'user_api_token_expiry' => 'تاريخ انتهاء الصلاحية', 'user_api_token_expiry' => 'تاريخ انتهاء الصلاحية',
'user_api_token_expiry_desc' => 'حدد التاريخ الذي تنتهي فيه صلاحية هذا الرمز. بعد هذا التاريخ ، لن تعمل الطلبات المقدمة باستخدام هذا الرمز. سيؤدي ترك هذا الحقل فارغًا إلى تعيين انتهاء صلاحية لمدة 100 عام في المستقبل.', 'user_api_token_expiry_desc' => 'حدد التاريخ الذي تنتهي فيه صلاحية هذا الرمز. بعد هذا التاريخ ، لن تعمل الطلبات المقدمة باستخدام هذا الرمز. سيؤدي ترك هذا الحقل فارغًا إلى تعيين انتهاء صلاحية لمدة 100 عام في المستقبل.',
'user_api_token_create_secret_message' => 'عقب إنشاء هذا الرمز مباشرة، سيتم إنشاء "مُعرّف الرمز" و "رمز سري" وعرضهما. وسيتم عرض الرمز السري لمرة واحدة فقط ، لذا تأكد من نسخ قيمة هذا الرمز إلى مكان آمن ومضمون قبل المتابعة.', 'user_api_token_create_secret_message' => 'عقب إنشاء هذا الرمز مباشرة، سيتم إنشاء "مُعرّف الرمز" و "رمز سري" وعرضهما. وسيتم عرض الرمز السري لمرة واحدة فقط ، لذا تأكد من نسخ قيمة هذا الرمز إلى مكان آمن ومضمون قبل المتابعة.',
'user_api_token_create_success' => 'تم إنشاء رمز الـ API بنجاح',
'user_api_token_update_success' => 'تم تحديث رمز الـ API بنجاح',
'user_api_token' => 'رمز الـ API', 'user_api_token' => 'رمز الـ API',
'user_api_token_id' => 'مُعرّف الرمز', 'user_api_token_id' => 'مُعرّف الرمز',
'user_api_token_id_desc' => 'هذا مُعرّف تم إنشاؤه بواسطة النظام غير قابل للتحرير لهذا الرمز والذي يجب توفيره في طلبات API.', 'user_api_token_id_desc' => 'هذا مُعرّف تم إنشاؤه بواسطة النظام غير قابل للتحرير لهذا الرمز والذي يجب توفيره في طلبات API.',
@ -244,7 +241,6 @@ return [
'user_api_token_delete' => 'حذف الرمز', 'user_api_token_delete' => 'حذف الرمز',
'user_api_token_delete_warning' => 'سيؤدي هذا إلى حذف رمز API المُشار إليه بالكامل باسم \'اسم الرمز\' من النظام.', 'user_api_token_delete_warning' => 'سيؤدي هذا إلى حذف رمز API المُشار إليه بالكامل باسم \'اسم الرمز\' من النظام.',
'user_api_token_delete_confirm' => 'هل أنت متأكد من أنك تريد حذف رمز API؟', 'user_api_token_delete_confirm' => 'هل أنت متأكد من أنك تريد حذف رمز API؟',
'user_api_token_delete_success' => 'تم حذف رمز الـ API بنجاح',
// Webhooks // Webhooks
'webhooks' => 'Webhooks', 'webhooks' => 'Webhooks',

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'възстановена страница', 'page_restore' => 'възстановена страница',
'page_restore_notification' => 'Страницата е възстановена успешно', 'page_restore_notification' => 'Страницата е възстановена успешно',
'page_move' => 'преместена страница', 'page_move' => 'преместена страница',
'page_move_notification' => 'Page successfully moved',
// Chapters // Chapters
'chapter_create' => 'създадена глава', 'chapter_create' => 'създадена глава',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'изтрита глава', 'chapter_delete' => 'изтрита глава',
'chapter_delete_notification' => 'Успешно изтрита глава', 'chapter_delete_notification' => 'Успешно изтрита глава',
'chapter_move' => 'преместена глава', 'chapter_move' => 'преместена глава',
'chapter_move_notification' => 'Chapter successfully moved',
// Books // Books
'book_create' => 'създадена книга', 'book_create' => 'създадена книга',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'deleted shelf', 'bookshelf_delete' => 'deleted shelf',
'bookshelf_delete_notification' => 'Shelf successfully deleted', 'bookshelf_delete_notification' => 'Shelf successfully deleted',
// Revisions
'revision_restore' => 'restored revision',
'revision_delete' => 'deleted revision',
'revision_delete_notification' => 'Revision successfully deleted',
// Favourites // Favourites
'favourite_add_notification' => '":name" е добавен към любими успешно', 'favourite_add_notification' => '":name" е добавен към любими успешно',
'favourite_remove_notification' => '":name" е премахнат от любими успешно', 'favourite_remove_notification' => '":name" е премахнат от любими успешно',
// MFA // Auth
'auth_login' => 'logged in',
'auth_register' => 'registered as new user',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'reset user password',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'Многофакторният метод е конфигуриран успешно', 'mfa_setup_method_notification' => 'Многофакторният метод е конфигуриран успешно',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'Многофакторният метод е премахнат успешно', 'mfa_remove_method_notification' => 'Многофакторният метод е премахнат успешно',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks // Webhooks
'webhook_create' => 'създадена уебкука', 'webhook_create' => 'създадена уебкука',
'webhook_create_notification' => 'Уебкуката е създадена успешно', 'webhook_create_notification' => 'Уебкуката е създадена успешно',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'Уебкуката е изтрита успешно', 'webhook_delete_notification' => 'Уебкуката е изтрита успешно',
// Users // Users
'user_create' => 'created user',
'user_create_notification' => 'User successfully created',
'user_update' => 'updated user',
'user_update_notification' => 'Потребителят е обновен успешно', 'user_update_notification' => 'Потребителят е обновен успешно',
'user_delete' => 'deleted user',
'user_delete_notification' => 'Потребителят е премахнат успешно', 'user_delete_notification' => 'Потребителят е премахнат успешно',
// API Tokens
'api_token_create' => 'created api token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated api token',
'api_token_update_notification' => 'API token successfully updated',
'api_token_delete' => 'deleted api token',
'api_token_delete_notification' => 'API token successfully deleted',
// Roles // Roles
'role_create' => 'created role',
'role_create_notification' => 'Успешна създадена роля', 'role_create_notification' => 'Успешна създадена роля',
'role_update' => 'updated role',
'role_update_notification' => 'Успешно обновена роля', 'role_update_notification' => 'Успешно обновена роля',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Успешно изтрита роля', 'role_delete_notification' => 'Успешно изтрита роля',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',
'recycle_bin_restore' => 'restored from recycle bin',
'recycle_bin_destroy' => 'removed from recycle bin',
// Other // Other
'commented_on' => 'коментирано на', 'commented_on' => 'коментирано на',
'permissions_update' => 'обновени права', 'permissions_update' => 'обновени права',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Отказ', 'cancel' => 'Отказ',
'close' => 'Close',
'confirm' => 'Потвърждаване', 'confirm' => 'Потвърждаване',
'back' => 'Назад', 'back' => 'Назад',
'save' => 'Запис', 'save' => 'Запис',

View file

@ -6,6 +6,8 @@ return [
// Image Manager // Image Manager
'image_select' => 'Избор на изображение', 'image_select' => 'Избор на изображение',
'image_list' => 'Image List',
'image_details' => 'Image Details',
'image_upload' => 'Upload Image', 'image_upload' => 'Upload Image',
'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.', 'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.',
'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.',
@ -15,6 +17,9 @@ return [
'image_page_title' => 'Виж изображенията прикачени към страницата', 'image_page_title' => 'Виж изображенията прикачени към страницата',
'image_search_hint' => 'Търси по име на картина', 'image_search_hint' => 'Търси по име на картина',
'image_uploaded' => 'Качено :uploadedDate', 'image_uploaded' => 'Качено :uploadedDate',
'image_uploaded_by' => 'Uploaded by :userName',
'image_uploaded_to' => 'Uploaded to :pageLink',
'image_updated' => 'Updated :updateDate',
'image_load_more' => 'Зареди повече', 'image_load_more' => 'Зареди повече',
'image_image_name' => 'Име на изображението', 'image_image_name' => 'Име на изображението',
'image_delete_used' => 'Това изображение е използвано в страницата по-долу.', 'image_delete_used' => 'Това изображение е използвано в страницата по-долу.',
@ -27,6 +32,8 @@ return [
'image_upload_success' => 'Изображението бе качено успешно', 'image_upload_success' => 'Изображението бе качено успешно',
'image_update_success' => 'Данните за изобтажението са обновенни успешно', 'image_update_success' => 'Данните за изобтажението са обновенни успешно',
'image_delete_success' => 'Изображението е успешно изтрито', 'image_delete_success' => 'Изображението е успешно изтрито',
'image_replace' => 'Replace Image',
'image_replace_success' => 'Image file successfully updated',
// Code Editor // Code Editor
'code_editor' => 'Редактиране на кода', 'code_editor' => 'Редактиране на кода',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'Запази глава', 'chapters_save' => 'Запази глава',
'chapters_move' => 'Премести глава', 'chapters_move' => 'Премести глава',
'chapters_move_named' => 'Премести глава :chapterName', 'chapters_move_named' => 'Премести глава :chapterName',
'chapter_move_success' => 'Главата беше преместена в :bookName',
'chapters_copy' => 'Копирай главата', 'chapters_copy' => 'Копирай главата',
'chapters_copy_success' => 'Главата е копирана успешно', 'chapters_copy_success' => 'Главата е копирана успешно',
'chapters_permissions' => 'Настойки за достъп на главата', 'chapters_permissions' => 'Настойки за достъп на главата',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'Редактиране на страница', 'pages_editing_page' => 'Редактиране на страница',
'pages_edit_draft_save_at' => 'Черновата е запазена в ', 'pages_edit_draft_save_at' => 'Черновата е запазена в ',
'pages_edit_delete_draft' => 'Изтрий чернова', 'pages_edit_delete_draft' => 'Изтрий чернова',
'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.',
'pages_edit_discard_draft' => 'Отхвърляне на черновата', 'pages_edit_discard_draft' => 'Отхвърляне на черновата',
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor', 'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
'pages_edit_switch_to_markdown_clean' => '(Clean Content)', 'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Sync preview scroll', 'pages_md_sync_scroll' => 'Sync preview scroll',
'pages_not_in_chapter' => 'Страницата не принадлежи в никоя глава', 'pages_not_in_chapter' => 'Страницата не принадлежи в никоя глава',
'pages_move' => 'Премести страницата', 'pages_move' => 'Премести страницата',
'pages_move_success' => 'Страницата беше преместена в ":parentName"',
'pages_copy' => 'Копиране на страницата', 'pages_copy' => 'Копиране на страницата',
'pages_copy_desination' => 'Копиране на дестинацията', 'pages_copy_desination' => 'Копиране на дестинацията',
'pages_copy_success' => 'Страницата беше успешно копирана', 'pages_copy_success' => 'Страницата беше успешно копирана',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'Възстановяване', 'pages_revisions_restore' => 'Възстановяване',
'pages_revisions_none' => 'Тази страница няма ревизии', 'pages_revisions_none' => 'Тази страница няма ревизии',
'pages_copy_link' => 'Копирай връзката', 'pages_copy_link' => 'Копирай връзката',
'pages_edit_content_link' => 'Редактиране на съдържанието', 'pages_edit_content_link' => 'Jump to section in editor',
'pages_pointer_enter_mode' => 'Enter section select mode',
'pages_pointer_label' => 'Page Section Options',
'pages_pointer_permalink' => 'Page Section Permalink',
'pages_pointer_include_tag' => 'Page Section Include Tag',
'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag',
'pages_pointer_toggle_include' => 'Include tag mode, Press to show permalink',
'pages_permissions_active' => 'Настройките за достъп до страницата са активни', 'pages_permissions_active' => 'Настройките за достъп до страницата са активни',
'pages_initial_revision' => 'Първо публикуване', 'pages_initial_revision' => 'Първо публикуване',
'pages_references_update_revision' => 'System auto-update of internal links', 'pages_references_update_revision' => 'System auto-update of internal links',
@ -281,7 +286,8 @@ return [
'time_b' => 'в последните :minCount минути', 'time_b' => 'в последните :minCount минути',
'message' => ':start :time. Внимавайте да не попречите на актуализацията на другия!', 'message' => ':start :time. Внимавайте да не попречите на актуализацията на другия!',
], ],
'pages_draft_discarded' => 'Черновата беше отхърлена, Редактора беше обновен с актуалното съдържание на страницата', 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content',
'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content',
'pages_specific' => 'Определена страница', 'pages_specific' => 'Определена страница',
'pages_is_template' => 'Шаблон на страницата', 'pages_is_template' => 'Шаблон на страницата',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'Напишете коментар', 'comment_placeholder' => 'Напишете коментар',
'comment_count' => '{0} Няма коментари|{1} 1 коментар|[2,*] :count коментара', 'comment_count' => '{0} Няма коментари|{1} 1 коментар|[2,*] :count коментара',
'comment_save' => 'Запази коментар', 'comment_save' => 'Запази коментар',
'comment_saving' => 'Запазване на коментар...',
'comment_deleting' => 'Изтриване на коментар...',
'comment_new' => 'Нов коментар', 'comment_new' => 'Нов коментар',
'comment_created' => 'коментирано :createDiff', 'comment_created' => 'коментирано :createDiff',
'comment_updated' => 'Актуализирано :updateDiff от :username', 'comment_updated' => 'Актуализирано :updateDiff от :username',
'comment_updated_indicator' => 'Updated',
'comment_deleted_success' => 'Коментарът е изтрит', 'comment_deleted_success' => 'Коментарът е изтрит',
'comment_created_success' => 'Коментарът е добавен', 'comment_created_success' => 'Коментарът е добавен',
'comment_updated_success' => 'Коментарът е обновен', 'comment_updated_success' => 'Коментарът е обновен',
'comment_delete_confirm' => 'Наистина ли искате да изтриете този коментар?', 'comment_delete_confirm' => 'Наистина ли искате да изтриете този коментар?',
'comment_in_reply_to' => 'В отговор на :commentId', 'comment_in_reply_to' => 'В отговор на :commentId',
'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.',
// Revision // Revision
'revision_delete_confirm' => 'Наистина ли искате да изтриете тази версия?', 'revision_delete_confirm' => 'Наистина ли искате да изтриете тази версия?',
'revision_restore_confirm' => 'Сигурни ли сте, че искате да изтриете тази версия? Настоящата страница ще бъде заместена.', 'revision_restore_confirm' => 'Сигурни ли сте, че искате да изтриете тази версия? Настоящата страница ще бъде заместена.',
'revision_delete_success' => 'Версията беше изтрита',
'revision_cannot_delete_latest' => 'Не може да изтриете последната версия.', 'revision_cannot_delete_latest' => 'Не може да изтриете последната версия.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'Възникна грешка при качването на изображението', 'image_upload_error' => 'Възникна грешка при качването на изображението',
'image_upload_type_error' => 'Типът на качваното изображение е невалиден', 'image_upload_type_error' => 'Типът на качваното изображение е невалиден',
'image_upload_replace_type' => 'Image file replacements must be of the same type',
'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.', 'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'Неуспешно запазване на черновата. Увери се, че имаш свързаност с интернет преди да запазиш страницата', 'page_draft_autosave_fail' => 'Неуспешно запазване на черновата. Увери се, че имаш свързаност с интернет преди да запазиш страницата',
'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content',
'page_custom_home_deletion' => 'Не мога да изтрия страницата, докато е настроена като начална', 'page_custom_home_deletion' => 'Не мога да изтрия страницата, докато е настроена като начална',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'Настройки', 'settings' => 'Настройки',
'settings_save' => 'Запази настройките', 'settings_save' => 'Запази настройките',
'settings_save_success' => 'Настройките са записани',
'system_version' => 'System Version', 'system_version' => 'System Version',
'categories' => 'Categories', 'categories' => 'Categories',
@ -232,8 +231,6 @@ return [
'user_api_token_expiry' => 'Дата на изтичане', 'user_api_token_expiry' => 'Дата на изтичане',
'user_api_token_expiry_desc' => 'Настрой дата на изтичане на този маркер. След тази дата, заявки направени с този маркер вече няма да работят. Ако оставиш това поле празно, маркерът ще изтече след 100 години.', 'user_api_token_expiry_desc' => 'Настрой дата на изтичане на този маркер. След тази дата, заявки направени с този маркер вече няма да работят. Ако оставиш това поле празно, маркерът ще изтече след 100 години.',
'user_api_token_create_secret_message' => 'Веднага след създаването на този маркер ще се генерират и покажат "Номер на маркер" и "Тайна на маркер". Тайната ще бъде показана само веднъж, така че се увери, че си я копирал на сигурно място, преди да продължиш.', 'user_api_token_create_secret_message' => 'Веднага след създаването на този маркер ще се генерират и покажат "Номер на маркер" и "Тайна на маркер". Тайната ще бъде показана само веднъж, така че се увери, че си я копирал на сигурно място, преди да продължиш.',
'user_api_token_create_success' => 'API маркерът е създаден успешно',
'user_api_token_update_success' => 'API маркерът е редактиран успешно',
'user_api_token' => 'API маркер', 'user_api_token' => 'API маркер',
'user_api_token_id' => 'Номер на маркер', 'user_api_token_id' => 'Номер на маркер',
'user_api_token_id_desc' => 'Това е нередактируем, системно генериран идентификатор за този маркер, който ще бъде необходимо да бъде предоставян в API заявките.', 'user_api_token_id_desc' => 'Това е нередактируем, системно генериран идентификатор за този маркер, който ще бъде необходимо да бъде предоставян в API заявките.',
@ -244,7 +241,6 @@ return [
'user_api_token_delete' => 'Изтрий маркер', 'user_api_token_delete' => 'Изтрий маркер',
'user_api_token_delete_warning' => 'Това ще изтрие напълно API маркерът с име \':tokenName\' от системата.', 'user_api_token_delete_warning' => 'Това ще изтрие напълно API маркерът с име \':tokenName\' от системата.',
'user_api_token_delete_confirm' => 'Сигурен/на ли си, че искаш да изтриеш този API маркер?', 'user_api_token_delete_confirm' => 'Сигурен/на ли си, че искаш да изтриеш този API маркер?',
'user_api_token_delete_success' => 'API маркерът е изтрит успешно',
// Webhooks // Webhooks
'webhooks' => 'Уебкука', 'webhooks' => 'Уебкука',

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'je vratio/la stranicu', 'page_restore' => 'je vratio/la stranicu',
'page_restore_notification' => 'Page successfully restored', 'page_restore_notification' => 'Page successfully restored',
'page_move' => 'je premjestio/la stranicu', 'page_move' => 'je premjestio/la stranicu',
'page_move_notification' => 'Page successfully moved',
// Chapters // Chapters
'chapter_create' => 'je kreirao/la poglavlje', 'chapter_create' => 'je kreirao/la poglavlje',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'je izbrisao/la poglavlje', 'chapter_delete' => 'je izbrisao/la poglavlje',
'chapter_delete_notification' => 'Chapter successfully deleted', 'chapter_delete_notification' => 'Chapter successfully deleted',
'chapter_move' => 'je premjestio/la poglavlje', 'chapter_move' => 'je premjestio/la poglavlje',
'chapter_move_notification' => 'Chapter successfully moved',
// Books // Books
'book_create' => 'je kreirao/la knjigu', 'book_create' => 'je kreirao/la knjigu',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'deleted shelf', 'bookshelf_delete' => 'deleted shelf',
'bookshelf_delete_notification' => 'Shelf successfully deleted', 'bookshelf_delete_notification' => 'Shelf successfully deleted',
// Revisions
'revision_restore' => 'restored revision',
'revision_delete' => 'deleted revision',
'revision_delete_notification' => 'Revision successfully deleted',
// Favourites // Favourites
'favourite_add_notification' => '":name" je dodan u tvoje favorite', 'favourite_add_notification' => '":name" je dodan u tvoje favorite',
'favourite_remove_notification' => '":name" je uklonjen iz tvojih favorita', 'favourite_remove_notification' => '":name" je uklonjen iz tvojih favorita',
// MFA // Auth
'auth_login' => 'logged in',
'auth_register' => 'registered as new user',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'reset user password',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'Multi-factor method successfully configured', 'mfa_setup_method_notification' => 'Multi-factor method successfully configured',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'Multi-factor method successfully removed', 'mfa_remove_method_notification' => 'Multi-factor method successfully removed',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks // Webhooks
'webhook_create' => 'created webhook', 'webhook_create' => 'created webhook',
'webhook_create_notification' => 'Webhook successfully created', 'webhook_create_notification' => 'Webhook successfully created',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'Webhook successfully deleted', 'webhook_delete_notification' => 'Webhook successfully deleted',
// Users // Users
'user_create' => 'created user',
'user_create_notification' => 'User successfully created',
'user_update' => 'updated user',
'user_update_notification' => 'User successfully updated', 'user_update_notification' => 'User successfully updated',
'user_delete' => 'deleted user',
'user_delete_notification' => 'User successfully removed', 'user_delete_notification' => 'User successfully removed',
// API Tokens
'api_token_create' => 'created api token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated api token',
'api_token_update_notification' => 'API token successfully updated',
'api_token_delete' => 'deleted api token',
'api_token_delete_notification' => 'API token successfully deleted',
// Roles // Roles
'role_create' => 'created role',
'role_create_notification' => 'Role successfully created', 'role_create_notification' => 'Role successfully created',
'role_update' => 'updated role',
'role_update_notification' => 'Role successfully updated', 'role_update_notification' => 'Role successfully updated',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Role successfully deleted', 'role_delete_notification' => 'Role successfully deleted',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',
'recycle_bin_restore' => 'restored from recycle bin',
'recycle_bin_destroy' => 'removed from recycle bin',
// Other // Other
'commented_on' => 'je komentarisao/la na', 'commented_on' => 'je komentarisao/la na',
'permissions_update' => 'je ažurirao/la dozvole', 'permissions_update' => 'je ažurirao/la dozvole',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Otkaži', 'cancel' => 'Otkaži',
'close' => 'Close',
'confirm' => 'Potvrdi', 'confirm' => 'Potvrdi',
'back' => 'Nazad', 'back' => 'Nazad',
'save' => 'Spremi', 'save' => 'Spremi',

View file

@ -6,6 +6,8 @@ return [
// Image Manager // Image Manager
'image_select' => 'Biraj sliku', 'image_select' => 'Biraj sliku',
'image_list' => 'Image List',
'image_details' => 'Image Details',
'image_upload' => 'Upload Image', 'image_upload' => 'Upload Image',
'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.', 'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.',
'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.',
@ -15,6 +17,9 @@ return [
'image_page_title' => 'Pogledaj slike prenesene na ovu stranicu', 'image_page_title' => 'Pogledaj slike prenesene na ovu stranicu',
'image_search_hint' => 'Traži po nazivu slike', 'image_search_hint' => 'Traži po nazivu slike',
'image_uploaded' => 'Preneseno :uploadedDate', 'image_uploaded' => 'Preneseno :uploadedDate',
'image_uploaded_by' => 'Uploaded by :userName',
'image_uploaded_to' => 'Uploaded to :pageLink',
'image_updated' => 'Updated :updateDate',
'image_load_more' => 'Učitaj još', 'image_load_more' => 'Učitaj još',
'image_image_name' => 'Naziv slike', 'image_image_name' => 'Naziv slike',
'image_delete_used' => 'Ova slika se koristi na stranicama prikazanim ispod.', 'image_delete_used' => 'Ova slika se koristi na stranicama prikazanim ispod.',
@ -27,6 +32,8 @@ return [
'image_upload_success' => 'Slika uspješno učitana', 'image_upload_success' => 'Slika uspješno učitana',
'image_update_success' => 'Detalji slike uspješno ažurirani', 'image_update_success' => 'Detalji slike uspješno ažurirani',
'image_delete_success' => 'Slika uspješno izbrisana', 'image_delete_success' => 'Slika uspješno izbrisana',
'image_replace' => 'Replace Image',
'image_replace_success' => 'Image file successfully updated',
// Code Editor // Code Editor
'code_editor' => 'Uredi Kod', 'code_editor' => 'Uredi Kod',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'Spremi poglavlje', 'chapters_save' => 'Spremi poglavlje',
'chapters_move' => 'Premjesti poglavlje', 'chapters_move' => 'Premjesti poglavlje',
'chapters_move_named' => 'Premjesti poglavlje :chapterName', 'chapters_move_named' => 'Premjesti poglavlje :chapterName',
'chapter_move_success' => 'Poglavlje premješteno u :bookName',
'chapters_copy' => 'Copy Chapter', 'chapters_copy' => 'Copy Chapter',
'chapters_copy_success' => 'Chapter successfully copied', 'chapters_copy_success' => 'Chapter successfully copied',
'chapters_permissions' => 'Dozvole poglavlja', 'chapters_permissions' => 'Dozvole poglavlja',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'Editing Page', 'pages_editing_page' => 'Editing Page',
'pages_edit_draft_save_at' => 'Draft saved at ', 'pages_edit_draft_save_at' => 'Draft saved at ',
'pages_edit_delete_draft' => 'Delete Draft', 'pages_edit_delete_draft' => 'Delete Draft',
'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.',
'pages_edit_discard_draft' => 'Discard Draft', 'pages_edit_discard_draft' => 'Discard Draft',
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor', 'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
'pages_edit_switch_to_markdown_clean' => '(Clean Content)', 'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Sync preview scroll', 'pages_md_sync_scroll' => 'Sync preview scroll',
'pages_not_in_chapter' => 'Page is not in a chapter', 'pages_not_in_chapter' => 'Page is not in a chapter',
'pages_move' => 'Move Page', 'pages_move' => 'Move Page',
'pages_move_success' => 'Page moved to ":parentName"',
'pages_copy' => 'Copy Page', 'pages_copy' => 'Copy Page',
'pages_copy_desination' => 'Copy Destination', 'pages_copy_desination' => 'Copy Destination',
'pages_copy_success' => 'Page successfully copied', 'pages_copy_success' => 'Page successfully copied',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'Vrati', 'pages_revisions_restore' => 'Vrati',
'pages_revisions_none' => 'Ova stranica nema promjena', 'pages_revisions_none' => 'Ova stranica nema promjena',
'pages_copy_link' => 'Iskopiraj link', 'pages_copy_link' => 'Iskopiraj link',
'pages_edit_content_link' => 'Uredi sadržaj', 'pages_edit_content_link' => 'Jump to section in editor',
'pages_pointer_enter_mode' => 'Enter section select mode',
'pages_pointer_label' => 'Page Section Options',
'pages_pointer_permalink' => 'Page Section Permalink',
'pages_pointer_include_tag' => 'Page Section Include Tag',
'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag',
'pages_pointer_toggle_include' => 'Include tag mode, Press to show permalink',
'pages_permissions_active' => 'Dozvole za stranicu su aktivne', 'pages_permissions_active' => 'Dozvole za stranicu su aktivne',
'pages_initial_revision' => 'Prvo izdavanje', 'pages_initial_revision' => 'Prvo izdavanje',
'pages_references_update_revision' => 'System auto-update of internal links', 'pages_references_update_revision' => 'System auto-update of internal links',
@ -281,7 +286,8 @@ return [
'time_b' => 'u posljednjih :minCount minuta', 'time_b' => 'u posljednjih :minCount minuta',
'message' => ':start :time. Pazite da jedni drugima ne prepišete promjene!', 'message' => ':start :time. Pazite da jedni drugima ne prepišete promjene!',
], ],
'pages_draft_discarded' => 'Skica je odbačena, uređivač je ažuriran sa trenutnim sadržajem stranice', 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content',
'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content',
'pages_specific' => 'Specifična stranica', 'pages_specific' => 'Specifična stranica',
'pages_is_template' => 'Predložak stranice', 'pages_is_template' => 'Predložak stranice',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'Leave a comment here', 'comment_placeholder' => 'Leave a comment here',
'comment_count' => '{0} No Comments|{1} 1 Comment|[2,*] :count Comments', 'comment_count' => '{0} No Comments|{1} 1 Comment|[2,*] :count Comments',
'comment_save' => 'Save Comment', 'comment_save' => 'Save Comment',
'comment_saving' => 'Saving comment...',
'comment_deleting' => 'Deleting comment...',
'comment_new' => 'New Comment', 'comment_new' => 'New Comment',
'comment_created' => 'commented :createDiff', 'comment_created' => 'commented :createDiff',
'comment_updated' => 'Updated :updateDiff by :username', 'comment_updated' => 'Updated :updateDiff by :username',
'comment_updated_indicator' => 'Updated',
'comment_deleted_success' => 'Comment deleted', 'comment_deleted_success' => 'Comment deleted',
'comment_created_success' => 'Comment added', 'comment_created_success' => 'Comment added',
'comment_updated_success' => 'Comment updated', 'comment_updated_success' => 'Comment updated',
'comment_delete_confirm' => 'Are you sure you want to delete this comment?', 'comment_delete_confirm' => 'Are you sure you want to delete this comment?',
'comment_in_reply_to' => 'In reply to :commentId', 'comment_in_reply_to' => 'In reply to :commentId',
'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.',
// Revision // Revision
'revision_delete_confirm' => 'Are you sure you want to delete this revision?', 'revision_delete_confirm' => 'Are you sure you want to delete this revision?',
'revision_restore_confirm' => 'Are you sure you want to restore this revision? The current page contents will be replaced.', 'revision_restore_confirm' => 'Are you sure you want to restore this revision? The current page contents will be replaced.',
'revision_delete_success' => 'Revision deleted',
'revision_cannot_delete_latest' => 'Cannot delete the latest revision.', 'revision_cannot_delete_latest' => 'Cannot delete the latest revision.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'Desila se greška prilikom učitavanja slike', 'image_upload_error' => 'Desila se greška prilikom učitavanja slike',
'image_upload_type_error' => 'Vrsta slike koja se učitava je neispravna', 'image_upload_type_error' => 'Vrsta slike koja se učitava je neispravna',
'image_upload_replace_type' => 'Image file replacements must be of the same type',
'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.', 'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'Snimanje skice nije uspjelo. Provjerite da ste povezani na internet prije snimanja ove stranice', 'page_draft_autosave_fail' => 'Snimanje skice nije uspjelo. Provjerite da ste povezani na internet prije snimanja ove stranice',
'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content',
'page_custom_home_deletion' => 'Stranicu nije moguće izbrisati dok se koristi kao početna stranica', 'page_custom_home_deletion' => 'Stranicu nije moguće izbrisati dok se koristi kao početna stranica',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'Settings', 'settings' => 'Settings',
'settings_save' => 'Save Settings', 'settings_save' => 'Save Settings',
'settings_save_success' => 'Settings saved',
'system_version' => 'System Version', 'system_version' => 'System Version',
'categories' => 'Categories', 'categories' => 'Categories',
@ -232,8 +231,6 @@ return [
'user_api_token_expiry' => 'Expiry Date', 'user_api_token_expiry' => 'Expiry Date',
'user_api_token_expiry_desc' => 'Set a date at which this token expires. After this date, requests made using this token will no longer work. Leaving this field blank will set an expiry 100 years into the future.', 'user_api_token_expiry_desc' => 'Set a date at which this token expires. After this date, requests made using this token will no longer work. Leaving this field blank will set an expiry 100 years into the future.',
'user_api_token_create_secret_message' => 'Immediately after creating this token a "Token ID" & "Token Secret" will be generated and displayed. The secret will only be shown a single time so be sure to copy the value to somewhere safe and secure before proceeding.', 'user_api_token_create_secret_message' => 'Immediately after creating this token a "Token ID" & "Token Secret" will be generated and displayed. The secret will only be shown a single time so be sure to copy the value to somewhere safe and secure before proceeding.',
'user_api_token_create_success' => 'API token successfully created',
'user_api_token_update_success' => 'API token successfully updated',
'user_api_token' => 'API Token', 'user_api_token' => 'API Token',
'user_api_token_id' => 'Token ID', 'user_api_token_id' => 'Token ID',
'user_api_token_id_desc' => 'This is a non-editable system generated identifier for this token which will need to be provided in API requests.', 'user_api_token_id_desc' => 'This is a non-editable system generated identifier for this token which will need to be provided in API requests.',
@ -244,7 +241,6 @@ return [
'user_api_token_delete' => 'Delete Token', 'user_api_token_delete' => 'Delete Token',
'user_api_token_delete_warning' => 'This will fully delete this API token with the name \':tokenName\' from the system.', 'user_api_token_delete_warning' => 'This will fully delete this API token with the name \':tokenName\' from the system.',
'user_api_token_delete_confirm' => 'Are you sure you want to delete this API token?', 'user_api_token_delete_confirm' => 'Are you sure you want to delete this API token?',
'user_api_token_delete_success' => 'API token successfully deleted',
// Webhooks // Webhooks
'webhooks' => 'Webhooks', 'webhooks' => 'Webhooks',

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'ha restaurat la pàgina', 'page_restore' => 'ha restaurat la pàgina',
'page_restore_notification' => 'Pàgina restaurada correctament', 'page_restore_notification' => 'Pàgina restaurada correctament',
'page_move' => 'ha mogut la pàgina', 'page_move' => 'ha mogut la pàgina',
'page_move_notification' => 'Page successfully moved',
// Chapters // Chapters
'chapter_create' => 'ha creat el capítol', 'chapter_create' => 'ha creat el capítol',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'ha suprimit un capítol', 'chapter_delete' => 'ha suprimit un capítol',
'chapter_delete_notification' => 'Capítol esborrat correctament', 'chapter_delete_notification' => 'Capítol esborrat correctament',
'chapter_move' => 'ha mogut el capítol', 'chapter_move' => 'ha mogut el capítol',
'chapter_move_notification' => 'Chapter successfully moved',
// Books // Books
'book_create' => 'ha creat el llibre', 'book_create' => 'ha creat el llibre',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'deleted shelf', 'bookshelf_delete' => 'deleted shelf',
'bookshelf_delete_notification' => 'Shelf successfully deleted', 'bookshelf_delete_notification' => 'Shelf successfully deleted',
// Revisions
'revision_restore' => 'restored revision',
'revision_delete' => 'deleted revision',
'revision_delete_notification' => 'Revision successfully deleted',
// Favourites // Favourites
'favourite_add_notification' => '":name" has been added to your favourites', 'favourite_add_notification' => '":name" has been added to your favourites',
'favourite_remove_notification' => '":name" has been removed from your favourites', 'favourite_remove_notification' => '":name" has been removed from your favourites',
// MFA // Auth
'auth_login' => 'logged in',
'auth_register' => 'registered as new user',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'reset user password',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'Multi-factor method successfully configured', 'mfa_setup_method_notification' => 'Multi-factor method successfully configured',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'Multi-factor method successfully removed', 'mfa_remove_method_notification' => 'Multi-factor method successfully removed',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks // Webhooks
'webhook_create' => 'created webhook', 'webhook_create' => 'created webhook',
'webhook_create_notification' => 'Webhook successfully created', 'webhook_create_notification' => 'Webhook successfully created',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'Webhook successfully deleted', 'webhook_delete_notification' => 'Webhook successfully deleted',
// Users // Users
'user_create' => 'created user',
'user_create_notification' => 'User successfully created',
'user_update' => 'updated user',
'user_update_notification' => 'User successfully updated', 'user_update_notification' => 'User successfully updated',
'user_delete' => 'deleted user',
'user_delete_notification' => 'User successfully removed', 'user_delete_notification' => 'User successfully removed',
// API Tokens
'api_token_create' => 'created api token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated api token',
'api_token_update_notification' => 'API token successfully updated',
'api_token_delete' => 'deleted api token',
'api_token_delete_notification' => 'API token successfully deleted',
// Roles // Roles
'role_create' => 'created role',
'role_create_notification' => 'Role successfully created', 'role_create_notification' => 'Role successfully created',
'role_update' => 'updated role',
'role_update_notification' => 'Role successfully updated', 'role_update_notification' => 'Role successfully updated',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Role successfully deleted', 'role_delete_notification' => 'Role successfully deleted',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',
'recycle_bin_restore' => 'restored from recycle bin',
'recycle_bin_destroy' => 'removed from recycle bin',
// Other // Other
'commented_on' => 'ha comentat a', 'commented_on' => 'ha comentat a',
'permissions_update' => 'ha actualitzat els permisos', 'permissions_update' => 'ha actualitzat els permisos',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Cancel·la', 'cancel' => 'Cancel·la',
'close' => 'Close',
'confirm' => 'D\'acord', 'confirm' => 'D\'acord',
'back' => 'Enrere', 'back' => 'Enrere',
'save' => 'Desa', 'save' => 'Desa',

View file

@ -6,6 +6,8 @@ return [
// Image Manager // Image Manager
'image_select' => 'Selecciona una imatge', 'image_select' => 'Selecciona una imatge',
'image_list' => 'Image List',
'image_details' => 'Image Details',
'image_upload' => 'Upload Image', 'image_upload' => 'Upload Image',
'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.', 'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.',
'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.',
@ -15,6 +17,9 @@ return [
'image_page_title' => 'Mostra les imatges pujades a aquesta pàgina', 'image_page_title' => 'Mostra les imatges pujades a aquesta pàgina',
'image_search_hint' => 'Cerca per nom d\'imatge', 'image_search_hint' => 'Cerca per nom d\'imatge',
'image_uploaded' => 'Pujada :uploadedDate', 'image_uploaded' => 'Pujada :uploadedDate',
'image_uploaded_by' => 'Uploaded by :userName',
'image_uploaded_to' => 'Uploaded to :pageLink',
'image_updated' => 'Updated :updateDate',
'image_load_more' => 'Carrega\'n més', 'image_load_more' => 'Carrega\'n més',
'image_image_name' => 'Nom de la imatge', 'image_image_name' => 'Nom de la imatge',
'image_delete_used' => 'Aquesta imatge s\'utilitza a les pàgines següents.', 'image_delete_used' => 'Aquesta imatge s\'utilitza a les pàgines següents.',
@ -27,6 +32,8 @@ return [
'image_upload_success' => 'Imatge pujada correctament', 'image_upload_success' => 'Imatge pujada correctament',
'image_update_success' => 'Detalls de la imatge actualitzats correctament', 'image_update_success' => 'Detalls de la imatge actualitzats correctament',
'image_delete_success' => 'Imatge suprimida correctament', 'image_delete_success' => 'Imatge suprimida correctament',
'image_replace' => 'Replace Image',
'image_replace_success' => 'Image file successfully updated',
// Code Editor // Code Editor
'code_editor' => 'Edita el codi', 'code_editor' => 'Edita el codi',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'Desa el capítol', 'chapters_save' => 'Desa el capítol',
'chapters_move' => 'Mou el capítol', 'chapters_move' => 'Mou el capítol',
'chapters_move_named' => 'Mou el capítol :chapterName', 'chapters_move_named' => 'Mou el capítol :chapterName',
'chapter_move_success' => 'S\'ha mogut el capítol a :bookName',
'chapters_copy' => 'Copy Chapter', 'chapters_copy' => 'Copy Chapter',
'chapters_copy_success' => 'Chapter successfully copied', 'chapters_copy_success' => 'Chapter successfully copied',
'chapters_permissions' => 'Permisos del capítol', 'chapters_permissions' => 'Permisos del capítol',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'Esteu editant la pàgina', 'pages_editing_page' => 'Esteu editant la pàgina',
'pages_edit_draft_save_at' => 'Esborrany desat ', 'pages_edit_draft_save_at' => 'Esborrany desat ',
'pages_edit_delete_draft' => 'Suprimeix l\'esborrany', 'pages_edit_delete_draft' => 'Suprimeix l\'esborrany',
'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.',
'pages_edit_discard_draft' => 'Descarta l\'esborrany', 'pages_edit_discard_draft' => 'Descarta l\'esborrany',
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor', 'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
'pages_edit_switch_to_markdown_clean' => '(Clean Content)', 'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Sync preview scroll', 'pages_md_sync_scroll' => 'Sync preview scroll',
'pages_not_in_chapter' => 'La pàgina no pertany a cap capítol', 'pages_not_in_chapter' => 'La pàgina no pertany a cap capítol',
'pages_move' => 'Mou la pàgina', 'pages_move' => 'Mou la pàgina',
'pages_move_success' => 'S\'ha mogut la pàgina a ":parentName"',
'pages_copy' => 'Copia la pàgina', 'pages_copy' => 'Copia la pàgina',
'pages_copy_desination' => 'Destinació de la còpia', 'pages_copy_desination' => 'Destinació de la còpia',
'pages_copy_success' => 'Pàgina copiada correctament', 'pages_copy_success' => 'Pàgina copiada correctament',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'Restaura', 'pages_revisions_restore' => 'Restaura',
'pages_revisions_none' => 'Aquesta pàgina no té cap revisió', 'pages_revisions_none' => 'Aquesta pàgina no té cap revisió',
'pages_copy_link' => 'Copia l\'enllaç', 'pages_copy_link' => 'Copia l\'enllaç',
'pages_edit_content_link' => 'Edita el contingut', 'pages_edit_content_link' => 'Jump to section in editor',
'pages_pointer_enter_mode' => 'Enter section select mode',
'pages_pointer_label' => 'Page Section Options',
'pages_pointer_permalink' => 'Page Section Permalink',
'pages_pointer_include_tag' => 'Page Section Include Tag',
'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag',
'pages_pointer_toggle_include' => 'Include tag mode, Press to show permalink',
'pages_permissions_active' => 'S\'han activat els permisos de la pàgina', 'pages_permissions_active' => 'S\'han activat els permisos de la pàgina',
'pages_initial_revision' => 'Publicació inicial', 'pages_initial_revision' => 'Publicació inicial',
'pages_references_update_revision' => 'System auto-update of internal links', 'pages_references_update_revision' => 'System auto-update of internal links',
@ -281,7 +286,8 @@ return [
'time_b' => 'en els darrers :minCount minuts', 'time_b' => 'en els darrers :minCount minuts',
'message' => ':start :time. Aneu amb compte de no trepitjar-vos les actualitzacions entre vosaltres!', 'message' => ':start :time. Aneu amb compte de no trepitjar-vos les actualitzacions entre vosaltres!',
], ],
'pages_draft_discarded' => 'S\'ha descartat l\'esborrany, l\'editor s\'ha actualitzat amb el contingut actual de la pàgina', 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content',
'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content',
'pages_specific' => 'Una pàgina específica', 'pages_specific' => 'Una pàgina específica',
'pages_is_template' => 'Plantilla de pàgina', 'pages_is_template' => 'Plantilla de pàgina',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'Deixeu un comentari aquí', 'comment_placeholder' => 'Deixeu un comentari aquí',
'comment_count' => '{0} Sense comentaris|{1} 1 comentari|[2,*] :count comentaris', 'comment_count' => '{0} Sense comentaris|{1} 1 comentari|[2,*] :count comentaris',
'comment_save' => 'Desa el comentari', 'comment_save' => 'Desa el comentari',
'comment_saving' => 'S\'està desant el comentari...',
'comment_deleting' => 'S\'està suprimint el comentari...',
'comment_new' => 'Comentari nou', 'comment_new' => 'Comentari nou',
'comment_created' => 'ha comentat :createDiff', 'comment_created' => 'ha comentat :createDiff',
'comment_updated' => 'Actualitzat :updateDiff per :username', 'comment_updated' => 'Actualitzat :updateDiff per :username',
'comment_updated_indicator' => 'Updated',
'comment_deleted_success' => 'Comentari suprimit', 'comment_deleted_success' => 'Comentari suprimit',
'comment_created_success' => 'Comentari afegit', 'comment_created_success' => 'Comentari afegit',
'comment_updated_success' => 'Comentari actualitzat', 'comment_updated_success' => 'Comentari actualitzat',
'comment_delete_confirm' => 'Segur que voleu suprimir aquest comentari?', 'comment_delete_confirm' => 'Segur que voleu suprimir aquest comentari?',
'comment_in_reply_to' => 'En resposta a :commentId', 'comment_in_reply_to' => 'En resposta a :commentId',
'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.',
// Revision // Revision
'revision_delete_confirm' => 'Segur que voleu suprimir aquesta revisió?', 'revision_delete_confirm' => 'Segur que voleu suprimir aquesta revisió?',
'revision_restore_confirm' => 'Segur que voleu restaurar aquesta revisió? Se substituirà el contingut de la pàgina actual.', 'revision_restore_confirm' => 'Segur que voleu restaurar aquesta revisió? Se substituirà el contingut de la pàgina actual.',
'revision_delete_success' => 'S\'ha suprimit la revisió',
'revision_cannot_delete_latest' => 'No es pot suprimir la darrera revisió.', 'revision_cannot_delete_latest' => 'No es pot suprimir la darrera revisió.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'S\'ha produït un error en pujar la imatge', 'image_upload_error' => 'S\'ha produït un error en pujar la imatge',
'image_upload_type_error' => 'El tipus d\'imatge que heu pujat no és vàlid', 'image_upload_type_error' => 'El tipus d\'imatge que heu pujat no és vàlid',
'image_upload_replace_type' => 'Image file replacements must be of the same type',
'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.', 'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'No s\'ha pogut desar l\'esborrany. Assegureu-vos que tingueu connexió a Internet abans de desar la pàgina', 'page_draft_autosave_fail' => 'No s\'ha pogut desar l\'esborrany. Assegureu-vos que tingueu connexió a Internet abans de desar la pàgina',
'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content',
'page_custom_home_deletion' => 'No es pot suprimir una pàgina mentre estigui definida com a pàgina d\'inici', 'page_custom_home_deletion' => 'No es pot suprimir una pàgina mentre estigui definida com a pàgina d\'inici',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'Configuració', 'settings' => 'Configuració',
'settings_save' => 'Desa la configuració', 'settings_save' => 'Desa la configuració',
'settings_save_success' => 'S\'ha desat la configuració',
'system_version' => 'System Version', 'system_version' => 'System Version',
'categories' => 'Categories', 'categories' => 'Categories',
@ -232,8 +231,6 @@ return [
'user_api_token_expiry' => 'Data de caducitat', 'user_api_token_expiry' => 'Data de caducitat',
'user_api_token_expiry_desc' => 'Definiu una data en què aquest testimoni caducarà. Després d\'aquesta data, les peticions fetes amb aquest testimoni deixaran de funcionar. Si deixeu aquest camp en blanc, es definirà una caducitat d\'aquí a 100 anys..', 'user_api_token_expiry_desc' => 'Definiu una data en què aquest testimoni caducarà. Després d\'aquesta data, les peticions fetes amb aquest testimoni deixaran de funcionar. Si deixeu aquest camp en blanc, es definirà una caducitat d\'aquí a 100 anys..',
'user_api_token_create_secret_message' => 'Just després de crear aquest testimoni, es generaran i es mostraran un "Identificador del testimoni" i un "Secret del testimoni". El secret només es mostrarà una única vegada, assegureu-vos de copiar-lo a un lloc segur abans de continuar.', 'user_api_token_create_secret_message' => 'Just després de crear aquest testimoni, es generaran i es mostraran un "Identificador del testimoni" i un "Secret del testimoni". El secret només es mostrarà una única vegada, assegureu-vos de copiar-lo a un lloc segur abans de continuar.',
'user_api_token_create_success' => 'Testimoni d\'API creat correctament',
'user_api_token_update_success' => 'Testimoni d\'API actualitzat correctament',
'user_api_token' => 'Testimoni d\'API', 'user_api_token' => 'Testimoni d\'API',
'user_api_token_id' => 'Identificador del testimoni', 'user_api_token_id' => 'Identificador del testimoni',
'user_api_token_id_desc' => 'Aquest identificador és generat pel sistema per a aquest testimoni i no és editable, caldrà que el proporcioneu a les peticions a l\'API.', 'user_api_token_id_desc' => 'Aquest identificador és generat pel sistema per a aquest testimoni i no és editable, caldrà que el proporcioneu a les peticions a l\'API.',
@ -244,7 +241,6 @@ return [
'user_api_token_delete' => 'Suprimeix el testimoni', 'user_api_token_delete' => 'Suprimeix el testimoni',
'user_api_token_delete_warning' => 'Se suprimirà completament del sistema aquest testimoni d\'API amb el nom \':tokenName\'.', 'user_api_token_delete_warning' => 'Se suprimirà completament del sistema aquest testimoni d\'API amb el nom \':tokenName\'.',
'user_api_token_delete_confirm' => 'Segur que voleu suprimir aquest testimoni d\'API?', 'user_api_token_delete_confirm' => 'Segur que voleu suprimir aquest testimoni d\'API?',
'user_api_token_delete_success' => 'Testimoni d\'API suprimit correctament',
// Webhooks // Webhooks
'webhooks' => 'Webhooks', 'webhooks' => 'Webhooks',

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'obnovil/a stránku', 'page_restore' => 'obnovil/a stránku',
'page_restore_notification' => 'Stránka byla úspěšně obnovena', 'page_restore_notification' => 'Stránka byla úspěšně obnovena',
'page_move' => 'přesunul/a stránku', 'page_move' => 'přesunul/a stránku',
'page_move_notification' => 'Page successfully moved',
// Chapters // Chapters
'chapter_create' => 'vytvořil/a kapitolu', 'chapter_create' => 'vytvořil/a kapitolu',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'odstranila/a kapitolu', 'chapter_delete' => 'odstranila/a kapitolu',
'chapter_delete_notification' => 'Kapitola byla úspěšně odstraněna', 'chapter_delete_notification' => 'Kapitola byla úspěšně odstraněna',
'chapter_move' => 'přesunul/a kapitolu', 'chapter_move' => 'přesunul/a kapitolu',
'chapter_move_notification' => 'Chapter successfully moved',
// Books // Books
'book_create' => 'vytvořil/a knihu', 'book_create' => 'vytvořil/a knihu',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'odstranit knihovnu', 'bookshelf_delete' => 'odstranit knihovnu',
'bookshelf_delete_notification' => 'Knihovna byla úspěšně smazána', 'bookshelf_delete_notification' => 'Knihovna byla úspěšně smazána',
// Revisions
'revision_restore' => 'restored revision',
'revision_delete' => 'deleted revision',
'revision_delete_notification' => 'Revision successfully deleted',
// Favourites // Favourites
'favourite_add_notification' => '":name" byla přidána do Vašich oblíbených', 'favourite_add_notification' => '":name" byla přidána do Vašich oblíbených',
'favourite_remove_notification' => '":name" byla odstraněna z Vašich oblíbených', 'favourite_remove_notification' => '":name" byla odstraněna z Vašich oblíbených',
// MFA // Auth
'auth_login' => 'logged in',
'auth_register' => 'registered as new user',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'reset user password',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'Vícefaktorová metoda byla úspěšně nakonfigurována', 'mfa_setup_method_notification' => 'Vícefaktorová metoda byla úspěšně nakonfigurována',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'Vícefaktorová metoda byla úspěšně odstraněna', 'mfa_remove_method_notification' => 'Vícefaktorová metoda byla úspěšně odstraněna',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks // Webhooks
'webhook_create' => 'vytvořil/a webhook', 'webhook_create' => 'vytvořil/a webhook',
'webhook_create_notification' => 'Webhook byl úspěšně vytvořen', 'webhook_create_notification' => 'Webhook byl úspěšně vytvořen',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'Webhook byl úspěšně odstraněn', 'webhook_delete_notification' => 'Webhook byl úspěšně odstraněn',
// Users // Users
'user_create' => 'created user',
'user_create_notification' => 'User successfully created',
'user_update' => 'updated user',
'user_update_notification' => 'Uživatel byl úspěšně aktualizován', 'user_update_notification' => 'Uživatel byl úspěšně aktualizován',
'user_delete' => 'deleted user',
'user_delete_notification' => 'Uživatel byl úspěšně odstraněn', 'user_delete_notification' => 'Uživatel byl úspěšně odstraněn',
// API Tokens
'api_token_create' => 'created api token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated api token',
'api_token_update_notification' => 'API token successfully updated',
'api_token_delete' => 'deleted api token',
'api_token_delete_notification' => 'API token successfully deleted',
// Roles // Roles
'role_create' => 'created role',
'role_create_notification' => 'Role byla úspěšně vytvořena', 'role_create_notification' => 'Role byla úspěšně vytvořena',
'role_update' => 'updated role',
'role_update_notification' => 'Role byla úspěšně aktualizována', 'role_update_notification' => 'Role byla úspěšně aktualizována',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Role byla odstraněna', 'role_delete_notification' => 'Role byla odstraněna',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',
'recycle_bin_restore' => 'restored from recycle bin',
'recycle_bin_destroy' => 'removed from recycle bin',
// Other // Other
'commented_on' => 'okomentoval/a', 'commented_on' => 'okomentoval/a',
'permissions_update' => 'oprávnění upravena', 'permissions_update' => 'oprávnění upravena',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Zrušit', 'cancel' => 'Zrušit',
'close' => 'Close',
'confirm' => 'Potvrdit', 'confirm' => 'Potvrdit',
'back' => 'Zpět', 'back' => 'Zpět',
'save' => 'Uložit', 'save' => 'Uložit',

View file

@ -6,6 +6,8 @@ return [
// Image Manager // Image Manager
'image_select' => 'Výběr obrázku', 'image_select' => 'Výběr obrázku',
'image_list' => 'Image List',
'image_details' => 'Image Details',
'image_upload' => 'Upload Image', 'image_upload' => 'Upload Image',
'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.', 'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.',
'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.',
@ -15,6 +17,9 @@ return [
'image_page_title' => 'Zobrazit obrázky nahrané na tuto stránku', 'image_page_title' => 'Zobrazit obrázky nahrané na tuto stránku',
'image_search_hint' => 'Hledat podle názvu obrázku', 'image_search_hint' => 'Hledat podle názvu obrázku',
'image_uploaded' => 'Nahráno :uploadedDate', 'image_uploaded' => 'Nahráno :uploadedDate',
'image_uploaded_by' => 'Uploaded by :userName',
'image_uploaded_to' => 'Uploaded to :pageLink',
'image_updated' => 'Updated :updateDate',
'image_load_more' => 'Načíst další', 'image_load_more' => 'Načíst další',
'image_image_name' => 'Název obrázku', 'image_image_name' => 'Název obrázku',
'image_delete_used' => 'Tento obrázek je použit na níže uvedených stránkách.', 'image_delete_used' => 'Tento obrázek je použit na níže uvedených stránkách.',
@ -27,6 +32,8 @@ return [
'image_upload_success' => 'Obrázek byl nahrán', 'image_upload_success' => 'Obrázek byl nahrán',
'image_update_success' => 'Podrobnosti o obrázku byly aktualizovány', 'image_update_success' => 'Podrobnosti o obrázku byly aktualizovány',
'image_delete_success' => 'Obrázek byl odstraněn', 'image_delete_success' => 'Obrázek byl odstraněn',
'image_replace' => 'Replace Image',
'image_replace_success' => 'Image file successfully updated',
// Code Editor // Code Editor
'code_editor' => 'Upravit kód', 'code_editor' => 'Upravit kód',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'Uložit kapitolu', 'chapters_save' => 'Uložit kapitolu',
'chapters_move' => 'Přesunout kapitolu', 'chapters_move' => 'Přesunout kapitolu',
'chapters_move_named' => 'Přesunout kapitolu :chapterName', 'chapters_move_named' => 'Přesunout kapitolu :chapterName',
'chapter_move_success' => 'Kapitola přesunuta do knihy :bookName',
'chapters_copy' => 'Kopírovat kapitolu', 'chapters_copy' => 'Kopírovat kapitolu',
'chapters_copy_success' => 'Kapitola byla úspěšně zkopírována', 'chapters_copy_success' => 'Kapitola byla úspěšně zkopírována',
'chapters_permissions' => 'Oprávnění kapitoly', 'chapters_permissions' => 'Oprávnění kapitoly',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'Úpravy stránky', 'pages_editing_page' => 'Úpravy stránky',
'pages_edit_draft_save_at' => 'Koncept uložen v ', 'pages_edit_draft_save_at' => 'Koncept uložen v ',
'pages_edit_delete_draft' => 'Odstranit koncept', 'pages_edit_delete_draft' => 'Odstranit koncept',
'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.',
'pages_edit_discard_draft' => 'Zahodit koncept', 'pages_edit_discard_draft' => 'Zahodit koncept',
'pages_edit_switch_to_markdown' => 'Přepnout na Markdown Editor', 'pages_edit_switch_to_markdown' => 'Přepnout na Markdown Editor',
'pages_edit_switch_to_markdown_clean' => '(Vytvořený obsah)', 'pages_edit_switch_to_markdown_clean' => '(Vytvořený obsah)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Synchronizovat náhled', 'pages_md_sync_scroll' => 'Synchronizovat náhled',
'pages_not_in_chapter' => 'Stránka není v kapitole', 'pages_not_in_chapter' => 'Stránka není v kapitole',
'pages_move' => 'Přesunout stránku', 'pages_move' => 'Přesunout stránku',
'pages_move_success' => 'Stránka přesunuta do ":parentName"',
'pages_copy' => 'Kopírovat stránku', 'pages_copy' => 'Kopírovat stránku',
'pages_copy_desination' => 'Cíl kopírování', 'pages_copy_desination' => 'Cíl kopírování',
'pages_copy_success' => 'Stránka byla zkopírována', 'pages_copy_success' => 'Stránka byla zkopírována',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'Obnovit', 'pages_revisions_restore' => 'Obnovit',
'pages_revisions_none' => 'Tato stránka nemá žádné revize', 'pages_revisions_none' => 'Tato stránka nemá žádné revize',
'pages_copy_link' => 'Kopírovat odkaz', 'pages_copy_link' => 'Kopírovat odkaz',
'pages_edit_content_link' => 'Upravit obsah', 'pages_edit_content_link' => 'Jump to section in editor',
'pages_pointer_enter_mode' => 'Enter section select mode',
'pages_pointer_label' => 'Page Section Options',
'pages_pointer_permalink' => 'Page Section Permalink',
'pages_pointer_include_tag' => 'Page Section Include Tag',
'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag',
'pages_pointer_toggle_include' => 'Include tag mode, Press to show permalink',
'pages_permissions_active' => 'Oprávnění stránky byla aktivována', 'pages_permissions_active' => 'Oprávnění stránky byla aktivována',
'pages_initial_revision' => 'První vydání', 'pages_initial_revision' => 'První vydání',
'pages_references_update_revision' => 'Automatická aktualizace interních odkazů', 'pages_references_update_revision' => 'Automatická aktualizace interních odkazů',
@ -281,7 +286,8 @@ return [
'time_b' => 'v posledních minutách (:minCount min.)', 'time_b' => 'v posledních minutách (:minCount min.)',
'message' => ':start :time. Dávejte pozor abyste nepřepsali změny ostatním!', 'message' => ':start :time. Dávejte pozor abyste nepřepsali změny ostatním!',
], ],
'pages_draft_discarded' => 'Koncept zahozen. Editor nyní obsahuje aktuální verzi stránky.', 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content',
'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content',
'pages_specific' => 'Konkrétní stránka', 'pages_specific' => 'Konkrétní stránka',
'pages_is_template' => 'Šablona stránky', 'pages_is_template' => 'Šablona stránky',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'Zde zadejte komentář', 'comment_placeholder' => 'Zde zadejte komentář',
'comment_count' => '{0} Bez komentářů|{1} 1 komentář|[2,4] :count komentáře|[5,*] :count komentářů', 'comment_count' => '{0} Bez komentářů|{1} 1 komentář|[2,4] :count komentáře|[5,*] :count komentářů',
'comment_save' => 'Uložit komentář', 'comment_save' => 'Uložit komentář',
'comment_saving' => 'Ukládání komentáře...',
'comment_deleting' => 'Mazání komentáře...',
'comment_new' => 'Nový komentář', 'comment_new' => 'Nový komentář',
'comment_created' => 'komentováno :createDiff', 'comment_created' => 'komentováno :createDiff',
'comment_updated' => 'Aktualizováno :updateDiff uživatelem :username', 'comment_updated' => 'Aktualizováno :updateDiff uživatelem :username',
'comment_updated_indicator' => 'Updated',
'comment_deleted_success' => 'Komentář odstraněn', 'comment_deleted_success' => 'Komentář odstraněn',
'comment_created_success' => 'Komentář přidán', 'comment_created_success' => 'Komentář přidán',
'comment_updated_success' => 'Komentář aktualizován', 'comment_updated_success' => 'Komentář aktualizován',
'comment_delete_confirm' => 'Opravdu chcete odstranit tento komentář?', 'comment_delete_confirm' => 'Opravdu chcete odstranit tento komentář?',
'comment_in_reply_to' => 'Odpověď na :commentId', 'comment_in_reply_to' => 'Odpověď na :commentId',
'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.',
// Revision // Revision
'revision_delete_confirm' => 'Opravdu chcete odstranit tuto revizi?', 'revision_delete_confirm' => 'Opravdu chcete odstranit tuto revizi?',
'revision_restore_confirm' => 'Jste si jisti, že chcete obnovit tuto revizi? Aktuální obsah stránky bude nahrazen.', 'revision_restore_confirm' => 'Jste si jisti, že chcete obnovit tuto revizi? Aktuální obsah stránky bude nahrazen.',
'revision_delete_success' => 'Revize odstraněna',
'revision_cannot_delete_latest' => 'Nelze odstranit poslední revizi.', 'revision_cannot_delete_latest' => 'Nelze odstranit poslední revizi.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'Nastala chyba během nahrávání souboru', 'image_upload_error' => 'Nastala chyba během nahrávání souboru',
'image_upload_type_error' => 'Typ nahrávaného obrázku je neplatný.', 'image_upload_type_error' => 'Typ nahrávaného obrázku je neplatný.',
'image_upload_replace_type' => 'Image file replacements must be of the same type',
'drawing_data_not_found' => 'Data výkresu nelze načíst. Výkresový soubor již nemusí existovat nebo nemusí mít oprávnění k němu přistupovat.', 'drawing_data_not_found' => 'Data výkresu nelze načíst. Výkresový soubor již nemusí existovat nebo nemusí mít oprávnění k němu přistupovat.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'Nepovedlo se uložit koncept. Než stránku uložíte, ujistěte se, že jste připojeni k internetu.', 'page_draft_autosave_fail' => 'Nepovedlo se uložit koncept. Než stránku uložíte, ujistěte se, že jste připojeni k internetu.',
'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content',
'page_custom_home_deletion' => 'Nelze odstranit tuto stránku, protože je nastavena jako uvítací stránka', 'page_custom_home_deletion' => 'Nelze odstranit tuto stránku, protože je nastavena jako uvítací stránka',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'Nastavení', 'settings' => 'Nastavení',
'settings_save' => 'Uložit nastavení', 'settings_save' => 'Uložit nastavení',
'settings_save_success' => 'Nastavení uloženo',
'system_version' => 'Verze systému: ', 'system_version' => 'Verze systému: ',
'categories' => 'Kategorie', 'categories' => 'Kategorie',
@ -232,8 +231,6 @@ return [
'user_api_token_expiry' => 'Platný do', 'user_api_token_expiry' => 'Platný do',
'user_api_token_expiry_desc' => 'Zadejte datum, kdy platnost tokenu vyprší. Po tomto datu nebudou požadavky, které používají tento token, fungovat. Pokud ponecháte pole prázdné, bude tokenu nastavena platnost na dalších 100 let.', 'user_api_token_expiry_desc' => 'Zadejte datum, kdy platnost tokenu vyprší. Po tomto datu nebudou požadavky, které používají tento token, fungovat. Pokud ponecháte pole prázdné, bude tokenu nastavena platnost na dalších 100 let.',
'user_api_token_create_secret_message' => 'Ihned po vytvoření tokenu Vám bude vygenerován a zobrazen "Token ID" a "Token Secret". Upozorňujeme, že "Token Secret" bude možné zobrazit pouze jednou, ujistěte se, že si jej poznamenáte a uložíte na bezpečné místo před tím, než budete pokračovat dále.', 'user_api_token_create_secret_message' => 'Ihned po vytvoření tokenu Vám bude vygenerován a zobrazen "Token ID" a "Token Secret". Upozorňujeme, že "Token Secret" bude možné zobrazit pouze jednou, ujistěte se, že si jej poznamenáte a uložíte na bezpečné místo před tím, než budete pokračovat dále.',
'user_api_token_create_success' => 'API Token byl vytvořen',
'user_api_token_update_success' => 'API Token byl aktualizován',
'user_api_token' => 'API Token', 'user_api_token' => 'API Token',
'user_api_token_id' => 'Token ID', 'user_api_token_id' => 'Token ID',
'user_api_token_id_desc' => 'Toto je neupravitelný systémový identifikátor generovaný pro tento Token, který musí být uveden v API requestu.', 'user_api_token_id_desc' => 'Toto je neupravitelný systémový identifikátor generovaný pro tento Token, který musí být uveden v API requestu.',
@ -244,7 +241,6 @@ return [
'user_api_token_delete' => 'Odstranit Token', 'user_api_token_delete' => 'Odstranit Token',
'user_api_token_delete_warning' => 'Tímto plně odstraníte tento API Token s názvem \':tokenName\' ze systému.', 'user_api_token_delete_warning' => 'Tímto plně odstraníte tento API Token s názvem \':tokenName\' ze systému.',
'user_api_token_delete_confirm' => 'Opravdu chcete odstranit tento API Token?', 'user_api_token_delete_confirm' => 'Opravdu chcete odstranit tento API Token?',
'user_api_token_delete_success' => 'API Token byl odstraněn',
// Webhooks // Webhooks
'webhooks' => 'Webhooky', 'webhooks' => 'Webhooky',

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'tudalen wedi\'i hadfer', 'page_restore' => 'tudalen wedi\'i hadfer',
'page_restore_notification' => 'Cafodd y dudalen ei hadfer yn llwyddiannus', 'page_restore_notification' => 'Cafodd y dudalen ei hadfer yn llwyddiannus',
'page_move' => 'symwyd tudalen', 'page_move' => 'symwyd tudalen',
'page_move_notification' => 'Page successfully moved',
// Chapters // Chapters
'chapter_create' => 'pennod creu', 'chapter_create' => 'pennod creu',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'pennod wedi dileu', 'chapter_delete' => 'pennod wedi dileu',
'chapter_delete_notification' => 'Pennod wedi\'i dileu\'n llwyddiannus', 'chapter_delete_notification' => 'Pennod wedi\'i dileu\'n llwyddiannus',
'chapter_move' => 'pennod wedi symud', 'chapter_move' => 'pennod wedi symud',
'chapter_move_notification' => 'Chapter successfully moved',
// Books // Books
'book_create' => 'llyfr wedi creu', 'book_create' => 'llyfr wedi creu',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'deleted shelf', 'bookshelf_delete' => 'deleted shelf',
'bookshelf_delete_notification' => 'Shelf successfully deleted', 'bookshelf_delete_notification' => 'Shelf successfully deleted',
// Revisions
'revision_restore' => 'restored revision',
'revision_delete' => 'deleted revision',
'revision_delete_notification' => 'Revision successfully deleted',
// Favourites // Favourites
'favourite_add_notification' => 'Mae ":name" wedi\'i ychwanegu at eich ffefrynnau', 'favourite_add_notification' => 'Mae ":name" wedi\'i ychwanegu at eich ffefrynnau',
'favourite_remove_notification' => 'Mae ":name" wedi\'i tynnu o\'ch ffefrynnau', 'favourite_remove_notification' => 'Mae ":name" wedi\'i tynnu o\'ch ffefrynnau',
// MFA // Auth
'auth_login' => 'logged in',
'auth_register' => 'registered as new user',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'reset user password',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'Dull aml-ffactor wedi\'i ffurfweddu\'n llwyddiannus', 'mfa_setup_method_notification' => 'Dull aml-ffactor wedi\'i ffurfweddu\'n llwyddiannus',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'Llwyddwyd i ddileu dull aml-ffactor', 'mfa_remove_method_notification' => 'Llwyddwyd i ddileu dull aml-ffactor',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks // Webhooks
'webhook_create' => 'webhook wedi creu', 'webhook_create' => 'webhook wedi creu',
'webhook_create_notification' => 'Webhook wedi\'i creu\'n llwyddiannus', 'webhook_create_notification' => 'Webhook wedi\'i creu\'n llwyddiannus',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'Webhook wedi\'i dileu\'n llwyddiannus', 'webhook_delete_notification' => 'Webhook wedi\'i dileu\'n llwyddiannus',
// Users // Users
'user_create' => 'created user',
'user_create_notification' => 'User successfully created',
'user_update' => 'updated user',
'user_update_notification' => 'Diweddarwyd y defnyddiwr yn llwyddiannus', 'user_update_notification' => 'Diweddarwyd y defnyddiwr yn llwyddiannus',
'user_delete' => 'deleted user',
'user_delete_notification' => 'Tynnwyd y defnyddiwr yn llwyddiannus', 'user_delete_notification' => 'Tynnwyd y defnyddiwr yn llwyddiannus',
// API Tokens
'api_token_create' => 'created api token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated api token',
'api_token_update_notification' => 'API token successfully updated',
'api_token_delete' => 'deleted api token',
'api_token_delete_notification' => 'API token successfully deleted',
// Roles // Roles
'role_create' => 'created role',
'role_create_notification' => 'Role successfully created', 'role_create_notification' => 'Role successfully created',
'role_update' => 'updated role',
'role_update_notification' => 'Role successfully updated', 'role_update_notification' => 'Role successfully updated',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Role successfully deleted', 'role_delete_notification' => 'Role successfully deleted',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',
'recycle_bin_restore' => 'restored from recycle bin',
'recycle_bin_destroy' => 'removed from recycle bin',
// Other // Other
'commented_on' => 'gwnaeth sylwadau ar', 'commented_on' => 'gwnaeth sylwadau ar',
'permissions_update' => 'caniatadau wedi\'u diweddaru', 'permissions_update' => 'caniatadau wedi\'u diweddaru',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Cancel', 'cancel' => 'Cancel',
'close' => 'Close',
'confirm' => 'Confirm', 'confirm' => 'Confirm',
'back' => 'Back', 'back' => 'Back',
'save' => 'Save', 'save' => 'Save',

View file

@ -6,6 +6,8 @@ return [
// Image Manager // Image Manager
'image_select' => 'Image Select', 'image_select' => 'Image Select',
'image_list' => 'Image List',
'image_details' => 'Image Details',
'image_upload' => 'Upload Image', 'image_upload' => 'Upload Image',
'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.', 'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.',
'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.',
@ -15,6 +17,9 @@ return [
'image_page_title' => 'View images uploaded to this page', 'image_page_title' => 'View images uploaded to this page',
'image_search_hint' => 'Search by image name', 'image_search_hint' => 'Search by image name',
'image_uploaded' => 'Uploaded :uploadedDate', 'image_uploaded' => 'Uploaded :uploadedDate',
'image_uploaded_by' => 'Uploaded by :userName',
'image_uploaded_to' => 'Uploaded to :pageLink',
'image_updated' => 'Updated :updateDate',
'image_load_more' => 'Load More', 'image_load_more' => 'Load More',
'image_image_name' => 'Image Name', 'image_image_name' => 'Image Name',
'image_delete_used' => 'This image is used in the pages below.', 'image_delete_used' => 'This image is used in the pages below.',
@ -27,6 +32,8 @@ return [
'image_upload_success' => 'Image uploaded successfully', 'image_upload_success' => 'Image uploaded successfully',
'image_update_success' => 'Image details successfully updated', 'image_update_success' => 'Image details successfully updated',
'image_delete_success' => 'Image successfully deleted', 'image_delete_success' => 'Image successfully deleted',
'image_replace' => 'Replace Image',
'image_replace_success' => 'Image file successfully updated',
// Code Editor // Code Editor
'code_editor' => 'Edit Code', 'code_editor' => 'Edit Code',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'Save Chapter', 'chapters_save' => 'Save Chapter',
'chapters_move' => 'Move Chapter', 'chapters_move' => 'Move Chapter',
'chapters_move_named' => 'Move Chapter :chapterName', 'chapters_move_named' => 'Move Chapter :chapterName',
'chapter_move_success' => 'Chapter moved to :bookName',
'chapters_copy' => 'Copy Chapter', 'chapters_copy' => 'Copy Chapter',
'chapters_copy_success' => 'Chapter successfully copied', 'chapters_copy_success' => 'Chapter successfully copied',
'chapters_permissions' => 'Chapter Permissions', 'chapters_permissions' => 'Chapter Permissions',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'Editing Page', 'pages_editing_page' => 'Editing Page',
'pages_edit_draft_save_at' => 'Draft saved at ', 'pages_edit_draft_save_at' => 'Draft saved at ',
'pages_edit_delete_draft' => 'Delete Draft', 'pages_edit_delete_draft' => 'Delete Draft',
'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.',
'pages_edit_discard_draft' => 'Discard Draft', 'pages_edit_discard_draft' => 'Discard Draft',
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor', 'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
'pages_edit_switch_to_markdown_clean' => '(Clean Content)', 'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Sync preview scroll', 'pages_md_sync_scroll' => 'Sync preview scroll',
'pages_not_in_chapter' => 'Page is not in a chapter', 'pages_not_in_chapter' => 'Page is not in a chapter',
'pages_move' => 'Move Page', 'pages_move' => 'Move Page',
'pages_move_success' => 'Page moved to ":parentName"',
'pages_copy' => 'Copy Page', 'pages_copy' => 'Copy Page',
'pages_copy_desination' => 'Copy Destination', 'pages_copy_desination' => 'Copy Destination',
'pages_copy_success' => 'Page successfully copied', 'pages_copy_success' => 'Page successfully copied',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'Restore', 'pages_revisions_restore' => 'Restore',
'pages_revisions_none' => 'This page has no revisions', 'pages_revisions_none' => 'This page has no revisions',
'pages_copy_link' => 'Copy Link', 'pages_copy_link' => 'Copy Link',
'pages_edit_content_link' => 'Edit Content', 'pages_edit_content_link' => 'Jump to section in editor',
'pages_pointer_enter_mode' => 'Enter section select mode',
'pages_pointer_label' => 'Page Section Options',
'pages_pointer_permalink' => 'Page Section Permalink',
'pages_pointer_include_tag' => 'Page Section Include Tag',
'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag',
'pages_pointer_toggle_include' => 'Include tag mode, Press to show permalink',
'pages_permissions_active' => 'Page Permissions Active', 'pages_permissions_active' => 'Page Permissions Active',
'pages_initial_revision' => 'Initial publish', 'pages_initial_revision' => 'Initial publish',
'pages_references_update_revision' => 'System auto-update of internal links', 'pages_references_update_revision' => 'System auto-update of internal links',
@ -281,7 +286,8 @@ return [
'time_b' => 'in the last :minCount minutes', 'time_b' => 'in the last :minCount minutes',
'message' => ':start :time. Take care not to overwrite each other\'s updates!', 'message' => ':start :time. Take care not to overwrite each other\'s updates!',
], ],
'pages_draft_discarded' => 'Draft discarded, The editor has been updated with the current page content', 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content',
'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content',
'pages_specific' => 'Specific Page', 'pages_specific' => 'Specific Page',
'pages_is_template' => 'Page Template', 'pages_is_template' => 'Page Template',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'Leave a comment here', 'comment_placeholder' => 'Leave a comment here',
'comment_count' => '{0} No Comments|{1} 1 Comment|[2,*] :count Comments', 'comment_count' => '{0} No Comments|{1} 1 Comment|[2,*] :count Comments',
'comment_save' => 'Save Comment', 'comment_save' => 'Save Comment',
'comment_saving' => 'Saving comment...',
'comment_deleting' => 'Deleting comment...',
'comment_new' => 'New Comment', 'comment_new' => 'New Comment',
'comment_created' => 'commented :createDiff', 'comment_created' => 'commented :createDiff',
'comment_updated' => 'Updated :updateDiff by :username', 'comment_updated' => 'Updated :updateDiff by :username',
'comment_updated_indicator' => 'Updated',
'comment_deleted_success' => 'Comment deleted', 'comment_deleted_success' => 'Comment deleted',
'comment_created_success' => 'Comment added', 'comment_created_success' => 'Comment added',
'comment_updated_success' => 'Comment updated', 'comment_updated_success' => 'Comment updated',
'comment_delete_confirm' => 'Are you sure you want to delete this comment?', 'comment_delete_confirm' => 'Are you sure you want to delete this comment?',
'comment_in_reply_to' => 'In reply to :commentId', 'comment_in_reply_to' => 'In reply to :commentId',
'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.',
// Revision // Revision
'revision_delete_confirm' => 'Are you sure you want to delete this revision?', 'revision_delete_confirm' => 'Are you sure you want to delete this revision?',
'revision_restore_confirm' => 'Are you sure you want to restore this revision? The current page contents will be replaced.', 'revision_restore_confirm' => 'Are you sure you want to restore this revision? The current page contents will be replaced.',
'revision_delete_success' => 'Revision deleted',
'revision_cannot_delete_latest' => 'Cannot delete the latest revision.', 'revision_cannot_delete_latest' => 'Cannot delete the latest revision.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'Bu gwall wrth uwchlwytho\'r ddelwedd', 'image_upload_error' => 'Bu gwall wrth uwchlwytho\'r ddelwedd',
'image_upload_type_error' => 'Mae\'r math o ddelwedd sy\'n cael ei huwchlwytho yn annilys', 'image_upload_type_error' => 'Mae\'r math o ddelwedd sy\'n cael ei huwchlwytho yn annilys',
'image_upload_replace_type' => 'Image file replacements must be of the same type',
'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.', 'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'Wedi methu cadw\'r drafft. Sicrhewch fod gennych gysylltiad rhyngrwyd cyn cadw\'r dudalen hon', 'page_draft_autosave_fail' => 'Wedi methu cadw\'r drafft. Sicrhewch fod gennych gysylltiad rhyngrwyd cyn cadw\'r dudalen hon',
'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content',
'page_custom_home_deletion' => 'Methu dileu tudalen tra ei bod wedi\'i gosod fel hafan', 'page_custom_home_deletion' => 'Methu dileu tudalen tra ei bod wedi\'i gosod fel hafan',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'Settings', 'settings' => 'Settings',
'settings_save' => 'Save Settings', 'settings_save' => 'Save Settings',
'settings_save_success' => 'Settings saved',
'system_version' => 'System Version', 'system_version' => 'System Version',
'categories' => 'Categories', 'categories' => 'Categories',
@ -232,8 +231,6 @@ return [
'user_api_token_expiry' => 'Expiry Date', 'user_api_token_expiry' => 'Expiry Date',
'user_api_token_expiry_desc' => 'Set a date at which this token expires. After this date, requests made using this token will no longer work. Leaving this field blank will set an expiry 100 years into the future.', 'user_api_token_expiry_desc' => 'Set a date at which this token expires. After this date, requests made using this token will no longer work. Leaving this field blank will set an expiry 100 years into the future.',
'user_api_token_create_secret_message' => 'Immediately after creating this token a "Token ID" & "Token Secret" will be generated and displayed. The secret will only be shown a single time so be sure to copy the value to somewhere safe and secure before proceeding.', 'user_api_token_create_secret_message' => 'Immediately after creating this token a "Token ID" & "Token Secret" will be generated and displayed. The secret will only be shown a single time so be sure to copy the value to somewhere safe and secure before proceeding.',
'user_api_token_create_success' => 'API token successfully created',
'user_api_token_update_success' => 'API token successfully updated',
'user_api_token' => 'API Token', 'user_api_token' => 'API Token',
'user_api_token_id' => 'Token ID', 'user_api_token_id' => 'Token ID',
'user_api_token_id_desc' => 'This is a non-editable system generated identifier for this token which will need to be provided in API requests.', 'user_api_token_id_desc' => 'This is a non-editable system generated identifier for this token which will need to be provided in API requests.',
@ -244,7 +241,6 @@ return [
'user_api_token_delete' => 'Delete Token', 'user_api_token_delete' => 'Delete Token',
'user_api_token_delete_warning' => 'This will fully delete this API token with the name \':tokenName\' from the system.', 'user_api_token_delete_warning' => 'This will fully delete this API token with the name \':tokenName\' from the system.',
'user_api_token_delete_confirm' => 'Are you sure you want to delete this API token?', 'user_api_token_delete_confirm' => 'Are you sure you want to delete this API token?',
'user_api_token_delete_success' => 'API token successfully deleted',
// Webhooks // Webhooks
'webhooks' => 'Webhooks', 'webhooks' => 'Webhooks',

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'gendannede side', 'page_restore' => 'gendannede side',
'page_restore_notification' => 'Siden blev gendannet', 'page_restore_notification' => 'Siden blev gendannet',
'page_move' => 'flyttede side', 'page_move' => 'flyttede side',
'page_move_notification' => 'Page successfully moved',
// Chapters // Chapters
'chapter_create' => 'oprettede kapitel', 'chapter_create' => 'oprettede kapitel',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'slettede kapitel', 'chapter_delete' => 'slettede kapitel',
'chapter_delete_notification' => 'Kapitel blev slettet', 'chapter_delete_notification' => 'Kapitel blev slettet',
'chapter_move' => 'flyttede kapitel', 'chapter_move' => 'flyttede kapitel',
'chapter_move_notification' => 'Chapter successfully moved',
// Books // Books
'book_create' => 'oprettede bog', 'book_create' => 'oprettede bog',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'deleted shelf', 'bookshelf_delete' => 'deleted shelf',
'bookshelf_delete_notification' => 'Shelf successfully deleted', 'bookshelf_delete_notification' => 'Shelf successfully deleted',
// Revisions
'revision_restore' => 'restored revision',
'revision_delete' => 'deleted revision',
'revision_delete_notification' => 'Revision successfully deleted',
// Favourites // Favourites
'favourite_add_notification' => '":name" er blevet tilføjet til dine favoritter', 'favourite_add_notification' => '":name" er blevet tilføjet til dine favoritter',
'favourite_remove_notification' => '":name" er blevet fjernet fra dine favoritter', 'favourite_remove_notification' => '":name" er blevet fjernet fra dine favoritter',
// MFA // Auth
'auth_login' => 'logged in',
'auth_register' => 'registered as new user',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'reset user password',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'Multi-faktor metode konfigureret', 'mfa_setup_method_notification' => 'Multi-faktor metode konfigureret',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'Multi-faktor metode fjernet', 'mfa_remove_method_notification' => 'Multi-faktor metode fjernet',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks // Webhooks
'webhook_create' => 'oprettede webhook', 'webhook_create' => 'oprettede webhook',
'webhook_create_notification' => 'Webhooken blev oprettet', 'webhook_create_notification' => 'Webhooken blev oprettet',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'Webhooken blev slettet', 'webhook_delete_notification' => 'Webhooken blev slettet',
// Users // Users
'user_create' => 'created user',
'user_create_notification' => 'User successfully created',
'user_update' => 'updated user',
'user_update_notification' => 'Brugeren blev opdateret', 'user_update_notification' => 'Brugeren blev opdateret',
'user_delete' => 'deleted user',
'user_delete_notification' => 'Brugeren blev fjernet', 'user_delete_notification' => 'Brugeren blev fjernet',
// API Tokens
'api_token_create' => 'created api token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated api token',
'api_token_update_notification' => 'API token successfully updated',
'api_token_delete' => 'deleted api token',
'api_token_delete_notification' => 'API token successfully deleted',
// Roles // Roles
'role_create' => 'created role',
'role_create_notification' => 'Role successfully created', 'role_create_notification' => 'Role successfully created',
'role_update' => 'updated role',
'role_update_notification' => 'Role successfully updated', 'role_update_notification' => 'Role successfully updated',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Role successfully deleted', 'role_delete_notification' => 'Role successfully deleted',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',
'recycle_bin_restore' => 'restored from recycle bin',
'recycle_bin_destroy' => 'removed from recycle bin',
// Other // Other
'commented_on' => 'kommenterede til', 'commented_on' => 'kommenterede til',
'permissions_update' => 'Tilladelser opdateret', 'permissions_update' => 'Tilladelser opdateret',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Annuller', 'cancel' => 'Annuller',
'close' => 'Close',
'confirm' => 'Bekræft', 'confirm' => 'Bekræft',
'back' => 'Tilbage', 'back' => 'Tilbage',
'save' => 'Gem', 'save' => 'Gem',

View file

@ -6,6 +6,8 @@ return [
// Image Manager // Image Manager
'image_select' => 'Billedselektion', 'image_select' => 'Billedselektion',
'image_list' => 'Image List',
'image_details' => 'Image Details',
'image_upload' => 'Upload Image', 'image_upload' => 'Upload Image',
'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.', 'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.',
'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.',
@ -15,6 +17,9 @@ return [
'image_page_title' => 'Vis billeder uploadet til denne side', 'image_page_title' => 'Vis billeder uploadet til denne side',
'image_search_hint' => 'Søg efter billednavn', 'image_search_hint' => 'Søg efter billednavn',
'image_uploaded' => 'Uploadet :uploadedDate', 'image_uploaded' => 'Uploadet :uploadedDate',
'image_uploaded_by' => 'Uploaded by :userName',
'image_uploaded_to' => 'Uploaded to :pageLink',
'image_updated' => 'Updated :updateDate',
'image_load_more' => 'Indlæse mere', 'image_load_more' => 'Indlæse mere',
'image_image_name' => 'Billednavn', 'image_image_name' => 'Billednavn',
'image_delete_used' => 'Dette billede er brugt på siderne nedenfor.', 'image_delete_used' => 'Dette billede er brugt på siderne nedenfor.',
@ -27,6 +32,8 @@ return [
'image_upload_success' => 'Foto uploadet', 'image_upload_success' => 'Foto uploadet',
'image_update_success' => 'Billeddetaljer succesfuldt opdateret', 'image_update_success' => 'Billeddetaljer succesfuldt opdateret',
'image_delete_success' => 'Billede slettet', 'image_delete_success' => 'Billede slettet',
'image_replace' => 'Replace Image',
'image_replace_success' => 'Image file successfully updated',
// Code Editor // Code Editor
'code_editor' => 'Rediger kode', 'code_editor' => 'Rediger kode',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'Gem kapitel', 'chapters_save' => 'Gem kapitel',
'chapters_move' => 'Flyt kapitel', 'chapters_move' => 'Flyt kapitel',
'chapters_move_named' => 'Flyt kapitel :chapterName', 'chapters_move_named' => 'Flyt kapitel :chapterName',
'chapter_move_success' => 'Kapitel flyttet til :bookName',
'chapters_copy' => 'Kopier Kapitel', 'chapters_copy' => 'Kopier Kapitel',
'chapters_copy_success' => 'Kapitlet blev kopieret', 'chapters_copy_success' => 'Kapitlet blev kopieret',
'chapters_permissions' => 'Kapiteltilladelser', 'chapters_permissions' => 'Kapiteltilladelser',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'Redigerer side', 'pages_editing_page' => 'Redigerer side',
'pages_edit_draft_save_at' => 'Kladde gemt ved ', 'pages_edit_draft_save_at' => 'Kladde gemt ved ',
'pages_edit_delete_draft' => 'Slet kladde', 'pages_edit_delete_draft' => 'Slet kladde',
'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.',
'pages_edit_discard_draft' => 'Kassér kladde', 'pages_edit_discard_draft' => 'Kassér kladde',
'pages_edit_switch_to_markdown' => 'Skift til Markdown redigering', 'pages_edit_switch_to_markdown' => 'Skift til Markdown redigering',
'pages_edit_switch_to_markdown_clean' => '(Clean Content)', 'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Sync preview scroll', 'pages_md_sync_scroll' => 'Sync preview scroll',
'pages_not_in_chapter' => 'Side er ikke i et kapitel', 'pages_not_in_chapter' => 'Side er ikke i et kapitel',
'pages_move' => 'Flyt side', 'pages_move' => 'Flyt side',
'pages_move_success' => 'Flyt side til ":parentName"',
'pages_copy' => 'Kopier side', 'pages_copy' => 'Kopier side',
'pages_copy_desination' => 'Kopier destination', 'pages_copy_desination' => 'Kopier destination',
'pages_copy_success' => 'Side kopieret succesfuldt', 'pages_copy_success' => 'Side kopieret succesfuldt',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'Gendan', 'pages_revisions_restore' => 'Gendan',
'pages_revisions_none' => 'Denne side har ingen revisioner', 'pages_revisions_none' => 'Denne side har ingen revisioner',
'pages_copy_link' => 'Kopier link', 'pages_copy_link' => 'Kopier link',
'pages_edit_content_link' => 'Redigér indhold', 'pages_edit_content_link' => 'Jump to section in editor',
'pages_pointer_enter_mode' => 'Enter section select mode',
'pages_pointer_label' => 'Page Section Options',
'pages_pointer_permalink' => 'Page Section Permalink',
'pages_pointer_include_tag' => 'Page Section Include Tag',
'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag',
'pages_pointer_toggle_include' => 'Include tag mode, Press to show permalink',
'pages_permissions_active' => 'Aktive sidetilladelser', 'pages_permissions_active' => 'Aktive sidetilladelser',
'pages_initial_revision' => 'Første udgivelse', 'pages_initial_revision' => 'Første udgivelse',
'pages_references_update_revision' => 'System auto-update of internal links', 'pages_references_update_revision' => 'System auto-update of internal links',
@ -281,7 +286,8 @@ return [
'time_b' => 'i de sidste :minCount minutter', 'time_b' => 'i de sidste :minCount minutter',
'message' => ':start : time. Pas på ikke at overskrive hinandens opdateringer!', 'message' => ':start : time. Pas på ikke at overskrive hinandens opdateringer!',
], ],
'pages_draft_discarded' => 'Kladde kasseret, editoren er blevet opdateret med aktuelt sideindhold', 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content',
'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content',
'pages_specific' => 'Specifik side', 'pages_specific' => 'Specifik side',
'pages_is_template' => 'Sideskabelon', 'pages_is_template' => 'Sideskabelon',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'Skriv en kommentar her', 'comment_placeholder' => 'Skriv en kommentar her',
'comment_count' => '{0} Ingen kommentarer|{1} 1 Kommentar|[2,*] :count kommentarer', 'comment_count' => '{0} Ingen kommentarer|{1} 1 Kommentar|[2,*] :count kommentarer',
'comment_save' => 'Gem kommentar', 'comment_save' => 'Gem kommentar',
'comment_saving' => 'Gemmer kommentar...',
'comment_deleting' => 'Sletter kommentar...',
'comment_new' => 'Ny kommentar', 'comment_new' => 'Ny kommentar',
'comment_created' => 'kommenteret :createDiff', 'comment_created' => 'kommenteret :createDiff',
'comment_updated' => 'Opdateret :updateDiff af :username', 'comment_updated' => 'Opdateret :updateDiff af :username',
'comment_updated_indicator' => 'Updated',
'comment_deleted_success' => 'Kommentar slettet', 'comment_deleted_success' => 'Kommentar slettet',
'comment_created_success' => 'Kommentaren er tilføjet', 'comment_created_success' => 'Kommentaren er tilføjet',
'comment_updated_success' => 'Kommentaren er opdateret', 'comment_updated_success' => 'Kommentaren er opdateret',
'comment_delete_confirm' => 'Er du sikker på, at du vil slette denne kommentar?', 'comment_delete_confirm' => 'Er du sikker på, at du vil slette denne kommentar?',
'comment_in_reply_to' => 'Som svar til :commentId', 'comment_in_reply_to' => 'Som svar til :commentId',
'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.',
// Revision // Revision
'revision_delete_confirm' => 'Er du sikker på at du vil slette denne revision?', 'revision_delete_confirm' => 'Er du sikker på at du vil slette denne revision?',
'revision_restore_confirm' => 'Er du sikker på at du ønsker at gendanne denne revision? Nuværende sideindhold vil blive erstattet.', 'revision_restore_confirm' => 'Er du sikker på at du ønsker at gendanne denne revision? Nuværende sideindhold vil blive erstattet.',
'revision_delete_success' => 'Revision slettet',
'revision_cannot_delete_latest' => 'Kan ikke slette seneste revision.', 'revision_cannot_delete_latest' => 'Kan ikke slette seneste revision.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'Der opstod en fejl ved upload af billedet', 'image_upload_error' => 'Der opstod en fejl ved upload af billedet',
'image_upload_type_error' => 'Billedtypen, der uploades, er ugyldig', 'image_upload_type_error' => 'Billedtypen, der uploades, er ugyldig',
'image_upload_replace_type' => 'Image file replacements must be of the same type',
'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.', 'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'Kunne ikke gemme kladde. Tjek at du har internetforbindelse før du gemmer siden', 'page_draft_autosave_fail' => 'Kunne ikke gemme kladde. Tjek at du har internetforbindelse før du gemmer siden',
'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content',
'page_custom_home_deletion' => 'Kan ikke slette en side der er sat som forside', 'page_custom_home_deletion' => 'Kan ikke slette en side der er sat som forside',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'Indstillinger', 'settings' => 'Indstillinger',
'settings_save' => 'Gem indstillinger', 'settings_save' => 'Gem indstillinger',
'settings_save_success' => 'Indstillingerne blev gemt',
'system_version' => 'Systemversion', 'system_version' => 'Systemversion',
'categories' => 'Kategorier', 'categories' => 'Kategorier',
@ -232,8 +231,6 @@ return [
'user_api_token_expiry' => 'Udløbsdato', 'user_api_token_expiry' => 'Udløbsdato',
'user_api_token_expiry_desc' => 'Indstil en dato, hvorpå denne token udløber. Efter denne dato fungerer anmodninger, der er lavet med denne token, ikke længere. Hvis du lader dette felt være tomt, udløber den 100 år ud i fremtiden.', 'user_api_token_expiry_desc' => 'Indstil en dato, hvorpå denne token udløber. Efter denne dato fungerer anmodninger, der er lavet med denne token, ikke længere. Hvis du lader dette felt være tomt, udløber den 100 år ud i fremtiden.',
'user_api_token_create_secret_message' => 'Umiddelbart efter oprettelse af denne token genereres og vises et "Token-ID" og Token hemmelighed". Hemmeligheden vises kun en gang, så husk at kopiere værdien til et sikkert sted inden du fortsætter.', 'user_api_token_create_secret_message' => 'Umiddelbart efter oprettelse af denne token genereres og vises et "Token-ID" og Token hemmelighed". Hemmeligheden vises kun en gang, så husk at kopiere værdien til et sikkert sted inden du fortsætter.',
'user_api_token_create_success' => 'API token succesfuldt oprettet',
'user_api_token_update_success' => 'API token succesfuldt opdateret',
'user_api_token' => 'API Token', 'user_api_token' => 'API Token',
'user_api_token_id' => 'Token-ID', 'user_api_token_id' => 'Token-ID',
'user_api_token_id_desc' => 'Dette er en ikke-redigerbar systemgenereret identifikator for denne token, som skal sendes i API-anmodninger.', 'user_api_token_id_desc' => 'Dette er en ikke-redigerbar systemgenereret identifikator for denne token, som skal sendes i API-anmodninger.',
@ -244,7 +241,6 @@ return [
'user_api_token_delete' => 'Slet Token', 'user_api_token_delete' => 'Slet Token',
'user_api_token_delete_warning' => 'Dette vil helt slette API-token\'en med navnet \':tokenName\' fra systemet.', 'user_api_token_delete_warning' => 'Dette vil helt slette API-token\'en med navnet \':tokenName\' fra systemet.',
'user_api_token_delete_confirm' => 'Er du sikker på, at du vil slette denne API-token?', 'user_api_token_delete_confirm' => 'Er du sikker på, at du vil slette denne API-token?',
'user_api_token_delete_success' => 'API-token slettet',
// Webhooks // Webhooks
'webhooks' => 'Webhooks', 'webhooks' => 'Webhooks',

View file

@ -10,11 +10,12 @@ return [
'page_create_notification' => 'Seite erfolgreich erstellt', 'page_create_notification' => 'Seite erfolgreich erstellt',
'page_update' => 'aktualisierte Seite', 'page_update' => 'aktualisierte Seite',
'page_update_notification' => 'Seite erfolgreich aktualisiert', 'page_update_notification' => 'Seite erfolgreich aktualisiert',
'page_delete' => 'gelöschte Seite', 'page_delete' => 'hat die Seite gelöscht',
'page_delete_notification' => 'Seite erfolgreich gelöscht', 'page_delete_notification' => 'Seite erfolgreich gelöscht',
'page_restore' => 'wiederhergestellte Seite', 'page_restore' => 'hat die Seite wiederhergestellt',
'page_restore_notification' => 'Seite erfolgreich wiederhergestellt', 'page_restore_notification' => 'Seite erfolgreich wiederhergestellt',
'page_move' => 'Seite verschoben', 'page_move' => 'Seite verschoben',
'page_move_notification' => 'Seite erfolgreich verschoben',
// Chapters // Chapters
'chapter_create' => 'erstellte Kapitel', 'chapter_create' => 'erstellte Kapitel',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'löschte Kapitel', 'chapter_delete' => 'löschte Kapitel',
'chapter_delete_notification' => 'Kapitel erfolgreich gelöscht', 'chapter_delete_notification' => 'Kapitel erfolgreich gelöscht',
'chapter_move' => 'verschob Kapitel', 'chapter_move' => 'verschob Kapitel',
'chapter_move_notification' => 'Kapitel erfolgreich verschoben',
// Books // Books
'book_create' => 'erstellte Buch', 'book_create' => 'erstellte Buch',
@ -47,31 +49,67 @@ return [
'bookshelf_delete' => 'löschte Regal', 'bookshelf_delete' => 'löschte Regal',
'bookshelf_delete_notification' => 'Regal erfolgreich gelöscht', 'bookshelf_delete_notification' => 'Regal erfolgreich gelöscht',
// Revisions
'revision_restore' => 'stellte Revision wieder her:',
'revision_delete' => 'löschte Revision',
'revision_delete_notification' => 'Revision erfolgreich gelöscht',
// Favourites // Favourites
'favourite_add_notification' => '":name" wurde zu Ihren Favoriten hinzugefügt', 'favourite_add_notification' => '":name" wurde zu Ihren Favoriten hinzugefügt',
'favourite_remove_notification' => '":name" wurde aus Ihren Favoriten entfernt', 'favourite_remove_notification' => '":name" wurde aus Ihren Favoriten entfernt',
// MFA // Auth
'auth_login' => 'hat sich eingeloggt',
'auth_register' => 'hat sich als neuer Benutzer registriert',
'auth_password_reset_request' => 'hat eine Rücksetzung des Benutzerpassworts beantragt',
'auth_password_reset_update' => 'hat Benutzerpasswort zurückgesetzt',
'mfa_setup_method' => 'hat MFA-Methode konfiguriert',
'mfa_setup_method_notification' => 'Multi-Faktor-Methode erfolgreich konfiguriert', 'mfa_setup_method_notification' => 'Multi-Faktor-Methode erfolgreich konfiguriert',
'mfa_remove_method' => 'hat MFA-Methode entfernt',
'mfa_remove_method_notification' => 'Multi-Faktor-Methode erfolgreich entfernt', 'mfa_remove_method_notification' => 'Multi-Faktor-Methode erfolgreich entfernt',
// Settings
'settings_update' => 'hat Einstellungen aktualisiert',
'settings_update_notification' => 'Einstellungen erfolgreich aktualisiert',
'maintenance_action_run' => 'hat Wartungsarbeiten ausgeführt',
// Webhooks // Webhooks
'webhook_create' => 'erstellter Webhook', 'webhook_create' => 'erstellte Webhook',
'webhook_create_notification' => 'Webhook wurde erfolgreich eingerichtet', 'webhook_create_notification' => 'Webhook wurde erfolgreich eingerichtet',
'webhook_update' => 'aktualisierter Webhook', 'webhook_update' => 'aktualisierte Webhook',
'webhook_update_notification' => 'Webhook wurde erfolgreich aktualisiert', 'webhook_update_notification' => 'Webhook wurde erfolgreich aktualisiert',
'webhook_delete' => 'gelöschter Webhook', 'webhook_delete' => 'löschte Webhook',
'webhook_delete_notification' => 'Webhook erfolgreich gelöscht', 'webhook_delete_notification' => 'Webhook erfolgreich gelöscht',
// Users // Users
'user_create' => 'hat Benutzer erzeugt:',
'user_create_notification' => 'Benutzer erfolgreich erstellt',
'user_update' => 'hat Benutzer aktualisiert:',
'user_update_notification' => 'Benutzer erfolgreich aktualisiert', 'user_update_notification' => 'Benutzer erfolgreich aktualisiert',
'user_delete' => 'hat Benutzer gelöscht: ',
'user_delete_notification' => 'Benutzer erfolgreich entfernt', 'user_delete_notification' => 'Benutzer erfolgreich entfernt',
// API Tokens
'api_token_create' => 'hat API-Token erzeugt:',
'api_token_create_notification' => 'API-Token erfolgreich erstellt',
'api_token_update' => 'hat API-Token aktualisiert:',
'api_token_update_notification' => 'API-Token erfolgreich aktualisiert',
'api_token_delete' => 'hat API-Token gelöscht:',
'api_token_delete_notification' => 'API-Token erfolgreich gelöscht',
// Roles // Roles
'role_create' => 'hat Rolle erzeugt',
'role_create_notification' => 'Rolle erfolgreich angelegt', 'role_create_notification' => 'Rolle erfolgreich angelegt',
'role_update' => 'hat Rolle aktualisiert',
'role_update_notification' => 'Rolle erfolgreich aktualisiert', 'role_update_notification' => 'Rolle erfolgreich aktualisiert',
'role_delete' => 'hat Rolle gelöscht',
'role_delete_notification' => 'Rolle erfolgreich gelöscht', 'role_delete_notification' => 'Rolle erfolgreich gelöscht',
// Recycle Bin
'recycle_bin_empty' => 'hat den Papierkorb geleert',
'recycle_bin_restore' => 'aus dem Papierkorb wiederhergestellt',
'recycle_bin_destroy' => 'aus dem Papierkorb gelöscht',
// Other // Other
'commented_on' => 'hat einen Kommentar hinzugefügt', 'commented_on' => 'hat einen Kommentar hinzugefügt',
'permissions_update' => 'hat die Berechtigungen aktualisiert', 'permissions_update' => 'hat die Berechtigungen aktualisiert',

View file

@ -28,14 +28,14 @@ return [
'create_account' => 'Account erstellen', 'create_account' => 'Account erstellen',
'already_have_account' => 'Sie haben bereits einen Account?', 'already_have_account' => 'Sie haben bereits einen Account?',
'dont_have_account' => 'Sie haben noch keinen Account?', 'dont_have_account' => 'Sie haben noch keinen Account?',
'social_login' => 'Mit Sozialem Netzwerk anmelden', 'social_login' => 'Mit sozialem Netzwerk anmelden',
'social_registration' => 'Mit Sozialem Netzwerk registrieren', 'social_registration' => 'Mit sozialem Netzwerk registrieren',
'social_registration_text' => 'Mit einem anderen Dienst registrieren oder anmelden.', 'social_registration_text' => 'Mit einem anderen Dienst registrieren oder anmelden.',
'register_thanks' => 'Vielen Dank für Ihre Registrierung!', 'register_thanks' => 'Vielen Dank für Ihre Registrierung!',
'register_confirm' => 'Bitte prüfen Sie Ihren Posteingang und bestätigen Sie die Registrierung.', 'register_confirm' => 'Bitte prüfen Sie Ihren Posteingang und bestätigen Sie die Registrierung, um :appName nutzen zu können.',
'registrations_disabled' => 'Eine Registrierung ist momentan nicht möglich', 'registrations_disabled' => 'Eine Registrierung ist momentan nicht möglich',
'registration_email_domain_invalid' => 'Sie können sich mit dieser E-Mail-Adresse nicht registrieren', 'registration_email_domain_invalid' => 'Sie können sich mit dieser E-Mail-Adresse nicht für diese Anwendung registrieren',
'register_success' => 'Vielen Dank für Ihre Registrierung! Die Daten sind gespeichert und Sie sind angemeldet.', 'register_success' => 'Vielen Dank für Ihre Registrierung! Die Daten sind gespeichert und Sie sind angemeldet.',
// Login auto-initiation // Login auto-initiation
@ -58,25 +58,25 @@ return [
'email_confirm_greeting' => 'Danke, dass Sie sich für :appName registriert haben!', 'email_confirm_greeting' => 'Danke, dass Sie sich für :appName registriert haben!',
'email_confirm_text' => 'Bitte bestätigen Sie Ihre E-Mail-Adresse, indem Sie auf die Schaltfläche klicken:', 'email_confirm_text' => 'Bitte bestätigen Sie Ihre E-Mail-Adresse, indem Sie auf die Schaltfläche klicken:',
'email_confirm_action' => 'E-Mail-Adresse bestätigen', 'email_confirm_action' => 'E-Mail-Adresse bestätigen',
'email_confirm_send_error' => 'Leider konnte die für die Registrierung notwendige E-Mail zur Bestätigung Ihrer E-Mail-Adresse nicht versandt werden. Bitte kontaktieren Sie den Systemadministrator!', 'email_confirm_send_error' => 'Leider konnte die für die Registrierung notwendige E-Mail zur Bestätigung Ihrer E-Mail-Adresse nicht versandt werden. Bitte kontaktieren Sie den Systemadministrator.',
'email_confirm_success' => 'Ihre E-Mail wurde bestätigt! Sie sollten nun in der Lage sein, sich mit dieser E-Mail-Adresse anzumelden.', 'email_confirm_success' => 'Ihre E-Mail wurde bestätigt! Sie sollten nun in der Lage sein, sich mit dieser E-Mail-Adresse anzumelden.',
'email_confirm_resent' => 'Bestätigungs-E-Mail wurde erneut versendet, bitte überprüfen Sie Ihren Posteingang.', 'email_confirm_resent' => 'Bestätigungs-E-Mail wurde erneut versendet, bitte überprüfen Sie Ihren Posteingang.',
'email_confirm_thanks' => 'Vielen Dank für das Bestätigen!', 'email_confirm_thanks' => 'Vielen Dank für das Bestätigen!',
'email_confirm_thanks_desc' => 'Bitte warten Sie einen Augenblick, während Ihre Bestätigung bearbeitet wird. Wenn Sie nach 3 Sekunden nicht weitergeleitet werden, drücken Sie unten den "Weiter" Link, um fortzufahren.', 'email_confirm_thanks_desc' => 'Bitte warten Sie einen Augenblick, während Ihre Bestätigung bearbeitet wird. Wenn Sie nach 3 Sekunden nicht weitergeleitet werden, drücken Sie unten den „Weiter“-Link, um fortzufahren.',
'email_not_confirmed' => 'E-Mail-Adresse ist nicht bestätigt', 'email_not_confirmed' => 'E-Mail-Adresse ist nicht bestätigt',
'email_not_confirmed_text' => 'Ihre E-Mail-Adresse ist bisher nicht bestätigt.', 'email_not_confirmed_text' => 'Ihre E-Mail-Adresse ist bisher nicht bestätigt.',
'email_not_confirmed_click_link' => 'Bitte klicken Sie auf den Link in der E-Mail, die Sie nach der Registrierung erhalten haben.', 'email_not_confirmed_click_link' => 'Bitte klicken Sie auf den Link in der E-Mail, die Sie nach der Registrierung erhalten haben.',
'email_not_confirmed_resend' => 'Wenn Sie die E-Mail nicht erhalten haben, können Sie die Nachricht erneut anfordern. Füllen Sie hierzu bitte das folgende Formular aus:', 'email_not_confirmed_resend' => 'Wenn Sie die E-Mail nicht erhalten haben, können Sie die Nachricht erneut anfordern. Füllen Sie hierzu bitte das folgende Formular aus.',
'email_not_confirmed_resend_button' => 'Bestätigungs-E-Mail erneut senden', 'email_not_confirmed_resend_button' => 'Bestätigungs-E-Mail erneut senden',
// User Invite // User Invite
'user_invite_email_subject' => 'Sie wurden eingeladen :appName beizutreten!', 'user_invite_email_subject' => 'Sie wurden eingeladen, :appName beizutreten!',
'user_invite_email_greeting' => 'Ein Konto wurde für Sie auf :appName erstellt.', 'user_invite_email_greeting' => 'Ein Konto wurde für Sie auf :appName erstellt.',
'user_invite_email_text' => 'Klicken Sie auf die Schaltfläche unten, um ein Passwort festzulegen und Zugriff zu erhalten:', 'user_invite_email_text' => 'Klicken Sie auf die Schaltfläche unten, um ein Passwort festzulegen und Zugriff zu erhalten:',
'user_invite_email_action' => 'Account-Passwort festlegen', 'user_invite_email_action' => 'Account-Passwort festlegen',
'user_invite_page_welcome' => 'Willkommen bei :appName!', 'user_invite_page_welcome' => 'Willkommen bei :appName!',
'user_invite_page_text' => 'Um die Anmeldung abzuschließen und Zugriff auf :appName zu bekommen muss noch ein Passwort festgelegt werden. Dieses wird in Zukunft für die Anmeldung benötigt.', 'user_invite_page_text' => 'Um die Anmeldung abzuschließen und Zugriff auf :appName zu bekommen, muss noch ein Passwort festgelegt werden. Dieses wird in Zukunft für die Anmeldung benötigt.',
'user_invite_page_confirm_button' => 'Passwort bestätigen', 'user_invite_page_confirm_button' => 'Passwort bestätigen',
'user_invite_success_login' => 'Passwort gesetzt, Sie sollten nun in der Lage sein, sich mit Ihrem Passwort an :appName anzumelden!', 'user_invite_success_login' => 'Passwort gesetzt, Sie sollten nun in der Lage sein, sich mit Ihrem Passwort an :appName anzumelden!',
@ -87,31 +87,31 @@ return [
'mfa_setup_reconfigure' => 'Umkonfigurieren', 'mfa_setup_reconfigure' => 'Umkonfigurieren',
'mfa_setup_remove_confirmation' => 'Sind Sie sicher, dass Sie diese Multi-Faktor-Authentifizierungsmethode entfernen möchten?', 'mfa_setup_remove_confirmation' => 'Sind Sie sicher, dass Sie diese Multi-Faktor-Authentifizierungsmethode entfernen möchten?',
'mfa_setup_action' => 'Einrichtung', 'mfa_setup_action' => 'Einrichtung',
'mfa_backup_codes_usage_limit_warning' => 'Sie haben weniger als 5 Backup-Codes übrig, Bitte erstellen und speichern Sie ein neues Set bevor Sie keine Codes mehr haben, um zu verhindern, dass Sie von Ihrem Konto gesperrt werden.', 'mfa_backup_codes_usage_limit_warning' => 'Sie haben weniger als 5 Backup-Codes übrig, bitte erstellen und speichern Sie ein neues Set, bevor Ihnen die Codes ausgehen, um zu verhindern, dass Sie aus Ihrem Konto ausgesperrt werden.',
'mfa_option_totp_title' => 'Mobile App', 'mfa_option_totp_title' => 'Handy-App',
'mfa_option_totp_desc' => 'Um Mehrfach-Faktor-Authentifizierung nutzen zu können, benötigen Sie eine mobile Anwendung, die TOTP unterstützt, wie Google Authenticator, Authy oder Microsoft Authenticator.', 'mfa_option_totp_desc' => 'Um Mehrfach-Faktor-Authentifizierung nutzen zu können, benötigen Sie eine Handy-Anwendung, die TOTP unterstützt, wie Google Authenticator, Authy oder Microsoft Authenticator.',
'mfa_option_backup_codes_title' => 'Backup Code', 'mfa_option_backup_codes_title' => 'Backup-Codes',
'mfa_option_backup_codes_desc' => 'Speichern Sie sicher eine Reihe von einmaligen Backup-Codes, die Sie eingeben können, um Ihre Identität zu überprüfen.', 'mfa_option_backup_codes_desc' => 'Speichern Sie sicher eine Reihe von einmaligen Backup-Codes, die Sie eingeben können, um Ihre Identität zu überprüfen.',
'mfa_gen_confirm_and_enable' => 'Bestätigen und aktivieren', 'mfa_gen_confirm_and_enable' => 'Bestätigen und aktivieren',
'mfa_gen_backup_codes_title' => 'Backup-Codes einrichten', 'mfa_gen_backup_codes_title' => 'Backup-Codes einrichten',
'mfa_gen_backup_codes_desc' => 'Speichern Sie die folgende Liste der Codes an einem sicheren Ort. Wenn Sie auf das System zugreifen, können Sie einen der Codes als zweiten Authentifizierungsmechanismus verwenden.', 'mfa_gen_backup_codes_desc' => 'Speichern Sie die folgende Liste von Codes an einem sicheren Ort. Wenn Sie auf das System zugreifen, können Sie einen der Codes als zweiten Authentifizierungsmechanismus verwenden.',
'mfa_gen_backup_codes_download' => 'Download Codes', 'mfa_gen_backup_codes_download' => 'Codes herunterladen',
'mfa_gen_backup_codes_usage_warning' => 'Jeder Code kann nur einmal verwendet werden', 'mfa_gen_backup_codes_usage_warning' => 'Jeder Code kann nur einmal verwendet werden',
'mfa_gen_totp_title' => 'Mobile App einrichten', 'mfa_gen_totp_title' => 'Handy-App einrichten',
'mfa_gen_totp_desc' => 'Um Mehrfach-Faktor-Authentifizierung nutzen zu können, benötigen Sie eine mobile Anwendung, die TOTP unterstützt, wie Google Authenticator, Authy oder Microsoft Authenticator.', 'mfa_gen_totp_desc' => 'Um Multi-Faktor-Authentifizierung nutzen zu können, benötigen Sie eine Handy-Anwendung, die TOTP unterstützt, wie Google Authenticator, Authy oder Microsoft Authenticator.',
'mfa_gen_totp_scan' => 'Scannen Sie den QR-Code unten mit Ihrer bevorzugten Authentifizierungs-App, um loszulegen.', 'mfa_gen_totp_scan' => 'Scannen Sie den QR-Code unten mit Ihrer bevorzugten Authentifizierungs-App, um loszulegen.',
'mfa_gen_totp_verify_setup' => 'Setup überprüfen', 'mfa_gen_totp_verify_setup' => 'Setup überprüfen',
'mfa_gen_totp_verify_setup_desc' => 'Überprüfen Sie, dass alles funktioniert, indem Sie einen Code in Ihrer Authentifizierungs-App in das Eingabefeld unten eingeben:', 'mfa_gen_totp_verify_setup_desc' => 'Überprüfen Sie, dass alles funktioniert, indem Sie einen von Ihrer Authentifizierungs-App generierten Code in das Eingabefeld unten eingeben:',
'mfa_gen_totp_provide_code_here' => 'Geben Sie hier Ihre App generierten Code ein', 'mfa_gen_totp_provide_code_here' => 'Geben Sie hier Ihren App-generierten Code ein',
'mfa_verify_access' => 'Zugriff überprüfen', 'mfa_verify_access' => 'Zugriff überprüfen',
'mfa_verify_access_desc' => 'Ihr Benutzerkonto erfordert, dass Sie Ihre Identität über eine zusätzliche Verifikationsebene bestätigen, bevor Sie den Zugriff gewähren. Überprüfen Sie mit einer Ihrer konfigurierten Methoden, um fortzufahren.', 'mfa_verify_access_desc' => 'Ihr Benutzerkonto erfordert, dass Sie Ihre Identität über eine zusätzliche Verifikationsebene bestätigen, bevor Sie Zugriff erhalten. Nutzen Sie dazu eine Ihrer konfigurierten Methoden, um fortzufahren.',
'mfa_verify_no_methods' => 'Keine Methoden konfiguriert', 'mfa_verify_no_methods' => 'Keine Methoden konfiguriert',
'mfa_verify_no_methods_desc' => 'Es konnten keine Mehrfach-Faktor-Authentifizierungsmethoden für Ihr Konto gefunden werden. Sie müssen mindestens eine Methode einrichten, bevor Sie Zugriff erhalten.', 'mfa_verify_no_methods_desc' => 'Es konnten keine Multi-Faktor-Authentifizierungsmethoden für Ihr Konto gefunden werden. Sie müssen mindestens eine Methode einrichten, bevor Sie Zugriff erhalten.',
'mfa_verify_use_totp' => 'Mit einer mobilen App verifizieren', 'mfa_verify_use_totp' => 'Mit einer Handy-App verifizieren',
'mfa_verify_use_backup_codes' => 'Mit einem Backup-Code überprüfen', 'mfa_verify_use_backup_codes' => 'Mit einem Backup-Code überprüfen',
'mfa_verify_backup_code' => 'Backup-Code', 'mfa_verify_backup_code' => 'Backup-Code',
'mfa_verify_backup_code_desc' => 'Geben Sie einen Ihrer verbleibenden Backup-Codes unten ein:', 'mfa_verify_backup_code_desc' => 'Geben Sie unten einen Ihrer verbleibenden Backup-Codes ein:',
'mfa_verify_backup_code_enter_here' => 'Backup-Code hier eingeben', 'mfa_verify_backup_code_enter_here' => 'Backup-Code hier eingeben',
'mfa_verify_totp_desc' => 'Geben Sie den Code ein, der mit Ihrer mobilen App generiert wurde:', 'mfa_verify_totp_desc' => 'Geben Sie den Code ein, der mit Ihrer Handy-App generiert wurde:',
'mfa_setup_login_notification' => 'Multi-Faktor-Methode konfiguriert. Bitte melden Sie sich jetzt erneut mit der konfigurierten Methode an.', 'mfa_setup_login_notification' => 'Multi-Faktor-Methode konfiguriert. Bitte melden Sie sich jetzt erneut mit der konfigurierten Methode an.',
]; ];

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Abbrechen', 'cancel' => 'Abbrechen',
'close' => 'Schließen',
'confirm' => 'Bestätigen', 'confirm' => 'Bestätigen',
'back' => 'Zurück', 'back' => 'Zurück',
'save' => 'Speichern', 'save' => 'Speichern',
@ -19,7 +20,7 @@ return [
'description' => 'Beschreibung', 'description' => 'Beschreibung',
'role' => 'Rolle', 'role' => 'Rolle',
'cover_image' => 'Titelbild', 'cover_image' => 'Titelbild',
'cover_image_description' => 'Das Bild sollte eine Auflösung von 440x250px haben.', 'cover_image_description' => 'Das Bild sollte eine Auflösung von ca. 440x250px haben.',
// Actions // Actions
'actions' => 'Aktionen', 'actions' => 'Aktionen',

View file

@ -6,27 +6,34 @@ return [
// Image Manager // Image Manager
'image_select' => 'Bild auswählen', 'image_select' => 'Bild auswählen',
'image_list' => 'Bilderliste',
'image_details' => 'Bilddetails',
'image_upload' => 'Bild hochladen', 'image_upload' => 'Bild hochladen',
'image_intro' => 'Hier können Sie die zuvor hochgeladenen Bilder auswählen und verwalten.', 'image_intro' => 'Hier können Sie die zuvor hochgeladenen Bilder auswählen und verwalten.',
'image_intro_upload' => 'Laden Sie ein neues Bild hoch, indem Sie eine Bilddatei in dieses Fenster ziehen oder über die Schaltfläche "Bild hochladen" oben klicken.', 'image_intro_upload' => 'Laden Sie ein neues Bild hoch, indem Sie eine Bilddatei in dieses Fenster ziehen oder auf die Schaltfläche "Bild hochladen" oben klicken.',
'image_all' => 'Alle', 'image_all' => 'Alle',
'image_all_title' => 'Alle Bilder anzeigen', 'image_all_title' => 'Alle Bilder anzeigen',
'image_book_title' => 'Zeige alle Bilder, die in dieses Buch hochgeladen wurden', 'image_book_title' => 'Zeige alle Bilder, die in dieses Buch hochgeladen wurden',
'image_page_title' => 'Zeige alle Bilder, die auf diese Seite hochgeladen wurden', 'image_page_title' => 'Zeige alle Bilder, die auf diese Seite hochgeladen wurden',
'image_search_hint' => 'Nach Bildnamen suchen', 'image_search_hint' => 'Nach Bildnamen suchen',
'image_uploaded' => 'Hochgeladen am :uploadedDate', 'image_uploaded' => 'Hochgeladen am :uploadedDate',
'image_uploaded_by' => 'Hochgeladen von :userName',
'image_uploaded_to' => 'Hochgeladen auf :pageLink',
'image_updated' => 'Aktualisiert am :updateDate',
'image_load_more' => 'Mehr', 'image_load_more' => 'Mehr',
'image_image_name' => 'Bildname', 'image_image_name' => 'Bildname',
'image_delete_used' => 'Dieses Bild wird auf den folgenden Seiten benutzt. ', 'image_delete_used' => 'Dieses Bild wird auf den folgenden Seiten benutzt. ',
'image_delete_confirm_text' => 'Möchten Sie dieses Bild wirklich löschen?', 'image_delete_confirm_text' => 'Möchten Sie dieses Bild wirklich löschen?',
'image_select_image' => 'Bild auswählen', 'image_select_image' => 'Bild auswählen',
'image_dropzone' => 'Ziehen Sie Bilder hierher oder klicken Sie hier, um ein Bild auszuwählen', 'image_dropzone' => 'Ziehen Sie Bilder hierher oder klicken Sie hier, um ein Bild auszuwählen',
'image_dropzone_drop' => 'Ziehe Dateien hierher, um sie hochzuladen', 'image_dropzone_drop' => 'Ziehen Sie Dateien hierher, um sie hochzuladen',
'images_deleted' => 'Bilder gelöscht', 'images_deleted' => 'Bilder gelöscht',
'image_preview' => 'Bildvorschau', 'image_preview' => 'Bildvorschau',
'image_upload_success' => 'Bild erfolgreich hochgeladen', 'image_upload_success' => 'Bild erfolgreich hochgeladen',
'image_update_success' => 'Bilddetails erfolgreich aktualisiert', 'image_update_success' => 'Bilddetails erfolgreich aktualisiert',
'image_delete_success' => 'Bild erfolgreich gelöscht', 'image_delete_success' => 'Bild erfolgreich gelöscht',
'image_replace' => 'Bild ersetzen',
'image_replace_success' => 'Bild erfolgreich aktualisiert',
// Code Editor // Code Editor
'code_editor' => 'Code editieren', 'code_editor' => 'Code editieren',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'Kapitel speichern', 'chapters_save' => 'Kapitel speichern',
'chapters_move' => 'Kapitel verschieben', 'chapters_move' => 'Kapitel verschieben',
'chapters_move_named' => 'Kapitel ":chapterName" verschieben', 'chapters_move_named' => 'Kapitel ":chapterName" verschieben',
'chapter_move_success' => 'Das Kapitel wurde in das Buch ":bookName" verschoben.',
'chapters_copy' => 'Kapitel kopieren', 'chapters_copy' => 'Kapitel kopieren',
'chapters_copy_success' => 'Kapitel erfolgreich kopiert', 'chapters_copy_success' => 'Kapitel erfolgreich kopiert',
'chapters_permissions' => 'Kapitel-Berechtigungen', 'chapters_permissions' => 'Kapitel-Berechtigungen',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'Seite bearbeiten', 'pages_editing_page' => 'Seite bearbeiten',
'pages_edit_draft_save_at' => 'Entwurf gespeichert um ', 'pages_edit_draft_save_at' => 'Entwurf gespeichert um ',
'pages_edit_delete_draft' => 'Entwurf löschen', 'pages_edit_delete_draft' => 'Entwurf löschen',
'pages_edit_delete_draft_confirm' => 'Sind Sie sicher, dass Sie Ihren Entwurf löschen möchten? Alle Ihre Änderungen seit dem letzten vollständigen Speichern gehen verloren und der Editor wird mit dem letzten Speicherzustand aktualisiert, der kein Entwurf ist.',
'pages_edit_discard_draft' => 'Entwurf verwerfen', 'pages_edit_discard_draft' => 'Entwurf verwerfen',
'pages_edit_switch_to_markdown' => 'Zum Markdown Editor wechseln', 'pages_edit_switch_to_markdown' => 'Zum Markdown Editor wechseln',
'pages_edit_switch_to_markdown_clean' => '(gesäuberter Output)', 'pages_edit_switch_to_markdown_clean' => '(gesäuberter Output)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Vorschau synchronisieren', 'pages_md_sync_scroll' => 'Vorschau synchronisieren',
'pages_not_in_chapter' => 'Seite ist in keinem Kapitel', 'pages_not_in_chapter' => 'Seite ist in keinem Kapitel',
'pages_move' => 'Seite verschieben', 'pages_move' => 'Seite verschieben',
'pages_move_success' => 'Seite nach ":parentName" verschoben',
'pages_copy' => 'Seite kopieren', 'pages_copy' => 'Seite kopieren',
'pages_copy_desination' => 'Ziel', 'pages_copy_desination' => 'Ziel',
'pages_copy_success' => 'Seite erfolgreich kopiert', 'pages_copy_success' => 'Seite erfolgreich kopiert',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'Wiederherstellen', 'pages_revisions_restore' => 'Wiederherstellen',
'pages_revisions_none' => 'Diese Seite hat keine älteren Versionen.', 'pages_revisions_none' => 'Diese Seite hat keine älteren Versionen.',
'pages_copy_link' => 'Link kopieren', 'pages_copy_link' => 'Link kopieren',
'pages_edit_content_link' => 'Inhalt bearbeiten', 'pages_edit_content_link' => 'Im Editor zum Abschnitt springen',
'pages_pointer_enter_mode' => 'Abschnittsauswahlmodus aktivieren',
'pages_pointer_label' => 'Abschnittsoptionen der Seite',
'pages_pointer_permalink' => 'Seitenabschnitt-Permalink',
'pages_pointer_include_tag' => 'Seitenabschnitts-Include-Tag',
'pages_pointer_toggle_link' => 'Permalink-Modus, Drücken, um Include-Tag anzuzeigen',
'pages_pointer_toggle_include' => 'Include-Tag-Modus, Drücken, um Permalink anzuzeigen',
'pages_permissions_active' => 'Seiten-Berechtigungen aktiv', 'pages_permissions_active' => 'Seiten-Berechtigungen aktiv',
'pages_initial_revision' => 'Erste Veröffentlichung', 'pages_initial_revision' => 'Erste Veröffentlichung',
'pages_references_update_revision' => 'Automatische Systemaktualisierung interner Links', 'pages_references_update_revision' => 'Automatische Systemaktualisierung interner Links',
@ -281,7 +286,8 @@ return [
'time_b' => 'in den letzten :minCount Minuten', 'time_b' => 'in den letzten :minCount Minuten',
'message' => ':start :time. Achten Sie darauf, keine Änderungen von anderen Benutzern zu überschreiben!', 'message' => ':start :time. Achten Sie darauf, keine Änderungen von anderen Benutzern zu überschreiben!',
], ],
'pages_draft_discarded' => 'Entwurf verworfen. Der aktuelle Seiteninhalt wurde geladen.', 'pages_draft_discarded' => 'Entwurf verworfen! Der aktuelle Seiteninhalt wurde geladen',
'pages_draft_deleted' => 'Entwurf gelöscht. Der aktuelle Seiteninhalt wurde geladen',
'pages_specific' => 'Spezifische Seite', 'pages_specific' => 'Spezifische Seite',
'pages_is_template' => 'Seitenvorlage', 'pages_is_template' => 'Seitenvorlage',
@ -313,7 +319,7 @@ return [
'attachments_explain_instant_save' => 'Änderungen werden direkt gespeichert.', 'attachments_explain_instant_save' => 'Änderungen werden direkt gespeichert.',
'attachments_upload' => 'Datei hochladen', 'attachments_upload' => 'Datei hochladen',
'attachments_link' => 'Link hinzufügen', 'attachments_link' => 'Link hinzufügen',
'attachments_upload_drop' => 'Alternativ können Sie eine Datei per Drag & Drop hier hochladen, um sie als Anhang hochzuladen.', 'attachments_upload_drop' => 'Alternativ können Sie eine Datei per Drag & Drop hier als Anhang hochladen.',
'attachments_set_link' => 'Link setzen', 'attachments_set_link' => 'Link setzen',
'attachments_delete' => 'Sind Sie sicher, dass Sie diesen Anhang löschen möchten?', 'attachments_delete' => 'Sind Sie sicher, dass Sie diesen Anhang löschen möchten?',
'attachments_dropzone' => 'Ziehe Dateien hierher, um sie hochzuladen', 'attachments_dropzone' => 'Ziehe Dateien hierher, um sie hochzuladen',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'Geben Sie hier Ihre Kommentare ein (Markdown unterstützt)', 'comment_placeholder' => 'Geben Sie hier Ihre Kommentare ein (Markdown unterstützt)',
'comment_count' => '{0} Keine Kommentare|{1} 1 Kommentar|[2,*] :count Kommentare', 'comment_count' => '{0} Keine Kommentare|{1} 1 Kommentar|[2,*] :count Kommentare',
'comment_save' => 'Kommentar speichern', 'comment_save' => 'Kommentar speichern',
'comment_saving' => 'Kommentar wird gespeichert...',
'comment_deleting' => 'Kommentar wird gelöscht...',
'comment_new' => 'Neuer Kommentar', 'comment_new' => 'Neuer Kommentar',
'comment_created' => ':createDiff kommentiert', 'comment_created' => ':createDiff kommentiert',
'comment_updated' => ':updateDiff aktualisiert von :username', 'comment_updated' => ':updateDiff aktualisiert von :username',
'comment_updated_indicator' => 'Aktualisiert',
'comment_deleted_success' => 'Kommentar gelöscht', 'comment_deleted_success' => 'Kommentar gelöscht',
'comment_created_success' => 'Kommentar hinzugefügt', 'comment_created_success' => 'Kommentar hinzugefügt',
'comment_updated_success' => 'Kommentar aktualisiert', 'comment_updated_success' => 'Kommentar aktualisiert',
'comment_delete_confirm' => 'Möchten Sie diesen Kommentar wirklich löschen?', 'comment_delete_confirm' => 'Möchten Sie diesen Kommentar wirklich löschen?',
'comment_in_reply_to' => 'Antwort auf :commentId', 'comment_in_reply_to' => 'Antwort auf :commentId',
'comment_editor_explain' => 'Hier sind die Kommentare, die auf dieser Seite hinterlassen wurden. Kommentare können hinzugefügt und verwaltet werden, wenn die gespeicherte Seite angezeigt wird.',
// Revision // Revision
'revision_delete_confirm' => 'Sind Sie sicher, dass Sie diese Revision löschen wollen?', 'revision_delete_confirm' => 'Sind Sie sicher, dass Sie diese Revision löschen wollen?',
'revision_restore_confirm' => 'Sind Sie sicher, dass Sie diese Revision wiederherstellen wollen? Der aktuelle Seiteninhalt wird ersetzt.', 'revision_restore_confirm' => 'Sind Sie sicher, dass Sie diese Revision wiederherstellen wollen? Der aktuelle Seiteninhalt wird ersetzt.',
'revision_delete_success' => 'Revision gelöscht',
'revision_cannot_delete_latest' => 'Die letzte Version kann nicht gelöscht werden.', 'revision_cannot_delete_latest' => 'Die letzte Version kann nicht gelöscht werden.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'Beim Hochladen des Bildes trat ein Fehler auf.', 'image_upload_error' => 'Beim Hochladen des Bildes trat ein Fehler auf.',
'image_upload_type_error' => 'Der Bildtyp der hochgeladenen Datei ist ungültig.', 'image_upload_type_error' => 'Der Bildtyp der hochgeladenen Datei ist ungültig.',
'image_upload_replace_type' => 'Bild-Ersetzungen müssen vom gleichen Typ sein',
'drawing_data_not_found' => 'Zeichnungsdaten konnten nicht geladen werden. Die Zeichnungsdatei existiert möglicherweise nicht mehr oder Sie haben nicht die Berechtigung, darauf zuzugreifen.', 'drawing_data_not_found' => 'Zeichnungsdaten konnten nicht geladen werden. Die Zeichnungsdatei existiert möglicherweise nicht mehr oder Sie haben nicht die Berechtigung, darauf zuzugreifen.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'Fehler beim Speichern des Entwurfs. Stellen Sie sicher, dass Sie mit dem Internet verbunden sind, bevor Sie den Entwurf dieser Seite speichern.', 'page_draft_autosave_fail' => 'Fehler beim Speichern des Entwurfs. Stellen Sie sicher, dass Sie mit dem Internet verbunden sind, bevor Sie den Entwurf dieser Seite speichern.',
'page_draft_delete_fail' => 'Fehler beim Löschen des Seitenentwurfs und beim Abrufen des gespeicherten Inhalts der aktuellen Seite',
'page_custom_home_deletion' => 'Eine als Startseite gesetzte Seite kann nicht gelöscht werden', 'page_custom_home_deletion' => 'Eine als Startseite gesetzte Seite kann nicht gelöscht werden',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'Einstellungen', 'settings' => 'Einstellungen',
'settings_save' => 'Einstellungen speichern', 'settings_save' => 'Einstellungen speichern',
'settings_save_success' => 'Einstellungen gespeichert',
'system_version' => 'Systemversion', 'system_version' => 'Systemversion',
'categories' => 'Kategorien', 'categories' => 'Kategorien',
@ -233,8 +232,6 @@ Hinweis: Benutzer können ihre E-Mail-Adresse nach erfolgreicher Registrierung
'user_api_token_expiry' => 'Ablaufdatum', 'user_api_token_expiry' => 'Ablaufdatum',
'user_api_token_expiry_desc' => 'Legen Sie ein Datum fest, an dem dieser Token abläuft. Nach diesem Datum funktionieren Anfragen, die mit diesem Token gestellt werden, nicht mehr. Wenn Sie dieses Feld leer lassen, wird ein Ablaufdatum von 100 Jahren in der Zukunft festgelegt.', 'user_api_token_expiry_desc' => 'Legen Sie ein Datum fest, an dem dieser Token abläuft. Nach diesem Datum funktionieren Anfragen, die mit diesem Token gestellt werden, nicht mehr. Wenn Sie dieses Feld leer lassen, wird ein Ablaufdatum von 100 Jahren in der Zukunft festgelegt.',
'user_api_token_create_secret_message' => 'Unmittelbar nach der Erstellung dieses Tokens wird eine "Token ID" & ein "Token Kennwort" generiert und angezeigt. Das Kennwort wird nur ein einziges Mal angezeigt. Stellen Sie also sicher, dass Sie den Inhalt an einen sicheren Ort kopieren, bevor Sie fortfahren.', 'user_api_token_create_secret_message' => 'Unmittelbar nach der Erstellung dieses Tokens wird eine "Token ID" & ein "Token Kennwort" generiert und angezeigt. Das Kennwort wird nur ein einziges Mal angezeigt. Stellen Sie also sicher, dass Sie den Inhalt an einen sicheren Ort kopieren, bevor Sie fortfahren.',
'user_api_token_create_success' => 'API-Token erfolgreich erstellt',
'user_api_token_update_success' => 'API-Token erfolgreich aktualisiert',
'user_api_token' => 'API-Token', 'user_api_token' => 'API-Token',
'user_api_token_id' => 'Token ID', 'user_api_token_id' => 'Token ID',
'user_api_token_id_desc' => 'Dies ist ein nicht editierbarer, vom System generierter Identifikator für diesen Token, welcher bei API-Anfragen angegeben werden muss.', 'user_api_token_id_desc' => 'Dies ist ein nicht editierbarer, vom System generierter Identifikator für diesen Token, welcher bei API-Anfragen angegeben werden muss.',
@ -245,7 +242,6 @@ Hinweis: Benutzer können ihre E-Mail-Adresse nach erfolgreicher Registrierung
'user_api_token_delete' => 'Lösche Token', 'user_api_token_delete' => 'Lösche Token',
'user_api_token_delete_warning' => 'Dies löscht den API-Token mit dem Namen \':tokenName\' vollständig aus dem System.', 'user_api_token_delete_warning' => 'Dies löscht den API-Token mit dem Namen \':tokenName\' vollständig aus dem System.',
'user_api_token_delete_confirm' => 'Sind Sie sicher, dass Sie diesen API-Token löschen möchten?', 'user_api_token_delete_confirm' => 'Sind Sie sicher, dass Sie diesen API-Token löschen möchten?',
'user_api_token_delete_success' => 'API-Token erfolgreich gelöscht',
// Webhooks // Webhooks
'webhooks' => 'Webhooks', 'webhooks' => 'Webhooks',

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'stellt Seite wieder her', 'page_restore' => 'stellt Seite wieder her',
'page_restore_notification' => 'Seite erfolgreich wiederhergestellt', 'page_restore_notification' => 'Seite erfolgreich wiederhergestellt',
'page_move' => 'verschiebt Seite', 'page_move' => 'verschiebt Seite',
'page_move_notification' => 'Seite erfolgreich verschoben',
// Chapters // Chapters
'chapter_create' => 'erstellt Kapitel', 'chapter_create' => 'erstellt Kapitel',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'löscht Kapitel', 'chapter_delete' => 'löscht Kapitel',
'chapter_delete_notification' => 'Kapitel erfolgreich gelöscht', 'chapter_delete_notification' => 'Kapitel erfolgreich gelöscht',
'chapter_move' => 'verschiebt Kapitel', 'chapter_move' => 'verschiebt Kapitel',
'chapter_move_notification' => 'Kapitel erfolgreich verschoben',
// Books // Books
'book_create' => 'erstellt Buch', 'book_create' => 'erstellt Buch',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'Regal gelöscht', 'bookshelf_delete' => 'Regal gelöscht',
'bookshelf_delete_notification' => 'Regal erfolgreich gelöscht', 'bookshelf_delete_notification' => 'Regal erfolgreich gelöscht',
// Revisions
'revision_restore' => 'stellte Revision wieder her:',
'revision_delete' => 'löschte Revision',
'revision_delete_notification' => 'Revision erfolgreich gelöscht',
// Favourites // Favourites
'favourite_add_notification' => '":name" wurde zu deinen Favoriten hinzugefügt', 'favourite_add_notification' => '":name" wurde zu deinen Favoriten hinzugefügt',
'favourite_remove_notification' => '":name" wurde aus deinen Favoriten entfernt', 'favourite_remove_notification' => '":name" wurde aus deinen Favoriten entfernt',
// MFA // Auth
'auth_login' => 'hat sich eingeloggt',
'auth_register' => 'hat sich als neuer Benutzer registriert',
'auth_password_reset_request' => 'hat eine Rücksetzung des Benutzerpassworts beantragt',
'auth_password_reset_update' => 'hat Benutzerpasswort zurückgesetzt',
'mfa_setup_method' => 'hat MFA-Methode konfiguriert',
'mfa_setup_method_notification' => 'Multi-Faktor-Methode erfolgreich konfiguriert', 'mfa_setup_method_notification' => 'Multi-Faktor-Methode erfolgreich konfiguriert',
'mfa_remove_method' => 'hat MFA-Methode entfernt',
'mfa_remove_method_notification' => 'Multi-Faktor-Methode erfolgreich entfernt', 'mfa_remove_method_notification' => 'Multi-Faktor-Methode erfolgreich entfernt',
// Settings
'settings_update' => 'hat Einstellungen aktualisiert',
'settings_update_notification' => 'Einstellungen erfolgreich aktualisiert',
'maintenance_action_run' => 'hat Wartungsarbeiten ausgeführt',
// Webhooks // Webhooks
'webhook_create' => 'erstellter Webhook', 'webhook_create' => 'erstellter Webhook',
'webhook_create_notification' => 'Webhook erfolgreich eingerichtet', 'webhook_create_notification' => 'Webhook erfolgreich eingerichtet',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'Webhook erfolgreich gelöscht', 'webhook_delete_notification' => 'Webhook erfolgreich gelöscht',
// Users // Users
'user_create' => 'hat Benutzer erzeugt:',
'user_create_notification' => 'Benutzer erfolgreich erstellt',
'user_update' => 'hat Benutzer aktualisiert:',
'user_update_notification' => 'Benutzer erfolgreich aktualisiert', 'user_update_notification' => 'Benutzer erfolgreich aktualisiert',
'user_delete' => 'hat Benutzer gelöscht: ',
'user_delete_notification' => 'Benutzer erfolgreich entfernt', 'user_delete_notification' => 'Benutzer erfolgreich entfernt',
// API Tokens
'api_token_create' => 'hat API-Token erzeugt:',
'api_token_create_notification' => 'API-Token erfolgreich erstellt',
'api_token_update' => 'hat API-Token aktualisiert:',
'api_token_update_notification' => 'API-Token erfolgreich aktualisiert',
'api_token_delete' => 'hat API-Token gelöscht:',
'api_token_delete_notification' => 'API-Token erfolgreich gelöscht',
// Roles // Roles
'role_create' => 'hat Rolle erzeugt:',
'role_create_notification' => 'Rolle erfolgreich erstellt', 'role_create_notification' => 'Rolle erfolgreich erstellt',
'role_update' => 'hat Rolle aktualisiert:',
'role_update_notification' => 'Rolle erfolgreich aktualisiert', 'role_update_notification' => 'Rolle erfolgreich aktualisiert',
'role_delete' => 'hat Rolle gelöscht:',
'role_delete_notification' => 'Rolle erfolgreich gelöscht', 'role_delete_notification' => 'Rolle erfolgreich gelöscht',
// Recycle Bin
'recycle_bin_empty' => 'hat den Papierkorb geleert',
'recycle_bin_restore' => 'aus dem Papierkorb wiederhergestellt',
'recycle_bin_destroy' => 'aus dem Papierkorb gelöscht',
// Other // Other
'commented_on' => 'kommentiert', 'commented_on' => 'kommentiert',
'permissions_update' => 'aktualisierte Berechtigungen', 'permissions_update' => 'aktualisierte Berechtigungen',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Abbrechen', 'cancel' => 'Abbrechen',
'close' => 'Schließen',
'confirm' => 'Bestätigen', 'confirm' => 'Bestätigen',
'back' => 'Zurück', 'back' => 'Zurück',
'save' => 'Speichern', 'save' => 'Speichern',

View file

@ -6,15 +6,20 @@ return [
// Image Manager // Image Manager
'image_select' => 'Bild auswählen', 'image_select' => 'Bild auswählen',
'image_list' => 'Bilderliste',
'image_details' => 'Bilddetails',
'image_upload' => 'Bild hochladen', 'image_upload' => 'Bild hochladen',
'image_intro' => 'Hier können Sie die zuvor hochgeladenen Bilder auswählen und verwalten.', 'image_intro' => 'Hier kannst du die zuvor hochgeladenen Bilder auswählen und verwalten.',
'image_intro_upload' => 'Laden Sie ein neues Bild hoch, indem Sie eine Bilddatei in dieses Fenster ziehen oder über die Schaltfläche "Bild hochladen" oben klicken.', 'image_intro_upload' => 'Lade ein neues Bild hoch, indem du eine Bilddatei in dieses Fenster ziehst oder auf die Schaltfläche "Bild hochladen" oben klickst.',
'image_all' => 'Alle', 'image_all' => 'Alle',
'image_all_title' => 'Alle Bilder anzeigen', 'image_all_title' => 'Alle Bilder anzeigen',
'image_book_title' => 'Zeige alle Bilder, die in dieses Buch hochgeladen wurden', 'image_book_title' => 'Zeige alle Bilder, die in dieses Buch hochgeladen wurden',
'image_page_title' => 'Zeige alle Bilder, die auf diese Seite hochgeladen wurden', 'image_page_title' => 'Zeige alle Bilder, die auf diese Seite hochgeladen wurden',
'image_search_hint' => 'Nach Bildnamen suchen', 'image_search_hint' => 'Nach Bildnamen suchen',
'image_uploaded' => 'Hochgeladen am :uploadedDate', 'image_uploaded' => 'Hochgeladen am :uploadedDate',
'image_uploaded_by' => 'Hochgeladen von :userName',
'image_uploaded_to' => 'Hochgeladen auf :pageLink',
'image_updated' => 'Aktualisiert am :updateDate',
'image_load_more' => 'Mehr', 'image_load_more' => 'Mehr',
'image_image_name' => 'Bildname', 'image_image_name' => 'Bildname',
'image_delete_used' => 'Dieses Bild wird auf den folgenden Seiten benutzt.', 'image_delete_used' => 'Dieses Bild wird auf den folgenden Seiten benutzt.',
@ -27,6 +32,8 @@ return [
'image_upload_success' => 'Bild erfolgreich hochgeladen', 'image_upload_success' => 'Bild erfolgreich hochgeladen',
'image_update_success' => 'Bilddetails erfolgreich aktualisiert', 'image_update_success' => 'Bilddetails erfolgreich aktualisiert',
'image_delete_success' => 'Bild erfolgreich gelöscht', 'image_delete_success' => 'Bild erfolgreich gelöscht',
'image_replace' => 'Bild ersetzen',
'image_replace_success' => 'Bild erfolgreich aktualisiert',
// Code Editor // Code Editor
'code_editor' => 'Code editieren', 'code_editor' => 'Code editieren',

View file

@ -180,7 +180,6 @@ return [
'chapters_save' => 'Kapitel speichern', 'chapters_save' => 'Kapitel speichern',
'chapters_move' => 'Kapitel verschieben', 'chapters_move' => 'Kapitel verschieben',
'chapters_move_named' => 'Kapitel ":chapterName" verschieben', 'chapters_move_named' => 'Kapitel ":chapterName" verschieben',
'chapter_move_success' => 'Das Kapitel wurde in das Buch ":bookName" verschoben.',
'chapters_copy' => 'Kapitel kopieren', 'chapters_copy' => 'Kapitel kopieren',
'chapters_copy_success' => 'Kapitel erfolgreich kopiert', 'chapters_copy_success' => 'Kapitel erfolgreich kopiert',
'chapters_permissions' => 'Kapitel-Berechtigungen', 'chapters_permissions' => 'Kapitel-Berechtigungen',
@ -214,6 +213,7 @@ return [
'pages_editing_page' => 'Seite bearbeiten', 'pages_editing_page' => 'Seite bearbeiten',
'pages_edit_draft_save_at' => 'Entwurf gespeichert um ', 'pages_edit_draft_save_at' => 'Entwurf gespeichert um ',
'pages_edit_delete_draft' => 'Entwurf löschen', 'pages_edit_delete_draft' => 'Entwurf löschen',
'pages_edit_delete_draft_confirm' => 'Bist du sicher, dass du deinen Entwurf löschen möchtest? Alle deine Änderungen seit dem letzten vollständigen Speichern gehen verloren und der Editor wird mit dem letzten Speicherzustand aktualisiert, der kein Entwurf ist.',
'pages_edit_discard_draft' => 'Entwurf verwerfen', 'pages_edit_discard_draft' => 'Entwurf verwerfen',
'pages_edit_switch_to_markdown' => 'Zum Markdown Editor wechseln', 'pages_edit_switch_to_markdown' => 'Zum Markdown Editor wechseln',
'pages_edit_switch_to_markdown_clean' => '(Sauberer Inhalt)', 'pages_edit_switch_to_markdown_clean' => '(Sauberer Inhalt)',
@ -240,7 +240,6 @@ return [
'pages_md_sync_scroll' => 'Vorschau synchronisieren', 'pages_md_sync_scroll' => 'Vorschau synchronisieren',
'pages_not_in_chapter' => 'Seite ist in keinem Kapitel', 'pages_not_in_chapter' => 'Seite ist in keinem Kapitel',
'pages_move' => 'Seite verschieben', 'pages_move' => 'Seite verschieben',
'pages_move_success' => 'Seite nach ":parentName" verschoben',
'pages_copy' => 'Seite kopieren', 'pages_copy' => 'Seite kopieren',
'pages_copy_desination' => 'Ziel', 'pages_copy_desination' => 'Ziel',
'pages_copy_success' => 'Seite erfolgreich kopiert', 'pages_copy_success' => 'Seite erfolgreich kopiert',
@ -266,7 +265,13 @@ return [
'pages_revisions_restore' => 'Wiederherstellen', 'pages_revisions_restore' => 'Wiederherstellen',
'pages_revisions_none' => 'Diese Seite hat keine älteren Versionen.', 'pages_revisions_none' => 'Diese Seite hat keine älteren Versionen.',
'pages_copy_link' => 'Link kopieren', 'pages_copy_link' => 'Link kopieren',
'pages_edit_content_link' => 'Inhalt bearbeiten', 'pages_edit_content_link' => 'Im Editor zum Abschnitt springen',
'pages_pointer_enter_mode' => 'Abschnittsauswahlmodus aktivieren',
'pages_pointer_label' => 'Abschnittsoptionen der Seite',
'pages_pointer_permalink' => 'Seitenabschnitt-Permalink',
'pages_pointer_include_tag' => 'Seitenabschnitts-Include-Tag',
'pages_pointer_toggle_link' => 'Permalink-Modus, Drücken, um Include-Tag anzuzeigen',
'pages_pointer_toggle_include' => 'Include-Tag-Modus, Drücken, um Permalink anzuzeigen',
'pages_permissions_active' => 'Seiten-Berechtigungen aktiv', 'pages_permissions_active' => 'Seiten-Berechtigungen aktiv',
'pages_initial_revision' => 'Erste Veröffentlichung', 'pages_initial_revision' => 'Erste Veröffentlichung',
'pages_references_update_revision' => 'Automatische Systemaktualisierung interner Links', 'pages_references_update_revision' => 'Automatische Systemaktualisierung interner Links',
@ -281,7 +286,8 @@ return [
'time_b' => 'in den letzten :minCount Minuten', 'time_b' => 'in den letzten :minCount Minuten',
'message' => ':start :time. Achte darauf, keine Änderungen von anderen Benutzern zu überschreiben!', 'message' => ':start :time. Achte darauf, keine Änderungen von anderen Benutzern zu überschreiben!',
], ],
'pages_draft_discarded' => 'Entwurf verworfen. Der aktuelle Seiteninhalt wurde geladen.', 'pages_draft_discarded' => 'Entwurf verworfen! Der aktuelle Seiteninhalt wurde geladen',
'pages_draft_deleted' => 'Entwurf gelöscht. Der aktuelle Seiteninhalt wurde geladen',
'pages_specific' => 'Spezifische Seite', 'pages_specific' => 'Spezifische Seite',
'pages_is_template' => 'Seitenvorlage', 'pages_is_template' => 'Seitenvorlage',
@ -313,7 +319,7 @@ return [
'attachments_explain_instant_save' => 'Änderungen werden direkt gespeichert.', 'attachments_explain_instant_save' => 'Änderungen werden direkt gespeichert.',
'attachments_upload' => 'Datei hochladen', 'attachments_upload' => 'Datei hochladen',
'attachments_link' => 'Link hinzufügen', 'attachments_link' => 'Link hinzufügen',
'attachments_upload_drop' => 'Alternativ können Sie eine Datei per Drag & Drop hier hochladen, um sie als Anhang hochzuladen.', 'attachments_upload_drop' => 'Alternativ kannst du eine Datei per Drag & Drop hier als Anhang hochladen.',
'attachments_set_link' => 'Link setzen', 'attachments_set_link' => 'Link setzen',
'attachments_delete' => 'Bist du sicher, dass du diesen Anhang löschen möchtest?', 'attachments_delete' => 'Bist du sicher, dass du diesen Anhang löschen möchtest?',
'attachments_dropzone' => 'Ziehe Dateien hierher, um sie hochzuladen', 'attachments_dropzone' => 'Ziehe Dateien hierher, um sie hochzuladen',
@ -356,21 +362,20 @@ return [
'comment_placeholder' => 'Gib hier deine Kommentare ein (Markdown unterstützt)', 'comment_placeholder' => 'Gib hier deine Kommentare ein (Markdown unterstützt)',
'comment_count' => '{0} Keine Kommentare|{1} 1 Kommentar|[2,*] :count Kommentare', 'comment_count' => '{0} Keine Kommentare|{1} 1 Kommentar|[2,*] :count Kommentare',
'comment_save' => 'Kommentar speichern', 'comment_save' => 'Kommentar speichern',
'comment_saving' => 'Kommentar wird gespeichert...',
'comment_deleting' => 'Kommentar wird gelöscht...',
'comment_new' => 'Neuer Kommentar', 'comment_new' => 'Neuer Kommentar',
'comment_created' => ':createDiff kommentiert', 'comment_created' => ':createDiff kommentiert',
'comment_updated' => ':updateDiff aktualisiert von :username', 'comment_updated' => ':updateDiff aktualisiert von :username',
'comment_updated_indicator' => 'Aktualisiert',
'comment_deleted_success' => 'Kommentar gelöscht', 'comment_deleted_success' => 'Kommentar gelöscht',
'comment_created_success' => 'Kommentar hinzugefügt', 'comment_created_success' => 'Kommentar hinzugefügt',
'comment_updated_success' => 'Kommentar aktualisiert', 'comment_updated_success' => 'Kommentar aktualisiert',
'comment_delete_confirm' => 'Möchtst du diesen Kommentar wirklich löschen?', 'comment_delete_confirm' => 'Möchtst du diesen Kommentar wirklich löschen?',
'comment_in_reply_to' => 'Antwort auf :commentId', 'comment_in_reply_to' => 'Antwort auf :commentId',
'comment_editor_explain' => 'Hier sind die Kommentare, die auf dieser Seite hinterlassen wurden. Kommentare können hinzugefügt und verwaltet werden, wenn die gespeicherte Seite angezeigt wird.',
// Revision // Revision
'revision_delete_confirm' => 'Bist du sicher, dass du diese Revision löschen möchtest?', 'revision_delete_confirm' => 'Bist du sicher, dass du diese Revision löschen möchtest?',
'revision_restore_confirm' => 'Bist du sicher, dass du diese Revision wiederherstellen willst? Der aktuelle Seiteninhalt wird ersetzt.', 'revision_restore_confirm' => 'Bist du sicher, dass du diese Revision wiederherstellen willst? Der aktuelle Seiteninhalt wird ersetzt.',
'revision_delete_success' => 'Revision gelöscht',
'revision_cannot_delete_latest' => 'Die letzte Version kann nicht gelöscht werden.', 'revision_cannot_delete_latest' => 'Die letzte Version kann nicht gelöscht werden.',
// Copy view // Copy view

View file

@ -49,6 +49,7 @@ return [
// Drawing & Images // Drawing & Images
'image_upload_error' => 'Beim Hochladen des Bildes trat ein Fehler auf.', 'image_upload_error' => 'Beim Hochladen des Bildes trat ein Fehler auf.',
'image_upload_type_error' => 'Der Bildtyp der hochgeladenen Datei ist ungültig.', 'image_upload_type_error' => 'Der Bildtyp der hochgeladenen Datei ist ungültig.',
'image_upload_replace_type' => 'Bild-Ersetzungen müssen vom gleichen Typ sein',
'drawing_data_not_found' => 'Zeichnungsdaten konnten nicht geladen werden. Die Zeichnungsdatei existiert möglicherweise nicht mehr oder du hast nicht die Berechtigung, darauf zuzugreifen.', 'drawing_data_not_found' => 'Zeichnungsdaten konnten nicht geladen werden. Die Zeichnungsdatei existiert möglicherweise nicht mehr oder du hast nicht die Berechtigung, darauf zuzugreifen.',
// Attachments // Attachments
@ -57,6 +58,7 @@ return [
// Pages // Pages
'page_draft_autosave_fail' => 'Fehler beim Speichern des Entwurfs. Stelle sicher, dass du mit dem Internet verbunden bist, bevor du den Entwurf dieser Seite speicherst.', 'page_draft_autosave_fail' => 'Fehler beim Speichern des Entwurfs. Stelle sicher, dass du mit dem Internet verbunden bist, bevor du den Entwurf dieser Seite speicherst.',
'page_draft_delete_fail' => 'Fehler beim Löschen des Seitenentwurfs und beim Abrufen des gespeicherten Inhalts der aktuellen Seite',
'page_custom_home_deletion' => 'Eine als Startseite gesetzte Seite kann nicht gelöscht werden.', 'page_custom_home_deletion' => 'Eine als Startseite gesetzte Seite kann nicht gelöscht werden.',
// Entities // Entities

View file

@ -9,7 +9,6 @@ return [
// Common Messages // Common Messages
'settings' => 'Einstellungen', 'settings' => 'Einstellungen',
'settings_save' => 'Einstellungen speichern', 'settings_save' => 'Einstellungen speichern',
'settings_save_success' => 'Einstellungen gespeichert',
'system_version' => 'Systemversion', 'system_version' => 'Systemversion',
'categories' => 'Kategorien', 'categories' => 'Kategorien',
@ -233,8 +232,6 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
'user_api_token_expiry' => 'Ablaufdatum', 'user_api_token_expiry' => 'Ablaufdatum',
'user_api_token_expiry_desc' => 'Lege ein Datum fest, zu dem dieser Token abläuft. Nach diesem Datum funktionieren Anfragen, die mit diesem Token gestellt werden, nicht mehr. Wenn du dieses Feld leer lässt, wird ein Ablaufdatum von 100 Jahren in der Zukunft festgelegt.', 'user_api_token_expiry_desc' => 'Lege ein Datum fest, zu dem dieser Token abläuft. Nach diesem Datum funktionieren Anfragen, die mit diesem Token gestellt werden, nicht mehr. Wenn du dieses Feld leer lässt, wird ein Ablaufdatum von 100 Jahren in der Zukunft festgelegt.',
'user_api_token_create_secret_message' => 'Unmittelbar nach der Erstellung dieses Tokens wird eine "Token ID" & ein "Token Kennwort" generiert und angezeigt. Das Kennwort wird nur ein einziges Mal angezeigt. Stelle also sicher, dass du den Inhalt an einen sicheren Ort kopierst, bevor du fortfährst.', 'user_api_token_create_secret_message' => 'Unmittelbar nach der Erstellung dieses Tokens wird eine "Token ID" & ein "Token Kennwort" generiert und angezeigt. Das Kennwort wird nur ein einziges Mal angezeigt. Stelle also sicher, dass du den Inhalt an einen sicheren Ort kopierst, bevor du fortfährst.',
'user_api_token_create_success' => 'API-Token erfolgreich erstellt',
'user_api_token_update_success' => 'API-Token erfolgreich aktualisiert',
'user_api_token' => 'API-Token', 'user_api_token' => 'API-Token',
'user_api_token_id' => 'Token ID', 'user_api_token_id' => 'Token ID',
'user_api_token_id_desc' => 'Dies ist ein nicht editierbarer, vom System generierter Identifikator für diesen Token, welcher bei API-Anfragen angegeben werden muss.', 'user_api_token_id_desc' => 'Dies ist ein nicht editierbarer, vom System generierter Identifikator für diesen Token, welcher bei API-Anfragen angegeben werden muss.',
@ -245,7 +242,6 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
'user_api_token_delete' => 'Lösche Token', 'user_api_token_delete' => 'Lösche Token',
'user_api_token_delete_warning' => 'Dies löscht den API-Token mit dem Namen \':tokenName\' vollständig aus dem System.', 'user_api_token_delete_warning' => 'Dies löscht den API-Token mit dem Namen \':tokenName\' vollständig aus dem System.',
'user_api_token_delete_confirm' => 'Bist du sicher, dass du diesen API-Token löschen möchtest?', 'user_api_token_delete_confirm' => 'Bist du sicher, dass du diesen API-Token löschen möchtest?',
'user_api_token_delete_success' => 'API-Token erfolgreich gelöscht',
// Webhooks // Webhooks
'webhooks' => 'Webhooks', 'webhooks' => 'Webhooks',

View file

@ -15,6 +15,7 @@ return [
'page_restore' => 'αποκατεστημένη σελίδα', 'page_restore' => 'αποκατεστημένη σελίδα',
'page_restore_notification' => 'Η σελίδα αποκαταστάθηκε με επιτυχία', 'page_restore_notification' => 'Η σελίδα αποκαταστάθηκε με επιτυχία',
'page_move' => 'Η σελίδα μετακινήθηκε', 'page_move' => 'Η σελίδα μετακινήθηκε',
'page_move_notification' => 'Page successfully moved',
// Chapters // Chapters
'chapter_create' => 'δημιουργήθηκε κεφάλαιο', 'chapter_create' => 'δημιουργήθηκε κεφάλαιο',
@ -24,6 +25,7 @@ return [
'chapter_delete' => 'διαγραμμένο κεφάλαιο', 'chapter_delete' => 'διαγραμμένο κεφάλαιο',
'chapter_delete_notification' => 'Το κεφάλαιο διαγράφηκε επιτυχώς', 'chapter_delete_notification' => 'Το κεφάλαιο διαγράφηκε επιτυχώς',
'chapter_move' => 'το κεφάλαιο μετακινήθηκε', 'chapter_move' => 'το κεφάλαιο μετακινήθηκε',
'chapter_move_notification' => 'Chapter successfully moved',
// Books // Books
'book_create' => 'το βιβλίο δημιουργήθηκε', 'book_create' => 'το βιβλίο δημιουργήθηκε',
@ -47,14 +49,30 @@ return [
'bookshelf_delete' => 'διαγραμμένο ράφι', 'bookshelf_delete' => 'διαγραμμένο ράφι',
'bookshelf_delete_notification' => 'Το ράφι ενημερώθηκε επιτυχώς', 'bookshelf_delete_notification' => 'Το ράφι ενημερώθηκε επιτυχώς',
// Revisions
'revision_restore' => 'restored revision',
'revision_delete' => 'deleted revision',
'revision_delete_notification' => 'Revision successfully deleted',
// Favourites // Favourites
'favourite_add_notification' => '":name" προστέθηκε στα αγαπημένα σας', 'favourite_add_notification' => '":name" προστέθηκε στα αγαπημένα σας',
'favourite_remove_notification' => '":name" προστέθηκε στα αγαπημένα σας', 'favourite_remove_notification' => '":name" προστέθηκε στα αγαπημένα σας',
// MFA // Auth
'auth_login' => 'logged in',
'auth_register' => 'registered as new user',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'reset user password',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'Η μέθοδος πολλαπλών παραγόντων διαμορφώθηκε επιτυχώς', 'mfa_setup_method_notification' => 'Η μέθοδος πολλαπλών παραγόντων διαμορφώθηκε επιτυχώς',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'Η μέθοδος πολλαπλών παραγόντων καταργήθηκε με επιτυχία', 'mfa_remove_method_notification' => 'Η μέθοδος πολλαπλών παραγόντων καταργήθηκε με επιτυχία',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks // Webhooks
'webhook_create' => 'Το webhook δημιουργήθηκε', 'webhook_create' => 'Το webhook δημιουργήθηκε',
'webhook_create_notification' => 'Το Webhook δημιουργήθηκε με επιτυχία', 'webhook_create_notification' => 'Το Webhook δημιουργήθηκε με επιτυχία',
@ -64,14 +82,34 @@ return [
'webhook_delete_notification' => 'Το Webhook διαγράφηκε επιτυχώς', 'webhook_delete_notification' => 'Το Webhook διαγράφηκε επιτυχώς',
// Users // Users
'user_create' => 'created user',
'user_create_notification' => 'User successfully created',
'user_update' => 'updated user',
'user_update_notification' => 'Ο Χρήστης ενημερώθηκε με επιτυχία', 'user_update_notification' => 'Ο Χρήστης ενημερώθηκε με επιτυχία',
'user_delete' => 'deleted user',
'user_delete_notification' => 'Ο Χρήστης αφαιρέθηκε επιτυχώς', 'user_delete_notification' => 'Ο Χρήστης αφαιρέθηκε επιτυχώς',
// API Tokens
'api_token_create' => 'created api token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated api token',
'api_token_update_notification' => 'API token successfully updated',
'api_token_delete' => 'deleted api token',
'api_token_delete_notification' => 'API token successfully deleted',
// Roles // Roles
'role_create' => 'created role',
'role_create_notification' => 'Ο Ρόλος δημιουργήθηκε με επιτυχία', 'role_create_notification' => 'Ο Ρόλος δημιουργήθηκε με επιτυχία',
'role_update' => 'updated role',
'role_update_notification' => 'Ο Ρόλος ενημερώθηκε με επιτυχία', 'role_update_notification' => 'Ο Ρόλος ενημερώθηκε με επιτυχία',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Ο Ρόλος διαγράφηκε επιτυχώς', 'role_delete_notification' => 'Ο Ρόλος διαγράφηκε επιτυχώς',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',
'recycle_bin_restore' => 'restored from recycle bin',
'recycle_bin_destroy' => 'removed from recycle bin',
// Other // Other
'commented_on' => 'σχολίασε', 'commented_on' => 'σχολίασε',
'permissions_update' => 'ενημερωμένα δικαιώματα', 'permissions_update' => 'ενημερωμένα δικαιώματα',

View file

@ -6,6 +6,7 @@ return [
// Buttons // Buttons
'cancel' => 'Ακύρωση', 'cancel' => 'Ακύρωση',
'close' => 'Close',
'confirm' => 'Οκ', 'confirm' => 'Οκ',
'back' => 'Πίσω', 'back' => 'Πίσω',
'save' => 'Αποθήκευση', 'save' => 'Αποθήκευση',

Some files were not shown because too many files have changed in this diff Show more