Merge branch 'development' into release
This commit is contained in:
commit
8ffc3a4abf
|
@ -274,7 +274,7 @@ AVATAR_URL=
|
|||
# Enable diagrams.net integration
|
||||
# Can simply be true/false to enable/disable the integration.
|
||||
# Alternatively, It can be URL to the diagrams.net instance you want to use.
|
||||
# For URLs, The following URL parameters should be included: embed=1&proto=json&spin=1
|
||||
# For URLs, The following URL parameters should be included: embed=1&proto=json&spin=1&configure=1
|
||||
DRAWIO=true
|
||||
|
||||
# Default item listing view
|
||||
|
|
|
@ -165,7 +165,7 @@ Francesco Franchina (ffranchina) :: Italian
|
|||
Aimrane Kds (aimrane.kds) :: Arabic
|
||||
whenwesober :: Indonesian
|
||||
Rem (remkovdhoef) :: Dutch
|
||||
syn7ax69 :: Bulgarian; Turkish
|
||||
syn7ax69 :: Bulgarian; Turkish; German
|
||||
Blaade :: French
|
||||
Behzad HosseinPoor (behzad.hp) :: Persian
|
||||
Ole Aldric (Swoy) :: Norwegian Bokmal
|
||||
|
@ -238,3 +238,7 @@ pedromcsousa :: Portuguese
|
|||
Nir Louk (looknear) :: Hebrew
|
||||
Alex (qianmengnet) :: Chinese Simplified
|
||||
stothew :: German
|
||||
sgenc :: Turkish
|
||||
Shukrullo (vodiylik) :: Uzbek
|
||||
William W. (Nevnt) :: Chinese Traditional
|
||||
eamaro :: Portuguese
|
||||
|
|
|
@ -71,7 +71,7 @@ return [
|
|||
'locale' => env('APP_LANG', 'en'),
|
||||
|
||||
// Locales available
|
||||
'locales' => ['en', 'ar', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'de_informal', 'es', 'es_AR', 'et', 'eu', 'fa', 'fr', 'he', 'hr', 'hu', 'id', 'it', 'ja', 'ko', 'lt', 'lv', 'nl', 'nb', 'pt', 'pt_BR', 'sk', 'sl', 'sv', 'pl', 'ru', 'th', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW'],
|
||||
'locales' => ['en', 'ar', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'de_informal', 'es', 'es_AR', 'et', 'eu', 'fa', 'fr', 'he', 'hr', 'hu', 'id', 'it', 'ja', 'ko', 'lt', 'lv', 'nl', 'nb', 'pt', 'pt_BR', 'sk', 'sl', 'sv', 'pl', 'ru', 'th', 'tr', 'uk', 'uz', 'vi', 'zh_CN', 'zh_TW'],
|
||||
|
||||
// Application Fallback Locale
|
||||
'fallback_locale' => 'en',
|
||||
|
|
|
@ -10,10 +10,16 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|||
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property int $deleted_by
|
||||
* @property string $deletable_type
|
||||
* @property int $deletable_id
|
||||
* @property Deletable $deletable
|
||||
*/
|
||||
class Deletion extends Model implements Loggable
|
||||
{
|
||||
protected $hidden = [];
|
||||
|
||||
/**
|
||||
* Get the related deletable record.
|
||||
*/
|
||||
|
|
|
@ -22,6 +22,7 @@ use Illuminate\Database\Eloquent\Relations\HasOne;
|
|||
* @property bool $template
|
||||
* @property bool $draft
|
||||
* @property int $revision_count
|
||||
* @property string $editor
|
||||
* @property Chapter $chapter
|
||||
* @property Collection $attachments
|
||||
* @property Collection $revisions
|
||||
|
|
|
@ -12,6 +12,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|||
*
|
||||
* @property mixed $id
|
||||
* @property int $page_id
|
||||
* @property string $name
|
||||
* @property string $slug
|
||||
* @property string $book_slug
|
||||
* @property int $created_by
|
||||
|
@ -21,13 +22,14 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|||
* @property string $summary
|
||||
* @property string $markdown
|
||||
* @property string $html
|
||||
* @property string $text
|
||||
* @property int $revision_number
|
||||
* @property Page $page
|
||||
* @property-read ?User $createdBy
|
||||
*/
|
||||
class PageRevision extends Model
|
||||
{
|
||||
protected $fillable = ['name', 'html', 'text', 'markdown', 'summary'];
|
||||
protected $fillable = ['name', 'text', 'summary'];
|
||||
protected $hidden = ['html', 'markdown', 'restricted', 'text'];
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,8 +11,8 @@ use Illuminate\Http\UploadedFile;
|
|||
|
||||
class BaseRepo
|
||||
{
|
||||
protected $tagRepo;
|
||||
protected $imageRepo;
|
||||
protected TagRepo $tagRepo;
|
||||
protected ImageRepo $imageRepo;
|
||||
|
||||
public function __construct(TagRepo $tagRepo, ImageRepo $imageRepo)
|
||||
{
|
||||
|
@ -58,6 +58,7 @@ class BaseRepo
|
|||
|
||||
if (isset($input['tags'])) {
|
||||
$this->tagRepo->saveTagsToEntity($entity, $input['tags']);
|
||||
$entity->touch();
|
||||
}
|
||||
|
||||
$entity->rebuildPermissions();
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
|
||||
namespace BookStack\Entities\Repos;
|
||||
|
||||
use BookStack\Actions\ActivityType;
|
||||
use BookStack\Entities\Models\Deletion;
|
||||
use BookStack\Entities\Tools\TrashCan;
|
||||
use BookStack\Facades\Activity;
|
||||
|
||||
class DeletionRepo
|
||||
{
|
||||
private TrashCan $trashCan;
|
||||
|
||||
public function __construct(TrashCan $trashCan)
|
||||
{
|
||||
$this->trashCan = $trashCan;
|
||||
}
|
||||
|
||||
public function restore(int $id): int
|
||||
{
|
||||
/** @var Deletion $deletion */
|
||||
$deletion = Deletion::query()->findOrFail($id);
|
||||
Activity::add(ActivityType::RECYCLE_BIN_RESTORE, $deletion);
|
||||
|
||||
return $this->trashCan->restoreFromDeletion($deletion);
|
||||
}
|
||||
|
||||
public function destroy(int $id): int
|
||||
{
|
||||
/** @var Deletion $deletion */
|
||||
$deletion = Deletion::query()->findOrFail($id);
|
||||
Activity::add(ActivityType::RECYCLE_BIN_DESTROY, $deletion);
|
||||
|
||||
return $this->trashCan->destroyFromDeletion($deletion);
|
||||
}
|
||||
}
|
|
@ -10,6 +10,7 @@ use BookStack\Entities\Models\Page;
|
|||
use BookStack\Entities\Models\PageRevision;
|
||||
use BookStack\Entities\Tools\BookContents;
|
||||
use BookStack\Entities\Tools\PageContent;
|
||||
use BookStack\Entities\Tools\PageEditorData;
|
||||
use BookStack\Entities\Tools\TrashCan;
|
||||
use BookStack\Exceptions\MoveOperationException;
|
||||
use BookStack\Exceptions\NotFoundException;
|
||||
|
@ -217,11 +218,25 @@ class PageRepo
|
|||
}
|
||||
|
||||
$pageContent = new PageContent($page);
|
||||
if (!empty($input['markdown'] ?? '')) {
|
||||
$currentEditor = $page->editor ?: PageEditorData::getSystemDefaultEditor();
|
||||
$newEditor = $currentEditor;
|
||||
|
||||
$haveInput = isset($input['markdown']) || isset($input['html']);
|
||||
$inputEmpty = empty($input['markdown']) && empty($input['html']);
|
||||
|
||||
if ($haveInput && $inputEmpty) {
|
||||
$pageContent->setNewHTML('');
|
||||
} elseif (!empty($input['markdown']) && is_string($input['markdown'])) {
|
||||
$newEditor = 'markdown';
|
||||
$pageContent->setNewMarkdown($input['markdown']);
|
||||
} elseif (isset($input['html'])) {
|
||||
$newEditor = 'wysiwyg';
|
||||
$pageContent->setNewHTML($input['html']);
|
||||
}
|
||||
|
||||
if ($newEditor !== $currentEditor && userCan('editor-change')) {
|
||||
$page->editor = $newEditor;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -229,8 +244,12 @@ class PageRepo
|
|||
*/
|
||||
protected function savePageRevision(Page $page, string $summary = null): PageRevision
|
||||
{
|
||||
$revision = new PageRevision($page->getAttributes());
|
||||
$revision = new PageRevision();
|
||||
|
||||
$revision->name = $page->name;
|
||||
$revision->html = $page->html;
|
||||
$revision->markdown = $page->markdown;
|
||||
$revision->text = $page->text;
|
||||
$revision->page_id = $page->id;
|
||||
$revision->slug = $page->slug;
|
||||
$revision->book_slug = $page->book->slug;
|
||||
|
@ -260,10 +279,15 @@ class PageRepo
|
|||
return $page;
|
||||
}
|
||||
|
||||
// Otherwise save the data to a revision
|
||||
// Otherwise, save the data to a revision
|
||||
$draft = $this->getPageRevisionToUpdate($page);
|
||||
$draft->fill($input);
|
||||
if (setting('app-editor') !== 'markdown') {
|
||||
|
||||
if (!empty($input['markdown'])) {
|
||||
$draft->markdown = $input['markdown'];
|
||||
$draft->html = '';
|
||||
} else {
|
||||
$draft->html = $input['html'];
|
||||
$draft->markdown = '';
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
namespace BookStack\Entities\Tools\Markdown;
|
||||
|
||||
use League\HTMLToMarkdown\Converter\DivConverter;
|
||||
use League\HTMLToMarkdown\ElementInterface;
|
||||
|
||||
class CustomDivConverter extends DivConverter
|
||||
{
|
||||
public function convert(ElementInterface $element): string
|
||||
{
|
||||
// Clean up draw.io diagrams
|
||||
$drawIoDiagram = $element->getAttribute('drawio-diagram');
|
||||
if ($drawIoDiagram) {
|
||||
return "<div drawio-diagram=\"{$drawIoDiagram}\">{$element->getValue()}</div>\n\n";
|
||||
}
|
||||
|
||||
return parent::convert($element);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
|
||||
namespace BookStack\Entities\Tools\Markdown;
|
||||
|
||||
use League\HTMLToMarkdown\Converter\ImageConverter;
|
||||
use League\HTMLToMarkdown\ElementInterface;
|
||||
|
||||
class CustomImageConverter extends ImageConverter
|
||||
{
|
||||
public function convert(ElementInterface $element): string
|
||||
{
|
||||
$parent = $element->getParent();
|
||||
|
||||
// Remain as HTML if within diagram block.
|
||||
$withinDrawing = $parent && !empty($parent->getAttribute('drawio-diagram'));
|
||||
if ($withinDrawing) {
|
||||
$src = e($element->getAttribute('src'));
|
||||
$alt = e($element->getAttribute('alt'));
|
||||
|
||||
return "<img src=\"{$src}\" alt=\"{$alt}\"/>";
|
||||
}
|
||||
|
||||
return parent::convert($element);
|
||||
}
|
||||
}
|
|
@ -9,7 +9,7 @@ class CustomParagraphConverter extends ParagraphConverter
|
|||
{
|
||||
public function convert(ElementInterface $element): string
|
||||
{
|
||||
$class = $element->getAttribute('class');
|
||||
$class = e($element->getAttribute('class'));
|
||||
if (strpos($class, 'callout') !== false) {
|
||||
return "<{$element->getTagName()} class=\"{$class}\">{$element->getValue()}</{$element->getTagName()}>\n\n";
|
||||
}
|
||||
|
|
|
@ -5,12 +5,10 @@ namespace BookStack\Entities\Tools\Markdown;
|
|||
use League\HTMLToMarkdown\Converter\BlockquoteConverter;
|
||||
use League\HTMLToMarkdown\Converter\CodeConverter;
|
||||
use League\HTMLToMarkdown\Converter\CommentConverter;
|
||||
use League\HTMLToMarkdown\Converter\DivConverter;
|
||||
use League\HTMLToMarkdown\Converter\EmphasisConverter;
|
||||
use League\HTMLToMarkdown\Converter\HardBreakConverter;
|
||||
use League\HTMLToMarkdown\Converter\HeaderConverter;
|
||||
use League\HTMLToMarkdown\Converter\HorizontalRuleConverter;
|
||||
use League\HTMLToMarkdown\Converter\ImageConverter;
|
||||
use League\HTMLToMarkdown\Converter\LinkConverter;
|
||||
use League\HTMLToMarkdown\Converter\ListBlockConverter;
|
||||
use League\HTMLToMarkdown\Converter\ListItemConverter;
|
||||
|
@ -21,7 +19,7 @@ use League\HTMLToMarkdown\HtmlConverter;
|
|||
|
||||
class HtmlToMarkdown
|
||||
{
|
||||
protected $html;
|
||||
protected string $html;
|
||||
|
||||
public function __construct(string $html)
|
||||
{
|
||||
|
@ -75,12 +73,12 @@ class HtmlToMarkdown
|
|||
$environment->addConverter(new BlockquoteConverter());
|
||||
$environment->addConverter(new CodeConverter());
|
||||
$environment->addConverter(new CommentConverter());
|
||||
$environment->addConverter(new DivConverter());
|
||||
$environment->addConverter(new CustomDivConverter());
|
||||
$environment->addConverter(new EmphasisConverter());
|
||||
$environment->addConverter(new HardBreakConverter());
|
||||
$environment->addConverter(new HeaderConverter());
|
||||
$environment->addConverter(new HorizontalRuleConverter());
|
||||
$environment->addConverter(new ImageConverter());
|
||||
$environment->addConverter(new CustomImageConverter());
|
||||
$environment->addConverter(new LinkConverter());
|
||||
$environment->addConverter(new ListBlockConverter());
|
||||
$environment->addConverter(new ListItemConverter());
|
||||
|
@ -88,6 +86,7 @@ class HtmlToMarkdown
|
|||
$environment->addConverter(new PreformattedConverter());
|
||||
$environment->addConverter(new TextConverter());
|
||||
$environment->addConverter(new CheckboxConverter());
|
||||
$environment->addConverter(new SpacedTagFallbackConverter());
|
||||
|
||||
return $environment;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
namespace BookStack\Entities\Tools\Markdown;
|
||||
|
||||
use BookStack\Facades\Theme;
|
||||
use BookStack\Theming\ThemeEvents;
|
||||
use League\CommonMark\Block\Element\ListItem;
|
||||
use League\CommonMark\CommonMarkConverter;
|
||||
use League\CommonMark\Environment;
|
||||
use League\CommonMark\Extension\Table\TableExtension;
|
||||
use League\CommonMark\Extension\TaskList\TaskListExtension;
|
||||
|
||||
class MarkdownToHtml
|
||||
{
|
||||
protected string $markdown;
|
||||
|
||||
public function __construct(string $markdown)
|
||||
{
|
||||
$this->markdown = $markdown;
|
||||
}
|
||||
|
||||
public function convert(): string
|
||||
{
|
||||
$environment = Environment::createCommonMarkEnvironment();
|
||||
$environment->addExtension(new TableExtension());
|
||||
$environment->addExtension(new TaskListExtension());
|
||||
$environment->addExtension(new CustomStrikeThroughExtension());
|
||||
$environment = Theme::dispatch(ThemeEvents::COMMONMARK_ENVIRONMENT_CONFIGURE, $environment) ?? $environment;
|
||||
$converter = new CommonMarkConverter([], $environment);
|
||||
|
||||
$environment->addBlockRenderer(ListItem::class, new CustomListItemRenderer(), 10);
|
||||
|
||||
return $converter->convertToHtml($this->markdown);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
namespace BookStack\Entities\Tools\Markdown;
|
||||
|
||||
use League\HTMLToMarkdown\Converter\ConverterInterface;
|
||||
use League\HTMLToMarkdown\ElementInterface;
|
||||
|
||||
/**
|
||||
* For certain defined tags, add additional spacing upon the retained HTML content
|
||||
* to separate it out from anything that may be markdown soon afterwards or within.
|
||||
*/
|
||||
class SpacedTagFallbackConverter implements ConverterInterface
|
||||
{
|
||||
public function convert(ElementInterface $element): string
|
||||
{
|
||||
return \html_entity_decode($element->getChildrenAsString()) . "\n\n";
|
||||
}
|
||||
|
||||
public function getSupportedTags(): array
|
||||
{
|
||||
return ['summary', 'iframe'];
|
||||
}
|
||||
}
|
|
@ -3,11 +3,8 @@
|
|||
namespace BookStack\Entities\Tools;
|
||||
|
||||
use BookStack\Entities\Models\Page;
|
||||
use BookStack\Entities\Tools\Markdown\CustomListItemRenderer;
|
||||
use BookStack\Entities\Tools\Markdown\CustomStrikeThroughExtension;
|
||||
use BookStack\Entities\Tools\Markdown\MarkdownToHtml;
|
||||
use BookStack\Exceptions\ImageUploadException;
|
||||
use BookStack\Facades\Theme;
|
||||
use BookStack\Theming\ThemeEvents;
|
||||
use BookStack\Uploads\ImageRepo;
|
||||
use BookStack\Uploads\ImageService;
|
||||
use BookStack\Util\HtmlContentFilter;
|
||||
|
@ -17,15 +14,10 @@ use DOMNode;
|
|||
use DOMNodeList;
|
||||
use DOMXPath;
|
||||
use Illuminate\Support\Str;
|
||||
use League\CommonMark\Block\Element\ListItem;
|
||||
use League\CommonMark\CommonMarkConverter;
|
||||
use League\CommonMark\Environment;
|
||||
use League\CommonMark\Extension\Table\TableExtension;
|
||||
use League\CommonMark\Extension\TaskList\TaskListExtension;
|
||||
|
||||
class PageContent
|
||||
{
|
||||
protected $page;
|
||||
protected Page $page;
|
||||
|
||||
/**
|
||||
* PageContent constructor.
|
||||
|
@ -53,28 +45,11 @@ class PageContent
|
|||
{
|
||||
$markdown = $this->extractBase64ImagesFromMarkdown($markdown);
|
||||
$this->page->markdown = $markdown;
|
||||
$html = $this->markdownToHtml($markdown);
|
||||
$html = (new MarkdownToHtml($markdown))->convert();
|
||||
$this->page->html = $this->formatHtml($html);
|
||||
$this->page->text = $this->toPlainText();
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the given Markdown content to a HTML string.
|
||||
*/
|
||||
protected function markdownToHtml(string $markdown): string
|
||||
{
|
||||
$environment = Environment::createCommonMarkEnvironment();
|
||||
$environment->addExtension(new TableExtension());
|
||||
$environment->addExtension(new TaskListExtension());
|
||||
$environment->addExtension(new CustomStrikeThroughExtension());
|
||||
$environment = Theme::dispatch(ThemeEvents::COMMONMARK_ENVIRONMENT_CONFIGURE, $environment) ?? $environment;
|
||||
$converter = new CommonMarkConverter([], $environment);
|
||||
|
||||
$environment->addBlockRenderer(ListItem::class, new CustomListItemRenderer(), 10);
|
||||
|
||||
return $converter->convertToHtml($markdown);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert all base64 image data to saved images.
|
||||
*/
|
||||
|
|
|
@ -9,7 +9,7 @@ use Illuminate\Database\Eloquent\Builder;
|
|||
|
||||
class PageEditActivity
|
||||
{
|
||||
protected $page;
|
||||
protected Page $page;
|
||||
|
||||
/**
|
||||
* PageEditActivity constructor.
|
||||
|
|
|
@ -0,0 +1,115 @@
|
|||
<?php
|
||||
|
||||
namespace BookStack\Entities\Tools;
|
||||
|
||||
use BookStack\Entities\Models\Page;
|
||||
use BookStack\Entities\Repos\PageRepo;
|
||||
use BookStack\Entities\Tools\Markdown\HtmlToMarkdown;
|
||||
use BookStack\Entities\Tools\Markdown\MarkdownToHtml;
|
||||
|
||||
class PageEditorData
|
||||
{
|
||||
protected Page $page;
|
||||
protected PageRepo $pageRepo;
|
||||
protected string $requestedEditor;
|
||||
|
||||
protected array $viewData;
|
||||
protected array $warnings;
|
||||
|
||||
public function __construct(Page $page, PageRepo $pageRepo, string $requestedEditor)
|
||||
{
|
||||
$this->page = $page;
|
||||
$this->pageRepo = $pageRepo;
|
||||
$this->requestedEditor = $requestedEditor;
|
||||
|
||||
$this->viewData = $this->build();
|
||||
}
|
||||
|
||||
public function getViewData(): array
|
||||
{
|
||||
return $this->viewData;
|
||||
}
|
||||
|
||||
public function getWarnings(): array
|
||||
{
|
||||
return $this->warnings;
|
||||
}
|
||||
|
||||
protected function build(): array
|
||||
{
|
||||
$page = clone $this->page;
|
||||
$isDraft = boolval($this->page->draft);
|
||||
$templates = $this->pageRepo->getTemplates(10);
|
||||
$draftsEnabled = auth()->check();
|
||||
|
||||
$isDraftRevision = false;
|
||||
$this->warnings = [];
|
||||
$editActivity = new PageEditActivity($page);
|
||||
|
||||
if ($editActivity->hasActiveEditing()) {
|
||||
$this->warnings[] = $editActivity->activeEditingMessage();
|
||||
}
|
||||
|
||||
// Check for a current draft version for this user
|
||||
$userDraft = $this->pageRepo->getUserDraft($page);
|
||||
if ($userDraft !== null) {
|
||||
$page->forceFill($userDraft->only(['name', 'html', 'markdown']));
|
||||
$isDraftRevision = true;
|
||||
$this->warnings[] = $editActivity->getEditingActiveDraftMessage($userDraft);
|
||||
}
|
||||
|
||||
$editorType = $this->getEditorType($page);
|
||||
$this->updateContentForEditor($page, $editorType);
|
||||
|
||||
return [
|
||||
'page' => $page,
|
||||
'book' => $page->book,
|
||||
'isDraft' => $isDraft,
|
||||
'isDraftRevision' => $isDraftRevision,
|
||||
'draftsEnabled' => $draftsEnabled,
|
||||
'templates' => $templates,
|
||||
'editor' => $editorType,
|
||||
];
|
||||
}
|
||||
|
||||
protected function updateContentForEditor(Page $page, string $editorType): void
|
||||
{
|
||||
$isHtml = !empty($page->html) && empty($page->markdown);
|
||||
|
||||
// HTML to markdown-clean conversion
|
||||
if ($editorType === 'markdown' && $isHtml && $this->requestedEditor === 'markdown-clean') {
|
||||
$page->markdown = (new HtmlToMarkdown($page->html))->convert();
|
||||
}
|
||||
|
||||
// Markdown to HTML conversion if we don't have HTML
|
||||
if ($editorType === 'wysiwyg' && !$isHtml) {
|
||||
$page->html = (new MarkdownToHtml($page->markdown))->convert();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the type of editor to show for editing the given page.
|
||||
* Defaults based upon the current content of the page otherwise will fall back
|
||||
* to system default but will take a requested type (if provided) if permissions allow.
|
||||
*/
|
||||
protected function getEditorType(Page $page): string
|
||||
{
|
||||
$editorType = $page->editor ?: self::getSystemDefaultEditor();
|
||||
|
||||
// Use requested editor if valid and if we have permission
|
||||
$requestedType = explode('-', $this->requestedEditor)[0];
|
||||
if (($requestedType === 'markdown' || $requestedType === 'wysiwyg') && userCan('editor-change')) {
|
||||
$editorType = $requestedType;
|
||||
}
|
||||
|
||||
return $editorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the configured system default editor.
|
||||
*/
|
||||
public static function getSystemDefaultEditor(): string
|
||||
{
|
||||
return setting('app-editor') === 'markdown' ? 'markdown' : 'wysiwyg';
|
||||
}
|
||||
}
|
|
@ -87,14 +87,33 @@ class AttachmentApiController extends ApiController
|
|||
'markdown' => $attachment->markdownLink(),
|
||||
]);
|
||||
|
||||
if (!$attachment->external) {
|
||||
$attachmentContents = $this->attachmentService->getAttachmentFromStorage($attachment);
|
||||
$attachment->setAttribute('content', base64_encode($attachmentContents));
|
||||
} else {
|
||||
// Simply return a JSON response of the attachment for link-based attachments
|
||||
if ($attachment->external) {
|
||||
$attachment->setAttribute('content', $attachment->path);
|
||||
|
||||
return response()->json($attachment);
|
||||
}
|
||||
|
||||
return response()->json($attachment);
|
||||
// Build and split our core JSON, at point of content.
|
||||
$splitter = 'CONTENT_SPLIT_LOCATION_' . time() . '_' . rand(1, 40000);
|
||||
$attachment->setAttribute('content', $splitter);
|
||||
$json = $attachment->toJson();
|
||||
$jsonParts = explode($splitter, $json);
|
||||
// Get a stream for the file data from storage
|
||||
$stream = $this->attachmentService->streamAttachmentFromStorage($attachment);
|
||||
|
||||
return response()->stream(function () use ($jsonParts, $stream) {
|
||||
// Output the pre-content JSON data
|
||||
echo $jsonParts[0];
|
||||
|
||||
// Stream out our attachment data as base64 content
|
||||
stream_filter_append($stream, 'convert.base64-encode', STREAM_FILTER_READ);
|
||||
fpassthru($stream);
|
||||
fclose($stream);
|
||||
|
||||
// Output our post-content JSON data
|
||||
echo $jsonParts[1];
|
||||
}, 200, ['Content-Type' => 'application/json']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,21 +11,20 @@ use Illuminate\Validation\ValidationException;
|
|||
|
||||
class BookshelfApiController extends ApiController
|
||||
{
|
||||
/**
|
||||
* @var BookshelfRepo
|
||||
*/
|
||||
protected $bookshelfRepo;
|
||||
protected BookshelfRepo $bookshelfRepo;
|
||||
|
||||
protected $rules = [
|
||||
'create' => [
|
||||
'name' => ['required', 'string', 'max:255'],
|
||||
'description' => ['string', 'max:1000'],
|
||||
'books' => ['array'],
|
||||
'tags' => ['array'],
|
||||
],
|
||||
'update' => [
|
||||
'name' => ['string', 'min:1', 'max:255'],
|
||||
'description' => ['string', 'max:1000'],
|
||||
'books' => ['array'],
|
||||
'tags' => ['array'],
|
||||
],
|
||||
];
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ use Illuminate\Http\Request;
|
|||
|
||||
class PageApiController extends ApiController
|
||||
{
|
||||
protected $pageRepo;
|
||||
protected PageRepo $pageRepo;
|
||||
|
||||
protected $rules = [
|
||||
'create' => [
|
||||
|
@ -24,8 +24,8 @@ class PageApiController extends ApiController
|
|||
'tags' => ['array'],
|
||||
],
|
||||
'update' => [
|
||||
'book_id' => ['required', 'integer'],
|
||||
'chapter_id' => ['required', 'integer'],
|
||||
'book_id' => ['integer'],
|
||||
'chapter_id' => ['integer'],
|
||||
'name' => ['string', 'min:1', 'max:255'],
|
||||
'html' => ['string'],
|
||||
'markdown' => ['string'],
|
||||
|
@ -103,6 +103,8 @@ class PageApiController extends ApiController
|
|||
*/
|
||||
public function update(Request $request, string $id)
|
||||
{
|
||||
$requestData = $this->validate($request, $this->rules['update']);
|
||||
|
||||
$page = $this->pageRepo->getById($id, []);
|
||||
$this->checkOwnablePermission('page-update', $page);
|
||||
|
||||
|
@ -127,7 +129,7 @@ class PageApiController extends ApiController
|
|||
}
|
||||
}
|
||||
|
||||
$updatedPage = $this->pageRepo->update($page, $request->all());
|
||||
$updatedPage = $this->pageRepo->update($page, $requestData);
|
||||
|
||||
return response()->json($updatedPage->forJsonDisplay());
|
||||
}
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
<?php
|
||||
|
||||
namespace BookStack\Http\Controllers\Api;
|
||||
|
||||
use BookStack\Entities\Models\Book;
|
||||
use BookStack\Entities\Models\BookChild;
|
||||
use BookStack\Entities\Models\Chapter;
|
||||
use BookStack\Entities\Models\Deletion;
|
||||
use BookStack\Entities\Repos\DeletionRepo;
|
||||
use Closure;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class RecycleBinApiController extends ApiController
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware(function ($request, $next) {
|
||||
$this->checkPermission('settings-manage');
|
||||
$this->checkPermission('restrictions-manage-all');
|
||||
|
||||
return $next($request);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a top-level listing of the items in the recycle bin.
|
||||
* The "deletable" property will reflect the main item deleted.
|
||||
* For books and chapters, counts of child pages/chapters will
|
||||
* be loaded within this "deletable" data.
|
||||
* For chapters & pages, the parent item will be loaded within this "deletable" data.
|
||||
* Requires permission to manage both system settings and permissions.
|
||||
*/
|
||||
public function list()
|
||||
{
|
||||
return $this->apiListingResponse(Deletion::query()->with('deletable'), [
|
||||
'id',
|
||||
'deleted_by',
|
||||
'created_at',
|
||||
'updated_at',
|
||||
'deletable_type',
|
||||
'deletable_id',
|
||||
], [Closure::fromCallable([$this, 'listFormatter'])]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore a single deletion from the recycle bin.
|
||||
* Requires permission to manage both system settings and permissions.
|
||||
*/
|
||||
public function restore(DeletionRepo $deletionRepo, string $deletionId)
|
||||
{
|
||||
$restoreCount = $deletionRepo->restore(intval($deletionId));
|
||||
|
||||
return response()->json(['restore_count' => $restoreCount]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a single deletion from the recycle bin.
|
||||
* Use this endpoint carefully as it will entirely remove the underlying deleted items from the system.
|
||||
* Requires permission to manage both system settings and permissions.
|
||||
*/
|
||||
public function destroy(DeletionRepo $deletionRepo, string $deletionId)
|
||||
{
|
||||
$deleteCount = $deletionRepo->destroy(intval($deletionId));
|
||||
|
||||
return response()->json(['delete_count' => $deleteCount]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load some related details for the deletion listing.
|
||||
*/
|
||||
protected function listFormatter(Deletion $deletion)
|
||||
{
|
||||
$deletable = $deletion->deletable;
|
||||
$withTrashedQuery = fn (Builder $query) => $query->withTrashed();
|
||||
|
||||
if ($deletable instanceof BookChild) {
|
||||
$parent = $deletable->getParent();
|
||||
$parent->setAttribute('type', $parent->getType());
|
||||
$deletable->setRelation('parent', $parent);
|
||||
}
|
||||
|
||||
if ($deletable instanceof Book || $deletable instanceof Chapter) {
|
||||
$countsToLoad = ['pages' => $withTrashedQuery];
|
||||
if ($deletable instanceof Book) {
|
||||
$countsToLoad['chapters'] = $withTrashedQuery;
|
||||
}
|
||||
$deletable->loadCount($countsToLoad);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -15,8 +15,8 @@ use Illuminate\Validation\ValidationException;
|
|||
|
||||
class AttachmentController extends Controller
|
||||
{
|
||||
protected $attachmentService;
|
||||
protected $pageRepo;
|
||||
protected AttachmentService $attachmentService;
|
||||
protected PageRepo $pageRepo;
|
||||
|
||||
/**
|
||||
* AttachmentController constructor.
|
||||
|
@ -230,13 +230,13 @@ class AttachmentController extends Controller
|
|||
}
|
||||
|
||||
$fileName = $attachment->getFileName();
|
||||
$attachmentContents = $this->attachmentService->getAttachmentFromStorage($attachment);
|
||||
$attachmentStream = $this->attachmentService->streamAttachmentFromStorage($attachment);
|
||||
|
||||
if ($request->get('open') === 'true') {
|
||||
return $this->inlineDownloadResponse($attachmentContents, $fileName);
|
||||
return $this->streamedInlineDownloadResponse($attachmentStream, $fileName);
|
||||
}
|
||||
|
||||
return $this->downloadResponse($attachmentContents, $fileName);
|
||||
return $this->streamedDownloadResponse($attachmentStream, $fileName);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,6 +12,7 @@ use Illuminate\Foundation\Validation\ValidatesRequests;
|
|||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||
|
||||
abstract class Controller extends BaseController
|
||||
{
|
||||
|
@ -115,7 +116,28 @@ abstract class Controller extends BaseController
|
|||
{
|
||||
return response()->make($content, 200, [
|
||||
'Content-Type' => 'application/octet-stream',
|
||||
'Content-Disposition' => 'attachment; filename="' . $fileName . '"',
|
||||
'Content-Disposition' => 'attachment; filename="' . str_replace('"', '', $fileName) . '"',
|
||||
'X-Content-Type-Options' => 'nosniff',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a response that forces a download, from a given stream of content.
|
||||
*/
|
||||
protected function streamedDownloadResponse($stream, string $fileName): StreamedResponse
|
||||
{
|
||||
return response()->stream(function () use ($stream) {
|
||||
// End & flush the output buffer otherwise we still seem to use memory.
|
||||
// Ignore in testing since output buffers are used to gather a response.
|
||||
if (!app()->runningUnitTests()) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
fpassthru($stream);
|
||||
fclose($stream);
|
||||
}, 200, [
|
||||
'Content-Type' => 'application/octet-stream',
|
||||
'Content-Disposition' => 'attachment; filename="' . str_replace('"', '', $fileName) . '"',
|
||||
'X-Content-Type-Options' => 'nosniff',
|
||||
]);
|
||||
}
|
||||
|
@ -130,7 +152,28 @@ abstract class Controller extends BaseController
|
|||
|
||||
return response()->make($content, 200, [
|
||||
'Content-Type' => $mime,
|
||||
'Content-Disposition' => 'inline; filename="' . $fileName . '"',
|
||||
'Content-Disposition' => 'inline; filename="' . str_replace('"', '', $fileName) . '"',
|
||||
'X-Content-Type-Options' => 'nosniff',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a file download response that provides the file with a content-type
|
||||
* correct for the file, in a way so the browser can show the content in browser,
|
||||
* for a given content stream.
|
||||
*/
|
||||
protected function streamedInlineDownloadResponse($stream, string $fileName): StreamedResponse
|
||||
{
|
||||
$sniffContent = fread($stream, 1000);
|
||||
$mime = (new WebSafeMimeSniffer())->sniff($sniffContent);
|
||||
|
||||
return response()->stream(function () use ($sniffContent, $stream) {
|
||||
echo $sniffContent;
|
||||
fpassthru($stream);
|
||||
fclose($stream);
|
||||
}, 200, [
|
||||
'Content-Type' => $mime,
|
||||
'Content-Disposition' => 'inline; filename="' . str_replace('"', '', $fileName) . '"',
|
||||
'X-Content-Type-Options' => 'nosniff',
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ use BookStack\Entities\Tools\Cloner;
|
|||
use BookStack\Entities\Tools\NextPreviousContentLocator;
|
||||
use BookStack\Entities\Tools\PageContent;
|
||||
use BookStack\Entities\Tools\PageEditActivity;
|
||||
use BookStack\Entities\Tools\PageEditorData;
|
||||
use BookStack\Entities\Tools\PermissionsUpdater;
|
||||
use BookStack\Exceptions\NotFoundException;
|
||||
use BookStack\Exceptions\PermissionsException;
|
||||
|
@ -21,7 +22,7 @@ use Throwable;
|
|||
|
||||
class PageController extends Controller
|
||||
{
|
||||
protected $pageRepo;
|
||||
protected PageRepo $pageRepo;
|
||||
|
||||
/**
|
||||
* PageController constructor.
|
||||
|
@ -82,22 +83,15 @@ class PageController extends Controller
|
|||
*
|
||||
* @throws NotFoundException
|
||||
*/
|
||||
public function editDraft(string $bookSlug, int $pageId)
|
||||
public function editDraft(Request $request, string $bookSlug, int $pageId)
|
||||
{
|
||||
$draft = $this->pageRepo->getById($pageId);
|
||||
$this->checkOwnablePermission('page-create', $draft->getParent());
|
||||
|
||||
$editorData = new PageEditorData($draft, $this->pageRepo, $request->query('editor', ''));
|
||||
$this->setPageTitle(trans('entities.pages_edit_draft'));
|
||||
|
||||
$draftsEnabled = $this->isSignedIn();
|
||||
$templates = $this->pageRepo->getTemplates(10);
|
||||
|
||||
return view('pages.edit', [
|
||||
'page' => $draft,
|
||||
'book' => $draft->book,
|
||||
'isDraft' => true,
|
||||
'draftsEnabled' => $draftsEnabled,
|
||||
'templates' => $templates,
|
||||
]);
|
||||
return view('pages.edit', $editorData->getViewData());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -188,43 +182,19 @@ class PageController extends Controller
|
|||
*
|
||||
* @throws NotFoundException
|
||||
*/
|
||||
public function edit(string $bookSlug, string $pageSlug)
|
||||
public function edit(Request $request, string $bookSlug, string $pageSlug)
|
||||
{
|
||||
$page = $this->pageRepo->getBySlug($bookSlug, $pageSlug);
|
||||
$this->checkOwnablePermission('page-update', $page);
|
||||
|
||||
$page->isDraft = false;
|
||||
$editActivity = new PageEditActivity($page);
|
||||
|
||||
// Check for active editing
|
||||
$warnings = [];
|
||||
if ($editActivity->hasActiveEditing()) {
|
||||
$warnings[] = $editActivity->activeEditingMessage();
|
||||
$editorData = new PageEditorData($page, $this->pageRepo, $request->query('editor', ''));
|
||||
if ($editorData->getWarnings()) {
|
||||
$this->showWarningNotification(implode("\n", $editorData->getWarnings()));
|
||||
}
|
||||
|
||||
// Check for a current draft version for this user
|
||||
$userDraft = $this->pageRepo->getUserDraft($page);
|
||||
if ($userDraft !== null) {
|
||||
$page->forceFill($userDraft->only(['name', 'html', 'markdown']));
|
||||
$page->isDraft = true;
|
||||
$warnings[] = $editActivity->getEditingActiveDraftMessage($userDraft);
|
||||
}
|
||||
|
||||
if (count($warnings) > 0) {
|
||||
$this->showWarningNotification(implode("\n", $warnings));
|
||||
}
|
||||
|
||||
$templates = $this->pageRepo->getTemplates(10);
|
||||
$draftsEnabled = $this->isSignedIn();
|
||||
$this->setPageTitle(trans('entities.pages_editing_named', ['pageName' => $page->getShortName()]));
|
||||
|
||||
return view('pages.edit', [
|
||||
'page' => $page,
|
||||
'book' => $page->book,
|
||||
'current' => $page,
|
||||
'draftsEnabled' => $draftsEnabled,
|
||||
'templates' => $templates,
|
||||
]);
|
||||
return view('pages.edit', $editorData->getViewData());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace BookStack\Http\Controllers;
|
|||
use BookStack\Actions\ActivityType;
|
||||
use BookStack\Entities\Models\Deletion;
|
||||
use BookStack\Entities\Models\Entity;
|
||||
use BookStack\Entities\Repos\DeletionRepo;
|
||||
use BookStack\Entities\Tools\TrashCan;
|
||||
|
||||
class RecycleBinController extends Controller
|
||||
|
@ -73,12 +74,9 @@ class RecycleBinController extends Controller
|
|||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function restore(string $id)
|
||||
public function restore(DeletionRepo $deletionRepo, string $id)
|
||||
{
|
||||
/** @var Deletion $deletion */
|
||||
$deletion = Deletion::query()->findOrFail($id);
|
||||
$this->logActivity(ActivityType::RECYCLE_BIN_RESTORE, $deletion);
|
||||
$restoreCount = (new TrashCan())->restoreFromDeletion($deletion);
|
||||
$restoreCount = $deletionRepo->restore((int) $id);
|
||||
|
||||
$this->showSuccessNotification(trans('settings.recycle_bin_restore_notification', ['count' => $restoreCount]));
|
||||
|
||||
|
@ -103,12 +101,9 @@ class RecycleBinController extends Controller
|
|||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function destroy(string $id)
|
||||
public function destroy(DeletionRepo $deletionRepo, string $id)
|
||||
{
|
||||
/** @var Deletion $deletion */
|
||||
$deletion = Deletion::query()->findOrFail($id);
|
||||
$this->logActivity(ActivityType::RECYCLE_BIN_DESTROY, $deletion);
|
||||
$deleteCount = (new TrashCan())->destroyFromDeletion($deletion);
|
||||
$deleteCount = $deletionRepo->destroy((int) $id);
|
||||
|
||||
$this->showSuccessNotification(trans('settings.recycle_bin_destroy_notification', ['count' => $deleteCount]));
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ class SettingController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Handle requests to the settings index path
|
||||
* Handle requests to the settings index path.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
|
|
|
@ -8,20 +8,36 @@ class Request extends LaravelRequest
|
|||
{
|
||||
/**
|
||||
* Override the default request methods to get the scheme and host
|
||||
* to set the custom APP_URL, if set.
|
||||
* to directly use the custom APP_URL, if set.
|
||||
*
|
||||
* @return \Illuminate\Config\Repository|mixed|string
|
||||
* @return string
|
||||
*/
|
||||
public function getSchemeAndHttpHost()
|
||||
{
|
||||
$base = config('app.url', null);
|
||||
$appUrl = config('app.url', null);
|
||||
|
||||
if ($base) {
|
||||
$base = trim($base, '/');
|
||||
} else {
|
||||
$base = $this->getScheme() . '://' . $this->getHttpHost();
|
||||
if ($appUrl) {
|
||||
return implode('/', array_slice(explode('/', $appUrl), 0, 3));
|
||||
}
|
||||
|
||||
return $base;
|
||||
return parent::getSchemeAndHttpHost();
|
||||
}
|
||||
|
||||
/**
|
||||
* Override the default request methods to get the base URL
|
||||
* to directly use the custom APP_URL, if set.
|
||||
* The base URL never ends with a / but should start with one if not empty.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getBaseUrl()
|
||||
{
|
||||
$appUrl = config('app.url', null);
|
||||
|
||||
if ($appUrl) {
|
||||
return '/' . rtrim(implode('/', array_slice(explode('/', $appUrl), 3)), '/');
|
||||
}
|
||||
|
||||
return parent::getBaseUrl();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,12 +51,12 @@ class AppServiceProvider extends ServiceProvider
|
|||
// Allow longer string lengths after upgrade to utf8mb4
|
||||
Schema::defaultStringLength(191);
|
||||
|
||||
// Set morph-map due to namespace changes
|
||||
Relation::morphMap([
|
||||
'BookStack\\Bookshelf' => Bookshelf::class,
|
||||
'BookStack\\Book' => Book::class,
|
||||
'BookStack\\Chapter' => Chapter::class,
|
||||
'BookStack\\Page' => Page::class,
|
||||
// Set morph-map for our relations to friendlier aliases
|
||||
Relation::enforceMorphMap([
|
||||
'bookshelf' => Bookshelf::class,
|
||||
'book' => Book::class,
|
||||
'chapter' => Chapter::class,
|
||||
'page' => Page::class,
|
||||
]);
|
||||
|
||||
// View Composers
|
||||
|
|
|
@ -14,7 +14,7 @@ use Symfony\Component\HttpFoundation\File\UploadedFile;
|
|||
|
||||
class AttachmentService
|
||||
{
|
||||
protected $fileSystem;
|
||||
protected FilesystemManager $fileSystem;
|
||||
|
||||
/**
|
||||
* AttachmentService constructor.
|
||||
|
@ -73,6 +73,18 @@ class AttachmentService
|
|||
return $this->getStorageDisk()->get($this->adjustPathForStorageDisk($attachment->path));
|
||||
}
|
||||
|
||||
/**
|
||||
* Stream an attachment from storage.
|
||||
*
|
||||
* @throws FileNotFoundException
|
||||
*
|
||||
* @return resource|null
|
||||
*/
|
||||
public function streamAttachmentFromStorage(Attachment $attachment)
|
||||
{
|
||||
return $this->getStorageDisk()->readStream($this->adjustPathForStorageDisk($attachment->path));
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a new attachment upon user upload.
|
||||
*
|
||||
|
@ -211,8 +223,6 @@ class AttachmentService
|
|||
*/
|
||||
protected function putFileInStorage(UploadedFile $uploadedFile): string
|
||||
{
|
||||
$attachmentData = file_get_contents($uploadedFile->getRealPath());
|
||||
|
||||
$storage = $this->getStorageDisk();
|
||||
$basePath = 'uploads/files/' . date('Y-m-M') . '/';
|
||||
|
||||
|
@ -221,10 +231,11 @@ class AttachmentService
|
|||
$uploadFileName = Str::random(3) . $uploadFileName;
|
||||
}
|
||||
|
||||
$attachmentStream = fopen($uploadedFile->getRealPath(), 'r');
|
||||
$attachmentPath = $basePath . $uploadFileName;
|
||||
|
||||
try {
|
||||
$storage->put($this->adjustPathForStorageDisk($attachmentPath), $attachmentData);
|
||||
$storage->writeStream($this->adjustPathForStorageDisk($attachmentPath), $attachmentStream);
|
||||
} catch (Exception $e) {
|
||||
Log::error('Error when attempting file upload:' . $e->getMessage());
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,62 @@
|
|||
<?php
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddEditorChangeFieldAndPermission extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
// Add the new 'editor' column to the pages table
|
||||
Schema::table('pages', function (Blueprint $table) {
|
||||
$table->string('editor', 50)->default('');
|
||||
});
|
||||
|
||||
// Populate the new 'editor' column
|
||||
// We set it to 'markdown' for pages currently with markdown content
|
||||
DB::table('pages')->where('markdown', '!=', '')->update(['editor' => 'markdown']);
|
||||
// We set it to 'wysiwyg' where we have HTML but no markdown
|
||||
DB::table('pages')->where('markdown', '=', '')
|
||||
->where('html', '!=', '')
|
||||
->update(['editor' => 'wysiwyg']);
|
||||
|
||||
// Give the admin user permission to change the editor
|
||||
$adminRoleId = DB::table('roles')->where('system_name', '=', 'admin')->first()->id;
|
||||
|
||||
$permissionId = DB::table('role_permissions')->insertGetId([
|
||||
'name' => 'editor-change',
|
||||
'display_name' => 'Change page editor',
|
||||
'created_at' => Carbon::now()->toDateTimeString(),
|
||||
'updated_at' => Carbon::now()->toDateTimeString(),
|
||||
]);
|
||||
|
||||
DB::table('permission_role')->insert([
|
||||
'role_id' => $adminRoleId,
|
||||
'permission_id' => $permissionId,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
// Drop the new column from the pages table
|
||||
Schema::table('pages', function (Blueprint $table) {
|
||||
$table->dropColumn('editor');
|
||||
});
|
||||
|
||||
// Remove traces of the role permission
|
||||
DB::table('role_permissions')->where('name', '=', 'editor-change')->delete();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class UpdatePolymorphicTypes extends Migration
|
||||
{
|
||||
/**
|
||||
* Mapping of old polymorphic types to new simpler values.
|
||||
*/
|
||||
protected $changeMap = [
|
||||
'BookStack\\Bookshelf' => 'bookshelf',
|
||||
'BookStack\\Book' => 'book',
|
||||
'BookStack\\Chapter' => 'chapter',
|
||||
'BookStack\\Page' => 'page',
|
||||
];
|
||||
|
||||
/**
|
||||
* Mapping of tables and columns that contain polymorphic types.
|
||||
*/
|
||||
protected $columnsByTable = [
|
||||
'activities' => 'entity_type',
|
||||
'comments' => 'entity_type',
|
||||
'deletions' => 'deletable_type',
|
||||
'entity_permissions' => 'restrictable_type',
|
||||
'favourites' => 'favouritable_type',
|
||||
'joint_permissions' => 'entity_type',
|
||||
'search_terms' => 'entity_type',
|
||||
'tags' => 'entity_type',
|
||||
'views' => 'viewable_type',
|
||||
];
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
foreach ($this->columnsByTable as $table => $column) {
|
||||
foreach ($this->changeMap as $oldVal => $newVal) {
|
||||
DB::table($table)
|
||||
->where([$column => $oldVal])
|
||||
->update([$column => $newVal]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
foreach ($this->columnsByTable as $table => $column) {
|
||||
foreach ($this->changeMap as $oldVal => $newVal) {
|
||||
DB::table($table)
|
||||
->where([$column => $newVal])
|
||||
->update([$column => $oldVal]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"delete_count": 2
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"id": 18,
|
||||
"deleted_by": 1,
|
||||
"created_at": "2022-04-20T12:57:46.000000Z",
|
||||
"updated_at": "2022-04-20T12:57:46.000000Z",
|
||||
"deletable_type": "page",
|
||||
"deletable_id": 2582,
|
||||
"deletable": {
|
||||
"id": 2582,
|
||||
"book_id": 25,
|
||||
"chapter_id": 0,
|
||||
"name": "A Wonderful Page",
|
||||
"slug": "a-wonderful-page",
|
||||
"priority": 9,
|
||||
"created_at": "2022-02-08T00:44:45.000000Z",
|
||||
"updated_at": "2022-04-20T12:57:46.000000Z",
|
||||
"created_by": 1,
|
||||
"updated_by": 1,
|
||||
"draft": false,
|
||||
"revision_count": 1,
|
||||
"template": false,
|
||||
"owned_by": 1,
|
||||
"editor": "wysiwyg",
|
||||
"book_slug": "a-great-book",
|
||||
"parent": {
|
||||
"id": 25,
|
||||
"name": "A Great Book",
|
||||
"slug": "a-great-book",
|
||||
"description": "",
|
||||
"created_at": "2022-01-24T16:14:28.000000Z",
|
||||
"updated_at": "2022-03-06T15:14:50.000000Z",
|
||||
"created_by": 1,
|
||||
"updated_by": 1,
|
||||
"owned_by": 1,
|
||||
"type": "book"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"deleted_by": 1,
|
||||
"created_at": "2022-04-25T16:07:46.000000Z",
|
||||
"updated_at": "2022-04-25T16:07:46.000000Z",
|
||||
"deletable_type": "book",
|
||||
"deletable_id": 13,
|
||||
"deletable": {
|
||||
"id": 13,
|
||||
"name": "A Big Book!",
|
||||
"slug": "a-big-book",
|
||||
"description": "This is a very large book with loads of cool stuff in it!",
|
||||
"created_at": "2021-11-08T11:26:43.000000Z",
|
||||
"updated_at": "2022-04-25T16:07:47.000000Z",
|
||||
"created_by": 27,
|
||||
"updated_by": 1,
|
||||
"owned_by": 1,
|
||||
"pages_count": 208,
|
||||
"chapters_count": 50
|
||||
}
|
||||
}
|
||||
],
|
||||
"total": 2
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"restore_count": 2
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
const esbuild = require('esbuild');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// Check if we're building for production
|
||||
// (Set via passing `production` as first argument)
|
||||
const isProd = process.argv[2] === 'production';
|
||||
|
||||
// Gather our input files
|
||||
const jsInDir = path.join(__dirname, '../../resources/js');
|
||||
const jsInDirFiles = fs.readdirSync(jsInDir, 'utf8');
|
||||
const entryFiles = jsInDirFiles
|
||||
.filter(f => f.endsWith('.js') || f.endsWith('.mjs'))
|
||||
.map(f => path.join(jsInDir, f));
|
||||
|
||||
// Locate our output directory
|
||||
const outDir = path.join(__dirname, '../../public/dist');
|
||||
|
||||
// Build via esbuild
|
||||
esbuild.build({
|
||||
bundle: true,
|
||||
entryPoints: entryFiles,
|
||||
outdir: outDir,
|
||||
sourcemap: true,
|
||||
target: 'es2020',
|
||||
mainFields: ['module', 'main'],
|
||||
format: 'esm',
|
||||
minify: isProd,
|
||||
logLevel: "info",
|
||||
}).catch(() => process.exit(1));
|
|
@ -14,17 +14,17 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"chokidar-cli": "^3.0",
|
||||
"esbuild": "0.14.27",
|
||||
"esbuild": "0.14.36",
|
||||
"livereload": "^0.9.3",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"punycode": "^2.1.1",
|
||||
"sass": "^1.49.9"
|
||||
"sass": "^1.50.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-regex": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
|
||||
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
|
||||
"integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
|
@ -341,9 +341,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.27.tgz",
|
||||
"integrity": "sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.36.tgz",
|
||||
"integrity": "sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
|
@ -353,32 +353,32 @@
|
|||
"node": ">=12"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"esbuild-android-64": "0.14.27",
|
||||
"esbuild-android-arm64": "0.14.27",
|
||||
"esbuild-darwin-64": "0.14.27",
|
||||
"esbuild-darwin-arm64": "0.14.27",
|
||||
"esbuild-freebsd-64": "0.14.27",
|
||||
"esbuild-freebsd-arm64": "0.14.27",
|
||||
"esbuild-linux-32": "0.14.27",
|
||||
"esbuild-linux-64": "0.14.27",
|
||||
"esbuild-linux-arm": "0.14.27",
|
||||
"esbuild-linux-arm64": "0.14.27",
|
||||
"esbuild-linux-mips64le": "0.14.27",
|
||||
"esbuild-linux-ppc64le": "0.14.27",
|
||||
"esbuild-linux-riscv64": "0.14.27",
|
||||
"esbuild-linux-s390x": "0.14.27",
|
||||
"esbuild-netbsd-64": "0.14.27",
|
||||
"esbuild-openbsd-64": "0.14.27",
|
||||
"esbuild-sunos-64": "0.14.27",
|
||||
"esbuild-windows-32": "0.14.27",
|
||||
"esbuild-windows-64": "0.14.27",
|
||||
"esbuild-windows-arm64": "0.14.27"
|
||||
"esbuild-android-64": "0.14.36",
|
||||
"esbuild-android-arm64": "0.14.36",
|
||||
"esbuild-darwin-64": "0.14.36",
|
||||
"esbuild-darwin-arm64": "0.14.36",
|
||||
"esbuild-freebsd-64": "0.14.36",
|
||||
"esbuild-freebsd-arm64": "0.14.36",
|
||||
"esbuild-linux-32": "0.14.36",
|
||||
"esbuild-linux-64": "0.14.36",
|
||||
"esbuild-linux-arm": "0.14.36",
|
||||
"esbuild-linux-arm64": "0.14.36",
|
||||
"esbuild-linux-mips64le": "0.14.36",
|
||||
"esbuild-linux-ppc64le": "0.14.36",
|
||||
"esbuild-linux-riscv64": "0.14.36",
|
||||
"esbuild-linux-s390x": "0.14.36",
|
||||
"esbuild-netbsd-64": "0.14.36",
|
||||
"esbuild-openbsd-64": "0.14.36",
|
||||
"esbuild-sunos-64": "0.14.36",
|
||||
"esbuild-windows-32": "0.14.36",
|
||||
"esbuild-windows-64": "0.14.36",
|
||||
"esbuild-windows-arm64": "0.14.36"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild-android-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz",
|
||||
"integrity": "sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz",
|
||||
"integrity": "sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -392,9 +392,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-android-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -408,9 +408,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-darwin-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz",
|
||||
"integrity": "sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz",
|
||||
"integrity": "sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -424,9 +424,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-darwin-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -440,9 +440,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-freebsd-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz",
|
||||
"integrity": "sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz",
|
||||
"integrity": "sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -456,9 +456,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-freebsd-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -472,9 +472,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-32": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz",
|
||||
"integrity": "sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz",
|
||||
"integrity": "sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
|
@ -488,9 +488,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz",
|
||||
"integrity": "sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz",
|
||||
"integrity": "sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -504,9 +504,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-arm": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz",
|
||||
"integrity": "sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz",
|
||||
"integrity": "sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
|
@ -520,9 +520,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -536,9 +536,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-mips64le": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz",
|
||||
"integrity": "sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz",
|
||||
"integrity": "sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA==",
|
||||
"cpu": [
|
||||
"mips64el"
|
||||
],
|
||||
|
@ -552,9 +552,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-ppc64le": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz",
|
||||
"integrity": "sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz",
|
||||
"integrity": "sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
|
@ -568,9 +568,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-riscv64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz",
|
||||
"integrity": "sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz",
|
||||
"integrity": "sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
|
@ -584,9 +584,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-s390x": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz",
|
||||
"integrity": "sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz",
|
||||
"integrity": "sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
|
@ -600,9 +600,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-netbsd-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz",
|
||||
"integrity": "sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz",
|
||||
"integrity": "sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -616,9 +616,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-openbsd-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz",
|
||||
"integrity": "sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz",
|
||||
"integrity": "sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -632,9 +632,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-sunos-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz",
|
||||
"integrity": "sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz",
|
||||
"integrity": "sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -648,9 +648,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-windows-32": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz",
|
||||
"integrity": "sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz",
|
||||
"integrity": "sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
|
@ -664,9 +664,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-windows-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz",
|
||||
"integrity": "sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz",
|
||||
"integrity": "sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -680,9 +680,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/esbuild-windows-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1520,9 +1520,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.49.9",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz",
|
||||
"integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==",
|
||||
"version": "1.50.0",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.50.0.tgz",
|
||||
"integrity": "sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"chokidar": ">=3.0.0 <4.0.0",
|
||||
|
@ -1886,9 +1886,9 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
|
||||
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
|
||||
"integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
|
@ -2146,170 +2146,170 @@
|
|||
}
|
||||
},
|
||||
"esbuild": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.27.tgz",
|
||||
"integrity": "sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.36.tgz",
|
||||
"integrity": "sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"esbuild-android-64": "0.14.27",
|
||||
"esbuild-android-arm64": "0.14.27",
|
||||
"esbuild-darwin-64": "0.14.27",
|
||||
"esbuild-darwin-arm64": "0.14.27",
|
||||
"esbuild-freebsd-64": "0.14.27",
|
||||
"esbuild-freebsd-arm64": "0.14.27",
|
||||
"esbuild-linux-32": "0.14.27",
|
||||
"esbuild-linux-64": "0.14.27",
|
||||
"esbuild-linux-arm": "0.14.27",
|
||||
"esbuild-linux-arm64": "0.14.27",
|
||||
"esbuild-linux-mips64le": "0.14.27",
|
||||
"esbuild-linux-ppc64le": "0.14.27",
|
||||
"esbuild-linux-riscv64": "0.14.27",
|
||||
"esbuild-linux-s390x": "0.14.27",
|
||||
"esbuild-netbsd-64": "0.14.27",
|
||||
"esbuild-openbsd-64": "0.14.27",
|
||||
"esbuild-sunos-64": "0.14.27",
|
||||
"esbuild-windows-32": "0.14.27",
|
||||
"esbuild-windows-64": "0.14.27",
|
||||
"esbuild-windows-arm64": "0.14.27"
|
||||
"esbuild-android-64": "0.14.36",
|
||||
"esbuild-android-arm64": "0.14.36",
|
||||
"esbuild-darwin-64": "0.14.36",
|
||||
"esbuild-darwin-arm64": "0.14.36",
|
||||
"esbuild-freebsd-64": "0.14.36",
|
||||
"esbuild-freebsd-arm64": "0.14.36",
|
||||
"esbuild-linux-32": "0.14.36",
|
||||
"esbuild-linux-64": "0.14.36",
|
||||
"esbuild-linux-arm": "0.14.36",
|
||||
"esbuild-linux-arm64": "0.14.36",
|
||||
"esbuild-linux-mips64le": "0.14.36",
|
||||
"esbuild-linux-ppc64le": "0.14.36",
|
||||
"esbuild-linux-riscv64": "0.14.36",
|
||||
"esbuild-linux-s390x": "0.14.36",
|
||||
"esbuild-netbsd-64": "0.14.36",
|
||||
"esbuild-openbsd-64": "0.14.36",
|
||||
"esbuild-sunos-64": "0.14.36",
|
||||
"esbuild-windows-32": "0.14.36",
|
||||
"esbuild-windows-64": "0.14.36",
|
||||
"esbuild-windows-arm64": "0.14.36"
|
||||
}
|
||||
},
|
||||
"esbuild-android-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz",
|
||||
"integrity": "sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz",
|
||||
"integrity": "sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-android-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-darwin-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz",
|
||||
"integrity": "sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz",
|
||||
"integrity": "sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-darwin-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-freebsd-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz",
|
||||
"integrity": "sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz",
|
||||
"integrity": "sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-freebsd-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-linux-32": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz",
|
||||
"integrity": "sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz",
|
||||
"integrity": "sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-linux-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz",
|
||||
"integrity": "sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz",
|
||||
"integrity": "sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-linux-arm": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz",
|
||||
"integrity": "sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz",
|
||||
"integrity": "sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-linux-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-linux-mips64le": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz",
|
||||
"integrity": "sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz",
|
||||
"integrity": "sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-linux-ppc64le": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz",
|
||||
"integrity": "sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz",
|
||||
"integrity": "sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-linux-riscv64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz",
|
||||
"integrity": "sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz",
|
||||
"integrity": "sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-linux-s390x": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz",
|
||||
"integrity": "sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz",
|
||||
"integrity": "sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-netbsd-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz",
|
||||
"integrity": "sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz",
|
||||
"integrity": "sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-openbsd-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz",
|
||||
"integrity": "sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz",
|
||||
"integrity": "sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-sunos-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz",
|
||||
"integrity": "sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz",
|
||||
"integrity": "sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-windows-32": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz",
|
||||
"integrity": "sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz",
|
||||
"integrity": "sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-windows-64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz",
|
||||
"integrity": "sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz",
|
||||
"integrity": "sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"esbuild-windows-arm64": {
|
||||
"version": "0.14.27",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz",
|
||||
"integrity": "sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==",
|
||||
"version": "0.14.36",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz",
|
||||
"integrity": "sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
|
@ -2910,9 +2910,9 @@
|
|||
}
|
||||
},
|
||||
"sass": {
|
||||
"version": "1.49.9",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz",
|
||||
"integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==",
|
||||
"version": "1.50.0",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.50.0.tgz",
|
||||
"integrity": "sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chokidar": ">=3.0.0 <4.0.0",
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
"build:css:dev": "sass ./resources/sass:./public/dist",
|
||||
"build:css:watch": "sass ./resources/sass:./public/dist --watch",
|
||||
"build:css:production": "sass ./resources/sass:./public/dist -s compressed",
|
||||
"build:js:dev": "esbuild --bundle ./resources/js/*.{js,mjs} --outdir=public/dist/ --sourcemap --target=es2020 --main-fields=module,main --format=esm",
|
||||
"build:js:dev": "node dev/build/esbuild.js",
|
||||
"build:js:watch": "chokidar --initial \"./resources/**/*.js\" -c \"npm run build:js:dev\"",
|
||||
"build:js:production": "NODE_ENV=production esbuild --bundle ./resources/js/*.{js,mjs} --outdir=public/dist/ --sourcemap --target=es2020 --main-fields=module,main --minify --format=esm",
|
||||
"build:js:production": "node dev/build/esbuild.js production",
|
||||
"build": "npm-run-all --parallel build:*:dev",
|
||||
"production": "npm-run-all --parallel build:*:production",
|
||||
"dev": "npm-run-all --parallel watch livereload",
|
||||
|
@ -16,11 +16,11 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"chokidar-cli": "^3.0",
|
||||
"esbuild": "0.14.27",
|
||||
"esbuild": "0.14.36",
|
||||
"livereload": "^0.9.3",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"punycode": "^2.1.1",
|
||||
"sass": "^1.49.9"
|
||||
"sass": "^1.50.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"clipboard": "^2.0.10",
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M6.99 16H14v-2H6.99v-3L3 15l3.99 4ZM21 9l-3.99-4v3H10v2h7.01v3z"/></svg>
|
After Width: | Height: | Size: 141 B |
|
@ -131,7 +131,7 @@ class AutoSuggest {
|
|||
return this.hideSuggestions();
|
||||
}
|
||||
|
||||
this.list.innerHTML = suggestions.map(value => `<li><button type="button">${escapeHtml(value)}</button></li>`).join('');
|
||||
this.list.innerHTML = suggestions.map(value => `<li><button type="button" class="text-item">${escapeHtml(value)}</button></li>`).join('');
|
||||
this.list.style.display = 'block';
|
||||
for (const button of this.list.querySelectorAll('button')) {
|
||||
button.addEventListener('blur', this.hideSuggestionsIfFocusedLost.bind(this));
|
||||
|
|
|
@ -96,7 +96,7 @@ class CodeEditor {
|
|||
this.historyDropDown.classList.toggle('hidden', historyKeys.length === 0);
|
||||
this.historyList.innerHTML = historyKeys.map(key => {
|
||||
const localTime = (new Date(parseInt(key))).toLocaleTimeString();
|
||||
return `<li><button type="button" data-time="${key}">${localTime}</button></li>`;
|
||||
return `<li><button type="button" data-time="${key}" class="text-item">${localTime}</button></li>`;
|
||||
}).join('');
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
import {onSelect} from "../services/dom";
|
||||
|
||||
/**
|
||||
* Custom equivalent of window.confirm() using our popup component.
|
||||
* Is promise based so can be used like so:
|
||||
* `const result = await dialog.show()`
|
||||
* @extends {Component}
|
||||
*/
|
||||
class ConfirmDialog {
|
||||
|
||||
setup() {
|
||||
this.container = this.$el;
|
||||
this.confirmButton = this.$refs.confirm;
|
||||
|
||||
this.res = null;
|
||||
|
||||
onSelect(this.confirmButton, () => {
|
||||
this.sendResult(true);
|
||||
this.getPopup().hide();
|
||||
});
|
||||
}
|
||||
|
||||
show() {
|
||||
this.getPopup().show(null, () => {
|
||||
this.sendResult(false);
|
||||
});
|
||||
|
||||
return new Promise((res, rej) => {
|
||||
this.res = res;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {Popup}
|
||||
*/
|
||||
getPopup() {
|
||||
return this.container.components.popup;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Boolean} result
|
||||
*/
|
||||
sendResult(result) {
|
||||
if (this.res) {
|
||||
this.res(result)
|
||||
this.res = null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default ConfirmDialog;
|
|
@ -10,6 +10,7 @@ import chapterToggle from "./chapter-toggle.js"
|
|||
import codeEditor from "./code-editor.js"
|
||||
import codeHighlighter from "./code-highlighter.js"
|
||||
import collapsible from "./collapsible.js"
|
||||
import confirmDialog from "./confirm-dialog"
|
||||
import customCheckbox from "./custom-checkbox.js"
|
||||
import detailsHighlighter from "./details-highlighter.js"
|
||||
import dropdown from "./dropdown.js"
|
||||
|
@ -26,7 +27,6 @@ import headerMobileToggle from "./header-mobile-toggle.js"
|
|||
import homepageControl from "./homepage-control.js"
|
||||
import imageManager from "./image-manager.js"
|
||||
import imagePicker from "./image-picker.js"
|
||||
import index from "./index.js"
|
||||
import listSortControl from "./list-sort-control.js"
|
||||
import markdownEditor from "./markdown-editor.js"
|
||||
import newUserPassword from "./new-user-password.js"
|
||||
|
@ -66,6 +66,7 @@ const componentMapping = {
|
|||
"code-editor": codeEditor,
|
||||
"code-highlighter": codeHighlighter,
|
||||
"collapsible": collapsible,
|
||||
"confirm-dialog": confirmDialog,
|
||||
"custom-checkbox": customCheckbox,
|
||||
"details-highlighter": detailsHighlighter,
|
||||
"dropdown": dropdown,
|
||||
|
@ -82,7 +83,6 @@ const componentMapping = {
|
|||
"homepage-control": homepageControl,
|
||||
"image-manager": imageManager,
|
||||
"image-picker": imagePicker,
|
||||
"index": index,
|
||||
"list-sort-control": listSortControl,
|
||||
"markdown-editor": markdownEditor,
|
||||
"new-user-password": newUserPassword,
|
||||
|
|
|
@ -24,6 +24,8 @@ class PageEditor {
|
|||
this.draftDisplayIcon = this.$refs.draftDisplayIcon;
|
||||
this.changelogInput = this.$refs.changelogInput;
|
||||
this.changelogDisplay = this.$refs.changelogDisplay;
|
||||
this.changeEditorButtons = this.$manyRefs.changeEditor;
|
||||
this.switchDialogContainer = this.$refs.switchDialog;
|
||||
|
||||
// Translations
|
||||
this.draftText = this.$opts.draftText;
|
||||
|
@ -72,6 +74,9 @@ class PageEditor {
|
|||
// Draft Controls
|
||||
onSelect(this.saveDraftButton, this.saveDraft.bind(this));
|
||||
onSelect(this.discardDraftButton, this.discardDraft.bind(this));
|
||||
|
||||
// Change editor controls
|
||||
onSelect(this.changeEditorButtons, this.changeEditor.bind(this));
|
||||
}
|
||||
|
||||
setInitialFocus() {
|
||||
|
@ -113,17 +118,21 @@ class PageEditor {
|
|||
data.markdown = this.editorMarkdown;
|
||||
}
|
||||
|
||||
let didSave = false;
|
||||
try {
|
||||
const resp = await window.$http.put(`/ajax/page/${this.pageId}/save-draft`, data);
|
||||
if (!this.isNewDraft) {
|
||||
this.toggleDiscardDraftVisibility(true);
|
||||
}
|
||||
|
||||
this.draftNotifyChange(`${resp.data.message} ${Dates.utcTimeStampToLocalTime(resp.data.timestamp)}`);
|
||||
this.autoSave.last = Date.now();
|
||||
if (resp.data.warning && !this.shownWarningsCache.has(resp.data.warning)) {
|
||||
window.$events.emit('warning', resp.data.warning);
|
||||
this.shownWarningsCache.add(resp.data.warning);
|
||||
}
|
||||
|
||||
didSave = true;
|
||||
} catch (err) {
|
||||
// Save the editor content in LocalStorage as a last resort, just in case.
|
||||
try {
|
||||
|
@ -134,6 +143,7 @@ class PageEditor {
|
|||
window.$events.emit('error', this.autosaveFailText);
|
||||
}
|
||||
|
||||
return didSave;
|
||||
}
|
||||
|
||||
draftNotifyChange(text) {
|
||||
|
@ -185,6 +195,18 @@ class PageEditor {
|
|||
this.discardDraftWrap.classList.toggle('hidden', !show);
|
||||
}
|
||||
|
||||
async changeEditor(event) {
|
||||
event.preventDefault();
|
||||
|
||||
const link = event.target.closest('a').href;
|
||||
const dialog = this.switchDialogContainer.components['confirm-dialog'];
|
||||
const [saved, confirmed] = await Promise.all([this.saveDraft(), dialog.show()]);
|
||||
|
||||
if (saved && confirmed) {
|
||||
window.location = link;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default PageEditor;
|
|
@ -34,7 +34,7 @@ class Popup {
|
|||
}
|
||||
|
||||
hide(onComplete = null) {
|
||||
fadeOut(this.container, 240, onComplete);
|
||||
fadeOut(this.container, 120, onComplete);
|
||||
if (this.onkeyup) {
|
||||
window.removeEventListener('keyup', this.onkeyup);
|
||||
this.onkeyup = null;
|
||||
|
@ -45,7 +45,7 @@ class Popup {
|
|||
}
|
||||
|
||||
show(onComplete = null, onHide = null) {
|
||||
fadeIn(this.container, 240, onComplete);
|
||||
fadeIn(this.container, 120, onComplete);
|
||||
|
||||
this.onkeyup = (event) => {
|
||||
if (event.key === 'Escape') {
|
||||
|
|
|
@ -43,6 +43,8 @@ function drawReceive(event) {
|
|||
drawEventSave(message);
|
||||
} else if (message.event === 'export') {
|
||||
drawEventExport(message);
|
||||
} else if (message.event === 'configure') {
|
||||
drawEventConfigure();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -63,6 +65,12 @@ function drawEventInit() {
|
|||
});
|
||||
}
|
||||
|
||||
function drawEventConfigure() {
|
||||
const config = {};
|
||||
window.$events.emitPublic(iFrame, 'editor-drawio::configure', {config});
|
||||
drawPostMessage({action: 'configure', config});
|
||||
}
|
||||
|
||||
function drawEventClose() {
|
||||
window.removeEventListener('message', drawReceive);
|
||||
if (iFrame) document.body.removeChild(iFrame);
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'تم خفظ المسودة في ',
|
||||
'pages_edit_delete_draft' => 'حذف المسودة',
|
||||
'pages_edit_discard_draft' => 'التخلص من المسودة',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'تثبيت سجل التعديل',
|
||||
'pages_edit_enter_changelog_desc' => 'ضع وصف مختصر للتعديلات التي تمت',
|
||||
'pages_edit_enter_changelog' => 'أدخل سجل التعديل',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'حفظ الصفحة',
|
||||
'pages_title' => 'عنوان الصفحة',
|
||||
'pages_name' => 'اسم الصفحة',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'مراجعة #:id',
|
||||
'pages_revisions_numbered_changes' => 'مراجعة #: رقم تعريفي التغييرات',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'سجل التعديل',
|
||||
'pages_revisions_changes' => 'التعديلات',
|
||||
'pages_revisions_current' => 'النسخة الحالية',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'تفعيل حماية أكبر لرفع الصور؟',
|
||||
'app_secure_images_toggle' => 'لمزيد من الحماية',
|
||||
'app_secure_images_desc' => 'لتحسين أداء النظام, ستكون جميع الصور متاحة للعامة. هذا الخيار يضيف سلسلة من الحروف والأرقام العشوائية صعبة التخمين إلى رابط الصورة. الرجاء التأكد من تعطيل فهرسة المسارات لمنع الوصول السهل.',
|
||||
'app_editor' => 'محرر الصفحة',
|
||||
'app_editor_desc' => 'الرجاء اختيار محرر النص الذي سيستخدم من قبل جميع المستخدمين لتحرير الصفحات.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Custom HTML head content',
|
||||
'app_custom_html_desc' => 'سيتم إدراج أي محتوى مضاف هنا في الجزء السفلي من قسم <head> من كل صفحة. هذا أمر مفيد لتجاوز الأنماط أو إضافة رمز التحليل.',
|
||||
'app_custom_html_disabled_notice' => 'تم تعطيل محتوى HTML الرئيسي المخصص في صفحة الإعدادات هذه لضمان عكس أي تغييرات متتالية.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'الوصول إلى واجهة برمجة تطبيقات النظام API',
|
||||
'role_manage_settings' => 'إدارة إعدادات التطبيق',
|
||||
'role_export_content' => 'Export content',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'أذونات الأصول',
|
||||
'roles_system_warning' => 'اعلم أن الوصول إلى أي من الأذونات الثلاثة المذكورة أعلاه يمكن أن يسمح للمستخدم بتغيير امتيازاته الخاصة أو امتيازات الآخرين في النظام. قم بتعيين الأدوار مع هذه الأذونات فقط للمستخدمين الموثوق بهم.',
|
||||
'role_asset_desc' => 'تتحكم هذه الأذونات في الوصول الافتراضي إلى الأصول داخل النظام. ستتجاوز الأذونات الخاصة بالكتب والفصول والصفحات هذه الأذونات.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Черновата е запазена в ',
|
||||
'pages_edit_delete_draft' => 'Изтрий чернова',
|
||||
'pages_edit_discard_draft' => 'Отхвърляне на черновата',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Задайте регистър на промените',
|
||||
'pages_edit_enter_changelog_desc' => 'Въведете кратко резюме на промените, които сте създали',
|
||||
'pages_edit_enter_changelog' => 'Въведи регистър на промените',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Запазване на страницата',
|
||||
'pages_title' => 'Заглавие на страницата',
|
||||
'pages_name' => 'Име на страницата',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '№',
|
||||
'pages_revisions_numbered' => 'Ревизия №:id',
|
||||
'pages_revisions_numbered_changes' => 'Ревизия №:id Промени',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'История на промените',
|
||||
'pages_revisions_changes' => 'Промени',
|
||||
'pages_revisions_current' => 'Текуща версия',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'По-висока сигурност при качване на изображения',
|
||||
'app_secure_images_toggle' => 'Активиране на по-висока сигурност при качване на изображения',
|
||||
'app_secure_images_desc' => 'С цел производителност, всички изображения са публични. Тази настройка добавя случаен, труден за отгатване низ от символи пред линка на изображението. Подсигурете, че индексите на директорията не са включени за да предотвратите лесен достъп.',
|
||||
'app_editor' => 'Редактор на страница',
|
||||
'app_editor_desc' => 'Изберете кой редактор да се използва от всички потребители за да редактират страници.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Персонализирано съдържание на HTML шапката',
|
||||
'app_custom_html_desc' => 'Всяко съдържание, добавено тук, ще бъде поставено в долната част на секцията <head> на всяка страница. Това е удобно за преобладаващи стилове или добавяне на код за анализ.',
|
||||
'app_custom_html_disabled_notice' => 'Съдържанието на персонализираната HTML шапка е деактивирано на страницата с настройки, за да се гарантира, че евентуални лоши промени могат да бъдат върнати.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Достъп до API на системата',
|
||||
'role_manage_settings' => 'Управление на настройките на приложението',
|
||||
'role_export_content' => 'Експортирай съдържанието',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Настройки за достъп до активи',
|
||||
'roles_system_warning' => 'Важно: Добавянето на потребител в някое от горните три роли може да му позволи да промени собствените си права или правата на другите в системата. Възлагайте тези роли само на доверени потребители.',
|
||||
'role_asset_desc' => 'Тези настройки за достъп контролират достъпа по подразбиране до активите в системата. Настройките за достъп до книги, глави и страници ще отменят тези настройки.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Draft saved at ',
|
||||
'pages_edit_delete_draft' => 'Delete Draft',
|
||||
'pages_edit_discard_draft' => 'Discard Draft',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Set Changelog',
|
||||
'pages_edit_enter_changelog_desc' => 'Enter a brief description of the changes you\'ve made',
|
||||
'pages_edit_enter_changelog' => 'Enter Changelog',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Save Page',
|
||||
'pages_title' => 'Page Title',
|
||||
'pages_name' => 'Page Name',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revision #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revision #:id Changes',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Changelog',
|
||||
'pages_revisions_changes' => 'Changes',
|
||||
'pages_revisions_current' => 'Trenutna verzija',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Higher Security Image Uploads',
|
||||
'app_secure_images_toggle' => 'Enable higher security image uploads',
|
||||
'app_secure_images_desc' => 'For performance reasons, all images are public. This option adds a random, hard-to-guess string in front of image urls. Ensure directory indexes are not enabled to prevent easy access.',
|
||||
'app_editor' => 'Page Editor',
|
||||
'app_editor_desc' => 'Select which editor will be used by all users to edit pages.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Custom HTML Head Content',
|
||||
'app_custom_html_desc' => 'Any content added here will be inserted into the bottom of the <head> section of every page. This is handy for overriding styles or adding analytics code.',
|
||||
'app_custom_html_disabled_notice' => 'Custom HTML head content is disabled on this settings page to ensure any breaking changes can be reverted.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Access system API',
|
||||
'role_manage_settings' => 'Manage app settings',
|
||||
'role_export_content' => 'Export content',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Asset Permissions',
|
||||
'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.',
|
||||
'role_asset_desc' => 'These permissions control default access to the assets within the system. Permissions on Books, Chapters and Pages will override these permissions.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Esborrany desat ',
|
||||
'pages_edit_delete_draft' => 'Suprimeix l\'esborrany',
|
||||
'pages_edit_discard_draft' => 'Descarta l\'esborrany',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Defineix el registre de canvis',
|
||||
'pages_edit_enter_changelog_desc' => 'Introduïu una breu descripció dels canvis que heu fet',
|
||||
'pages_edit_enter_changelog' => 'Introduïu un registre de canvis',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Desa la pàgina',
|
||||
'pages_title' => 'Títol de la pàgina',
|
||||
'pages_name' => 'Nom de la pàgina',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => 'Núm. ',
|
||||
'pages_revisions_numbered' => 'Revisió núm. :id',
|
||||
'pages_revisions_numbered_changes' => 'Canvis de la revisió núm. :id',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Registre de canvis',
|
||||
'pages_revisions_changes' => 'Canvis',
|
||||
'pages_revisions_current' => 'Versió actual',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Pujades d\'imatges amb més seguretat',
|
||||
'app_secure_images_toggle' => 'Activa les pujades d\'imatges amb més seguretat',
|
||||
'app_secure_images_desc' => 'Per motius de rendiment, totes les imatges són públiques. Aquesta opció afegeix una cadena aleatòria i difícil d\'endevinar al davant dels URL d\'imatges. Assegureu-vos que els índexs de directoris no estiguin activats per a evitar-hi l\'accés de manera fàcil.',
|
||||
'app_editor' => 'Editor de pàgines',
|
||||
'app_editor_desc' => 'Seleccioneu quin editor faran servir tots els usuaris per a editar les pàgines.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Contingut personalitzat a la capçalera HTML',
|
||||
'app_custom_html_desc' => 'Aquí podeu afegir contingut que s\'inserirà a la part final de la secció <head> de cada pàgina. És útil per a sobreescriure estils o afegir-hi codi d\'analítiques.',
|
||||
'app_custom_html_disabled_notice' => 'El contingut personalitzat a la capçalera HTML es desactiva en aquesta pàgina de la configuració per a assegurar que qualsevol canvi que trenqui el web es pugui desfer.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Accedeix a l\'API del sistema',
|
||||
'role_manage_settings' => 'Gestiona la configuració de l\'aplicació',
|
||||
'role_export_content' => 'Export content',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Permisos de recursos',
|
||||
'roles_system_warning' => 'Tingueu en compte que l\'accés a qualsevol dels tres permisos de dalt pot permetre que un usuari alteri els seus propis permisos o els privilegis d\'altres usuaris del sistema. Assigneu rols amb aquests permisos només a usuaris de confiança.',
|
||||
'role_asset_desc' => 'Aquests permisos controlen l\'accés per defecte als recursos del sistema. Els permisos de llibres, capítols i pàgines tindran més importància que aquests permisos.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Koncept uložen v ',
|
||||
'pages_edit_delete_draft' => 'Odstranit koncept',
|
||||
'pages_edit_discard_draft' => 'Zahodit koncept',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Nastavit protokol změn',
|
||||
'pages_edit_enter_changelog_desc' => 'Zadejte stručný popis změn, které jste provedli',
|
||||
'pages_edit_enter_changelog' => 'Zadejte protokol změn',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Uložit stránku',
|
||||
'pages_title' => 'Nadpis stránky',
|
||||
'pages_name' => 'Název stránky',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => 'Č. ',
|
||||
'pages_revisions_numbered' => 'Revize č. :id',
|
||||
'pages_revisions_numbered_changes' => 'Změny revize č. :id',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Protokol změn',
|
||||
'pages_revisions_changes' => 'Změny',
|
||||
'pages_revisions_current' => 'Aktuální verze',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Nahrávat obrázky neveřejně a zabezpečeně',
|
||||
'app_secure_images_toggle' => 'Zapnout bezpečnější nahrávání obrázků',
|
||||
'app_secure_images_desc' => 'Z výkonnostních důvodů jsou všechny obrázky veřejně dostupné. Tato volba přidá do adresy obrázku náhodný řetězec, aby nikdo neodhadnul adresu obrázku. Ujistěte se, že server nezobrazuje v adresáři seznam souborů, což by přístup k přístup opět otevřelo.',
|
||||
'app_editor' => 'Editor stránek',
|
||||
'app_editor_desc' => 'Zvolte který editor budou užívat všichni uživatelé k úpravě stránek.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Vlastní obsah hlavičky HTML',
|
||||
'app_custom_html_desc' => 'Cokoliv sem napíšete bude přidáno na konec sekce <head> v každém místě této aplikace. To se hodí pro přidávání nebo změnu CSS stylů nebo přidání kódu pro analýzu používání (např.: google analytics.).',
|
||||
'app_custom_html_disabled_notice' => 'Na této stránce nastavení je zakázán vlastní obsah HTML hlavičky, aby bylo zajištěno, že bude možné vrátit případnou problematickou úpravu.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Přístup k systémovému API',
|
||||
'role_manage_settings' => 'Správa nastavení aplikace',
|
||||
'role_export_content' => 'Exportovat obsah',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Obsahová oprávnění',
|
||||
'roles_system_warning' => 'Berte na vědomí, že přístup k některému ze tří výše uvedených oprávnění může uživateli umožnit změnit svá vlastní oprávnění nebo oprávnění ostatních uživatelů v systému. Přiřazujte role s těmito oprávněními pouze důvěryhodným uživatelům.',
|
||||
'role_asset_desc' => 'Tato oprávnění řídí přístup k obsahu napříč systémem. Specifická oprávnění na knihách, kapitolách a stránkách převáží tato nastavení.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Kladde gemt ved ',
|
||||
'pages_edit_delete_draft' => 'Slet kladde',
|
||||
'pages_edit_discard_draft' => 'Kassér kladde',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Sæt ændringsoversigt',
|
||||
'pages_edit_enter_changelog_desc' => 'Indtast en kort beskrivelse af ændringer du har lavet',
|
||||
'pages_edit_enter_changelog' => 'Indtast ændringsoversigt',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Gem siden',
|
||||
'pages_title' => 'Overskrift',
|
||||
'pages_name' => 'Sidenavn',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revision #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revision #:id ændringer',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Ændringsoversigt',
|
||||
'pages_revisions_changes' => 'Ændringer',
|
||||
'pages_revisions_current' => 'Nuværende version',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Højere sikkerhed for billeduploads',
|
||||
'app_secure_images_toggle' => 'Aktiver højere sikkerhed for billeduploads',
|
||||
'app_secure_images_desc' => 'Af performanceårsager er alle billeder offentlige. Denne funktion tilføjer en tilfældig, vanskelig at gætte streng foran billed-url\'er. Sørg for, at mappeindeksering ikke er aktiveret for at forhindre nem adgang.',
|
||||
'app_editor' => 'Sideeditor',
|
||||
'app_editor_desc' => 'Vælg hvilken editor der skal bruges af alle brugere til at redigere sider.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Tilpasset HTML head indhold',
|
||||
'app_custom_html_desc' => 'Alt indhold tilføjet her, vil blive indsat i bunden af <head> sektionen på alle sider. Dette er brugbart til overskrivning af styles og tilføjelse af analytics kode.',
|
||||
'app_custom_html_disabled_notice' => 'Brugerdefineret HTML head indhold er deaktiveret på denne indstillingsside for at, at ændringer kan rulles tilbage.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Tilgå system-API',
|
||||
'role_manage_settings' => 'Administrer app-indstillinger',
|
||||
'role_export_content' => 'Eksporter indhold',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Tilladelser for medier og "assets"',
|
||||
'roles_system_warning' => 'Vær opmærksom på, at adgang til alle af de ovennævnte tre tilladelser, kan give en bruger mulighed for at ændre deres egne brugerrettigheder eller brugerrettigheder for andre i systemet. Tildel kun roller med disse tilladelser til betroede brugere.',
|
||||
'role_asset_desc' => 'Disse tilladelser kontrollerer standardadgang til medier og "assets" i systemet. Tilladelser til bøger, kapitler og sider tilsidesætter disse tilladelser.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Entwurf gespeichert um ',
|
||||
'pages_edit_delete_draft' => 'Entwurf löschen',
|
||||
'pages_edit_discard_draft' => 'Entwurf verwerfen',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Änderungsprotokoll hinzufügen',
|
||||
'pages_edit_enter_changelog_desc' => 'Bitte geben Sie eine kurze Zusammenfassung Ihrer Änderungen ein',
|
||||
'pages_edit_enter_changelog' => 'Änderungsprotokoll eingeben',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Seite speichern',
|
||||
'pages_title' => 'Seitentitel',
|
||||
'pages_name' => 'Seitenname',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revision #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revision #:id Änderungen',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Änderungsprotokoll',
|
||||
'pages_revisions_changes' => 'Änderungen',
|
||||
'pages_revisions_current' => 'Aktuelle Version',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Erhöhte Sicherheit für hochgeladene Bilder aktivieren?',
|
||||
'app_secure_images_toggle' => 'Aktiviere Bild-Upload höherer Sicherheit',
|
||||
'app_secure_images_desc' => 'Aus Leistungsgründen sind alle Bilder öffentlich sichtbar. Diese Option fügt zufällige, schwer zu eratene, Zeichenketten zu Bild-URLs hinzu. Stellen sie sicher, dass Verzeichnisindizes deaktiviert sind, um einen einfachen Zugriff zu verhindern.',
|
||||
'app_editor' => 'Seiteneditor',
|
||||
'app_editor_desc' => 'Wählen Sie den Editor aus, der von allen Benutzern genutzt werden soll, um Seiten zu editieren.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Benutzerdefinierter HTML <head> Inhalt',
|
||||
'app_custom_html_desc' => 'Jeder Inhalt, der hier hinzugefügt wird, wird am Ende der <head> Sektion jeder Seite eingefügt. Diese kann praktisch sein, um CSS Styles anzupassen oder Analytics-Code hinzuzufügen.',
|
||||
'app_custom_html_disabled_notice' => 'Benutzerdefinierte HTML-Kopfzeileninhalte sind auf dieser Einstellungsseite deaktiviert, um sicherzustellen, dass alle Änderungen rückgängig gemacht werden können.',
|
||||
|
@ -155,6 +155,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
|
|||
'role_access_api' => 'Systemzugriffs-API',
|
||||
'role_manage_settings' => 'Globaleinstellungen verwalten',
|
||||
'role_export_content' => 'Inhalt exportieren',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Berechtigungen',
|
||||
'roles_system_warning' => 'Beachten Sie, dass der Zugriff auf eine der oben genannten drei Berechtigungen einem Benutzer erlauben kann, seine eigenen Berechtigungen oder die Rechte anderer im System zu ändern. Weisen Sie nur Rollen, mit diesen Berechtigungen, vertrauenswürdigen Benutzern zu.',
|
||||
'role_asset_desc' => 'Diese Berechtigungen gelten für den Standard-Zugriff innerhalb des Systems. Berechtigungen für Bücher, Kapitel und Seiten überschreiben diese Berechtigungenen.',
|
||||
|
@ -202,7 +203,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
|
|||
'users_social_accounts' => 'Social-Media Konten',
|
||||
'users_social_accounts_info' => 'Hier können Sie andere Social-Media-Konten für eine schnellere und einfachere Anmeldung verknüpfen. Wenn Sie ein Social-Media Konto lösen, bleibt der Zugriff erhalten. Entfernen Sie in diesem Falle die Berechtigung in Ihren Profil-Einstellungen des verknüpften Social-Media-Kontos.',
|
||||
'users_social_connect' => 'Social-Media-Konto verknüpfen',
|
||||
'users_social_disconnect' => 'Social-Media-Konto lösen',
|
||||
'users_social_disconnect' => 'Social-Media-Konto löschen',
|
||||
'users_social_connected' => ':socialAccount-Konto wurde erfolgreich mit dem Profil verknüpft.',
|
||||
'users_social_disconnected' => ':socialAccount-Konto wurde erfolgreich vom Profil gelöst.',
|
||||
'users_api_tokens' => 'API-Token',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Entwurf gespeichert um ',
|
||||
'pages_edit_delete_draft' => 'Entwurf löschen',
|
||||
'pages_edit_discard_draft' => 'Entwurf verwerfen',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Änderungsprotokoll hinzufügen',
|
||||
'pages_edit_enter_changelog_desc' => 'Bitte gib eine kurze Zusammenfassung Deiner Änderungen ein',
|
||||
'pages_edit_enter_changelog' => 'Änderungsprotokoll eingeben',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Seite speichern',
|
||||
'pages_title' => 'Seitentitel',
|
||||
'pages_name' => 'Seitenname',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revision #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revision #:id Änderungen',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Änderungsprotokoll',
|
||||
'pages_revisions_changes' => 'Änderungen',
|
||||
'pages_revisions_current' => 'Aktuelle Version',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Erhöhte Sicherheit für hochgeladene Bilder aktivieren?',
|
||||
'app_secure_images_toggle' => 'Aktiviere Bild-Upload mit höherer Sicherheit',
|
||||
'app_secure_images_desc' => 'Aus Leistungsgründen sind alle Bilder öffentlich sichtbar. Diese Option fügt zufällige, schwer zu eratene, Zeichenketten zu Bild-URLs hinzu. Stellen sie sicher, dass Verzeichnisindizes deaktiviert sind, um einen einfachen Zugriff zu verhindern.',
|
||||
'app_editor' => 'Seiteneditor',
|
||||
'app_editor_desc' => 'Wähle den Editor aus, der von allen Benutzern genutzt werden soll, um Seiten zu editieren.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Benutzerdefinierter HTML <head> Inhalt',
|
||||
'app_custom_html_desc' => 'Jeder Inhalt, der hier hinzugefügt wird, wird am Ende der <head> Sektion jeder Seite eingefügt. Diese kann praktisch sein, um CSS Styles anzupassen oder Analytics-Code hinzuzufügen.',
|
||||
'app_custom_html_disabled_notice' => 'Benutzerdefinierte HTML-Kopfzeileninhalte sind auf dieser Einstellungsseite deaktiviert, um sicherzustellen, dass alle Änderungen rückgängig gemacht werden können.',
|
||||
|
@ -155,6 +155,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
|
|||
'role_access_api' => 'Systemzugriffs-API',
|
||||
'role_manage_settings' => 'Globaleinstellungen verwalten',
|
||||
'role_export_content' => 'Inhalt exportieren',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Berechtigungen',
|
||||
'roles_system_warning' => 'Beachten Sie, dass der Zugriff auf eine der oben genannten drei Berechtigungen einem Benutzer erlauben kann, seine eigenen Berechtigungen oder die Rechte anderer im System zu ändern. Weisen Sie nur Rollen, mit diesen Berechtigungen, vertrauenswürdigen Benutzern zu.',
|
||||
'role_asset_desc' => 'Diese Berechtigungen gelten für den Standard-Zugriff innerhalb des Systems. Berechtigungen für Bücher, Kapitel und Seiten überschreiben diese Berechtigungenen.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Draft saved at ',
|
||||
'pages_edit_delete_draft' => 'Delete Draft',
|
||||
'pages_edit_discard_draft' => 'Discard Draft',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Set Changelog',
|
||||
'pages_edit_enter_changelog_desc' => 'Enter a brief description of the changes you\'ve made',
|
||||
'pages_edit_enter_changelog' => 'Enter Changelog',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Save Page',
|
||||
'pages_title' => 'Page Title',
|
||||
'pages_name' => 'Page Name',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revision #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revision #:id Changes',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Changelog',
|
||||
'pages_revisions_changes' => 'Changes',
|
||||
'pages_revisions_current' => 'Current Version',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Higher Security Image Uploads',
|
||||
'app_secure_images_toggle' => 'Enable higher security image uploads',
|
||||
'app_secure_images_desc' => 'For performance reasons, all images are public. This option adds a random, hard-to-guess string in front of image urls. Ensure directory indexes are not enabled to prevent easy access.',
|
||||
'app_editor' => 'Page Editor',
|
||||
'app_editor_desc' => 'Select which editor will be used by all users to edit pages.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Custom HTML Head Content',
|
||||
'app_custom_html_desc' => 'Any content added here will be inserted into the bottom of the <head> section of every page. This is handy for overriding styles or adding analytics code.',
|
||||
'app_custom_html_disabled_notice' => 'Custom HTML head content is disabled on this settings page to ensure any breaking changes can be reverted.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Access system API',
|
||||
'role_manage_settings' => 'Manage app settings',
|
||||
'role_export_content' => 'Export content',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Asset Permissions',
|
||||
'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.',
|
||||
'role_asset_desc' => 'These permissions control default access to the assets within the system. Permissions on Books, Chapters and Pages will override these permissions.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Borrador guardado ',
|
||||
'pages_edit_delete_draft' => 'Borrar borrador',
|
||||
'pages_edit_discard_draft' => 'Descartar borrador',
|
||||
'pages_edit_switch_to_markdown' => 'Cambiar a Editor Markdown',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Limpiar Contenido)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Contenido Estable)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Cambiar a Editor WYSIWYG',
|
||||
'pages_edit_set_changelog' => 'Ajustar Log de cambios',
|
||||
'pages_edit_enter_changelog_desc' => 'Introduzca una breve descripción de los cambios que ha realizado',
|
||||
'pages_edit_enter_changelog' => 'Entrar al Log de cambios',
|
||||
'pages_editor_switch_title' => 'Cambiar editor',
|
||||
'pages_editor_switch_are_you_sure' => '¿Está seguro de que desea cambiar el editor de esta página?',
|
||||
'pages_editor_switch_consider_following' => 'Considere lo siguiente al cambiar de editor:',
|
||||
'pages_editor_switch_consideration_a' => 'Una vez guardado, el nuevo editor será utilizado por cualquier usuario en el futuro, incluyendo aquellos que no puedan cambiar el tipo de editor por sí mismos.',
|
||||
'pages_editor_switch_consideration_b' => 'Esto puede llevar a una pérdida de detalle y sintaxis en ciertas circunstancias.',
|
||||
'pages_editor_switch_consideration_c' => 'Cambios en etiquetas o en el registro de cambios, realizados desde el último guardado, no persistirán a través de este cambio.',
|
||||
'pages_save' => 'Guardar página',
|
||||
'pages_title' => 'Título de página',
|
||||
'pages_name' => 'Nombre de página',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revisión #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revisión #:id Cambios',
|
||||
'pages_revisions_editor' => 'Tipo de Editor',
|
||||
'pages_revisions_changelog' => 'Log de cambios',
|
||||
'pages_revisions_changes' => 'Cambios',
|
||||
'pages_revisions_current' => 'Versión actual',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Mayor seguridad para subir imágenes',
|
||||
'app_secure_images_toggle' => 'Habilitar mayor seguridad en la subida de imágenes',
|
||||
'app_secure_images_desc' => 'Por razones de rendimiento, todas las imágenes son públicas. Esta opción agrega una cadena de texto larga difícil de adivinar. Asegúrese que los índices de directorio no están habilitados para evitar el acceso fácil a las imágenes.',
|
||||
'app_editor' => 'Editor de Páginas',
|
||||
'app_editor_desc' => 'Seleccione qué editor se usará por todos los usuarios para editar páginas.',
|
||||
'app_default_editor' => 'Editor de Página por defecto',
|
||||
'app_default_editor_desc' => 'Seleccione qué editor se utilizará por defecto cuando se editen nuevas páginas. Esto se puede anular a nivel de página si los permisos lo permiten.',
|
||||
'app_custom_html' => 'Contenido de cabecera HTML personalizado',
|
||||
'app_custom_html_desc' => 'Cualquier contenido agregado aquí será insertado al final de la sección <head> de cada página. Esto es útil para sobreescribir estilos o agregar código para analíticas web.',
|
||||
'app_custom_html_disabled_notice' => 'El contenido personalizado para la cabecera está deshabilitado en esta página de ajustes para permitir que cualquier cambio que rompa la funcionalidad pueda ser revertido.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'API de sistema de acceso',
|
||||
'role_manage_settings' => 'Gestionar ajustes de la aplicación',
|
||||
'role_export_content' => 'Exportar contenido',
|
||||
'role_editor_change' => 'Cambiar editor de página',
|
||||
'role_asset' => 'Permisos de contenido',
|
||||
'roles_system_warning' => 'Tenga en cuenta que el acceso a cualquiera de los tres permisos anteriores puede permitir a un usuario alterar sus propios privilegios o los privilegios de otros en el sistema. Sólo asignar roles con estos permisos a usuarios de confianza.',
|
||||
'role_asset_desc' => 'Estos permisos controlan el acceso por defecto a los contenidos del sistema. Los permisos de Libros, Capítulos y Páginas sobreescribiran estos permisos.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Borrador guardado el ',
|
||||
'pages_edit_delete_draft' => 'Borrar borrador',
|
||||
'pages_edit_discard_draft' => 'Descartar borrador',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Establecer cambios de registro',
|
||||
'pages_edit_enter_changelog_desc' => 'Introduzca una breve descripción de los cambios que ha realizado',
|
||||
'pages_edit_enter_changelog' => 'Entrar en cambio de registro',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Guardar página',
|
||||
'pages_title' => 'Título de página',
|
||||
'pages_name' => 'Nombre de página',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revisión #:id',
|
||||
'pages_revisions_numbered_changes' => 'Cambios de Revisión #:id',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Registro de cambios',
|
||||
'pages_revisions_changes' => 'Cambios',
|
||||
'pages_revisions_current' => 'Versión actual',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => '¿Habilitar mayor seguridad para subir imágenes?',
|
||||
'app_secure_images_toggle' => 'Habilitar seguridad alta para subir imágenes',
|
||||
'app_secure_images_desc' => 'Por razones de rendimiento, todas las imágenes son públicas. Esta opción agrega una cadena larga difícil de adivinar, asegúrese que los índices de directorios no están habilitados para prevenir el acceso fácil a las imágenes.',
|
||||
'app_editor' => 'Editor de página',
|
||||
'app_editor_desc' => 'Seleccione cuál editor será usado por todos los usuarios para editar páginas.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Contenido de cabecera HTML personalizable',
|
||||
'app_custom_html_desc' => 'Cualquier contenido agregado aquí será agregado al final de la sección <head> de cada página. Esto es útil para sobreescribir estilos o agregar código para analíticas.',
|
||||
'app_custom_html_disabled_notice' => 'El contenido personailzado para la cabecera HTML está deshabilitado en esta configuración para garantizar que cualquier cambio importante se pueda revertir.',
|
||||
|
@ -153,6 +153,7 @@ return [
|
|||
'role_access_api' => 'API de sistema de acceso',
|
||||
'role_manage_settings' => 'Gestionar ajustes de activos',
|
||||
'role_export_content' => 'Exportar contenido',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Permisos de activos',
|
||||
'roles_system_warning' => 'Tenga en cuenta que el acceso a cualquiera de los tres permisos anteriores puede permitir a un usuario modificar sus propios privilegios o los privilegios de otros usuarios en el sistema. Asignar roles con estos permisos sólo a usuarios de comfianza.',
|
||||
'role_asset_desc' => 'Estos permisos controlan el acceso por defecto a los activos del sistema. Permisos definidos en Libros, Capítulos y Páginas ignorarán estos permisos.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Mustand salvestatud ',
|
||||
'pages_edit_delete_draft' => 'Kustuta mustand',
|
||||
'pages_edit_discard_draft' => 'Loobu mustandist',
|
||||
'pages_edit_switch_to_markdown' => 'Kasuta Markdown redaktorit',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Puhas sisu)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stabiilne sisu)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Kasuta WYSIWYG redaktorit',
|
||||
'pages_edit_set_changelog' => 'Muudatuste logi',
|
||||
'pages_edit_enter_changelog_desc' => 'Sisesta tehtud muudatuste lühikirjeldus',
|
||||
'pages_edit_enter_changelog' => 'Salvesta muudatuste logi',
|
||||
'pages_editor_switch_title' => 'Vaheta redaktorit',
|
||||
'pages_editor_switch_are_you_sure' => 'Kas oled kindel, et soovid selle lehe redaktorit muuta?',
|
||||
'pages_editor_switch_consider_following' => 'Redaktori muutmisel pea meeles järgnevat:',
|
||||
'pages_editor_switch_consideration_a' => 'Pärast salvestamist kasutatakse valitud redaktorit ka tulevikus, sh. olukordades, kus ei pruugi olla võimalik redaktori tüüpi muuta.',
|
||||
'pages_editor_switch_consideration_b' => 'See võib teatud olukordades põhjustada detailide ja süntaksi kaotsiminekut.',
|
||||
'pages_editor_switch_consideration_c' => 'Viimasest salvestamisest saadik tehtud siltide ja muudatuste logi muudatused ei jää alles.',
|
||||
'pages_save' => 'Salvesta leht',
|
||||
'pages_title' => 'Lehe pealkiri',
|
||||
'pages_name' => 'Lehe nimetus',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Redaktsioon #:id',
|
||||
'pages_revisions_numbered_changes' => 'Redaktsiooni #:id muudatused',
|
||||
'pages_revisions_editor' => 'Redaktori tüüp',
|
||||
'pages_revisions_changelog' => 'Muudatuste ajalugu',
|
||||
'pages_revisions_changes' => 'Muudatused',
|
||||
'pages_revisions_current' => 'Praegune versioon',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Turvalisem piltide üleslaadimine',
|
||||
'app_secure_images_toggle' => 'Lülita sisse turvalisem piltide üleslaadimine',
|
||||
'app_secure_images_desc' => 'Jõudluse kaalutlustel on kõik pildifailid avalikult kättesaadavad. See valik lisab pildifailide URL-ide ette juhugenereeritud, raskesti arvatava stringi. Ligipääsu piiramiseks veendu, et kataloogide indekseerimine ei oleks lubatud.',
|
||||
'app_editor' => 'Redaktor',
|
||||
'app_editor_desc' => 'Vali, millist redaktorit kasutajad lehtede muutmiseks kasutavad.',
|
||||
'app_default_editor' => 'Vaikimisi lehe redaktor',
|
||||
'app_default_editor_desc' => 'Vali, millist redaktorit vaikimisi uute lehtede jaoks kasutada. Seda valikut saab õiguste olemasolul iga lehe jaoks eraldi muuta.',
|
||||
'app_custom_html' => 'Kohandatud HTML päise sisu',
|
||||
'app_custom_html_desc' => 'Siia lisatud sisu lisatakse iga lehe <head> sektsiooni lõppu. See võimaldab stiile üle laadida või lisada analüütika koodi.',
|
||||
'app_custom_html_disabled_notice' => 'Kohandatud HTML päise sisu on sellel lehel välja lülitatud, et probleemseid muudatusi saaks tagasi võtta.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Süsteemi API ligipääs',
|
||||
'role_manage_settings' => 'Rakenduse seadete haldamine',
|
||||
'role_export_content' => 'Sisu eksport',
|
||||
'role_editor_change' => 'Lehe redaktori muutmine',
|
||||
'role_asset' => 'Sisu õigused',
|
||||
'roles_system_warning' => 'Pane tähele, et ülalolevad kolm õigust võimaldavad kasutajal enda või teiste kasutajate õiguseid muuta. Määra nende õigustega roll ainult usaldusväärsetele kasutajatele.',
|
||||
'role_asset_desc' => 'Need load kontrollivad vaikimisi ligipääsu süsteemis olevale sisule. Raamatute, peatükkide ja lehtede õigused rakenduvad esmajärjekorras.',
|
||||
|
|
|
@ -24,7 +24,7 @@ return [
|
|||
'width' => 'Zabalera',
|
||||
'height' => 'Altuera',
|
||||
'More' => 'Gehiago',
|
||||
'select' => 'Select...',
|
||||
'select' => 'Aukeratu...',
|
||||
|
||||
// Toolbar
|
||||
'formats' => 'Formatuak',
|
||||
|
@ -53,33 +53,33 @@ return [
|
|||
'align_left' => 'Lerrokatu ezkerrean',
|
||||
'align_center' => 'Lerrokatu erdian',
|
||||
'align_right' => 'Lerrokatu eskuinean',
|
||||
'align_justify' => 'Justify',
|
||||
'align_justify' => 'Justifikatuta',
|
||||
'list_bullet' => 'Buletdun zerrenda',
|
||||
'list_numbered' => 'Zenbakitutako zerrenda',
|
||||
'list_task' => 'Task list',
|
||||
'list_task' => 'Zereginen zerrenda',
|
||||
'indent_increase' => 'Handitu koska',
|
||||
'indent_decrease' => 'Txikitu koska',
|
||||
'table' => 'Taula',
|
||||
'insert_image' => 'Irudia txertatu',
|
||||
'insert_image_title' => 'Insert/Edit Image',
|
||||
'insert_link' => 'Insert/edit link',
|
||||
'insert_link_title' => 'Insert/Edit Link',
|
||||
'insert_horizontal_line' => 'Insert horizontal line',
|
||||
'insert_code_block' => 'Insert code block',
|
||||
'insert_drawing' => 'Insert/edit drawing',
|
||||
'drawing_manager' => 'Drawing manager',
|
||||
'insert_media' => 'Insert/edit media',
|
||||
'insert_media_title' => 'Insert/Edit Media',
|
||||
'clear_formatting' => 'Clear formatting',
|
||||
'source_code' => 'Source code',
|
||||
'source_code_title' => 'Source Code',
|
||||
'fullscreen' => 'Fullscreen',
|
||||
'image_options' => 'Image options',
|
||||
'insert_image_title' => 'Aldatu/Txertatu irudia',
|
||||
'insert_link' => 'Txertatu/aldatu esteka',
|
||||
'insert_link_title' => 'Txertatu/Aldatu esteka',
|
||||
'insert_horizontal_line' => 'Txertatu linea horizontala',
|
||||
'insert_code_block' => 'Txertatu kode-blokea',
|
||||
'insert_drawing' => 'Txertatu marrazki berria',
|
||||
'drawing_manager' => 'Marrazki kudeaketa',
|
||||
'insert_media' => 'Txertatu/aldatu media',
|
||||
'insert_media_title' => 'Aldatu/Txertatu irudia',
|
||||
'clear_formatting' => 'Garbitu formatua',
|
||||
'source_code' => 'Iturburu kodea',
|
||||
'source_code_title' => 'Iturburu kodea',
|
||||
'fullscreen' => 'Pantaila osoa',
|
||||
'image_options' => 'Irudiaren aukerak',
|
||||
|
||||
// Tables
|
||||
'table_properties' => 'Table properties',
|
||||
'table_properties_title' => 'Table Properties',
|
||||
'delete_table' => 'Delete table',
|
||||
'table_properties' => 'Taularen propietateak',
|
||||
'table_properties_title' => 'Taularen propietateak',
|
||||
'delete_table' => 'Ezabatu taula',
|
||||
'insert_row_before' => 'Insert row before',
|
||||
'insert_row_after' => 'Insert row after',
|
||||
'delete_row' => 'Delete row',
|
||||
|
|
|
@ -29,184 +29,194 @@ return [
|
|||
'my_recently_viewed' => 'Nik Ikusitako azkenak',
|
||||
'my_most_viewed_favourites' => 'Nire gehien ikusitako gogokoak',
|
||||
'my_favourites' => 'Nire Gogokoenak',
|
||||
'no_pages_viewed' => 'You have not viewed any pages',
|
||||
'no_pages_viewed' => 'Ez daukazu ikusiriko orririk',
|
||||
'no_pages_recently_created' => 'Ez da orrialderik sortu azkenaldian',
|
||||
'no_pages_recently_updated' => 'Ez da orrialderik aldatu azkenaldian',
|
||||
'export' => 'Esportatu',
|
||||
'export_html' => 'Contained Web File',
|
||||
'export_html' => 'Daukan web artxiboa',
|
||||
'export_pdf' => 'PDF fitxategia',
|
||||
'export_text' => 'Testu lauko fitxategiak',
|
||||
'export_md' => 'Markdown File',
|
||||
'export_md' => 'Markdown fitxategia',
|
||||
|
||||
// Permissions and restrictions
|
||||
'permissions' => 'Baimenak',
|
||||
'permissions_intro' => 'Once enabled, These permissions will take priority over any set role permissions.',
|
||||
'permissions_intro' => 'Behin hau aktibatuta, baimen hauek lehentasuna izango dute beste edozein rol-engainetik.',
|
||||
'permissions_enable' => 'Baimena pertsonalizatuak Gaitu',
|
||||
'permissions_save' => 'Gorde baimenak',
|
||||
'permissions_owner' => 'Jabea',
|
||||
|
||||
// Search
|
||||
'search_results' => 'Bilaketaren emaitzak',
|
||||
'search_total_results_found' => ':count result found|:count total results found',
|
||||
'search_total_results_found' => ':count emaitza aurkitu dira|:count emaitza aurkitu dira guztira',
|
||||
'search_clear' => 'Bilaketa testua garbitu',
|
||||
'search_no_pages' => 'Ez da orririk aurkitu zure bilaketan',
|
||||
'search_for_term' => 'Search for :term',
|
||||
'search_for_term' => 'Bilatu honen arabera :term',
|
||||
'search_more' => 'Emaitza gehiago',
|
||||
'search_advanced' => 'Bilaketa aurreratua',
|
||||
'search_terms' => 'Bilaketa-hitza',
|
||||
'search_content_type' => 'Eduki Mota',
|
||||
'search_exact_matches' => 'Bat etortze zehatza',
|
||||
'search_tags' => 'Tag Searches',
|
||||
'search_tags' => 'Etiketa bilaketak',
|
||||
'search_options' => 'Aukerak',
|
||||
'search_viewed_by_me' => 'Nik ikusiak',
|
||||
'search_not_viewed_by_me' => 'Nik ikusi ez ditudanak',
|
||||
'search_permissions_set' => 'Baimenak',
|
||||
'search_created_by_me' => 'Created by me',
|
||||
'search_updated_by_me' => 'Updated by me',
|
||||
'search_owned_by_me' => 'Owned by me',
|
||||
'search_date_options' => 'Date Options',
|
||||
'search_updated_before' => 'Updated before',
|
||||
'search_updated_after' => 'Updated after',
|
||||
'search_created_before' => 'Created before',
|
||||
'search_created_after' => 'Created after',
|
||||
'search_set_date' => 'Set Date',
|
||||
'search_update' => 'Update Search',
|
||||
'search_created_by_me' => 'Nik sortuak',
|
||||
'search_updated_by_me' => 'Nik eguneratuak',
|
||||
'search_owned_by_me' => 'Nire jabetazkoak',
|
||||
'search_date_options' => 'Data aukerak',
|
||||
'search_updated_before' => 'Aurretik eguneratuak',
|
||||
'search_updated_after' => 'Ondoren eguneratuak',
|
||||
'search_created_before' => 'Aurretik sortuak',
|
||||
'search_created_after' => 'Ondoren sortuak',
|
||||
'search_set_date' => 'Data finkatu',
|
||||
'search_update' => 'Eguneratu bilaketa',
|
||||
|
||||
// Shelves
|
||||
'shelf' => 'Shelf',
|
||||
'shelves' => 'Shelves',
|
||||
'x_shelves' => ':count Shelf|:count Shelves',
|
||||
'shelves_long' => 'Bookshelves',
|
||||
'shelves_empty' => 'No shelves have been created',
|
||||
'shelves_create' => 'Create New Shelf',
|
||||
'shelves_popular' => 'Popular Shelves',
|
||||
'shelves_new' => 'New Shelves',
|
||||
'shelves_new_action' => 'New Shelf',
|
||||
'shelves_popular_empty' => 'The most popular shelves will appear here.',
|
||||
'shelves_new_empty' => 'The most recently created shelves will appear here.',
|
||||
'shelves_save' => 'Save Shelf',
|
||||
'shelves_books' => 'Books on this shelf',
|
||||
'shelves_add_books' => 'Add books to this shelf',
|
||||
'shelves_drag_books' => 'Drag books here to add them to this shelf',
|
||||
'shelves_empty_contents' => 'This shelf has no books assigned to it',
|
||||
'shelves_edit_and_assign' => 'Edit shelf to assign books',
|
||||
'shelves_edit_named' => 'Edit Bookshelf :name',
|
||||
'shelves_edit' => 'Edit Bookshelf',
|
||||
'shelves_delete' => 'Delete Bookshelf',
|
||||
'shelves_delete_named' => 'Delete Bookshelf :name',
|
||||
'shelves_delete_explain' => "This will delete the bookshelf with the name ':name'. Contained books will not be deleted.",
|
||||
'shelves_delete_confirmation' => 'Are you sure you want to delete this bookshelf?',
|
||||
'shelves_permissions' => 'Bookshelf Permissions',
|
||||
'shelves_permissions_updated' => 'Bookshelf Permissions Updated',
|
||||
'shelves_permissions_active' => 'Bookshelf Permissions Active',
|
||||
'shelf' => 'Apalategia',
|
||||
'shelves' => 'Apalategiak',
|
||||
'x_shelves' => ':count Apalategi|:count Apalategi',
|
||||
'shelves_long' => 'Liburu-Apalategi',
|
||||
'shelves_empty' => 'Ez da inolako apalategirik sortu',
|
||||
'shelves_create' => 'Apalategi berria sortu',
|
||||
'shelves_popular' => 'Apalategi esanguratsuak',
|
||||
'shelves_new' => 'Apalategi berriak',
|
||||
'shelves_new_action' => 'Apalategi berria',
|
||||
'shelves_popular_empty' => 'Apalategi ikusienak hemen agertuko dira.',
|
||||
'shelves_new_empty' => 'Berriki sorturiko apalategiak hemen agertuko dira.',
|
||||
'shelves_save' => 'Gorde apalategia',
|
||||
'shelves_books' => 'Apalategi honetako liburuak',
|
||||
'shelves_add_books' => 'Gehitu liburuak apalategi honetara',
|
||||
'shelves_drag_books' => 'Bota hona liburuak apalategi honetara gehitzeko',
|
||||
'shelves_empty_contents' => 'Apalategi honek ez dauka libururik',
|
||||
'shelves_edit_and_assign' => 'Apalategia editatu liburuak gehitzeko',
|
||||
'shelves_edit_named' => ':name liburu-apalategia editatu',
|
||||
'shelves_edit' => 'Liburu-apalategia editatu',
|
||||
'shelves_delete' => 'Apalategia ezabatu',
|
||||
'shelves_delete_named' => ':name apalategia ezabatu',
|
||||
'shelves_delete_explain' => "':name' apalategia ezabatuko du ekintza honek. bertan dauden liburuak ez dira ezabatuko.",
|
||||
'shelves_delete_confirmation' => 'Ziur zaude apalategi hau ezabatu nahi duzula?',
|
||||
'shelves_permissions' => 'Apalategi baimenak',
|
||||
'shelves_permissions_updated' => 'Apalategi baimenak eguneratuta',
|
||||
'shelves_permissions_active' => 'Apalategi baimenak aktibatuta',
|
||||
'shelves_permissions_cascade_warning' => 'Permissions on bookshelves do not automatically cascade to contained books. This is because a book can exist on multiple shelves. Permissions can however be copied down to child books using the option found below.',
|
||||
'shelves_copy_permissions_to_books' => 'Copy Permissions to Books',
|
||||
'shelves_copy_permissions' => 'Copy Permissions',
|
||||
'shelves_copy_permissions_to_books' => 'Kopiatu baimenak liburura',
|
||||
'shelves_copy_permissions' => 'Gorde baimenak',
|
||||
'shelves_copy_permissions_explain' => 'This will apply the current permission settings of this bookshelf to all books contained within. Before activating, ensure any changes to the permissions of this bookshelf have been saved.',
|
||||
'shelves_copy_permission_success' => 'Bookshelf permissions copied to :count books',
|
||||
'shelves_copy_permission_success' => 'Apalategi baimenak :count liburutan kopiatuta',
|
||||
|
||||
// Books
|
||||
'book' => 'Book',
|
||||
'books' => 'Books',
|
||||
'x_books' => ':count Book|:count Books',
|
||||
'book' => 'Liburua',
|
||||
'books' => 'Liburuak',
|
||||
'x_books' => ':count Liburu|:count Liburu',
|
||||
'books_empty' => 'Ez da orrialderik sortu',
|
||||
'books_popular' => 'Popular Books',
|
||||
'books_popular' => 'Liburu ikusienak',
|
||||
'books_recent' => 'Azken liburuak',
|
||||
'books_new' => 'Liburu berriak',
|
||||
'books_new_action' => 'Liburu berria',
|
||||
'books_popular_empty' => 'The most popular books will appear here.',
|
||||
'books_new_empty' => 'The most recently created books will appear here.',
|
||||
'books_popular_empty' => 'Apalategi ikusienak hemen agertuko dira.',
|
||||
'books_new_empty' => 'Berriki sorturiko apalategiak hemen agertuko dira.',
|
||||
'books_create' => 'Liburu berria sortu',
|
||||
'books_delete' => 'Liburua ezabatu',
|
||||
'books_delete_named' => 'Delete Book :bookName',
|
||||
'books_delete_explain' => 'This will delete the book with the name \':bookName\'. All pages and chapters will be removed.',
|
||||
'books_delete_named' => ':bookName liburua ezabatuta',
|
||||
'books_delete_explain' => 'Honek \':bookName\' liburua ezabatuko du. bere orrialde eta kapitulu guztiak ezabatuak izango dira.',
|
||||
'books_delete_confirmation' => 'Ziur zaude liburu hau ezabatu nahi duzula?',
|
||||
'books_edit' => 'Editatu liburua',
|
||||
'books_edit_named' => 'Edit Book :bookName',
|
||||
'books_edit_named' => 'Editatu :bookName liburua',
|
||||
'books_form_book_name' => 'Liburu izena',
|
||||
'books_save' => 'Save Book',
|
||||
'books_permissions' => 'Book Permissions',
|
||||
'books_permissions_updated' => 'Book Permissions Updated',
|
||||
'books_empty_contents' => 'No pages or chapters have been created for this book.',
|
||||
'books_empty_create_page' => 'Create a new page',
|
||||
'books_empty_sort_current_book' => 'Sort the current book',
|
||||
'books_save' => 'Gorde Liburua',
|
||||
'books_permissions' => 'Liburu baimenak',
|
||||
'books_permissions_updated' => 'Liburu baimenak eguneratuta',
|
||||
'books_empty_contents' => 'Ez da orri edo kapitulurik sortu liburu honentzat.',
|
||||
'books_empty_create_page' => 'Sortu orrialde berria',
|
||||
'books_empty_sort_current_book' => 'Ordenatu uneko liburu hau',
|
||||
'books_empty_add_chapter' => 'Kapitulu berria gehitu',
|
||||
'books_permissions_active' => 'Book Permissions Active',
|
||||
'books_permissions_active' => 'Liburu baimenak aktibatuta',
|
||||
'books_search_this' => 'Bilatu liburu hau',
|
||||
'books_navigation' => 'Book Navigation',
|
||||
'books_sort' => 'Sort Book Contents',
|
||||
'books_sort_named' => 'Sort Book :bookName',
|
||||
'books_navigation' => 'Liburu nabigazioa',
|
||||
'books_sort' => 'Ordenatu liburu edukiak',
|
||||
'books_sort_named' => 'Ordenatu :bookName liburua',
|
||||
'books_sort_name' => 'Ordenatu izenaren arabera',
|
||||
'books_sort_created' => 'Ordenatu argitaratze-dataren arabera',
|
||||
'books_sort_updated' => 'Sort by Updated Date',
|
||||
'books_sort_chapters_first' => 'Chapters First',
|
||||
'books_sort_chapters_last' => 'Chapters Last',
|
||||
'books_sort_show_other' => 'Show Other Books',
|
||||
'books_sort_save' => 'Save New Order',
|
||||
'books_copy' => 'Copy Book',
|
||||
'books_copy_success' => 'Book successfully copied',
|
||||
'books_sort_updated' => 'Ordenatu aldaketa-dataren arabera',
|
||||
'books_sort_chapters_first' => 'Lehen kapitulua',
|
||||
'books_sort_chapters_last' => 'Azken kapitulua',
|
||||
'books_sort_show_other' => 'Erakutsi beste liburuak',
|
||||
'books_sort_save' => 'Gorde agindu berria',
|
||||
'books_copy' => 'Kopiatu liburua',
|
||||
'books_copy_success' => 'Ondo kopiatu da',
|
||||
|
||||
// Chapters
|
||||
'chapter' => 'Kapitulua',
|
||||
'chapters' => 'Kapituluak',
|
||||
'x_chapters' => ':count Chapter|:count Chapters',
|
||||
'chapters_popular' => 'Popular Chapters',
|
||||
'chapters_new' => 'New Chapter',
|
||||
'chapters_create' => 'Create New Chapter',
|
||||
'x_chapters' => ':count Kapitulu|:count Kapitulu',
|
||||
'chapters_popular' => 'Kapitulu ikusienak',
|
||||
'chapters_new' => 'Kopiatu kapitulua',
|
||||
'chapters_create' => 'Sortu kapitulu berria',
|
||||
'chapters_delete' => 'Kapitulua ezabatu',
|
||||
'chapters_delete_named' => 'Delete Chapter :chapterName',
|
||||
'chapters_delete_named' => ':chapterName kapitulua ezabatu',
|
||||
'chapters_delete_explain' => 'This will delete the chapter with the name \':chapterName\'. All pages that exist within this chapter will also be deleted.',
|
||||
'chapters_delete_confirm' => 'Ziur kapitulu hau ezabatu nahi duzula?',
|
||||
'chapters_edit' => 'Kapitulua aldatu',
|
||||
'chapters_edit_named' => 'Edit Chapter :chapterName',
|
||||
'chapters_save' => 'Kapitulua gorde',
|
||||
'chapters_move' => 'Move Chapter',
|
||||
'chapters_move' => 'Kapitulua mugitu',
|
||||
'chapters_move_named' => 'Move Chapter :chapterName',
|
||||
'chapter_move_success' => 'Chapter moved to :bookName',
|
||||
'chapters_copy' => 'Copy Chapter',
|
||||
'chapters_copy_success' => 'Chapter successfully copied',
|
||||
'chapters_copy' => 'Kapitulua kopiatu',
|
||||
'chapters_copy_success' => 'Kapitulua egoki kopiatua',
|
||||
'chapters_permissions' => 'Chapter Permissions',
|
||||
'chapters_empty' => 'No pages are currently in this chapter.',
|
||||
'chapters_empty' => 'Ez dago orrialderik kapitulu honetan.',
|
||||
'chapters_permissions_active' => 'Chapter Permissions Active',
|
||||
'chapters_permissions_success' => 'Chapter Permissions Updated',
|
||||
'chapters_search_this' => 'Search this chapter',
|
||||
|
||||
// Pages
|
||||
'page' => 'Page',
|
||||
'pages' => 'Pages',
|
||||
'page' => 'Orria',
|
||||
'pages' => 'Orriak',
|
||||
'x_pages' => ':count Page|:count Pages',
|
||||
'pages_popular' => 'Popular Pages',
|
||||
'pages_new' => 'New Page',
|
||||
'pages_attachments' => 'Attachments',
|
||||
'pages_navigation' => 'Page Navigation',
|
||||
'pages_delete' => 'Delete Page',
|
||||
'pages_popular' => 'Orrialde ikusienak',
|
||||
'pages_new' => 'Orrialde berria',
|
||||
'pages_attachments' => 'Eranskinak',
|
||||
'pages_navigation' => 'Nabigazio orrialdea',
|
||||
'pages_delete' => 'Ezabatu orria',
|
||||
'pages_delete_named' => 'Delete Page :pageName',
|
||||
'pages_delete_draft_named' => 'Delete Draft Page :pageName',
|
||||
'pages_delete_draft' => 'Delete Draft Page',
|
||||
'pages_delete_success' => 'Page deleted',
|
||||
'pages_delete_success' => 'Orria ezabatua',
|
||||
'pages_delete_draft_success' => 'Draft page deleted',
|
||||
'pages_delete_confirm' => 'Are you sure you want to delete this page?',
|
||||
'pages_delete_confirm' => 'Ziur al zaude orri hau ezabatu nahi duzula?',
|
||||
'pages_delete_draft_confirm' => 'Are you sure you want to delete this draft page?',
|
||||
'pages_editing_named' => 'Editing Page :pageName',
|
||||
'pages_edit_draft_options' => 'Draft Options',
|
||||
'pages_edit_save_draft' => 'Save Draft',
|
||||
'pages_edit_save_draft' => 'Gorde zirriborroa',
|
||||
'pages_edit_draft' => 'Edit Page Draft',
|
||||
'pages_editing_draft' => 'Editing Draft',
|
||||
'pages_editing_page' => 'Editing Page',
|
||||
'pages_editing_draft' => 'Editatu zirriborroa',
|
||||
'pages_editing_page' => 'Editatu orrialdea',
|
||||
'pages_edit_draft_save_at' => 'Draft saved at ',
|
||||
'pages_edit_delete_draft' => 'Delete Draft',
|
||||
'pages_edit_discard_draft' => 'Discard Draft',
|
||||
'pages_edit_delete_draft' => 'Ezabatu zirriborroa',
|
||||
'pages_edit_discard_draft' => 'Baztertu zirriborroa',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Set Changelog',
|
||||
'pages_edit_enter_changelog_desc' => 'Enter a brief description of the changes you\'ve made',
|
||||
'pages_edit_enter_changelog' => 'Enter Changelog',
|
||||
'pages_save' => 'Save Page',
|
||||
'pages_title' => 'Page Title',
|
||||
'pages_name' => 'Page Name',
|
||||
'pages_md_editor' => 'Editor',
|
||||
'pages_md_preview' => 'Preview',
|
||||
'pages_md_insert_image' => 'Insert Image',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Gorde orrialdea',
|
||||
'pages_title' => 'Orrialdearen titulua',
|
||||
'pages_name' => 'Orrialdearen izena',
|
||||
'pages_md_editor' => 'Editorea',
|
||||
'pages_md_preview' => 'Aurrebista',
|
||||
'pages_md_insert_image' => 'Txertatu irudia',
|
||||
'pages_md_insert_link' => 'Insert Entity Link',
|
||||
'pages_md_insert_drawing' => 'Insert Drawing',
|
||||
'pages_md_insert_drawing' => 'Txertatu marrazki berria',
|
||||
'pages_not_in_chapter' => 'Page is not in a chapter',
|
||||
'pages_move' => 'Move Page',
|
||||
'pages_move_success' => 'Page moved to ":parentName"',
|
||||
|
@ -220,22 +230,23 @@ return [
|
|||
'pages_revisions_named' => 'Page Revisions for :pageName',
|
||||
'pages_revision_named' => 'Page Revision for :pageName',
|
||||
'pages_revision_restored_from' => 'Restored from #:id; :summary',
|
||||
'pages_revisions_created_by' => 'Created By',
|
||||
'pages_revisions_date' => 'Revision Date',
|
||||
'pages_revisions_created_by' => 'Sortzailea',
|
||||
'pages_revisions_date' => 'Berrikuspen data',
|
||||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revision #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revision #:id Changes',
|
||||
'pages_revisions_changelog' => 'Changelog',
|
||||
'pages_revisions_changes' => 'Changes',
|
||||
'pages_revisions_current' => 'Current Version',
|
||||
'pages_revisions_preview' => 'Preview',
|
||||
'pages_revisions_restore' => 'Restore',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Aldaketen erregistroa',
|
||||
'pages_revisions_changes' => 'Aldaketak',
|
||||
'pages_revisions_current' => 'Uneko bertsioa',
|
||||
'pages_revisions_preview' => 'Aurrebista',
|
||||
'pages_revisions_restore' => 'Berreskuratu',
|
||||
'pages_revisions_none' => 'This page has no revisions',
|
||||
'pages_copy_link' => 'Copy Link',
|
||||
'pages_edit_content_link' => 'Edit Content',
|
||||
'pages_edit_content_link' => 'Editatu edukia',
|
||||
'pages_permissions_active' => 'Page Permissions Active',
|
||||
'pages_initial_revision' => 'Initial publish',
|
||||
'pages_initial_name' => 'New Page',
|
||||
'pages_initial_name' => 'Orrialde berria',
|
||||
'pages_editing_draft_notification' => 'You are currently editing a draft that was last saved :timeDiff.',
|
||||
'pages_draft_edited_notification' => 'This page has been updated by since that time. It is recommended that you discard this draft.',
|
||||
'pages_draft_page_changed_since_creation' => 'This page has been updated since this draft was created. It is recommended that you discard this draft or take care not to overwrite any page changes.',
|
||||
|
@ -248,19 +259,19 @@ return [
|
|||
],
|
||||
'pages_draft_discarded' => 'Draft discarded, The editor has been updated with the current page content',
|
||||
'pages_specific' => 'Specific Page',
|
||||
'pages_is_template' => 'Page Template',
|
||||
'pages_is_template' => 'Orrialde txantiloia',
|
||||
|
||||
// Editor Sidebar
|
||||
'page_tags' => 'Page Tags',
|
||||
'chapter_tags' => 'Chapter Tags',
|
||||
'book_tags' => 'Book Tags',
|
||||
'shelf_tags' => 'Shelf Tags',
|
||||
'tag' => 'Tag',
|
||||
'tags' => 'Tags',
|
||||
'tag_name' => 'Tag Name',
|
||||
'page_tags' => 'Orrialde etiketak',
|
||||
'chapter_tags' => 'Kapitulu etiketak',
|
||||
'book_tags' => 'Liburu etiketak',
|
||||
'shelf_tags' => 'Apalategi etiketak',
|
||||
'tag' => 'Etiketa',
|
||||
'tags' => 'Etiketak',
|
||||
'tag_name' => 'Etiketa izena',
|
||||
'tag_value' => 'Tag Value (Optional)',
|
||||
'tags_explain' => "Add some tags to better categorise your content. \n You can assign a value to a tag for more in-depth organisation.",
|
||||
'tags_add' => 'Add another tag',
|
||||
'tags_add' => 'Beste bat gehitu',
|
||||
'tags_remove' => 'Remove this tag',
|
||||
'tags_usages' => 'Total tag usages',
|
||||
'tags_assigned_pages' => 'Assigned to Pages',
|
||||
|
@ -268,29 +279,29 @@ return [
|
|||
'tags_assigned_books' => 'Assigned to Books',
|
||||
'tags_assigned_shelves' => 'Assigned to Shelves',
|
||||
'tags_x_unique_values' => ':count unique values',
|
||||
'tags_all_values' => 'All values',
|
||||
'tags_all_values' => 'Balio guztiak',
|
||||
'tags_view_tags' => 'View Tags',
|
||||
'tags_view_existing_tags' => 'View existing tags',
|
||||
'tags_list_empty_hint' => 'Tags can be assigned via the page editor sidebar or while editing the details of a book, chapter or shelf.',
|
||||
'attachments' => 'Attachments',
|
||||
'attachments' => 'Eranskinak',
|
||||
'attachments_explain' => 'Upload some files or attach some links to display on your page. These are visible in the page sidebar.',
|
||||
'attachments_explain_instant_save' => 'Changes here are saved instantly.',
|
||||
'attachments_items' => 'Attached Items',
|
||||
'attachments_upload' => 'Upload File',
|
||||
'attachments_items' => 'Atxikiak',
|
||||
'attachments_upload' => 'Kargatu artxiboak',
|
||||
'attachments_link' => 'Attach Link',
|
||||
'attachments_set_link' => 'Set Link',
|
||||
'attachments_delete' => 'Are you sure you want to delete this attachment?',
|
||||
'attachments_dropzone' => 'Drop files or click here to attach a file',
|
||||
'attachments_no_files' => 'No files have been uploaded',
|
||||
'attachments_no_files' => 'Ez da igo fitxategirik',
|
||||
'attachments_explain_link' => 'You can attach a link if you\'d prefer not to upload a file. This can be a link to another page or a link to a file in the cloud.',
|
||||
'attachments_link_name' => 'Link Name',
|
||||
'attachments_link_name' => 'Loturaren izena',
|
||||
'attachment_link' => 'Attachment link',
|
||||
'attachments_link_url' => 'Link to file',
|
||||
'attachments_link_url' => 'Fitxategiarentzako esteka',
|
||||
'attachments_link_url_hint' => 'Url of site or file',
|
||||
'attach' => 'Attach',
|
||||
'attachments_insert_link' => 'Add Attachment Link to Page',
|
||||
'attachments_edit_file' => 'Edit File',
|
||||
'attachments_edit_file_name' => 'File Name',
|
||||
'attachments_edit_file_name' => 'Fitxategi izena',
|
||||
'attachments_edit_drop_upload' => 'Drop files or click here to upload and overwrite',
|
||||
'attachments_order_updated' => 'Attachment order updated',
|
||||
'attachments_updated_success' => 'Attachment details updated',
|
||||
|
@ -314,25 +325,25 @@ return [
|
|||
'profile_not_created_shelves' => ':userName has not created any shelves',
|
||||
|
||||
// Comments
|
||||
'comment' => 'Comment',
|
||||
'comments' => 'Comments',
|
||||
'comment_add' => 'Add Comment',
|
||||
'comment_placeholder' => 'Leave a comment here',
|
||||
'comment' => 'Iruzkina',
|
||||
'comments' => 'Iruzkinak',
|
||||
'comment_add' => 'Iruzkina gehitu',
|
||||
'comment_placeholder' => 'Utzi iruzkin bat hemen',
|
||||
'comment_count' => '{0} No Comments|{1} 1 Comment|[2,*] :count Comments',
|
||||
'comment_save' => 'Save Comment',
|
||||
'comment_save' => 'Iruzkina gorde',
|
||||
'comment_saving' => 'Saving comment...',
|
||||
'comment_deleting' => 'Deleting comment...',
|
||||
'comment_new' => 'New Comment',
|
||||
'comment_new' => 'Iruzkin berria',
|
||||
'comment_created' => 'commented :createDiff',
|
||||
'comment_updated' => 'Updated :updateDiff by :username',
|
||||
'comment_deleted_success' => 'Comment deleted',
|
||||
'comment_created_success' => 'Comment added',
|
||||
'comment_updated_success' => 'Comment updated',
|
||||
'comment_delete_confirm' => 'Are you sure you want to delete this comment?',
|
||||
'comment_created_success' => 'Iruzkina gehituta',
|
||||
'comment_updated_success' => 'Iruzkina gehituta',
|
||||
'comment_delete_confirm' => 'Ziur zaude iruzkin hau ezabatu nahi duzula?',
|
||||
'comment_in_reply_to' => 'In reply to :commentId',
|
||||
|
||||
// Revision
|
||||
'revision_delete_confirm' => 'Are you sure you want to delete this revision?',
|
||||
'revision_delete_confirm' => 'Ziur zaude hau ezabatu nahi duzula?',
|
||||
'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.',
|
||||
|
|
|
@ -20,10 +20,10 @@ return [
|
|||
'ldap_cannot_connect' => 'Ezin izan da ldap zerbitzarira konektatu, hasierako konexioak huts egin du',
|
||||
'saml_already_logged_in' => 'Saioa aurretik hasita dago',
|
||||
'saml_user_not_registered' => ':name erabiltzailea ez dago erregistratua eta erregistro automatikoa ezgaituta dago',
|
||||
'saml_no_email_address' => 'Could not find an email address, for this user, in the data provided by the external authentication system',
|
||||
'saml_invalid_response_id' => 'The request from the external authentication system is not recognised by a process started by this application. Navigating back after a login could cause this issue.',
|
||||
'saml_no_email_address' => 'Ezin izan dugu posta helbiderik aurkitu erabiltzaile honentzat, kanpoko autentifikazio zerbitzuak bidalitako datuetan',
|
||||
'saml_invalid_response_id' => 'Kanpoko egiazkotasun-sistemaren eskaria ez du onartzen aplikazio honek abiarazitako prozesu batek. Loginean atzera egitea izan daiteke arrazoia.',
|
||||
'saml_fail_authed' => 'Login using :system failed, system did not provide successful authorization',
|
||||
'oidc_already_logged_in' => 'Already logged in',
|
||||
'oidc_already_logged_in' => 'Dagoeneko saioa hasita',
|
||||
'oidc_user_not_registered' => 'The user :name is not registered and automatic registration is disabled',
|
||||
'oidc_no_email_address' => 'Could not find an email address, for this user, in the data provided by the external authentication system',
|
||||
'oidc_fail_authed' => 'Login using :system failed, system did not provide successful authorization',
|
||||
|
@ -84,13 +84,13 @@ return [
|
|||
'empty_comment' => 'Cannot add an empty comment.',
|
||||
|
||||
// Error pages
|
||||
'404_page_not_found' => 'Page Not Found',
|
||||
'404_page_not_found' => 'Ez da orrialdea aurkitu',
|
||||
'sorry_page_not_found' => 'Sorry, The page you were looking for could not be found.',
|
||||
'sorry_page_not_found_permission_warning' => 'If you expected this page to exist, you might not have permission to view it.',
|
||||
'image_not_found' => 'Image Not Found',
|
||||
'image_not_found' => 'Irudia Ez da Aurkitu',
|
||||
'image_not_found_subtitle' => 'Sorry, The image file you were looking for could not be found.',
|
||||
'image_not_found_details' => 'If you expected this image to exist it might have been deleted.',
|
||||
'return_home' => 'Return to home',
|
||||
'return_home' => 'Itzuli hasierara',
|
||||
'error_occurred' => 'Akats bat gertatu da',
|
||||
'app_down' => ':appName is down right now',
|
||||
'back_soon' => 'It will be back up soon.',
|
||||
|
|
|
@ -27,17 +27,17 @@ return [
|
|||
'app_secure_images' => 'Goi Segurtasuneko irudiak',
|
||||
'app_secure_images_toggle' => 'Goi Segurtasuneko irudiak aktibatu',
|
||||
'app_secure_images_desc' => 'Antzezpen arrazoiengatik, irudi guztiak publikoak dira. Aukera honek ausazko lokarri bat gehitzen du irudiaren aurrean. Segurtasun-indizeek ezin dute sarrera erraza eragotzi.',
|
||||
'app_editor' => 'Orri editorea',
|
||||
'app_editor_desc' => 'Aukeratu zein editore erabiliko duten erabiltzaile guztiek orriak editatzeko.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'HTML pertsonalizatuko goiburu edukia',
|
||||
'app_custom_html_desc' => 'Hemen sarturiko edozein eduki <head> eremuko behekaldean sartuko da orrialde guztietan. Honek estiloak gainditzeko edo analitika-kodea gehitzeko balio du.',
|
||||
'app_custom_html_disabled_notice' => 'Custom HTML head content is disabled on this settings page to ensure any breaking changes can be reverted.',
|
||||
'app_custom_html_disabled_notice' => 'HTML edukiera desgaituta dago konfigurazio-orri honetan, edozein aldaketa eten daitekeela bermatzeko.',
|
||||
'app_logo' => 'Aplikazioaren logoa',
|
||||
'app_logo_desc' => 'This image should be 43px in height. <br>Large images will be scaled down.',
|
||||
'app_logo_desc' => 'Irudi honek 43px izan behar du altueran.<br>Irudi handiagoak txikitu egingo dira.',
|
||||
'app_primary_color' => 'Aplikazioaren kolore lehenetsia',
|
||||
'app_primary_color_desc' => 'Sets the primary color for the application including the banner, buttons, and links.',
|
||||
'app_primary_color_desc' => 'Konfiguratu aplikaziorako kolore nagusia, botoi, banner eta estekak barne.',
|
||||
'app_homepage' => 'Aplikazioko hasiera orria',
|
||||
'app_homepage_desc' => 'Select a view to show on the homepage instead of the default view. Page permissions are ignored for selected pages.',
|
||||
'app_homepage_desc' => 'Aukeratu hasierako orriko bista, defektuzkoa beharrean. Orrialde baimenak ez dira kontutan hartuko aukeratutako orrialdeentzat.',
|
||||
'app_homepage_select' => 'Aukeratu Orria',
|
||||
'app_footer_links' => 'Beheko aldeko estekak',
|
||||
'app_footer_links_desc' => 'Add links to show within the site footer. These will be displayed at the bottom of most pages, including those that do not require login. You can use a label of "trans::<key>" to use system-defined translations. For example: Using "trans::common.privacy_policy" will provide the translated text "Privacy Policy" and "trans::common.terms_of_service" will provide the translated text "Terms of Service".',
|
||||
|
@ -112,18 +112,18 @@ return [
|
|||
'recycle_bin_restore_notification' => 'Restored :count total items from the recycle bin.',
|
||||
|
||||
// Audit Log
|
||||
'audit' => 'Audit Log',
|
||||
'audit' => 'Auditoretza erregistroak',
|
||||
'audit_desc' => 'This audit log displays a list of activities tracked in the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.',
|
||||
'audit_event_filter' => 'Event Filter',
|
||||
'audit_event_filter' => 'Gertakari filtroa',
|
||||
'audit_event_filter_no_filter' => 'Filtrorik ez',
|
||||
'audit_deleted_item' => 'Deleted Item',
|
||||
'audit_deleted_item_name' => 'Name: :name',
|
||||
'audit_deleted_item' => 'Ezabatutako edukiak',
|
||||
'audit_deleted_item_name' => 'Izena :name',
|
||||
'audit_table_user' => 'Erabiltzailea',
|
||||
'audit_table_event' => 'Gertaera',
|
||||
'audit_table_related' => 'Related Item or Detail',
|
||||
'audit_table_ip' => 'IP helbidea',
|
||||
'audit_table_date' => 'Azken aktibitate data',
|
||||
'audit_date_from' => 'Date Range From',
|
||||
'audit_date_from' => 'Data tartea',
|
||||
'audit_date_to' => 'Data tartea',
|
||||
|
||||
// Role Settings
|
||||
|
@ -131,20 +131,20 @@ return [
|
|||
'role_user_roles' => 'Erabiltzailearen rola',
|
||||
'role_create' => 'Rol berria sortu',
|
||||
'role_create_success' => 'Rola ondo sortu da',
|
||||
'role_delete' => 'Delete Role',
|
||||
'role_delete' => 'Ezabatu Rol-a',
|
||||
'role_delete_confirm' => 'This will delete the role with the name \':roleName\'.',
|
||||
'role_delete_users_assigned' => 'This role has :userCount users assigned to it. If you would like to migrate the users from this role select a new role below.',
|
||||
'role_delete_no_migration' => "Don't migrate users",
|
||||
'role_delete_sure' => 'Are you sure you want to delete this role?',
|
||||
'role_delete_success' => 'Role successfully deleted',
|
||||
'role_edit' => 'Edit Role',
|
||||
'role_details' => 'Role Details',
|
||||
'role_name' => 'Role Name',
|
||||
'role_delete_no_migration' => "Ez migratu erabiltzaileak",
|
||||
'role_delete_sure' => 'Ziur zaude rol hau ezabatu nahi duzula?',
|
||||
'role_delete_success' => 'Rola ezabatua',
|
||||
'role_edit' => 'Editatu rola',
|
||||
'role_details' => 'Ireki xehetasunak',
|
||||
'role_name' => 'Rol izena',
|
||||
'role_desc' => 'Short Description of Role',
|
||||
'role_mfa_enforced' => 'Requires Multi-Factor Authentication',
|
||||
'role_external_auth_id' => 'External Authentication IDs',
|
||||
'role_system' => 'System Permissions',
|
||||
'role_manage_users' => 'Manage users',
|
||||
'role_manage_users' => 'Erabiltzaileak kudeatu',
|
||||
'role_manage_roles' => 'Manage roles & role permissions',
|
||||
'role_manage_entity_permissions' => 'Manage all book, chapter & page permissions',
|
||||
'role_manage_own_entity_permissions' => 'Manage permissions on own book, chapter & pages',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Sistemako APIra sarrera',
|
||||
'role_manage_settings' => 'Kudeatu aplikazio ezarpenak',
|
||||
'role_export_content' => 'Exportatu edukia',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Fitxategi baimenak',
|
||||
'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.',
|
||||
'role_asset_desc' => 'These permissions control default access to the assets within the system. Permissions on Books, Chapters and Pages will override these permissions.',
|
||||
|
@ -178,13 +179,13 @@ return [
|
|||
'users_password' => 'Erabiltzaile pasahitza',
|
||||
'users_password_desc' => 'Set a password used to log-in to the application. This must be at least 8 characters long.',
|
||||
'users_send_invite_text' => 'You can choose to send this user an invitation email which allows them to set their own password otherwise you can set their password yourself.',
|
||||
'users_send_invite_option' => 'Send user invite email',
|
||||
'users_external_auth_id' => 'External Authentication ID',
|
||||
'users_send_invite_option' => 'Erabiltzailea gonbidatzeko emaila bidali',
|
||||
'users_external_auth_id' => 'Kanpo autentikazioa IDa',
|
||||
'users_external_auth_id_desc' => 'This is the ID used to match this user when communicating with your external authentication system.',
|
||||
'users_password_warning' => 'Only fill the below if you would like to change your password.',
|
||||
'users_system_public' => 'This user represents any guest users that visit your instance. It cannot be used to log in but is assigned automatically.',
|
||||
'users_delete' => 'Ezabatu erabiltzailea',
|
||||
'users_delete_named' => 'Delete user :userName',
|
||||
'users_delete_named' => ':userName erabiltzailea ezabatu',
|
||||
'users_delete_warning' => 'This will fully delete this user with the name \':userName\' from the system.',
|
||||
'users_delete_confirm' => 'Are you sure you want to delete this user?',
|
||||
'users_migrate_ownership' => 'Migrate Ownership',
|
||||
|
@ -192,7 +193,7 @@ return [
|
|||
'users_none_selected' => 'Erabiltzailerik ez duzu aukeratu',
|
||||
'users_edit' => 'Erabiltzaile editatu',
|
||||
'users_edit_profile' => 'Editatu profila',
|
||||
'users_avatar' => 'User Avatar',
|
||||
'users_avatar' => 'Erabiltzaile avatarra',
|
||||
'users_avatar_desc' => 'Select an image to represent this user. This should be approx 256px square.',
|
||||
'users_preferred_language' => 'Hobetsitako hizkuntza',
|
||||
'users_preferred_language_desc' => 'This option will change the language used for the user-interface of the application. This will not affect any user-created content.',
|
||||
|
@ -202,10 +203,10 @@ return [
|
|||
'users_social_disconnect' => 'Deskonektatu kontua',
|
||||
'users_social_connected' => ':socialAccount account was successfully attached to your profile.',
|
||||
'users_social_disconnected' => ':socialAccount account was successfully disconnected from your profile.',
|
||||
'users_api_tokens' => 'API Tokens',
|
||||
'users_api_tokens' => 'API tokenak',
|
||||
'users_api_tokens_none' => 'No API tokens have been created for this user',
|
||||
'users_api_tokens_create' => 'Create Token',
|
||||
'users_api_tokens_expires' => 'Expires',
|
||||
'users_api_tokens_create' => 'Sortu Tokena',
|
||||
'users_api_tokens_expires' => 'Iraungita',
|
||||
'users_api_tokens_docs' => 'API dokumentazioa',
|
||||
'users_mfa' => 'Multi-Factor Authentication',
|
||||
'users_mfa_desc' => 'Setup multi-factor authentication as an extra layer of security for your user account.',
|
||||
|
@ -213,7 +214,7 @@ return [
|
|||
'users_mfa_configure' => 'Configure Methods',
|
||||
|
||||
// API Tokens
|
||||
'user_api_token_create' => 'Create API Token',
|
||||
'user_api_token_create' => 'Sortu Tokena',
|
||||
'user_api_token_name' => 'Izena',
|
||||
'user_api_token_name_desc' => 'Give your token a readable name as a future reminder of its intended purpose.',
|
||||
'user_api_token_expiry' => 'Iraungitze data',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'پیش نویس ذخیره شده در',
|
||||
'pages_edit_delete_draft' => 'حذف پیش نویس',
|
||||
'pages_edit_discard_draft' => 'دور انداختن پیش نویس',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'تنظیم تغییرات',
|
||||
'pages_edit_enter_changelog_desc' => 'توضیح مختصری از تغییراتی که ایجاد کرده اید وارد کنید',
|
||||
'pages_edit_enter_changelog' => 'وارد کردن تغییرات',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'ذخیره صفحه',
|
||||
'pages_title' => 'عنوان صفحه',
|
||||
'pages_name' => 'نام صفحه',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'تجدید نظر #:id',
|
||||
'pages_revisions_numbered_changes' => 'بازبینی #:id تغییرات',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'لیست تغییرات',
|
||||
'pages_revisions_changes' => 'تغییرات',
|
||||
'pages_revisions_current' => 'نسخهی جاری',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'آپلود تصویر با امنیت بالاتر',
|
||||
'app_secure_images_toggle' => 'آپلود تصویر با امنیت بالاتر',
|
||||
'app_secure_images_desc' => 'به دلایل عملکرد، همه تصاویر عمومی هستند. این گزینه یک رشته تصادفی و غیرقابل حدس زدن را در مقابل آدرس های تصویر اضافه می کند. برای جلوگیری از دسترسی آسان، اطمینان حاصل کنید که فهرست های دایرکتوری فعال نیستند.',
|
||||
'app_editor' => 'ویرایشگر صفحه',
|
||||
'app_editor_desc' => 'انتخاب کنید کدام ویرایشگر توسط همه کاربران برای ویرایش صفحات استفاده شود.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'محتوای اصلی HTML سفارشی',
|
||||
'app_custom_html_desc' => 'هر محتوای اضافه شده در اینجا در پایین بخش <head> هر صفحه درج می شود. این برای تغییر سبک ها یا اضافه کردن کد تجزیه و تحلیل مفید است.',
|
||||
'app_custom_html_disabled_notice' => 'محتوای سر HTML سفارشی در این صفحه تنظیمات غیرفعال است تا اطمینان حاصل شود که هر گونه تغییر شکسته می تواند برگردانده شود.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'دسترسی به API سیستم',
|
||||
'role_manage_settings' => 'تنظیمات برنامه را مدیریت کنید',
|
||||
'role_export_content' => 'صادرات محتوا',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'مجوزهای دارایی',
|
||||
'roles_system_warning' => 'توجه داشته باشید که دسترسی به هر یک از سه مجوز فوق میتواند به کاربر اجازه دهد تا امتیازات خود یا امتیازات دیگران را در سیستم تغییر دهد. فقط نقش هایی را با این مجوزها به کاربران مورد اعتماد اختصاص دهید.',
|
||||
'role_asset_desc' => 'این مجوزها دسترسی پیشفرض به داراییهای درون سیستم را کنترل میکنند. مجوزهای مربوط به کتابها، فصلها و صفحات این مجوزها را لغو میکنند.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Brouillon enregistré le ',
|
||||
'pages_edit_delete_draft' => 'Supprimer le brouillon',
|
||||
'pages_edit_discard_draft' => 'Jeter le brouillon',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Remplir le journal des changements',
|
||||
'pages_edit_enter_changelog_desc' => 'Entrez une brève description des changements effectués',
|
||||
'pages_edit_enter_changelog' => 'Ouvrir le journal des changements',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Enregistrer la page',
|
||||
'pages_title' => 'Titre de la page',
|
||||
'pages_name' => 'Nom de la page',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Révision #:id',
|
||||
'pages_revisions_numbered_changes' => 'Modification #:id',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Journal des changements',
|
||||
'pages_revisions_changes' => 'Changements',
|
||||
'pages_revisions_current' => 'Version actuelle',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Ajout d\'image sécurisé',
|
||||
'app_secure_images_toggle' => 'Activer l\'ajout d\'image sécurisé',
|
||||
'app_secure_images_desc' => 'Pour des questions de performances, toutes les images sont publiques. Cette option ajoute une chaîne aléatoire difficile à deviner dans les URLs des images.',
|
||||
'app_editor' => 'Éditeur des pages',
|
||||
'app_editor_desc' => 'Sélectionnez l\'éditeur qui sera utilisé pour modifier les pages.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'HTML personnalisé dans l\'en-tête',
|
||||
'app_custom_html_desc' => 'Le contenu inséré ici sera ajouté en bas de la balise <head> de toutes les pages. Vous pouvez l\'utiliser pour ajouter du CSS personnalisé ou un tracker analytique.',
|
||||
'app_custom_html_disabled_notice' => 'Le contenu de l\'en-tête HTML personnalisé est désactivé sur cette page de paramètres pour garantir que les modifications les plus récentes puissent être annulées.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Accès à l\'API du système',
|
||||
'role_manage_settings' => 'Gérer les préférences de l\'application',
|
||||
'role_export_content' => 'Exporter le contenu',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Permissions des ressources',
|
||||
'roles_system_warning' => 'Sachez que l\'accès à l\'une des trois permissions ci-dessus peut permettre à un utilisateur de modifier ses propres privilèges ou les privilèges des autres utilisateurs du système. N\'attribuez uniquement des rôles avec ces permissions qu\'à des utilisateurs de confiance.',
|
||||
'role_asset_desc' => 'Ces permissions contrôlent l\'accès par défaut des ressources dans le système. Les permissions dans les livres, les chapitres et les pages ignoreront ces permissions',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'טיוטה נשמרה ב ',
|
||||
'pages_edit_delete_draft' => 'מחק טיוטה',
|
||||
'pages_edit_discard_draft' => 'התעלם מהטיוטה',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'הגדר יומן שינויים',
|
||||
'pages_edit_enter_changelog_desc' => 'ציין תיאור קצר אודות השינויים שביצעת',
|
||||
'pages_edit_enter_changelog' => 'הכנס יומן שינויים',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'שמור דף',
|
||||
'pages_title' => 'כותרת דף',
|
||||
'pages_name' => 'שם הדף',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'נוסח #:id',
|
||||
'pages_revisions_numbered_changes' => 'שינויי נוסח #:id',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'יומן שינויים',
|
||||
'pages_revisions_changes' => 'שינויים',
|
||||
'pages_revisions_current' => 'גירסא נוכחית',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'העלאת תמונות מאובטחת',
|
||||
'app_secure_images_toggle' => 'אפשר העלאת תמונות מאובטחת',
|
||||
'app_secure_images_desc' => 'משיקולי ביצועים, כל התמונות הינן ציבוריות. אפשרות זו מוסיפה מחרוזת אקראית שקשה לנחש לכל כתובת של תמונה. אנא ודא שאפשרות הצגת תוכן התיקייה מבוטל.',
|
||||
'app_editor' => 'עורך הדפים',
|
||||
'app_editor_desc' => 'בחר באמצעות איזה עורך תתבצע עריכת הדפים',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'HTML מותאם אישית לחלק העליון',
|
||||
'app_custom_html_desc' => 'כל קוד שיתווסף כאן, יופיע בתחתית תגית ה head של כל דף. חלק זה שימושי על מנת להגדיר עיצובי CSS והתקנת קוד Analytics',
|
||||
'app_custom_html_disabled_notice' => 'קוד HTML מותאם מבוטל בדף ההגדרות על מנת לוודא ששינויים שגורמים לבעיה יוכלו להיות מבוטלים לאחר מכן',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'גש ל-API המערכת',
|
||||
'role_manage_settings' => 'ניהול הגדרות יישום',
|
||||
'role_export_content' => 'Export content',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'הרשאות משאבים',
|
||||
'roles_system_warning' => 'שימו לב לכך שגישה לכל אחת משלושת ההרשאות הנ"ל יכולה לאפשר למשתמש לשנות את הפריווילגיות שלהם או של אחרים במערכת. הגדירו תפקידים להרשאות אלה למשתמשים בהם אתם בוטחים בלבד.',
|
||||
'role_asset_desc' => 'הרשאות אלו שולטות בגישת ברירת המחדל למשאבים בתוך המערכת. הרשאות של ספרים, פרקים ודפים יגברו על הרשאות אלו.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Nacrt spremljen kao',
|
||||
'pages_edit_delete_draft' => 'Izbriši nacrt',
|
||||
'pages_edit_discard_draft' => 'Odbaci nacrt',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Postavi dnevnik promjena',
|
||||
'pages_edit_enter_changelog_desc' => 'Ukratko opišite promjene koje ste napravili',
|
||||
'pages_edit_enter_changelog' => 'Unesi dnevnik promjena',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Spremi stranicu',
|
||||
'pages_title' => 'Naslov stranice',
|
||||
'pages_name' => 'Ime stranice',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revizija #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revizija #:id Promjene',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Dnevnik promjena',
|
||||
'pages_revisions_changes' => 'Promjene',
|
||||
'pages_revisions_current' => 'Trenutna verzija',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Visoka razina sigurnosti prijenosa slika',
|
||||
'app_secure_images_toggle' => 'Omogući visoku sigurnost prijenosa slika',
|
||||
'app_secure_images_desc' => 'Zbog specifične izvedbe sve su slike javne. Osigurajte da indeksi direktorija nisu omogućeni kako bi se spriječio neovlašten pristup.',
|
||||
'app_editor' => 'Uređivač stranice',
|
||||
'app_editor_desc' => 'Odaberite uređivače stranica',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Prilagođeni HTML sadržaj',
|
||||
'app_custom_html_desc' => 'Sav sadržaj dodan ovdje bit će umetnut na dno <glavne> stranice. To je korisno za stiliziranje i dodavanje analitičkog koda.',
|
||||
'app_custom_html_disabled_notice' => 'Prilagođeni HTML je onemogućen kako bi se osiguralo vraćanje promjena u slučaju kvara.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'API pristup',
|
||||
'role_manage_settings' => 'Upravljanje postavkama aplikacija',
|
||||
'role_export_content' => 'Export content',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Upravljanje vlasništvom',
|
||||
'roles_system_warning' => 'Uzmite u obzir da pristup bilo kojem od ovih dopuštenja dozvoljavate korisniku upravljanje dopuštenjima ostalih u sustavu. Ova dopuštenja dodijelite pouzdanim korisnicima.',
|
||||
'role_asset_desc' => 'Ova dopuštenja kontroliraju zadane pristupe. Dopuštenja za knjige, poglavlja i stranice ih poništavaju.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Vázlat elmentve:',
|
||||
'pages_edit_delete_draft' => 'Vázlat törlése',
|
||||
'pages_edit_discard_draft' => 'Vázlat elvetése',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Változásnapló beállítása',
|
||||
'pages_edit_enter_changelog_desc' => 'A végrehajtott módosítások rövid leírása',
|
||||
'pages_edit_enter_changelog' => 'Változásnapló megadása',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Oldal mentése',
|
||||
'pages_title' => 'Oldal címe',
|
||||
'pages_name' => 'Oldal neve',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Változat #:id',
|
||||
'pages_revisions_numbered_changes' => '#:id változat módosításai',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Változásnapló',
|
||||
'pages_revisions_changes' => 'Módosítások',
|
||||
'pages_revisions_current' => 'Aktuális verzió',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Magasabb biztonságú képfeltöltés',
|
||||
'app_secure_images_toggle' => 'Magasabb biztonságú képfeltöltés engedélyezése',
|
||||
'app_secure_images_desc' => 'Teljesítmény optimalizálási okokból minden kép nyilvános. Ez a beállítás egy véletlenszerű, nehezen kitalálható karakterláncot illeszt a képek útvonalának elejére. Meg kell győződni róla, hogy a könnyű hozzáférés megakadályozása érdekében a könyvtár indexek nincsenek engedélyezve.',
|
||||
'app_editor' => 'Oldalszerkesztő',
|
||||
'app_editor_desc' => 'Annak kiválasztása, hogy a felhasználók melyik szerkesztőt használhatják az oldalak szerkesztéséhez.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Egyéni HTML fejléc tartalom',
|
||||
'app_custom_html_desc' => 'Az itt hozzáadott bármilyen tartalom be lesz illesztve minden oldal <head> szekciójának aljára. Ez hasznos a stílusok felülírásához van analitikai kódok hozzáadásához.',
|
||||
'app_custom_html_disabled_notice' => 'Az egyéni HTML fejléc tartalom le van tiltva ezen a beállítási oldalon, hogy az esetleg hibásan megadott módosításokat vissza lehessen állítani.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Hozzáférés a rendszer API-hoz',
|
||||
'role_manage_settings' => 'Alkalmazás beállításainak kezelése',
|
||||
'role_export_content' => 'Tartalom exportálása',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Eszköz jogosultságok',
|
||||
'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.',
|
||||
'role_asset_desc' => 'Ezek a jogosultság vezérlik a alapértelmezés szerinti hozzáférést a rendszerben található eszközökhöz. A könyvek, fejezetek és oldalak jogosultságai felülírják ezeket a jogosultságokat.',
|
||||
|
|
|
@ -21,7 +21,7 @@ return [
|
|||
'email' => 'Email',
|
||||
'password' => 'Kata Sandi',
|
||||
'password_confirm' => 'Konfirmasi Kata Sandi',
|
||||
'password_hint' => 'Must be at least 8 characters',
|
||||
'password_hint' => 'Harus minimal 8 karakter',
|
||||
'forgot_password' => 'Lupa Password?',
|
||||
'remember_me' => 'Ingat saya',
|
||||
'ldap_email_hint' => 'Harap masukkan email yang akan digunakan untuk akun ini.',
|
||||
|
@ -77,13 +77,13 @@ return [
|
|||
'mfa_setup' => 'Setup Multi-Factor Authentication',
|
||||
'mfa_setup_desc' => 'Setup multi-factor authentication as an extra layer of security for your user account.',
|
||||
'mfa_setup_configured' => 'Already configured',
|
||||
'mfa_setup_reconfigure' => 'Reconfigure',
|
||||
'mfa_setup_reconfigure' => 'Konfigurasi ulang',
|
||||
'mfa_setup_remove_confirmation' => 'Apakah Anda yakin ingin menghapus metode autentikasi multi-faktor ini?',
|
||||
'mfa_setup_action' => 'Setup',
|
||||
'mfa_backup_codes_usage_limit_warning' => 'You have less than 5 backup codes remaining, Please generate and store a new set before you run out of codes to prevent being locked out of your account.',
|
||||
'mfa_option_totp_title' => 'Mobile App',
|
||||
'mfa_option_totp_title' => 'Aplikasi Seluler',
|
||||
'mfa_option_totp_desc' => 'To use multi-factor authentication you\'ll need a mobile application that supports TOTP such as Google Authenticator, Authy or Microsoft Authenticator.',
|
||||
'mfa_option_backup_codes_title' => 'Backup Codes',
|
||||
'mfa_option_backup_codes_title' => 'Kode Cadangan',
|
||||
'mfa_option_backup_codes_desc' => 'Securely store a set of one-time-use backup codes which you can enter to verify your identity.',
|
||||
'mfa_gen_confirm_and_enable' => 'Confirm and Enable',
|
||||
'mfa_gen_backup_codes_title' => 'Backup Codes Setup',
|
||||
|
@ -100,9 +100,9 @@ return [
|
|||
'mfa_verify_access_desc' => 'Your user account requires you to confirm your identity via an additional level of verification before you\'re granted access. Verify using one of your configured methods to continue.',
|
||||
'mfa_verify_no_methods' => 'No Methods Configured',
|
||||
'mfa_verify_no_methods_desc' => 'No multi-factor authentication methods could be found for your account. You\'ll need to set up at least one method before you gain access.',
|
||||
'mfa_verify_use_totp' => 'Verify using a mobile app',
|
||||
'mfa_verify_use_backup_codes' => 'Verify using a backup code',
|
||||
'mfa_verify_backup_code' => 'Backup Code',
|
||||
'mfa_verify_use_totp' => 'Verifikasi menggunakan aplikasi seluler',
|
||||
'mfa_verify_use_backup_codes' => 'Verifikasi menggunakan kode cadangan',
|
||||
'mfa_verify_backup_code' => 'Kode Cadangan',
|
||||
'mfa_verify_backup_code_desc' => 'Enter one of your remaining backup codes below:',
|
||||
'mfa_verify_backup_code_enter_here' => 'Enter backup code here',
|
||||
'mfa_verify_totp_desc' => 'Enter the code, generated using your mobile app, below:',
|
||||
|
|
|
@ -7,27 +7,27 @@
|
|||
*/
|
||||
return [
|
||||
// General editor terms
|
||||
'general' => 'General',
|
||||
'advanced' => 'Advanced',
|
||||
'none' => 'None',
|
||||
'cancel' => 'Cancel',
|
||||
'save' => 'Save',
|
||||
'close' => 'Close',
|
||||
'general' => 'Umum',
|
||||
'advanced' => 'Lanjutan',
|
||||
'none' => 'Tidak Ada',
|
||||
'cancel' => 'Batal',
|
||||
'save' => 'Simpan',
|
||||
'close' => 'Tutup',
|
||||
'undo' => 'Undo',
|
||||
'redo' => 'Redo',
|
||||
'left' => 'Left',
|
||||
'center' => 'Center',
|
||||
'right' => 'Right',
|
||||
'top' => 'Top',
|
||||
'middle' => 'Middle',
|
||||
'bottom' => 'Bottom',
|
||||
'width' => 'Width',
|
||||
'height' => 'Height',
|
||||
'More' => 'More',
|
||||
'select' => 'Select...',
|
||||
'redo' => 'Ulangi',
|
||||
'left' => 'Kiri',
|
||||
'center' => 'Tengah',
|
||||
'right' => 'Kanan',
|
||||
'top' => 'Atas',
|
||||
'middle' => 'Sedang',
|
||||
'bottom' => 'Bawah',
|
||||
'width' => 'Lebar',
|
||||
'height' => 'Tinggi',
|
||||
'More' => 'Lebih Banyak',
|
||||
'select' => 'Pilih...',
|
||||
|
||||
// Toolbar
|
||||
'formats' => 'Formats',
|
||||
'formats' => 'Format',
|
||||
'header_large' => 'Large Header',
|
||||
'header_medium' => 'Medium Header',
|
||||
'header_small' => 'Small Header',
|
||||
|
@ -37,12 +37,12 @@ return [
|
|||
'inline_code' => 'Inline code',
|
||||
'callouts' => 'Callouts',
|
||||
'callout_information' => 'Information',
|
||||
'callout_success' => 'Success',
|
||||
'callout_warning' => 'Warning',
|
||||
'callout_danger' => 'Danger',
|
||||
'bold' => 'Bold',
|
||||
'callout_success' => 'Sukses',
|
||||
'callout_warning' => 'Peringatan',
|
||||
'callout_danger' => 'Bahaya',
|
||||
'bold' => 'Berani',
|
||||
'italic' => 'Italic',
|
||||
'underline' => 'Underline',
|
||||
'underline' => 'Garis Bawah',
|
||||
'strikethrough' => 'Strikethrough',
|
||||
'superscript' => 'Superscript',
|
||||
'subscript' => 'Subscript',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Draf disimpan pada ',
|
||||
'pages_edit_delete_draft' => 'Hapus Draf',
|
||||
'pages_edit_discard_draft' => 'Buang Draf',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Atur Changelog',
|
||||
'pages_edit_enter_changelog_desc' => 'Masukkan deskripsi singkat tentang perubahan yang Anda buat',
|
||||
'pages_edit_enter_changelog' => 'Masuk ke Changelog',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Simpan Halaman',
|
||||
'pages_title' => 'Judul Halaman',
|
||||
'pages_name' => 'Nama Halaman',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revisi #:id',
|
||||
'pages_revisions_numbered_changes' => 'Revisi #:id Berubah',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Changelog',
|
||||
'pages_revisions_changes' => 'Perubahan',
|
||||
'pages_revisions_current' => 'Versi sekarang',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Unggahan Gambar Keamanan Lebih Tinggi',
|
||||
'app_secure_images_toggle' => 'Aktifkan unggahan gambar dengan keamanan lebih tinggi',
|
||||
'app_secure_images_desc' => 'Untuk alasan performa, semua gambar bersifat publik. Opsi ini menambahkan string acak yang sulit ditebak di depan url gambar. Pastikan indeks direktori tidak diaktifkan untuk mencegah akses mudah.',
|
||||
'app_editor' => 'Halaman Editor',
|
||||
'app_editor_desc' => 'Pilih editor mana yang akan digunakan oleh semua pengguna untuk mengedit halaman.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Kustom Konten HTML Head',
|
||||
'app_custom_html_desc' => 'Konten apa pun yang ditambahkan di sini akan dimasukkan ke bagian bawah <head> bagian dari setiap halaman. Ini berguna untuk mengganti gaya atau menambahkan kode analitik.',
|
||||
'app_custom_html_disabled_notice' => 'Kustom konten HTML Head dinonaktifkan pada halaman pengaturan ini untuk memastikan setiap perubahan yang mengganggu dapat dikembalikan.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'Akses Sistem API',
|
||||
'role_manage_settings' => 'Kelola setelan aplikasi',
|
||||
'role_export_content' => 'Export content',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Izin Aset',
|
||||
'roles_system_warning' => 'Ketahuilah bahwa akses ke salah satu dari tiga izin di atas dapat memungkinkan pengguna untuk mengubah hak mereka sendiri atau orang lain dalam sistem. Hanya tetapkan peran dengan izin ini untuk pengguna tepercaya.',
|
||||
'role_asset_desc' => 'Izin ini mengontrol akses default ke aset dalam sistem. Izin pada Buku, Bab, dan Halaman akan menggantikan izin ini.',
|
||||
|
|
|
@ -15,7 +15,7 @@ return [
|
|||
'alpha_dash' => ':attribute hanya boleh berisi huruf, angka, tanda hubung, dan garis bawah.',
|
||||
'alpha_num' => ':attribute hanya boleh berisi huruf dan angka.',
|
||||
'array' => ':attribute harus berupa larik.',
|
||||
'backup_codes' => 'The provided code is not valid or has already been used.',
|
||||
'backup_codes' => 'Kode yang diberikan tidak valid atau telah digunakan.',
|
||||
'before' => ':attribute harus tanggal sebelum :date.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute harus di antara :min dan :max.',
|
||||
|
@ -32,7 +32,7 @@ return [
|
|||
'digits_between' => ':attribute harus diantara :min dan :max digit.',
|
||||
'email' => ':attrtibute Harus alamat e-mail yang valid.',
|
||||
'ends_with' => ':attribute harus diakhiri dengan salah satu dari berikut ini: :values',
|
||||
'file' => 'The :attribute must be provided as a valid file.',
|
||||
'file' => ':attribute harus diberikan sebagai file yang valid.',
|
||||
'filled' => ':attribute bidang diperlukan.',
|
||||
'gt' => [
|
||||
'numeric' => ':attribute harus lebih besar dari :value.',
|
||||
|
@ -100,7 +100,7 @@ return [
|
|||
],
|
||||
'string' => ':attribute harus berupa string.',
|
||||
'timezone' => ':attribute harus menjadi zona yang valid.',
|
||||
'totp' => 'The provided code is not valid or has expired.',
|
||||
'totp' => 'Kode yang diberikan tidak valid atau telah kedaluwarsa.',
|
||||
'unique' => ':attribute sudah diambil.',
|
||||
'url' => ':attribute format tidak valid.',
|
||||
'uploaded' => 'Berkas tidak dapat diunggah. Server mungkin tidak menerima berkas dengan ukuran ini.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Bozza salvata alle ',
|
||||
'pages_edit_delete_draft' => 'Elimina Bozza',
|
||||
'pages_edit_discard_draft' => 'Scarta Bozza',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Imposta Changelog',
|
||||
'pages_edit_enter_changelog_desc' => 'Inserisci una breve descrizione dei cambiamenti che hai apportato',
|
||||
'pages_edit_enter_changelog' => 'Inserisci Changelog',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Salva Pagina',
|
||||
'pages_title' => 'Titolo Pagina',
|
||||
'pages_name' => 'Nome Pagina',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Revisione #:id',
|
||||
'pages_revisions_numbered_changes' => 'Modifiche Revisione #:id',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Cambiamenti',
|
||||
'pages_revisions_changes' => 'Cambiamenti',
|
||||
'pages_revisions_current' => 'Versione Corrente',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => 'Abilitare una sicurezza maggiore per le immagini caricate?',
|
||||
'app_secure_images_toggle' => 'Abilita sicurezza aggiuntiva negli upload delle immagini',
|
||||
'app_secure_images_desc' => 'Per una ragione di prestazioni, tutte le immagini sono pubbliche. Questa opzione aaggiunge una stringa, difficile da indovinare, random negli url delle immagini. Assicurati che il listing delle cartelle non sia abilitato per prevenire un accesso semplice.',
|
||||
'app_editor' => 'Editor pagine',
|
||||
'app_editor_desc' => 'Seleziona quale editor verrà usato da tutti gli utenti per modificare le pagine.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => 'Contenuto Head HTML Custom',
|
||||
'app_custom_html_desc' => 'Qualsiasi contenuto aggiunto qui verrà inserito alla fine della sezione <head> di tutte le pagine. Questo è utile per sovrascrivere lo stile o aggiungere il codice per gli analytics.',
|
||||
'app_custom_html_disabled_notice' => 'Il contenuto HTML personalizzato è disabilitato su questa pagina impostazioni per garantire che eventuali modifiche possano essere ripristinate.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'API sistema d\'accesso',
|
||||
'role_manage_settings' => 'Gestire impostazioni app',
|
||||
'role_export_content' => 'Esporta contenuto',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => 'Permessi Entità',
|
||||
'roles_system_warning' => 'Siate consapevoli che l\'accesso a uno dei tre permessi qui sopra, può consentire a un utente di modificare i propri privilegi o i privilegi di altri nel sistema. Assegna ruoli con questi permessi solo ad utenti fidati.',
|
||||
'role_asset_desc' => 'Questi permessi controllano l\'accesso di default alle entità. I permessi nei Libri, Capitoli e Pagine sovrascriveranno questi.',
|
||||
|
|
|
@ -53,15 +53,15 @@ return [
|
|||
|
||||
// Webhooks
|
||||
'webhook_create' => 'created webhook',
|
||||
'webhook_create_notification' => 'Webhook successfully created',
|
||||
'webhook_create_notification' => 'Webhookが正常に作成されました',
|
||||
'webhook_update' => 'updated webhook',
|
||||
'webhook_update_notification' => 'Webhook successfully updated',
|
||||
'webhook_update_notification' => 'Webhookが正常に更新されました',
|
||||
'webhook_delete' => 'deleted webhook',
|
||||
'webhook_delete_notification' => 'Webhook successfully deleted',
|
||||
'webhook_delete_notification' => 'Webhookが正常に削除されました',
|
||||
|
||||
// Users
|
||||
'user_update_notification' => 'User successfully updated',
|
||||
'user_delete_notification' => 'User successfully removed',
|
||||
'user_update_notification' => 'ユーザーが正常に更新されました',
|
||||
'user_delete_notification' => 'ユーザーが正常に削除されました',
|
||||
|
||||
// Other
|
||||
'commented_on' => 'がコメント:',
|
||||
|
|
|
@ -75,7 +75,7 @@ return [
|
|||
'status_active' => '有効',
|
||||
'status_inactive' => '無効',
|
||||
'never' => '該当なし',
|
||||
'none' => 'None',
|
||||
'none' => 'なし',
|
||||
|
||||
// Header
|
||||
'header_menu_expand' => 'ヘッダーメニューを展開',
|
||||
|
|
|
@ -24,7 +24,7 @@ return [
|
|||
'width' => '幅',
|
||||
'height' => '高さ',
|
||||
'More' => 'さらに表示',
|
||||
'select' => 'Select...',
|
||||
'select' => '選択...',
|
||||
|
||||
// Toolbar
|
||||
'formats' => '書式',
|
||||
|
@ -53,10 +53,10 @@ return [
|
|||
'align_left' => '左揃え',
|
||||
'align_center' => '中央揃え',
|
||||
'align_right' => '右揃え',
|
||||
'align_justify' => 'Justify',
|
||||
'align_justify' => '両端揃え',
|
||||
'list_bullet' => '箇条書き',
|
||||
'list_numbered' => '番号付き箇条書き',
|
||||
'list_task' => 'Task list',
|
||||
'list_task' => 'タスクリスト',
|
||||
'indent_increase' => 'インデントを増やす',
|
||||
'indent_decrease' => 'インデントを減らす',
|
||||
'table' => '表',
|
||||
|
@ -93,10 +93,10 @@ return [
|
|||
'cell_properties_title' => 'セルの詳細設定',
|
||||
'cell_type' => 'セルタイプ',
|
||||
'cell_type_cell' => 'セル',
|
||||
'cell_scope' => 'Scope',
|
||||
'cell_scope' => '見出しとの関連',
|
||||
'cell_type_header' => 'ヘッダーセル',
|
||||
'merge_cells' => 'Merge cells',
|
||||
'split_cell' => 'Split cell',
|
||||
'merge_cells' => 'セルを結合',
|
||||
'split_cell' => 'セルを分割',
|
||||
'table_row_group' => '行グループ',
|
||||
'table_column_group' => '列グループ',
|
||||
'horizontal_align' => '水平方向の配置',
|
||||
|
@ -124,16 +124,16 @@ return [
|
|||
'caption' => '表題',
|
||||
'show_caption' => 'キャプションの表示',
|
||||
'constrain' => '縦横比を保持する',
|
||||
'cell_border_solid' => 'Solid',
|
||||
'cell_border_dotted' => 'Dotted',
|
||||
'cell_border_dashed' => 'Dashed',
|
||||
'cell_border_double' => 'Double',
|
||||
'cell_border_groove' => 'Groove',
|
||||
'cell_border_ridge' => 'Ridge',
|
||||
'cell_border_inset' => 'Inset',
|
||||
'cell_border_outset' => 'Outset',
|
||||
'cell_border_none' => 'None',
|
||||
'cell_border_hidden' => 'Hidden',
|
||||
'cell_border_solid' => '実線',
|
||||
'cell_border_dotted' => '点線',
|
||||
'cell_border_dashed' => '破線',
|
||||
'cell_border_double' => '二重線',
|
||||
'cell_border_groove' => '掘り',
|
||||
'cell_border_ridge' => '盛り',
|
||||
'cell_border_inset' => '陥没',
|
||||
'cell_border_outset' => '隆起',
|
||||
'cell_border_none' => 'なし',
|
||||
'cell_border_hidden' => 'なし(優先)',
|
||||
|
||||
// Images, links, details/summary & embed
|
||||
'source' => '画像のソース',
|
||||
|
@ -154,18 +154,18 @@ return [
|
|||
'toggle_label' => 'ブロックのラベル',
|
||||
|
||||
// About view
|
||||
'about' => 'About the editor',
|
||||
'about' => 'エディタについて',
|
||||
'about_title' => 'WYSIWYGエディタについて',
|
||||
'editor_license' => 'エディタのライセンスと著作権',
|
||||
'editor_tiny_license' => 'このエディタはLGPL v2.1ライセンスの下で提供される:tinyLinkを利用して構築されています。',
|
||||
'editor_tiny_license_link' => 'TinyMCEの著作権およびライセンスの詳細は、こちらをご覧ください。',
|
||||
'save_continue' => 'ページを保存して続行',
|
||||
'callouts_cycle' => '(押し続けて種類を切り替え)',
|
||||
'link_selector' => 'Link to content',
|
||||
'link_selector' => 'コンテンツへのリンク',
|
||||
'shortcuts' => 'ショートカット',
|
||||
'shortcut' => 'ショートカット',
|
||||
'shortcuts_intro' => 'エディタでは次に示すショートカットが利用できます。',
|
||||
'windows_linux' => '(Windows/Linux)',
|
||||
'mac' => '(Mac)',
|
||||
'description' => 'テンプレートの内容',
|
||||
'description' => '説明',
|
||||
];
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => '下書きを保存済み: ',
|
||||
'pages_edit_delete_draft' => '下書きを削除',
|
||||
'pages_edit_discard_draft' => '下書きを破棄',
|
||||
'pages_edit_switch_to_markdown' => 'Markdownエディタに切り替え',
|
||||
'pages_edit_switch_to_markdown_clean' => '(クリーンなコンテンツ)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(安定したコンテンツ)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'WYSIWYGエディタに切り替え',
|
||||
'pages_edit_set_changelog' => '編集内容についての説明',
|
||||
'pages_edit_enter_changelog_desc' => 'どのような変更を行ったのかを記録してください',
|
||||
'pages_edit_enter_changelog' => '編集内容を入力',
|
||||
'pages_editor_switch_title' => 'エディタの切り替え',
|
||||
'pages_editor_switch_are_you_sure' => 'このページのエディタを変更してもよろしいですか?',
|
||||
'pages_editor_switch_consider_following' => 'エディタを変更する場合には次の点に注意してください',
|
||||
'pages_editor_switch_consideration_a' => '保存すると、新しいエディタはそれ自身で種類を変更できない可能性のあるエディタを含め、今後のエディタとして利用されます。',
|
||||
'pages_editor_switch_consideration_b' => 'これにより、特定の状況で詳細と構文が失われる可能性があります。',
|
||||
'pages_editor_switch_consideration_c' => '最後の保存以降に行われたタグまたは変更ログの変更は、この変更では保持されません。',
|
||||
'pages_save' => 'ページを保存',
|
||||
'pages_title' => 'ページタイトル',
|
||||
'pages_name' => 'ページ名',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'リビジョン #:id',
|
||||
'pages_revisions_numbered_changes' => 'リビジョン #:id の変更',
|
||||
'pages_revisions_editor' => 'エディタの種類',
|
||||
'pages_revisions_changelog' => '説明',
|
||||
'pages_revisions_changes' => '変更点',
|
||||
'pages_revisions_current' => '現在のバージョン',
|
||||
|
|
|
@ -10,8 +10,8 @@ return [
|
|||
'settings' => '設定',
|
||||
'settings_save' => '設定を保存',
|
||||
'settings_save_success' => '設定を保存しました',
|
||||
'system_version' => 'System Version',
|
||||
'categories' => 'Categories',
|
||||
'system_version' => 'システムバージョン',
|
||||
'categories' => 'カテゴリー',
|
||||
|
||||
// App Settings
|
||||
'app_customization' => 'カスタマイズ',
|
||||
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => '画像アップロード時のセキュリティを強化',
|
||||
'app_secure_images_toggle' => 'より高いセキュリティの画像アップロードを可能にする',
|
||||
'app_secure_images_desc' => 'パフォーマンスの観点から、全ての画像が公開になっています。このオプションを有効にすると、画像URLの先頭にランダムで推測困難な文字列が追加され、アクセスを困難にします。',
|
||||
'app_editor' => 'ページエディタ',
|
||||
'app_editor_desc' => 'ここで選択されたエディタを全ユーザが使用します。',
|
||||
'app_default_editor' => 'デフォルトのページエディタ',
|
||||
'app_default_editor_desc' => '新しいページを編集するときにデフォルトで使用されるエディタを選択してください。これは権限が許可されているページレベルで上書きできます。',
|
||||
'app_custom_html' => 'カスタムheadタグ',
|
||||
'app_custom_html_desc' => 'スタイルシートやアナリティクスコード追加したい場合、ここを編集します。これは<head>の最下部に挿入されます。',
|
||||
'app_custom_html_disabled_notice' => '重大な変更を元に戻せるよう、この設定ページではカスタムのHTML headコンテンツが無効になっています。',
|
||||
|
@ -106,7 +106,7 @@ return [
|
|||
'recycle_bin_destroy_list' => '削除されるアイテム',
|
||||
'recycle_bin_restore_list' => '復元されるアイテム',
|
||||
'recycle_bin_restore_confirm' => 'この操作により、すべての子要素を含む削除されたアイテムが元の場所に復元されます。元の場所が削除されてごみ箱に入っている場合は、親アイテムも復元する必要があります。',
|
||||
'recycle_bin_restore_deleted_parent' => 'The parent of this item has also been deleted. These will remain deleted until that parent is also restored.',
|
||||
'recycle_bin_restore_deleted_parent' => 'このアイテムの親も削除されました。これらは、その親が復元されるまで削除されたままになります。',
|
||||
'recycle_bin_restore_parent' => '親を復元',
|
||||
'recycle_bin_destroy_notification' => 'ごみ箱から合計:count個のアイテムを削除しました。',
|
||||
'recycle_bin_restore_notification' => 'ごみ箱から合計:count個のアイテムを復元しました。',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => 'システムのAPIへのアクセス',
|
||||
'role_manage_settings' => 'アプリケーション設定の管理',
|
||||
'role_export_content' => 'コンテンツのエクスポート',
|
||||
'role_editor_change' => 'ページエディタの変更',
|
||||
'role_asset' => 'アセット権限',
|
||||
'roles_system_warning' => '上記の3つの権限のいずれかを付与することは、ユーザーが自分の特権またはシステム内の他のユーザーの特権を変更できる可能性があることに注意してください。これらの権限は信頼できるユーザーにのみ割り当ててください。',
|
||||
'role_asset_desc' => '各アセットに対するデフォルトの権限を設定します。ここで設定した権限が優先されます。',
|
||||
|
@ -176,7 +177,7 @@ return [
|
|||
'users_role' => 'ユーザーの役割',
|
||||
'users_role_desc' => 'このユーザーに割り当てる役割を選択します。ユーザーが複数の役割に割り当てられている場合は、それらの役割の権限が重ね合わされ、割り当てられた役割のすべての権限が与えられます。',
|
||||
'users_password' => 'ユーザー パスワード',
|
||||
'users_password_desc' => 'Set a password used to log-in to the application. This must be at least 8 characters long.',
|
||||
'users_password_desc' => 'アプリケーションへのログインに利用するパスワードを設定してください。8文字以上である必要があります。',
|
||||
'users_send_invite_text' => 'このユーザーに招待メールを送信してユーザー自身にパスワードを設定してもらうか、あなたがここでパスワードを設定するかを選択できます。',
|
||||
'users_send_invite_option' => 'ユーザーに招待メールを送信',
|
||||
'users_external_auth_id' => '外部認証ID',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => '보관함: ',
|
||||
'pages_edit_delete_draft' => '초안 삭제',
|
||||
'pages_edit_discard_draft' => '폐기',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => '수정본 설명',
|
||||
'pages_edit_enter_changelog_desc' => '수정본 설명',
|
||||
'pages_edit_enter_changelog' => '설명',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => '저장',
|
||||
'pages_title' => '문서 제목',
|
||||
'pages_name' => '문서 이름',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => 'No.',
|
||||
'pages_revisions_numbered' => '수정본 :id',
|
||||
'pages_revisions_numbered_changes' => '수정본 :id에서 바꾼 부분',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => '설명',
|
||||
'pages_revisions_changes' => '바꾼 부분',
|
||||
'pages_revisions_current' => '현재 판본',
|
||||
|
|
|
@ -27,8 +27,8 @@ return [
|
|||
'app_secure_images' => '이미지 주소 보호',
|
||||
'app_secure_images_toggle' => '이미지 주소 보호',
|
||||
'app_secure_images_desc' => '성능상의 문제로 이미지에 누구나 접근할 수 있기 때문에 이미지 주소를 무작위한 문자로 구성합니다. 폴더 색인을 끄세요.',
|
||||
'app_editor' => '에디터',
|
||||
'app_editor_desc' => '모든 사용자에게 적용합니다.',
|
||||
'app_default_editor' => 'Default Page Editor',
|
||||
'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
|
||||
'app_custom_html' => '헤드 작성',
|
||||
'app_custom_html_desc' => '설정 페이지를 제외한 모든 페이지 head 태그 끝머리에 추가합니다.',
|
||||
'app_custom_html_disabled_notice' => '문제가 생겨도 설정 페이지에서 되돌릴 수 있어요.',
|
||||
|
@ -152,6 +152,7 @@ return [
|
|||
'role_access_api' => '시스템 접근 API',
|
||||
'role_manage_settings' => '사이트 설정 관리',
|
||||
'role_export_content' => '항목 내보내기',
|
||||
'role_editor_change' => 'Change page editor',
|
||||
'role_asset' => '권한 항목',
|
||||
'roles_system_warning' => '위 세 권한은 자신의 권한이나 다른 유저의 권한을 바꿀 수 있습니다.',
|
||||
'role_asset_desc' => '책, 챕터, 문서별 권한은 이 설정에 우선합니다.',
|
||||
|
|
|
@ -196,9 +196,19 @@ return [
|
|||
'pages_edit_draft_save_at' => 'Juodraštis išsaugotas',
|
||||
'pages_edit_delete_draft' => 'Ištrinti juodraštį',
|
||||
'pages_edit_discard_draft' => 'Išmesti juodraštį',
|
||||
'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
|
||||
'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
|
||||
'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
|
||||
'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
|
||||
'pages_edit_set_changelog' => 'Nustatyti keitimo žurnalą',
|
||||
'pages_edit_enter_changelog_desc' => 'Įveskite trumpus, jūsų atliktus, pokyčių aprašymus',
|
||||
'pages_edit_enter_changelog' => 'Įeiti į keitimo žurnalą',
|
||||
'pages_editor_switch_title' => 'Switch Editor',
|
||||
'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
|
||||
'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
|
||||
'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
|
||||
'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
|
||||
'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
|
||||
'pages_save' => 'Išsaugoti puslapį',
|
||||
'pages_title' => 'Puslapio antraštė',
|
||||
'pages_name' => 'Puslapio pavadinimas',
|
||||
|
@ -225,6 +235,7 @@ return [
|
|||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_numbered' => 'Peržiūra #:id',
|
||||
'pages_revisions_numbered_changes' => 'Peržiūros #:id pokyčiai',
|
||||
'pages_revisions_editor' => 'Editor Type',
|
||||
'pages_revisions_changelog' => 'Keitimo žurnalas',
|
||||
'pages_revisions_changes' => 'Pakeitimai',
|
||||
'pages_revisions_current' => 'Dabartinė versija',
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue