Compare commits

..

22 Commits

Author SHA1 Message Date
Dan Brown
2d8698a218 Updated version and assets for release v21.04.3 2021-04-27 22:01:37 +01:00
Dan Brown
454fb883a2 Merge branch 'master' into release 2021-04-27 22:01:15 +01:00
Dan Brown
fc504a3d2c Updated translator attribution before release v21.04.3 2021-04-27 22:00:51 +01:00
Dan Brown
dd805503fb New Crowdin updates (#2695)
* New translations settings.php (Japanese)

* New translations settings.php (Japanese)

* New translations common.php (Latvian)

* New translations common.php (Russian)

* New translations settings.php (Dutch)

* New translations common.php (Dutch)

* New translations settings.php (Dutch)

* New translations entities.php (Dutch)

* New translations validation.php (Dutch)

* New translations activities.php (Dutch)

* New translations common.php (German)

* New translations common.php (Dutch)

* New translations common.php (German Informal)

* New translations activities.php (Dutch)

* New translations entities.php (German)

* New translations settings.php (German)

* New translations auth.php (Dutch)

* New translations components.php (Dutch)

* New translations common.php (German Informal)

* New translations entities.php (German Informal)

* New translations settings.php (German Informal)

* New translations common.php (Catalan)

* New translations common.php (Catalan)

* New translations passwords.php (Catalan)

* New translations validation.php (Catalan)

* New translations validation.php (Catalan)

* New translations auth.php (Catalan)

* New translations common.php (Italian)

* New translations activities.php (Italian)

* New translations common.php (Italian)
2021-04-27 21:58:09 +01:00
Dan Brown
f24336f77a Updated mobile content tabs to respect dark mode 2021-04-27 21:55:33 +01:00
Dan Brown
aa6a752e38 Implemented custom select controls because apple hates web developers
They'd rather keep pushing their 2007 era strange form control styles
even though they're horribly outdated, ugly and hard to style. The
only way to override is a full nuking of the default styles, which means
we have to then implement the frigging arrow icon using hacks which would
then conflict with all other sensible browsers so we have to nuke their
styles aswell to ensure some stupid backgroud hack is used everywhere.

I bet apple don't even use their shite default control styles and nuke
them also, Lets see. Yup, First thing I see on the top of their homepage
is a locale select dropdown custom built from about 10 HTML elements. FML

For #2709
2021-04-27 21:36:08 +01:00
Dan Brown
83b576eb19 Prevented "Recently Viewed" homepage list showing non-user-viewed items
Triggered when the user has no/limited views. Added a test to cover.
Closes #2703
2021-04-27 21:05:01 +01:00
Dan Brown
c4e31a0d5e Updated hard-coded string lengths for indexed columns
Since this is what's causing issues for people during migration due to max
key lengths.
Related to #2710.
2021-04-27 20:53:22 +01:00
Dan Brown
f8cdd6e80d Reduced calls for s3-based uploads
Combined the public ACL update into the put operation.
2021-04-27 20:36:42 +01:00
Dan Brown
6f4a6ab8ea Updated version for release v21.04.2 2021-04-20 22:37:05 +01:00
Dan Brown
9c4b6f36f1 Merge branch 'master' into release 2021-04-20 22:36:35 +01:00
Dan Brown
140aed3586 Updated translator attribution before release v21.04.2 2021-04-20 22:36:21 +01:00
Dan Brown
cf87b78636 New Crowdin updates (#2691)
* New translations common.php (Spanish)

* New translations common.php (Danish)

* New translations auth.php (Danish)

* New translations components.php (Danish)

* New translations entities.php (Danish)

* New translations entities.php (Danish)

* New translations settings.php (Danish)

* New translations common.php (Chinese Simplified)

* New translations auth.php (Chinese Simplified)

* New translations settings.php (Danish)

* New translations settings.php (Danish)

* New translations activities.php (Danish)

* New translations validation.php (Danish)

* New translations common.php (Danish)

* New translations auth.php (Danish)

* New translations activities.php (Danish)
2021-04-20 22:14:37 +01:00
Dan Brown
ec827da5a5 Updated public view test case to be more reliable
Was failing due to either common name or view share being
sticky across requests.
2021-04-20 22:14:01 +01:00
Dan Brown
20528a2442 Fixed error thrown when owner existed but the creator did not
Added test to cover.
For #2687
2021-04-20 21:04:38 +01:00
Dan Brown
78886b1e67 Updated version and assets for release v21.04.1 2021-04-19 22:26:19 +01:00
Dan Brown
d9debaf032 Merge branch 'master' into release 2021-04-19 22:25:29 +01:00
Dan Brown
b3c47649b4 New Crowdin updates (#2672)
* New translations common.php (French)

* New translations entities.php (French)

* New translations settings.php (Russian)

* New translations settings.php (Ukrainian)

* New translations common.php (Spanish, Argentina)

* New translations common.php (Spanish)

* New translations entities.php (Spanish, Argentina)

* New translations settings.php (Spanish, Argentina)

* New translations common.php (Portuguese, Brazilian)

* New translations settings.php (Portuguese, Brazilian)

* New translations common.php (Chinese Simplified)

* New translations common.php (Polish)

* New translations common.php (Norwegian Bokmal)

* New translations common.php (Bosnian)

* New translations common.php (Latvian)

* New translations common.php (Persian)

* New translations common.php (Indonesian)

* New translations common.php (Vietnamese)

* New translations common.php (Chinese Traditional)

* New translations common.php (Ukrainian)

* New translations common.php (Turkish)

* New translations common.php (Swedish)

* New translations common.php (Slovenian)

* New translations common.php (Slovak)

* New translations common.php (Russian)

* New translations common.php (Portuguese)

* New translations common.php (Dutch)

* New translations common.php (French)

* New translations common.php (Korean)

* New translations common.php (Japanese)

* New translations common.php (Italian)

* New translations common.php (Hungarian)

* New translations common.php (Hebrew)

* New translations common.php (German)

* New translations common.php (Danish)

* New translations common.php (Czech)

* New translations common.php (Catalan)

* New translations common.php (Bulgarian)

* New translations common.php (Arabic)

* New translations common.php (Portuguese, Brazilian)

* New translations common.php (Spanish)

* New translations common.php (Spanish, Argentina)

* New translations common.php (German Informal)
2021-04-19 22:04:05 +01:00
Dan Brown
70be28d22c Updated tinymce code block handling to help prevent breaking history states
Only used an undo transaction on startup and added a small delay
to codeMirror parsing on SetContent's to help avoid
the rendering activities getting caught in undoManager states.
Seemed to improve things a lot in Firefox & chrome on my dev machine.

For #2602
2021-04-19 22:00:33 +01:00
Dan Brown
9df4dee1b2 Improved header element accessibility when at mobile sizes
Intended to fix issues raised in #2681.
Changes up the tri-layout tabs, and the main header menu toggle,
to be buttons while adding better text and keyboard controls.

Updated the component format of a few elements along the way.
2021-04-19 21:41:13 +01:00
Dan Brown
60ffe6a993 Updated packages and added better upload failure logging
To fix #2689
Updates all packages but mainly focused on aws-sdk
2021-04-19 20:16:49 +01:00
Dan Brown
0c880def5e Fixed response JSON detection when charset existed
Fixes #2684
2021-04-18 22:12:26 +01:00
89 changed files with 799 additions and 572 deletions

View File

@@ -156,3 +156,8 @@ nikservik :: Ukrainian; Russian; Polish
HenrijsS :: Latvian
Pascal R-B (pborgner) :: German
Boris (Ginfred) :: Russian
Jonas Anker Rasmussen (jonasanker) :: Danish
Gerwin de Keijzer (gdekeijzer) :: Dutch; German Informal; German
kometchtech :: Japanese
Auri (Atalonica) :: Catalan
Francesco Franchina (ffranchina) :: Italian

View File

@@ -96,6 +96,7 @@ class ViewService
/** @var Entity $instance */
foreach ($this->entityProvider->all() as $name => $instance) {
$items = $instance::visible()->withLastView()
->having('last_viewed_at', '>', 0)
->orderBy('last_viewed_at', 'desc')
->skip($count * ($page - 1))
->take($count)

View File

@@ -202,6 +202,7 @@ class AttachmentService
try {
$storage->put($attachmentPath, $attachmentData);
} catch (Exception $e) {
\Log::error('Error when attempting file upload:' . $e->getMessage());
throw new FileUploadException(trans('errors.path_not_writable', ['filePath' => $attachmentPath]));
}

View File

@@ -106,9 +106,9 @@ class ImageService
}
try {
$storage->put($fullPath, $imageData);
$storage->setVisibility($fullPath, 'public');
$storage->put($fullPath, $imageData, ['visibility' => 'public']);
} catch (Exception $e) {
\Log::error('Error when attempting image upload:' . $e->getMessage());
throw new ImageUploadException(trans('errors.path_not_writable', ['filePath' => $fullPath]));
}
@@ -190,8 +190,7 @@ class ImageService
$thumbData = $this->resizeImage($storage->get($imagePath), $width, $height, $keepRatio);
$storage->put($thumbFilePath, $thumbData);
$storage->setVisibility($thumbFilePath, 'public');
$storage->put($thumbFilePath, $thumbData, ['visibility' => 'public']);
$this->cache->put('images-' . $image->id . '-' . $thumbFilePath, $thumbFilePath, 60 * 60 * 72);

466
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,7 @@ class CreateSearchIndexTable extends Migration
{
Schema::create('search_terms', function (Blueprint $table) {
$table->increments('id');
$table->string('term', 200);
$table->string('term', 180);
$table->string('entity_type', 100);
$table->integer('entity_id');
$table->integer('score');

View File

@@ -14,7 +14,7 @@ class AddRoleExternalAuthId extends Migration
public function up()
{
Schema::table('roles', function (Blueprint $table) {
$table->string('external_auth_id', 200)->default('');
$table->string('external_auth_id', 180)->default('');
$table->index('external_auth_id');
});
}

View File

@@ -37,8 +37,8 @@ class CreateBookshelvesTable extends Migration
Schema::create('bookshelves', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 200);
$table->string('slug', 200);
$table->string('name', 180);
$table->string('slug', 180);
$table->text('description');
$table->integer('created_by')->nullable()->default(null);
$table->integer('updated_by')->nullable()->default(null);

View File

@@ -15,7 +15,7 @@ class AddUserSlug extends Migration
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('slug', 250);
$table->string('slug', 180);
});
$slugMap = [];

46
public/dist/app.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -12,6 +12,7 @@ class DropDown {
this.menu = this.$refs.menu;
this.toggle = this.$refs.toggle;
this.moveMenu = this.$opts.moveMenu;
this.bubbleEscapes = this.$opts.bubbleEscapes === 'true';
this.direction = (document.dir === 'rtl') ? 'right' : 'left';
this.body = document.body;
@@ -137,7 +138,9 @@ class DropDown {
} else if (event.key === 'Escape') {
this.hide();
this.toggle.focus();
event.stopPropagation();
if (!this.bubbleEscapes) {
event.stopPropagation();
}
}
};
this.container.addEventListener('keydown', keyboardNavigation);

View File

@@ -1,31 +1,41 @@
class HeaderMobileToggle {
constructor(elem) {
this.elem = elem;
this.toggleButton = elem.querySelector('.mobile-menu-toggle');
this.menu = elem.querySelector('.header-links');
this.open = false;
setup() {
this.elem = this.$el;
this.toggleButton = this.$refs.toggle;
this.menu = this.$refs.menu;
this.open = false;
this.toggleButton.addEventListener('click', this.onToggle.bind(this));
this.onWindowClick = this.onWindowClick.bind(this);
this.onKeyDown = this.onKeyDown.bind(this);
}
onToggle(event) {
this.open = !this.open;
this.menu.classList.toggle('show', this.open);
this.toggleButton.setAttribute('aria-expanded', this.open ? 'true' : 'false');
if (this.open) {
this.elem.addEventListener('keydown', this.onKeyDown);
window.addEventListener('click', this.onWindowClick)
} else {
this.elem.removeEventListener('keydown', this.onKeyDown);
window.removeEventListener('click', this.onWindowClick)
}
event.stopPropagation();
}
onKeyDown(event) {
if (event.code === 'Escape') {
this.onToggle(event);
}
}
onWindowClick(event) {
this.onToggle(event);
}
}
module.exports = HeaderMobileToggle;
export default HeaderMobileToggle;

View File

@@ -1,8 +1,9 @@
class TriLayout {
constructor(elem) {
this.elem = elem;
setup() {
this.container = this.$refs.container;
this.tabs = this.$manyRefs.tab;
this.lastLayoutType = 'none';
this.onDestroy = null;
@@ -43,13 +44,12 @@ class TriLayout {
}
setupMobile() {
const layoutTabs = document.querySelectorAll('[tri-layout-mobile-tab]');
for (let tab of layoutTabs) {
for (const tab of this.tabs) {
tab.addEventListener('click', this.mobileTabClick);
}
this.onDestroy = () => {
for (let tab of layoutTabs) {
for (const tab of this.tabs) {
tab.removeEventListener('click', this.mobileTabClick);
}
}
@@ -65,7 +65,7 @@ class TriLayout {
* @param event
*/
mobileTabClick(event) {
const tab = event.target.getAttribute('tri-layout-mobile-tab');
const tab = event.target.dataset.tab;
this.showTab(tab);
}
@@ -79,21 +79,21 @@ class TriLayout {
/**
* Show the given tab
* @param tabName
* @param {String} tabName
* @param {Boolean }scroll
*/
showTab(tabName, scroll = true) {
this.scrollCache[this.lastTabShown] = document.documentElement.scrollTop;
// Set tab status
const tabs = document.querySelectorAll('.tri-layout-mobile-tab');
for (let tab of tabs) {
const isActive = (tab.getAttribute('tri-layout-mobile-tab') === tabName);
tab.classList.toggle('active', isActive);
for (const tab of this.tabs) {
const isActive = (tab.dataset.tab === tabName);
tab.setAttribute('aria-selected', isActive ? 'true' : 'false');
}
// Toggle section
const showInfo = (tabName === 'info');
this.elem.classList.toggle('show-info', showInfo);
this.container.classList.toggle('show-info', showInfo);
// Set the scroll position from cache
if (scroll) {

View File

@@ -152,8 +152,8 @@ function codePlugin() {
return;
}
let lang = selectedNode.hasAttribute('data-lang') ? selectedNode.getAttribute('data-lang') : '';
let currentCode = selectedNode.querySelector('textarea').textContent;
const lang = selectedNode.hasAttribute('data-lang') ? selectedNode.getAttribute('data-lang') : '';
const currentCode = selectedNode.querySelector('textarea').textContent;
window.components.first('code-editor').open(currentCode, lang, (code, lang) => {
const editorElem = selectedNode.querySelector('.CodeMirror');
@@ -225,22 +225,23 @@ function codePlugin() {
return elem.contentEditable !== "false";
});
if (!codeSamples.length) return;
editor.undoManager.transact(function () {
codeSamples.each((index, elem) => {
Code.wysiwygView(elem);
});
codeSamples.each((index, elem) => {
Code.wysiwygView(elem);
});
}
editor.on('init', function() {
// Parse code mirror instances on init, but delay a little so this runs after
// initial styles are fetched into the editor.
parseCodeMirrorInstances();
editor.undoManager.transact(function () {
parseCodeMirrorInstances();
});
// Parsed code mirror blocks when content is set but wait before setting this handler
// to avoid any init 'SetContent' events.
setTimeout(() => {
editor.on('SetContent', parseCodeMirrorInstances);
editor.on('SetContent', () => {
setTimeout(parseCodeMirrorInstances, 100);
});
}, 200);
});

View File

@@ -149,8 +149,8 @@ async function getResponseContent(response) {
return null;
}
const responseContentType = response.headers.get('Content-Type');
const subType = responseContentType.split('/').pop();
const responseContentType = response.headers.get('Content-Type') || '';
const subType = responseContentType.split(';')[0].split('/').pop();
if (subType === 'javascript' || subType === 'json') {
return await response.json();

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'شريط التنقل',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'قائمة ملف التعريف',
'view_profile' => 'عرض الملف الشخصي',
'edit_profile' => 'تعديل الملف الشخصي',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'معلومات',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'المحتوى',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'إذا واجهتكم مشكلة بضغط زر ":actionText" فبإمكانكم نسخ الرابط أدناه ولصقه بالمتصفح:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Трасиране',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Профил меню',
'view_profile' => 'Разглеждане на профил',
'edit_profile' => 'Редактиране на профила',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Информация',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Съдържание',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Ако имате проблеми с бутона ":actionText" по-горе, копирайте и поставете URL адреса по-долу в уеб браузъра си:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Navigacijske stavke',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Meni profila',
'view_profile' => 'Pogledaj profil',
'edit_profile' => 'Izmjeni profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informacije',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Sadržaj',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Ukoliko imate poteškoća sa pritiskom na ":actionText" dugme, kopirajte i zaljepite URL koji se nalazi ispod u vaš web pretraživač:',

View File

@@ -6,8 +6,8 @@
*/
return [
'failed' => 'Les credencials no coincideixen amb les que tenim emmagatzemades.',
'throttle' => 'Massa intents d\'iniciar la sessió. Torneu-ho a provar d\'aquí a :seconds segons.',
'failed' => 'Les credencials no coincideixen amb les que hi ha emmagatzemades.',
'throttle' => 'Massa intents d\'inici de sessió. Torna-ho a provar d\'aquí a :seconds segons.',
// Login & Register
'sign_up' => 'Registra-m\'hi',
@@ -28,7 +28,7 @@ return [
'create_account' => 'Crea el compte',
'already_have_account' => 'Ja teniu un compte?',
'dont_have_account' => 'No teniu cap compte?',
'social_login' => 'Inici de sessió social',
'social_login' => 'Inici de sessió amb xarxes social',
'social_registration' => 'Registre social',
'social_registration_text' => 'Registreu-vos i inicieu la sessió fent servir un altre servei.',

View File

@@ -7,7 +7,7 @@ return [
// Buttons
'cancel' => 'Cancel·la',
'confirm' => 'D\'acord',
'back' => 'Endarrere',
'back' => 'Enrere',
'save' => 'Desa',
'continue' => 'Continua',
'select' => 'Selecciona',
@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Ordre ascendent',
'sort_descending' => 'Ordre descendent',
'sort_name' => 'Nom',
'sort_default' => 'Default',
'sort_default' => 'Per defecte',
'sort_created_at' => 'Data de creació',
'sort_updated_at' => 'Data d\'actualització',
@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Ruta de navegació',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Menú del perfil',
'view_profile' => 'Mostra el perfil',
'edit_profile' => 'Edita el perfil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informació',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Contingut',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Si teniu problemes per fer clic al botó ":actionText", copieu i enganxeu l\'URL següent al vostre navegador web:',

View File

@@ -7,9 +7,9 @@
return [
'password' => 'Les contrasenyes han de tenir com a mínim vuit caràcters i la confirmació ha de coincidir.',
'user' => "No s'ha trobat cap usuari amb aquesta adreça electrònica.",
'token' => 'El testimoni de reinicialització de la contrasenya no és vàlid per a aquesta adreça electrònica.',
'sent' => 'Us hem enviat un enllaç per a restablir la contrasenya!',
'reset' => 'S\'ha restablert la vostra contrasenya!',
'user' => "No s'ha trobat cap usuari amb aquest correu electrònic.",
'token' => 'El token de restabliment de contrasenya no és vàlid per aquest correu electrònic.',
'sent' => 'T\'hem enviat un enllaç per a restablir la contrasenya!',
'reset' => 'S\'ha restablert la teva contrasenya!',
];

View File

@@ -8,8 +8,8 @@
return [
// Standard laravel validation lines
'accepted' => 'Cal que accepteu el camp :attribute.',
'active_url' => 'El camp :attribute no és un URL vàlid.',
'accepted' => 'Cal que acceptis :attribute.',
'active_url' => 'L\':attribute no és un URL vàlid.',
'after' => 'El camp :attribute ha de ser una data posterior a :date.',
'alpha' => 'El camp :attribute només pot contenir lletres.',
'alpha_dash' => 'El camp :attribute només pot contenir lletres, números, guions i guions baixos.',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Drobečková navigace',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Nabídka profilu',
'view_profile' => 'Zobrazit profil',
'edit_profile' => 'Upravit profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informace',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Obsah',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Pokud se vám nedaří kliknout na tlačítko „:actionText“, zkopírujte a vložte níže uvedenou URL do vašeho webového prohlížeče:',

View File

@@ -20,7 +20,7 @@ return [
'chapter_create' => 'oprettede kapitel',
'chapter_create_notification' => 'Kapitel blev oprettet',
'chapter_update' => 'opdaterede kapitel',
'chapter_update_notification' => 'Kapitel blev opdateret',
'chapter_update_notification' => 'Kapitlet blev opdateret',
'chapter_delete' => 'slettede kapitel',
'chapter_delete_notification' => 'Kapitel blev slettet',
'chapter_move' => 'flyttede kapitel',
@@ -45,5 +45,5 @@ return [
// Other
'commented_on' => 'kommenterede til',
'permissions_update' => 'updated permissions',
'permissions_update' => 'Tilladelser opdateret',
];

View File

@@ -6,8 +6,8 @@
*/
return [
'failed' => 'Det indtastede stemmer ikke overens med vores registrering.',
'throttle' => 'For mange mislykkede loginforsøg. Prøv igen om :seconds seconds.',
'failed' => 'Dee indtastede brugeroplysninger stemmer ikke overens med vores registreringer.',
'throttle' => 'For mange mislykkede loginforsøg. Prøv igen om :seconds sekunder.',
// Login & Register
'sign_up' => 'Registrér',
@@ -21,11 +21,11 @@ return [
'email' => 'E-mail',
'password' => 'Adgangskode',
'password_confirm' => 'Bekræft adgangskode',
'password_hint' => 'Skal være på mindst 8 karakterer',
'password_hint' => 'Skal være på mindst 7 karakterer',
'forgot_password' => 'Glemt Adgangskode?',
'remember_me' => 'Husk Mig',
'remember_me' => 'Husk mig',
'ldap_email_hint' => 'Angiv venligst din kontos e-mail.',
'create_account' => 'Opret Konto',
'create_account' => 'Opret konto',
'already_have_account' => 'Har du allerede en konto?',
'dont_have_account' => 'Har du ikke en konto?',
'social_login' => 'Social Log ind',

View File

@@ -33,7 +33,7 @@ return [
'copy' => 'Kopier',
'reply' => 'Besvar',
'delete' => 'Slet',
'delete_confirm' => 'Confirm Deletion',
'delete_confirm' => 'Bekræft sletning',
'search' => 'Søg',
'search_clear' => 'Ryd søgning',
'reset' => 'Nulstil',
@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Sorter stigende',
'sort_descending' => 'Sorter faldende',
'sort_name' => 'Navn',
'sort_default' => 'Default',
'sort_default' => 'Standard',
'sort_created_at' => 'Oprettelsesdato',
'sort_updated_at' => 'Opdateringsdato',
@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Brødkrumme',
// Header
'header_menu_expand' => 'Udvid header menu',
'profile_menu' => 'Profilmenu',
'view_profile' => 'Vis profil',
'edit_profile' => 'Redigér Profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Info',
'tab_info_label' => 'Faneblad: Vis sekundær information',
'tab_content' => 'Indhold',
'tab_content_label' => 'Faneblad: Vis primær indhold',
// Email Content
'email_action_help' => 'Hvis du har problemer med at trykke på ":actionText" knappen, prøv at kopiere og indsætte linket herunder ind i din webbrowser:',
@@ -81,6 +84,6 @@ return [
// Footer Link Options
// Not directly used but available for convenience to users.
'privacy_policy' => 'Privacy Policy',
'terms_of_service' => 'Terms of Service',
'privacy_policy' => 'Privatlivspolitik',
'terms_of_service' => 'Tjenestevilkår',
];

View File

@@ -15,7 +15,7 @@ return [
'image_load_more' => 'Indlæse mere',
'image_image_name' => 'Billednavn',
'image_delete_used' => 'Dette billede er brugt på siderne nedenfor.',
'image_delete_confirm_text' => 'Are you sure you want to delete this image?',
'image_delete_confirm_text' => 'Er du sikker på at du vil slette dette billede?',
'image_select_image' => 'Vælg billede',
'image_dropzone' => 'Træk-og-slip billede eller klik her for at uploade',
'images_deleted' => 'Billede slettet',
@@ -29,6 +29,6 @@ return [
'code_editor' => 'Rediger kode',
'code_language' => 'Kodesprog',
'code_content' => 'Kodeindhold',
'code_session_history' => 'Session History',
'code_session_history' => 'Sessionshistorik',
'code_save' => 'Gem kode',
];

View File

@@ -22,7 +22,7 @@ return [
'meta_created_name' => 'Oprettet :timeLength af :user',
'meta_updated' => 'Opdateret :timeLength',
'meta_updated_name' => 'Opdateret :timeLength af :user',
'meta_owned_name' => 'Owned by :user',
'meta_owned_name' => 'Ejet af :user',
'entity_select' => 'Vælg emne',
'images' => 'Billeder',
'my_recent_drafts' => 'Mine seneste kladder',
@@ -40,7 +40,7 @@ return [
'permissions_intro' => 'Når de er aktiveret, vil disse tilladelser have prioritet over alle indstillede rolletilladelser.',
'permissions_enable' => 'Aktivér tilpassede tilladelser',
'permissions_save' => 'Gem tilladelser',
'permissions_owner' => 'Owner',
'permissions_owner' => 'Ejer',
// Search
'search_results' => 'Søgeresultater',
@@ -49,8 +49,8 @@ return [
'search_no_pages' => 'Ingen sider matchede søgning',
'search_for_term' => 'Søgning for :term',
'search_more' => 'Flere resultater',
'search_advanced' => 'Advanced Search',
'search_terms' => 'Search Terms',
'search_advanced' => 'Avanceret søgning',
'search_terms' => 'Søgeord',
'search_content_type' => 'Indholdstype',
'search_exact_matches' => 'Nøjagtige matches',
'search_tags' => 'Tagsøgninger',
@@ -60,7 +60,7 @@ return [
'search_permissions_set' => 'Rettigheders sæt',
'search_created_by_me' => 'Oprettet af mig',
'search_updated_by_me' => 'Opdateret af mig',
'search_owned_by_me' => 'Owned by me',
'search_owned_by_me' => 'Ejet af mig',
'search_date_options' => 'Datoindstillinger',
'search_updated_before' => 'Opdateret før',
'search_updated_after' => 'Opdateret efter',
@@ -149,7 +149,7 @@ return [
'chapters_create' => 'Opret nyt kapitel',
'chapters_delete' => 'Slet kapitel',
'chapters_delete_named' => 'Slet kapitel :chapterName',
'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_explain' => 'Dette vil slette kapitlet med navnet \':chapterName\'. Alle sider i dette kapitel vil også blive slettet.',
'chapters_delete_confirm' => 'Er du sikker på du vil slette dette kapitel?',
'chapters_edit' => 'Rediger kapitel',
'chapters_edit_named' => 'Rediger kapitel :chapterName',
@@ -211,7 +211,7 @@ return [
'pages_revisions' => 'Sidserevisioner',
'pages_revisions_named' => 'Siderevisioner for :pageName',
'pages_revision_named' => 'Siderevision for :pageName',
'pages_revision_restored_from' => 'Restored from #:id; :summary',
'pages_revision_restored_from' => 'Genoprettet fra #:id; :summary',
'pages_revisions_created_by' => 'Oprettet af',
'pages_revisions_date' => 'Revisionsdato',
'pages_revisions_number' => '#',
@@ -260,7 +260,7 @@ return [
'attachments_upload' => 'Upload fil',
'attachments_link' => 'Vedhæft link',
'attachments_set_link' => 'Sæt link',
'attachments_delete' => 'Are you sure you want to delete this attachment?',
'attachments_delete' => 'Er du sikker på at du vil slette denne vedhæftning?',
'attachments_dropzone' => 'Slip filer eller klik her for at vedhæfte en fil',
'attachments_no_files' => 'Ingen filer er blevet overført',
'attachments_explain_link' => 'Du kan vedhæfte et link, hvis du foretrækker ikke at uploade en fil. Dette kan være et link til en anden side eller et link til en fil i skyen.',
@@ -269,7 +269,7 @@ return [
'attachments_link_url' => 'Link til filen',
'attachments_link_url_hint' => 'Adresse (URL) på side eller fil',
'attach' => 'Vedhæft',
'attachments_insert_link' => 'Add Attachment Link to Page',
'attachments_insert_link' => 'Tilføj vedhæftningslink til side',
'attachments_edit_file' => 'Rediger fil',
'attachments_edit_file_name' => 'Filnavn',
'attachments_edit_drop_upload' => 'Slip filer eller klik her for at uploade og overskrive',

View File

@@ -9,13 +9,13 @@ return [
// Common Messages
'settings' => 'Indstillinger',
'settings_save' => 'Gem indstillinger',
'settings_save_success' => 'Indstillinger gemt',
'settings_save_success' => 'Indstillingerne blev gemt',
// App Settings
'app_customization' => 'Tilpasning',
'app_features_security' => 'Funktioner & sikkerhed',
'app_name' => 'Programnavn',
'app_name_desc' => 'Dette er navnet vist i headeren og i systemafsendte E-Mails.',
'app_features_security' => 'Funktionalitet og sikkerhed',
'app_name' => 'Applikationsnavn',
'app_name_desc' => 'Dette navn vises i headeren og i alle e-mails sendt fra systemet.',
'app_name_header' => 'Vis navn i header',
'app_public_access' => 'Offentlig adgang',
'app_public_access_desc' => 'Aktivering af denne funktion giver besøgende, der ikke er logget ind, adgang til indhold i din BookStack-instans.',
@@ -24,24 +24,24 @@ return [
'app_public_viewing' => 'Tillad offentlig visning?',
'app_secure_images' => 'Højere sikkerhed for billeduploads',
'app_secure_images_toggle' => 'Aktiver højere sikkerhed for billeduploads',
'app_secure_images_desc' => 'Af ydeevneå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 mappeindekser ikke er aktiveret for at forhindre nem adgang.',
'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_custom_html' => 'Tilpasset HTML head-indhold',
'app_custom_html_desc' => 'Al indhold tilføjet her, vil blive indsat i bunden af <head> sektionen på alle sider. Dette er brugbart til overskrivning af styling og tilføjelse af analysekode.',
'app_custom_html_disabled_notice' => 'Brugerdefineret HTML-head indhold er deaktiveret på denne indstillingsside for at sikre, at ødelæggende ændringer kan rettes.',
'app_logo' => 'Programlogo',
'app_logo_desc' => 'Dette billede skal være 43px højt. <br> Større billeder vil blive skaleret ned.',
'app_primary_color' => 'Primær programfarve',
'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.',
'app_logo' => 'Applikationslogo',
'app_logo_desc' => 'Dette billede skal være 43px højt. <br>Store billeder vil blive skaleret ned.',
'app_primary_color' => 'Primær applikationsfarve',
'app_primary_color_desc' => 'Sætter den primære farve for applikationen herunder banneret, knapper og links.',
'app_homepage' => 'Programforside',
'app_homepage_desc' => 'Vælg en visning, der skal vises på startsiden i stedet for standardvisningen. Sidetilladelser ignoreres for valgte sider.',
'app_homepage' => 'Applikationsforside',
'app_homepage_desc' => 'Vælg en visning, der skal vises på forsiden i stedet for standardvisningen. Sidetilladelser ignoreres for de valgte sider.',
'app_homepage_select' => 'Vælg en side',
'app_footer_links' => 'Footer Links',
'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".',
'app_footer_links_label' => 'Link Label',
'app_footer_links' => 'Footer links',
'app_footer_links_desc' => 'Tilføj links til footeren. Linksene vil blive vist nederst på de fleste sider, inkluderet sider, som ikke kræver login. Brug en label med "trans::<key>" for at bruge systemdefinerede oversættelser. For eksempel: "trans::common.privacy_policy" giver den oversatte tekst "Privacy Policy" og "trans::common.terms_of_service" vil give den oversatte tekst "Terms of Service".',
'app_footer_links_label' => 'Link label',
'app_footer_links_url' => 'Link URL',
'app_footer_links_add' => 'Add Footer Link',
'app_footer_links_add' => 'Tilføj footer link',
'app_disable_comments' => 'Deaktiver kommentarer',
'app_disable_comments_toggle' => 'Deaktiver kommentar',
'app_disable_comments_desc' => 'Deaktiverer kommentarer på tværs af alle sider i applikationen. <br> Eksisterende kommentarer vises ikke.',
@@ -73,7 +73,7 @@ return [
'maint' => 'Vedligeholdelse',
'maint_image_cleanup' => 'Ryd op i billeder',
'maint_image_cleanup_desc' => "Scanner side & revisionsindhold for at kontrollere, hvilke billeder og tegninger, der i øjeblikket er i brug, og hvilke billeder, der er overflødige. Sørg for, at du opretter en komplet database og billedbackup, før du kører dette.",
'maint_delete_images_only_in_revisions' => 'Also delete images that only exist in old page revisions',
'maint_delete_images_only_in_revisions' => 'Slet også billeder, der kun findes i gamle siderevisioner',
'maint_image_cleanup_run' => 'Kør Oprydning',
'maint_image_cleanup_warning' => 'der blev fundet :count potentielt ubrugte billeder. Er du sikker på, at du vil slette disse billeder?',
'maint_image_cleanup_success' => ':count: potentielt ubrugte billeder fundet og slettet!',
@@ -85,41 +85,41 @@ return [
'maint_send_test_email_mail_subject' => 'Test E-Mail',
'maint_send_test_email_mail_greeting' => 'E-Mail levering ser ud til at virke!',
'maint_send_test_email_mail_text' => 'Tillykke! Da du har modtaget denne mailnotifikation, ser det ud som om, at dine mailindstillinger er opsat korrekt.',
'maint_recycle_bin_desc' => 'Deleted shelves, books, chapters & pages are sent to the recycle bin so they can be restored or permanently deleted. Older items in the recycle bin may be automatically removed after a while depending on system configuration.',
'maint_recycle_bin_open' => 'Open Recycle Bin',
'maint_recycle_bin_desc' => 'Slettede hylder, bøger, kapitler og sider overføres til papirkurven, så de kan gendannes eller slettes permanent. Ældre elementer i papirkurven fjernes automatisk efter et stykke tid afhængigt af systemets konfiguration.',
'maint_recycle_bin_open' => 'Åbn papirkurven',
// Recycle Bin
'recycle_bin' => 'Recycle Bin',
'recycle_bin_desc' => 'Here you can restore items that have been deleted or choose to permanently remove them from the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.',
'recycle_bin_deleted_item' => 'Deleted Item',
'recycle_bin_deleted_by' => 'Deleted By',
'recycle_bin_deleted_at' => 'Deletion Time',
'recycle_bin_permanently_delete' => 'Permanently Delete',
'recycle_bin_restore' => 'Restore',
'recycle_bin_contents_empty' => 'The recycle bin is currently empty',
'recycle_bin_empty' => 'Empty Recycle Bin',
'recycle_bin_empty_confirm' => 'This will permanently destroy all items in the recycle bin including content contained within each item. Are you sure you want to empty the recycle bin?',
'recycle_bin_destroy_confirm' => 'This action will permanently delete this item, along with any child elements listed below, from the system and you will not be able to restore this content. Are you sure you want to permanently delete this item?',
'recycle_bin_destroy_list' => 'Items to be Destroyed',
'recycle_bin_restore_list' => 'Items to be Restored',
'recycle_bin_restore_confirm' => 'This action will restore the deleted item, including any child elements, to their original location. If the original location has since been deleted, and is now in the recycle bin, the parent item will also need to be restored.',
'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_destroy_notification' => 'Deleted :count total items from the recycle bin.',
'recycle_bin_restore_notification' => 'Restored :count total items from the recycle bin.',
'recycle_bin' => 'Papirkurv',
'recycle_bin_desc' => 'Her kan du gendanne elementer, der er blevet slettet eller vælge at permanent fjerne dem fra systemet. Denne liste er ufiltreret, i modsætning til lignende aktivitetslister i systemet, hvor tilladelsesfiltre anvendes.',
'recycle_bin_deleted_item' => 'Slettet element',
'recycle_bin_deleted_by' => 'Slettet af',
'recycle_bin_deleted_at' => 'Sletningstidspunkt',
'recycle_bin_permanently_delete' => 'Slet permanent',
'recycle_bin_restore' => 'Gendan',
'recycle_bin_contents_empty' => 'Papirkurven er tom',
'recycle_bin_empty' => 'Tøm papirkurv',
'recycle_bin_empty_confirm' => 'Dette vil permanent slette alle elementer i papirkurven, inkluderet hvert elements indhold. Er du sikker på, at du vil tømme papirkurven?',
'recycle_bin_destroy_confirm' => 'Denne handling sletter dette element permanent, sammen med elementerne anført nedenfor, fra systemet. Du vil ikke være i stand til at gendanne dette indhold. Er du sikker på, at du vil slette dette element permanent?',
'recycle_bin_destroy_list' => 'Elementer der skal slettes',
'recycle_bin_restore_list' => 'Elementer der skal gendannes',
'recycle_bin_restore_confirm' => 'Denne handling vil gendanne det slettede element, herunder alle underelementer, til deres oprindelige placering. Hvis den oprindelige placering siden er blevet slettet, og nu er i papirkurven, vil det overordnede element også skulle gendannes.',
'recycle_bin_restore_deleted_parent' => 'Det overordnede element til dette element er også blevet slettet. Disse vil forblive slettet indtil det overordnede også er gendannet.',
'recycle_bin_destroy_notification' => 'Slettede :count elementer fra papirkurven.',
'recycle_bin_restore_notification' => 'Gendannede :count elementer fra papirkurven.',
// Audit Log
'audit' => 'Audit Log',
'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_no_filter' => 'No Filter',
'audit_deleted_item' => 'Deleted Item',
'audit_deleted_item_name' => 'Name: :name',
'audit_table_user' => 'User',
'audit_table_event' => 'Event',
'audit_table_related' => 'Related Item or Detail',
'audit_table_date' => 'Activity Date',
'audit_date_from' => 'Date Range From',
'audit_date_to' => 'Date Range To',
'audit' => 'Revisionslog',
'audit_desc' => 'Denne revisionslog viser en liste over aktiviteter sporet i systemet. Denne liste er ufiltreret i modsætning til lignende aktivitetslister i systemet, hvor tilladelsesfiltre anvendes.',
'audit_event_filter' => 'Event filter',
'audit_event_filter_no_filter' => 'Intet filter',
'audit_deleted_item' => 'Element slettet',
'audit_deleted_item_name' => 'Navn: :name',
'audit_table_user' => 'Bruger',
'audit_table_event' => 'Hændelse',
'audit_table_related' => 'Relateret element eller detalje',
'audit_table_date' => 'Aktivitetsdato',
'audit_date_from' => 'Datointerval fra',
'audit_date_to' => 'Datointerval til',
// Role Settings
'roles' => 'Roller',
@@ -146,7 +146,7 @@ return [
'role_access_api' => 'Tilgå system-API',
'role_manage_settings' => 'Administrer app-indstillinger',
'role_asset' => 'Tilladelser for medier og "assets"',
'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.',
'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.',
'role_asset_admins' => 'Administratorer får automatisk adgang til alt indhold, men disse indstillinger kan vise eller skjule UI-indstillinger.',
'role_all' => 'Alle',
@@ -162,7 +162,7 @@ return [
'user_profile' => 'Brugerprofil',
'users_add_new' => 'Tilføj ny bruger',
'users_search' => 'Søg efter brugere',
'users_latest_activity' => 'Latest Activity',
'users_latest_activity' => 'Seneste aktivitet',
'users_details' => 'Brugeroplysninger',
'users_details_desc' => 'Angiv et visningsnavn og en E-Mail-adresse for denne bruger. E-Mail-adressen bruges til at logge ind på applikationen.',
'users_details_desc_no_email' => 'Sætter et visningsnavn for denne bruger, så andre kan genkende dem.',
@@ -180,10 +180,10 @@ return [
'users_delete_named' => 'Slet bruger :userName',
'users_delete_warning' => 'Dette vil helt slette denne bruger med navnet \':userName\' fra systemet.',
'users_delete_confirm' => 'Er du sikker på, at du vil slette denne bruger?',
'users_migrate_ownership' => 'Migrate Ownership',
'users_migrate_ownership_desc' => 'Select a user here if you want another user to become the owner of all items currently owned by this user.',
'users_none_selected' => 'No user selected',
'users_delete_success' => 'User successfully removed',
'users_migrate_ownership' => 'Overfør ejerskab',
'users_migrate_ownership_desc' => 'Vælg en bruger her, hvis du vil have en anden bruger til at blive ejer af alle elementer, der i øjeblikket ejes af denne bruger.',
'users_none_selected' => 'Ingen bruger valgt',
'users_delete_success' => 'Brugeren blev fjernet',
'users_edit' => 'Rediger bruger',
'users_edit_profile' => 'Rediger profil',
'users_edit_success' => 'Bruger suscesfuldt opdateret',
@@ -232,7 +232,7 @@ return [
'ar' => 'العربية',
'bg' => 'Bǎlgarski',
'bs' => 'Bosanski',
'ca' => 'Català',
'ca' => 'Catalansk',
'cs' => 'Česky',
'da' => 'Dansk',
'de' => 'Deutsch (Sie)',

View File

@@ -89,7 +89,7 @@ return [
'required_without' => ':attribute skal udfyldes når :values ikke er udfyldt.',
'required_without_all' => ':attribute skal udfyldes når ingen af :values er udfyldt.',
'same' => ':attribute og :other skal være ens.',
'safe_url' => 'The provided link may not be safe.',
'safe_url' => 'Det angivne link kan være usikkert.',
'size' => [
'numeric' => ':attribute skal være :size.',
'file' => ':attribute skal være :size kilobytes.',

View File

@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Aufsteigend sortieren',
'sort_descending' => 'Absteigend sortieren',
'sort_name' => 'Name',
'sort_default' => 'Default',
'sort_default' => 'Standard',
'sort_created_at' => 'Erstellungsdatum',
'sort_updated_at' => 'Aktualisierungsdatum',
@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Brotkrumen',
// Header
'header_menu_expand' => 'Header-Menü erweitern',
'profile_menu' => 'Profilmenü',
'view_profile' => 'Profil ansehen',
'edit_profile' => 'Profil bearbeiten',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Info',
'tab_info_label' => 'Tab: Sekundäre Informationen anzeigen',
'tab_content' => 'Inhalt',
'tab_content_label' => 'Tab: Hauptinhalt anzeigen',
// Email Content
'email_action_help' => 'Sollte es beim Anklicken der Schaltfläche ":action_text" Probleme geben, öffnen Sie folgende URL in Ihrem Browser:',

View File

@@ -60,7 +60,7 @@ return [
'search_permissions_set' => 'Berechtigungen gesetzt',
'search_created_by_me' => 'Von mir erstellt',
'search_updated_by_me' => 'Von mir aktualisiert',
'search_owned_by_me' => 'Owned by me',
'search_owned_by_me' => 'Besitzt von mir',
'search_date_options' => 'Datums Optionen',
'search_updated_before' => 'Aktualisiert vor',
'search_updated_after' => 'Aktualisiert nach',

View File

@@ -40,7 +40,7 @@ Wenn Sie nicht eingeben, wird die Anwendung auf die Standardfarbe zurückgesetzt
'app_homepage_desc' => 'Wählen Sie eine Seite als Startseite aus, die statt der Standardansicht angezeigt werden soll. Seitenberechtigungen werden für die ausgewählten Seiten ignoriert.',
'app_homepage_select' => 'Wählen Sie eine Seite aus',
'app_footer_links' => 'Fußzeilen-Links',
'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".',
'app_footer_links_desc' => 'Fügen Sie Links hinzu, die innerhalb der Seitenfußzeile angezeigt werden. Diese werden am unteren Ende der meisten Seiten angezeigt, einschließlich derjenigen, die keinen Login benötigen. Sie können die Bezeichnung "trans::<key>" verwenden, um systemdefinierte Übersetzungen zu verwenden. Beispiel: Mit "trans::common.privacy_policy" wird der übersetzte Text "Privacy Policy" bereitgestellt, und "trans::common.terms_of_service" liefert den übersetzten Text "Terms of Service".',
'app_footer_links_label' => 'Link-Label',
'app_footer_links_url' => 'Link-URL',
'app_footer_links_add' => 'Fußzeilen-Link hinzufügen',
@@ -235,7 +235,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
'ar' => 'العربية',
'bg' => 'Bulgarisch',
'bs' => 'Bosanski',
'ca' => 'Català',
'ca' => 'Katalanisch',
'cs' => 'Česky',
'da' => 'Dänisch',
'de' => 'Deutsch (Sie)',

View File

@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Aufsteigend sortieren',
'sort_descending' => 'Absteigend sortieren',
'sort_name' => 'Name',
'sort_default' => 'Default',
'sort_default' => 'Standard',
'sort_created_at' => 'Erstellungsdatum',
'sort_updated_at' => 'Aktualisierungsdatum',
@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Brotkrumen',
// Header
'header_menu_expand' => 'Header-Menü erweitern',
'profile_menu' => 'Profilmenü',
'view_profile' => 'Profil ansehen',
'edit_profile' => 'Profil bearbeiten',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Info',
'tab_info_label' => 'Tab: Sekundäre Informationen anzeigen',
'tab_content' => 'Inhalt',
'tab_content_label' => 'Tab: Hauptinhalt anzeigen',
// Email Content
'email_action_help' => 'Sollte es beim Anklicken der Schaltfläche ":action_text" Probleme geben, öffne die folgende URL in Deinem Browser:',
@@ -81,6 +84,6 @@ return [
// Footer Link Options
// Not directly used but available for convenience to users.
'privacy_policy' => 'Datenschutzbestimmungen',
'privacy_policy' => 'Datenschutzerklärung',
'terms_of_service' => 'Allgemeine Geschäftsbedingungen',
];

View File

@@ -60,7 +60,7 @@ return [
'search_permissions_set' => 'Berechtigungen gesetzt',
'search_created_by_me' => 'Von mir erstellt',
'search_updated_by_me' => 'Von mir aktualisiert',
'search_owned_by_me' => 'Owned by me',
'search_owned_by_me' => 'Besitzt von mir',
'search_date_options' => 'Datums Optionen',
'search_updated_before' => 'Aktualisiert vor',
'search_updated_after' => 'Aktualisiert nach',

View File

@@ -40,10 +40,10 @@ Wenn Du nichts eingibst, wird die Anwendung auf die Standardfarbe zurückgesetzt
'app_homepage_desc' => 'Wähle eine Seite als Startseite aus, die statt der Standardansicht angezeigt werden soll. Seitenberechtigungen werden für die ausgewählten Seiten ignoriert.',
'app_homepage_select' => 'Wählen Sie eine Seite aus',
'app_footer_links' => 'Fußzeilen-Links',
'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".',
'app_footer_links_desc' => 'Fügen Sie Links hinzu, die innerhalb der Seitenfußzeile angezeigt werden. Diese werden am unteren Ende der meisten Seiten angezeigt, einschließlich derjenigen, die keinen Login benötigen. Sie können die Bezeichnung "trans::<key>" verwenden, um systemdefinierte Übersetzungen zu verwenden. Beispiel: Mit "trans::common.privacy_policy" wird der übersetzte Text "Privacy Policy" bereitgestellt, und "trans::common.terms_of_service" liefert den übersetzten Text "Terms of Service".',
'app_footer_links_label' => 'Link-Label',
'app_footer_links_url' => 'Link-URL',
'app_footer_links_add' => 'Fußzeilen-Link hinzufügen',
'app_footer_links_add' => 'Fußzeilenlink hinzufügen',
'app_disable_comments' => 'Kommentare deaktivieren',
'app_disable_comments_toggle' => 'Kommentare deaktivieren',
'app_disable_comments_desc' => 'Deaktiviert Kommentare über alle Seiten in der Anwendung. Vorhandene Kommentare werden nicht angezeigt.',
@@ -235,7 +235,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
'ar' => 'العربية',
'bg' => 'Bulgarisch',
'bs' => 'Bosanski',
'ca' => 'Català',
'ca' => 'Katalanisch',
'cs' => 'Česky',
'da' => 'Dänisch',
'de' => 'Deutsch (Sie)',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Breadcrumb',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profile Menu',
'view_profile' => 'View Profile',
'edit_profile' => 'Edit Profile',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Info',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Content',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'If youre having trouble clicking the ":actionText" button, copy and paste the URL below into your web browser:',

View File

@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Ordenar Ascendentemente',
'sort_descending' => 'Ordenar Descendentemente',
'sort_name' => 'Nombre',
'sort_default' => 'Default',
'sort_default' => 'Predeterminada',
'sort_created_at' => 'Fecha de Creación',
'sort_updated_at' => 'Fecha de Modificación',
@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Rastro de migas de pan',
// Header
'header_menu_expand' => 'Expandir el Menú de la Cabecera',
'profile_menu' => 'Menú de Perfil',
'view_profile' => 'Ver Perfil',
'edit_profile' => 'Editar Perfil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Información',
'tab_info_label' => 'Pestaña: Mostrar Información Secundaria',
'tab_content' => 'Contenido',
'tab_content_label' => 'Pestaña: Mostrar Contenido Primario',
// Email Content
'email_action_help' => 'Si está teniendo problemas clicando en el botón ":actionText", copie y pegue la siguiente URL en su navegador web:',

View File

@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Orden Ascendente',
'sort_descending' => 'Orden Descendente',
'sort_name' => 'Nombre',
'sort_default' => 'Default',
'sort_default' => 'Por defecto',
'sort_created_at' => 'Fecha de creación',
'sort_updated_at' => 'Fecha de actualización',
@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Miga de Pan',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Menu del Perfil',
'view_profile' => 'Ver Perfil',
'edit_profile' => 'Editar Perfil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Información',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Contenido',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Si está teniendo problemas haga click en el botón ":actionText", copie y pegue la siguiente URL en su navegador web:',

View File

@@ -60,7 +60,7 @@ return [
'search_permissions_set' => 'Permisos establecidos',
'search_created_by_me' => 'Creado por mí',
'search_updated_by_me' => 'Actualizado por mí',
'search_owned_by_me' => 'Owned by me',
'search_owned_by_me' => 'De mi propiedad',
'search_date_options' => 'Opciones de fecha',
'search_updated_before' => 'Actualizado antes de',
'search_updated_after' => 'Actualizado después de',

View File

@@ -73,7 +73,7 @@ return [
'maint' => 'Mantenimiento',
'maint_image_cleanup' => 'Limpiar imágenes',
'maint_image_cleanup_desc' => "Analizar contenido de páginas y revisiones para detectar cuáles imágenes y dibujos están en uso y cuáles son redundantes. Asegúrese de crear un respaldo completo de imágenes y base de datos antes de ejecutar esta tarea.",
'maint_delete_images_only_in_revisions' => 'Elimina también imágenes que sólo existen en antiguas revisiones de páginas',
'maint_delete_images_only_in_revisions' => 'También elimina imágenes que sólo existen en antiguas revisiones de páginas',
'maint_image_cleanup_run' => 'Ejecutar limpieza',
'maint_image_cleanup_warning' => 'Se encontraron :count imágenes pontencialmente sin uso. Está seguro de que quiere eliminarlas?',
'maint_image_cleanup_success' => 'Se encontraron y se eliminaron :count imágenes pontencialmente sin uso!',
@@ -99,13 +99,13 @@ return [
'recycle_bin_contents_empty' => 'La papelera de reciclaje está vacía',
'recycle_bin_empty' => 'Vaciar Papelera de reciclaje',
'recycle_bin_empty_confirm' => 'Esto destruirá permanentemente todos los elementos de la papelera de reciclaje, incluyendo el contenido existente en cada elemento. ¿Está seguro de que desea vaciar la papelera de reciclaje?',
'recycle_bin_destroy_confirm' => 'Esta acción eliminará permanentemente este elemento del sistema, junto con los elementos secundarios listados a continuación, y no podrá restaurar este contenido de nuevo. ¿Está seguro de que desea eliminar permanentemente este elemento?',
'recycle_bin_destroy_list' => 'Elementos a eliminar',
'recycle_bin_destroy_confirm' => 'Esta acción eliminará permanentemente este elemento del sistema, junto con los elementos secundarios listados a continuación, y no podrá restaurar este contenido. ¿Está seguro de que desea eliminar permanentemente este elemento?',
'recycle_bin_destroy_list' => 'Elementos a destruir',
'recycle_bin_restore_list' => 'Elementos a restaurar',
'recycle_bin_restore_confirm' => 'Esta acción restaurará el elemento eliminado, incluyendo cualquier elemento secundario, a su ubicación original. Si la ubicación original ha sido eliminada, y ahora está en la papelera de reciclaje, el elemento padre también tendrá que ser restaurado.',
'recycle_bin_restore_deleted_parent' => 'El padre de este elemento también ha sido eliminado. Estos permanecerán eliminados hasta que el padre también sea restaurado.',
'recycle_bin_destroy_notification' => 'Eliminados :count artículos de la papelera de reciclaje.',
'recycle_bin_restore_notification' => 'Restaurados :count artículos desde la papelera de reciclaje.',
'recycle_bin_destroy_notification' => 'Eliminados :count elementos de la papelera de reciclaje.',
'recycle_bin_restore_notification' => 'Restaurados :count elementos desde la papelera de reciclaje.',
// Audit Log
'audit' => 'Registro de Auditoría',
@@ -183,8 +183,8 @@ return [
'users_delete_confirm' => '¿Está seguro que desea borrar este usuario?',
'users_migrate_ownership' => 'Cambiar Propietario',
'users_migrate_ownership_desc' => 'Seleccione un usuario aquí si desea que otro usuario se convierta en el dueño de todos los elementos que actualmente son propiedad de este usuario.',
'users_none_selected' => 'Usuario no seleccionado',
'users_delete_success' => 'El usuario se ha eliminado correctamente',
'users_none_selected' => 'No hay usuario seleccionado',
'users_delete_success' => 'El usuario fue eliminado correctamente',
'users_edit' => 'Editar Usuario',
'users_edit_profile' => 'Editar perfil',
'users_edit_success' => 'Usuario actualizado',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Breadcrumb',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profile Menu',
'view_profile' => 'View Profile',
'edit_profile' => 'Edit Profile',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Info',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Content',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'If youre having trouble clicking the ":actionText" button, copy and paste the URL below into your web browser:',

View File

@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Tri ascendant',
'sort_descending' => 'Tri descendant',
'sort_name' => 'Nom',
'sort_default' => 'Default',
'sort_default' => 'Défaut',
'sort_created_at' => 'Date de création',
'sort_updated_at' => 'Date de mise à jour',
@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Fil d\'Ariane',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Menu du profil',
'view_profile' => 'Voir le profil',
'edit_profile' => 'Modifier le profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informations',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Contenu',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Si vous rencontrez des problèmes pour cliquer sur le bouton ":actionText", copiez et collez l\'adresse ci-dessous dans votre navigateur :',

View File

@@ -60,7 +60,7 @@ return [
'search_permissions_set' => 'Ensemble d\'autorisations',
'search_created_by_me' => 'Créé par moi',
'search_updated_by_me' => 'Mis à jour par moi',
'search_owned_by_me' => 'Owned by me',
'search_owned_by_me' => 'Créés par moi',
'search_date_options' => 'Recherche par date',
'search_updated_before' => 'Mis à jour avant',
'search_updated_after' => 'Mis à jour après',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Breadcrumb',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profile Menu',
'view_profile' => 'הצג פרופיל',
'edit_profile' => 'ערוך פרופיל',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'מידע',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'תוכן',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'אם לא ניתן ללחות על כפתור ״:actionText״, יש להעתיק ולהדביק את הכתובת למטה אל דפדפן האינטרנט שלך:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Morzsa',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profil menü',
'view_profile' => 'Profil megtekintése',
'edit_profile' => 'Profil szerkesztése',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Információ',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Tartalom',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Probléma esetén a lenti ":actionText" gombra kell kattintani, majd ki kell másolni a lenti webcímet és be kell illeszteni egy böngészőbe:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Breadcrumb',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profile Menu',
'view_profile' => 'Tampilkan profil',
'edit_profile' => 'Sunting Profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informasi',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Konten',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Jika Anda mengalami masalah saat mengklik tombol ":actionText", salin dan tempel URL di bawah ini ke browser web Anda:',

View File

@@ -6,7 +6,7 @@
return [
// Pages
'page_create' => 'ha creato la pagina',
'page_create' => 'pagina creata',
'page_create_notification' => 'Pagina Creata Correttamente',
'page_update' => 'ha aggiornato la pagina',
'page_update_notification' => 'Pagina Aggiornata Correttamente',
@@ -45,5 +45,5 @@ return [
// Other
'commented_on' => 'ha commentato in',
'permissions_update' => 'updated permissions',
'permissions_update' => 'autorizzazioni aggiornate',
];

View File

@@ -19,7 +19,7 @@ return [
'description' => 'Descrizione',
'role' => 'Ruolo',
'cover_image' => 'Immagine di copertina',
'cover_image_description' => 'Questa immagine dovrebbe essere approssimatamente 440x250px.',
'cover_image_description' => 'Questa immagine dovrebbe essere approssimativamente 440x250px.',
// Actions
'actions' => 'Azioni',
@@ -33,7 +33,7 @@ return [
'copy' => 'Copia',
'reply' => 'Rispondi',
'delete' => 'Elimina',
'delete_confirm' => 'Confirm Deletion',
'delete_confirm' => 'Conferma Eliminazione',
'search' => 'Cerca',
'search_clear' => 'Pulisci Ricerca',
'reset' => 'Azzera',
@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Ordine Ascendente',
'sort_descending' => 'Ordine Discendente',
'sort_name' => 'Nome',
'sort_default' => 'Default',
'sort_default' => 'Predefinito',
'sort_created_at' => 'Data Creazione',
'sort_updated_at' => 'Data Aggiornamento',
@@ -65,7 +65,8 @@ return [
'breadcrumb' => 'Navigazione',
// Header
'profile_menu' => 'Menu del profilo',
'header_menu_expand' => 'Espandi Menù Intestazione',
'profile_menu' => 'Menù del profilo',
'view_profile' => 'Visualizza Profilo',
'edit_profile' => 'Modifica Profilo',
'dark_mode' => 'Modalità Scura',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Info',
'tab_info_label' => 'Tab: Mostra Informazioni Secondarie',
'tab_content' => 'Contenuto',
'tab_content_label' => 'Tab: Mostra Contenuto Principale',
// Email Content
'email_action_help' => 'Se hai problemi nel cliccare il pulsante ":actionText", copia e incolla lo URL sotto nel tuo browser:',
@@ -81,6 +84,6 @@ return [
// Footer Link Options
// Not directly used but available for convenience to users.
'privacy_policy' => 'Privacy Policy',
'terms_of_service' => 'Terms of Service',
'privacy_policy' => 'Norme sulla privacy',
'terms_of_service' => 'Condizioni del Servizio',
];

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Breadcrumb',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profile Menu',
'view_profile' => 'プロフィール表示',
'edit_profile' => 'プロフィール編集',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Info',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Content',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => '":actionText" をクリックできない場合、以下のURLをコピーしブラウザで開いてください:',

View File

@@ -12,18 +12,18 @@ return [
'settings_save_success' => '設定を保存しました',
// App Settings
'app_customization' => 'Customization',
'app_features_security' => 'Features & Security',
'app_customization' => 'カスタマイズ',
'app_features_security' => '機能とセキュリティ',
'app_name' => 'アプリケーション名',
'app_name_desc' => 'この名前はヘッダーやEメール内で表示されます。',
'app_name_header' => 'ヘッダーにアプリケーション名を表示する',
'app_public_access' => 'パブリック・アクセス',
'app_public_access_desc' => 'Enabling this option will allow visitors, that are not logged-in, to access content in your BookStack instance.',
'app_public_access_desc_guest' => 'Access for public visitors can be controlled through the "Guest" user.',
'app_public_access_toggle' => 'Allow public access',
'app_public_access_desc' => 'このオプションを有効にすると、ログインしていない訪問者があなたのBookStackインスタンスのコンテンツにアクセスできるようになります。',
'app_public_access_desc_guest' => '一般の訪問者のアクセスは、「ゲスト」ユーザー権限を通じて制御することができます。',
'app_public_access_toggle' => 'パブリックアクセスを許可',
'app_public_viewing' => 'アプリケーションを公開する',
'app_secure_images' => '画像アップロード時のセキュリティを強化',
'app_secure_images_toggle' => 'Enable higher security image uploads',
'app_secure_images_toggle' => 'より高いセキュリティの画像アップロードを可能にする',
'app_secure_images_desc' => 'パフォーマンスの観点から、全ての画像が公開になっています。このオプションを有効にすると、画像URLの先頭にランダムで推測困難な文字列が追加され、アクセスを困難にします。',
'app_editor' => 'ページエディタ',
'app_editor_desc' => 'ここで選択されたエディタを全ユーザが使用します。',
@@ -37,10 +37,10 @@ return [
'app_homepage' => 'Application Homepage',
'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_select' => 'ページを選択',
'app_footer_links' => 'Footer Links',
'app_footer_links' => 'フッタのリンク',
'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".',
'app_footer_links_label' => 'Link Label',
'app_footer_links_url' => 'Link URL',
'app_footer_links_label' => '表示するテキスト',
'app_footer_links_url' => 'リンク先の URL',
'app_footer_links_add' => 'Add Footer Link',
'app_disable_comments' => 'コメントを無効にする',
'app_disable_comments_toggle' => 'コメントを無効にする',
@@ -48,7 +48,7 @@ return [
// Color settings
'content_colors' => 'コンテンツの色',
'content_colors_desc' => 'Sets colors for all elements in the page organisation hierarchy. Choosing colors with a similar brightness to the default colors is recommended for readability.',
'content_colors_desc' => 'ページ構成階層のすべての要素に色を設定します。読みやすさを考慮して、デフォルトの色と同じような明るさの色を選ぶことをお勧めします。',
'bookshelf_color' => 'Shelf Color',
'book_color' => 'Book Color',
'chapter_color' => 'Chapter Color',
@@ -57,13 +57,13 @@ return [
// Registration Settings
'reg_settings' => '登録設定',
'reg_enable' => 'Enable Registration',
'reg_enable_toggle' => 'Enable registration',
'reg_enable' => '登録を有効にする',
'reg_enable_toggle' => '登録を有効にする',
'reg_enable_desc' => 'When registration is enabled user will be able to sign themselves up as an application user. Upon registration they are given a single, default user role.',
'reg_default_role' => '新規登録時のデフォルト役割',
'reg_enable_external_warning' => 'The option above is ignored while external LDAP or SAML authentication is active. User accounts for non-existing members will be auto-created if authentication, against the external system in use, is successful.',
'reg_email_confirmation' => 'Email Confirmation',
'reg_email_confirmation_toggle' => 'Require email confirmation',
'reg_enable_external_warning' => '外部のLDAPまたはSAML認証が有効の場合、上記のオプションは無視されます。存在しないメンバーのユーザーアカウントは、使用している外部システムでの認証に成功した場合に自動的に作成されます。',
'reg_email_confirmation' => '確認メール',
'reg_email_confirmation_toggle' => 'メールによる確認を行う',
'reg_confirm_email_desc' => 'ドメイン制限を有効にしている場合はEメール認証が必須となり、この項目は無視されます。',
'reg_confirm_restrict_domain' => 'ドメイン制限',
'reg_confirm_restrict_domain_desc' => '特定のドメインのみ登録できるようにする場合、以下にカンマ区切りで入力します。設定された場合、Eメール認証が必須になります。<br>登録後、ユーザは自由にEメールアドレスを変更できます。',
@@ -72,10 +72,10 @@ return [
// Maintenance settings
'maint' => 'メンテナンス',
'maint_image_cleanup' => 'Cleanup Images',
'maint_image_cleanup_desc' => "Scans page & revision content to check which images and drawings are currently in use and which images are redundant. Ensure you create a full database and image backup before running this.",
'maint_delete_images_only_in_revisions' => 'Also delete images that only exist in old page revisions',
'maint_image_cleanup_desc' => "ページや履歴の内容をスキャンして、どの画像や図面が現在使用されているか、どの画像が余っているかをチェックします。この機能を実行する前に、データベースと画像の完全なバックアップを作成してください。",
'maint_delete_images_only_in_revisions' => 'また、古いページのリビジョンにしか存在しない画像も削除します。',
'maint_image_cleanup_run' => 'クリーンアップを実行',
'maint_image_cleanup_warning' => ':count potentially unused images were found. Are you sure you want to delete these images?',
'maint_image_cleanup_warning' => ':count 個、使用されていない可能性のある画像が見つかりました。これらの画像を削除してもよろしいですか?',
'maint_image_cleanup_success' => ':count potentially unused images found and deleted!',
'maint_image_cleanup_nothing_found' => 'No unused images found, Nothing deleted!',
'maint_send_test_email' => 'テストメールを送信',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => '탐색 경로',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => '프로필',
'view_profile' => '프로필 보기',
'edit_profile' => '프로필 바꾸기',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => '정보',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => '내용',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => ':actionText를 클릭할 수 없을 때는 웹 브라우저에서 다음 링크로 접속할 수 있습니다.',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Navigācija',
// Header
'header_menu_expand' => 'Izvērst galvenes izvēlni',
'profile_menu' => 'Profila izvēlne',
'view_profile' => 'Apskatīt profilu',
'edit_profile' => 'Rediģēt profilu',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informācija',
'tab_info_label' => 'Tab: Rādīt sekundāro informāciju',
'tab_content' => 'Saturs',
'tab_content_label' => 'Tab: Rādīt galveno saturu',
// Email Content
'email_action_help' => 'Ja ir problēmas noklikšķināt ":actionText" pogu, nokopē un ievieto saiti savā interneta pārlūkā:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Brødsmuler',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profilmeny',
'view_profile' => 'Vis profil',
'edit_profile' => 'Endre Profile',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informasjon',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Innhold',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Om du har problemer med å trykke på «:actionText»-knappen, bruk nettadressen under for å gå direkte dit:',

View File

@@ -7,43 +7,43 @@ return [
// Pages
'page_create' => 'maakte pagina',
'page_create_notification' => 'Pagina Succesvol Aangemaakt',
'page_update' => 'veranderde pagina',
'page_update_notification' => 'Pagina Succesvol Bijgewerkt',
'page_create_notification' => 'Pagina succesvol aangemaakt',
'page_update' => 'wijzigde pagina',
'page_update_notification' => 'Pagina succesvol bijgewerkt',
'page_delete' => 'verwijderde pagina',
'page_delete_notification' => 'Pagina Succesvol Verwijderd',
'page_delete_notification' => 'Pagina succesvol verwijderd',
'page_restore' => 'herstelde pagina',
'page_restore_notification' => 'Pagina Succesvol Hersteld',
'page_restore_notification' => 'Pagina succesvol hersteld',
'page_move' => 'verplaatste pagina',
// Chapters
'chapter_create' => 'maakte hoofdstuk',
'chapter_create_notification' => 'Hoofdstuk Succesvol Aangemaakt',
'chapter_update' => 'veranderde hoofdstuk',
'chapter_update_notification' => 'Hoofdstuk Succesvol Bijgewerkt',
'chapter_create_notification' => 'Hoofdstuk succesvol aangemaakt',
'chapter_update' => 'wijzigde hoofdstuk',
'chapter_update_notification' => 'Hoofdstuk succesvol bijgewerkt',
'chapter_delete' => 'verwijderde hoofdstuk',
'chapter_delete_notification' => 'Hoofdstuk Succesvol Verwijderd',
'chapter_delete_notification' => 'Hoofdstuk succesvol verwijderd',
'chapter_move' => 'verplaatste hoofdstuk',
// Books
'book_create' => 'maakte boek',
'book_create_notification' => 'Boek Succesvol Aangemaakt',
'book_update' => 'veranderde boek',
'book_update_notification' => 'Boek Succesvol Bijgewerkt',
'book_create_notification' => 'Boek succesvol aangemaakt',
'book_update' => 'wijzigde boek',
'book_update_notification' => 'Boek succesvol bijgewerkt',
'book_delete' => 'verwijderde boek',
'book_delete_notification' => 'Boek Succesvol Verwijderd',
'book_delete_notification' => 'Boek succesvol verwijderd',
'book_sort' => 'sorteerde boek',
'book_sort_notification' => 'Boek Succesvol Gesorteerd',
'book_sort_notification' => 'Boek succesvol gesorteerd',
// Bookshelves
'bookshelf_create' => 'maakte Boekenplank',
'bookshelf_create_notification' => 'Boekenplank Succesvol Aangemaakt',
'bookshelf_update' => 'veranderde boekenplank',
'bookshelf_update_notification' => 'Boekenplank Succesvol Bijgewerkt',
'bookshelf_create' => 'maakte boekenplank',
'bookshelf_create_notification' => 'Boekenplank succesvol aangemaakt',
'bookshelf_update' => 'wijzigde boekenplank',
'bookshelf_update_notification' => 'Boekenplank succesvol bijgewerkt',
'bookshelf_delete' => 'verwijderde boekenplank',
'bookshelf_delete_notification' => 'Boekenplank Succesvol Verwijderd',
'bookshelf_delete_notification' => 'Boekenplank succesvol verwijderd',
// Other
'commented_on' => 'reactie op',
'permissions_update' => 'updated permissions',
'commented_on' => 'reageerde op',
'permissions_update' => 'wijzigde permissies',
];

View File

@@ -7,7 +7,7 @@
return [
'failed' => 'Deze inloggegevens zijn niet bij ons bekend.',
'throttle' => 'Te veel loginpogingen! Probeer het opnieuw na :seconds seconden.',
'throttle' => 'Te veel login pogingen! Probeer het opnieuw na :seconds seconden.',
// Login & Register
'sign_up' => 'Registreren',
@@ -20,34 +20,34 @@ return [
'username' => 'Gebruikersnaam',
'email' => 'E-mail',
'password' => 'Wachtwoord',
'password_confirm' => 'Wachtwoord Bevestigen',
'password_confirm' => 'Wachtwoord bevestigen',
'password_hint' => 'Minimaal 8 tekens',
'forgot_password' => 'Wachtwoord vergeten?',
'remember_me' => 'Mij onthouden',
'ldap_email_hint' => 'Geef een email op waarmee je dit account wilt gebruiken.',
'create_account' => 'Account Aanmaken',
'ldap_email_hint' => 'Geef een emailadres op voor dit account.',
'create_account' => 'Account aanmaken',
'already_have_account' => 'Heb je al een account?',
'dont_have_account' => 'Nog geen account?',
'social_login' => 'Aanmelden via een sociaal netwerk',
'social_registration' => 'Social Registratie',
'social_registration_text' => 'Registreer en log in met een andere dienst.',
'social_registration' => 'Social registratie',
'social_registration_text' => 'Registreer en log in met een andere service.',
'register_thanks' => 'Bedankt voor het registreren!',
'register_confirm' => 'Controleer je e-mail en bevestig je registratie om in te loggen op :appName.',
'registrations_disabled' => 'Registratie is momenteel niet mogelijk',
'registration_email_domain_invalid' => 'Dit e-maildomein is niet toegestaan',
'register_success' => 'Bedankt voor het inloggen. Je bent ook geregistreerd.',
'register_success' => 'Bedankt voor het aanmelden! Je bent nu geregistreerd en aangemeld.',
// Password Reset
'reset_password' => 'Wachtwoord Herstellen',
'reset_password' => 'Wachtwoord herstellen',
'reset_password_send_instructions' => 'Geef je e-mail en we sturen je een link om je wachtwoord te herstellen',
'reset_password_send_button' => 'Link Sturen',
'reset_password_send_button' => 'Link sturen',
'reset_password_sent' => 'Een link om het wachtwoord te resetten zal verstuurd worden naar :email als dat e-mailadres in het systeem gevonden is.',
'reset_password_success' => 'Je wachtwoord is succesvol hersteld.',
'email_reset_subject' => 'Herstel je wachtwoord van :appName',
'email_reset_text' => 'Je ontvangt deze e-mail zodat je je wachtwoord kunt herstellen.',
'email_reset_not_requested' => 'Als je jouw wachtwoord niet wilt wijzigen, doe dan niets.',
'email_reset_text' => 'Je ontvangt deze e-mail omdat je een wachtwoord herstel verzoek had verzonden.',
'email_reset_not_requested' => 'Als je geen wachtwoord herstel hebt aangevraagd, hoef je niets te doen.',
// Email Confirmation
@@ -56,14 +56,14 @@ return [
'email_confirm_text' => 'Bevestig je registratie door op onderstaande knop te drukken:',
'email_confirm_action' => 'Bevestig je e-mail',
'email_confirm_send_error' => 'E-mail bevestiging is vereisd maar het systeem kon geen mail verzenden. Neem contact op met de beheerder.',
'email_confirm_success' => 'Je e-mailadres is bevestigt!',
'email_confirm_success' => 'Je e-mailadres is bevestigd!',
'email_confirm_resent' => 'De bevestigingse-mails is opnieuw verzonden. Controleer je inbox.',
'email_not_confirmed' => 'E-mail nog niet bevestigd',
'email_not_confirmed' => 'E-mailadres nog niet bevestigd',
'email_not_confirmed_text' => 'Je e-mailadres is nog niet bevestigd.',
'email_not_confirmed_click_link' => 'Klik op de link in de e-mail die vlak na je registratie is verstuurd.',
'email_not_confirmed_resend' => 'Als je deze e-mail niet kunt vinden kun je deze met onderstaande formulier opnieuw verzenden.',
'email_not_confirmed_resend_button' => 'Bevestigingsmail Opnieuw Verzenden',
'email_not_confirmed_resend_button' => 'Bevestigingsmail opnieuw verzenden',
// User Invite
'user_invite_email_subject' => 'Je bent uitgenodigd voor :appName!',

View File

@@ -11,7 +11,7 @@ return [
'save' => 'Opslaan',
'continue' => 'Doorgaan',
'select' => 'Kies',
'toggle_all' => 'Toggle Alles',
'toggle_all' => 'Toggle alles',
'more' => 'Meer',
// Form Labels
@@ -19,12 +19,12 @@ return [
'description' => 'Beschrijving',
'role' => 'Rol',
'cover_image' => 'Omslagfoto',
'cover_image_description' => 'Deze afbeelding moet ongeveer 300x170px zijn.',
'cover_image_description' => 'Deze afbeelding moet ongeveer 440x250px zijn.',
// Actions
'actions' => 'Acties',
'view' => 'Bekijk',
'view_all' => 'Bekijk Alle',
'view_all' => 'Bekijk alle',
'create' => 'Aanmaken',
'update' => 'Bijwerken',
'edit' => 'Bewerk',
@@ -33,7 +33,7 @@ return [
'copy' => 'Kopiëren',
'reply' => 'Beantwoorden',
'delete' => 'Verwijder',
'delete_confirm' => 'Confirm Deletion',
'delete_confirm' => 'Verwijdering bevestigen',
'search' => 'Zoek',
'search_clear' => 'Zoekopdracht wissen',
'reset' => 'Resetten',
@@ -43,44 +43,47 @@ return [
// Sort Options
'sort_options' => 'Sorteeropties',
'sort_direction_toggle' => 'Sorteer richting',
'sort_direction_toggle' => 'Sorteerrichting',
'sort_ascending' => 'Sorteer oplopend',
'sort_descending' => 'Sorteer teruglopend',
'sort_descending' => 'Sorteer aflopend',
'sort_name' => 'Naam',
'sort_default' => 'Default',
'sort_default' => 'Standaard',
'sort_created_at' => 'Aanmaakdatum',
'sort_updated_at' => 'Gewijzigd op',
// Misc
'deleted_user' => 'Verwijderde gebruiker',
'no_activity' => 'Geen activiteiten',
'no_activity' => 'Geen activiteit om weer te geven',
'no_items' => 'Geen items beschikbaar',
'back_to_top' => 'Terug naar boven',
'toggle_details' => 'Details Weergeven',
'toggle_thumbnails' => 'Thumbnails Weergeven',
'toggle_details' => 'Details weergeven',
'toggle_thumbnails' => 'Thumbnails weergeven',
'details' => 'Details',
'grid_view' => 'Grid weergave',
'list_view' => 'Lijst weergave',
'list_view' => 'Lijstweergave',
'default' => 'Standaard',
'breadcrumb' => 'Kruimelpad',
// Header
'header_menu_expand' => 'Header menu uitvouwen',
'profile_menu' => 'Profiel menu',
'view_profile' => 'Profiel Weergeven',
'edit_profile' => 'Profiel Bewerken',
'dark_mode' => 'Donkere Modus',
'light_mode' => 'Lichte Modus',
'view_profile' => 'Profiel weergeven',
'edit_profile' => 'Profiel bewerken',
'dark_mode' => 'Donkere modus',
'light_mode' => 'Lichte modus',
// Layout tabs
'tab_info' => 'Info',
'tab_info_label' => 'Tabblad: Toon secundaire informatie',
'tab_content' => 'Inhoud',
'tab_content_label' => 'Tabblad: Toon primaire inhoud',
// Email Content
'email_action_help' => 'Als je de knop ":actionText" niet werkt, kopieer en plak de onderstaande URL in je web browser:',
'email_action_help' => 'Als je de knop ":actionText" niet werkt, kopieër en plak de onderstaande URL in je web browser:',
'email_rights' => 'Alle rechten voorbehouden',
// Footer Link Options
// Not directly used but available for convenience to users.
'privacy_policy' => 'Privacy Policy',
'terms_of_service' => 'Terms of Service',
'privacy_policy' => 'Privacybeleid',
'terms_of_service' => 'Algemene voorwaarden',
];

View File

@@ -5,21 +5,21 @@
return [
// Image Manager
'image_select' => 'Selecteer Afbeelding',
'image_select' => 'Selecteer afbeelding',
'image_all' => 'Alles',
'image_all_title' => 'Alle afbeeldingen weergeven',
'image_book_title' => 'Afbeeldingen van dit boek weergeven',
'image_page_title' => 'Afbeeldingen van deze pagina weergeven',
'image_search_hint' => 'Zoek op afbeeldingsnaam',
'image_uploaded' => 'Geüpload :uploadedDate',
'image_load_more' => 'Meer Laden',
'image_load_more' => 'Meer laden',
'image_image_name' => 'Afbeeldingsnaam',
'image_delete_used' => 'Deze afbeeldingen is op onderstaande pagina\'s in gebruik.',
'image_delete_confirm_text' => 'Weet u zeker dat u deze afbeelding wilt verwijderen?',
'image_select_image' => 'Kies Afbeelding',
'image_select_image' => 'Kies afbeelding',
'image_dropzone' => 'Sleep afbeeldingen hier of klik hier om te uploaden',
'images_deleted' => 'Verwijderde Afbeeldingen',
'image_preview' => 'Afbeelding Voorbeeld',
'images_deleted' => 'Verwijderde afbeeldingen',
'image_preview' => 'Afbeelding voorbeeld',
'image_upload_success' => 'Afbeelding succesvol geüpload',
'image_update_success' => 'Afbeeldingsdetails succesvol verwijderd',
'image_delete_success' => 'Afbeelding succesvol verwijderd',
@@ -27,8 +27,8 @@ return [
// Code Editor
'code_editor' => 'Code invoegen',
'code_language' => 'Code taal',
'code_language' => 'Codetaal',
'code_content' => 'Code',
'code_session_history' => 'Zittingsgeschiedenis',
'code_session_history' => 'Sessie geschiedenis',
'code_save' => 'Sla code op',
];

View File

@@ -22,7 +22,7 @@ return [
'meta_created_name' => 'Aangemaakt: :timeLength door :user',
'meta_updated' => ':timeLength Aangepast',
'meta_updated_name' => 'Aangepast: :timeLength door :user',
'meta_owned_name' => 'Owned by :user',
'meta_owned_name' => 'Eigendom van :user',
'entity_select' => 'Entiteit Selecteren',
'images' => 'Afbeeldingen',
'my_recent_drafts' => 'Mijn Concepten',
@@ -40,7 +40,7 @@ return [
'permissions_intro' => 'Als je dit aanzet, dan gelden rol-permissies niet meer voor deze pagina.',
'permissions_enable' => 'Custom Permissies Aanzetten',
'permissions_save' => 'Permissies Opslaan',
'permissions_owner' => 'Owner',
'permissions_owner' => 'Eigenaar',
// Search
'search_results' => 'Zoekresultaten',
@@ -60,7 +60,7 @@ return [
'search_permissions_set' => 'Permissies gezet',
'search_created_by_me' => 'Door mij gemaakt',
'search_updated_by_me' => 'Door mij geupdate',
'search_owned_by_me' => 'Owned by me',
'search_owned_by_me' => 'Eigendom van mij',
'search_date_options' => 'Datum Opties',
'search_updated_before' => 'Geupdate voor',
'search_updated_after' => 'Geupdate na',
@@ -149,7 +149,7 @@ return [
'chapters_create' => 'Hoofdstuk Toevoegen',
'chapters_delete' => 'Hoofdstuk Verwijderen',
'chapters_delete_named' => 'Verwijder Hoofdstuk :chapterName',
'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_explain' => 'Dit verwijdert het hoofdstuk met de naam \':chapterName\'. Alle pagina\'s die binnen dit hoofdstuk staan, worden ook verwijderd.',
'chapters_delete_confirm' => 'Weet je zeker dat je dit boek wilt verwijderen?',
'chapters_edit' => 'Hoofdstuk Aanpassen',
'chapters_edit_named' => 'Hoofdstuk :chapterName Aanpassen',
@@ -211,7 +211,7 @@ return [
'pages_revisions' => 'Pagina Revisies',
'pages_revisions_named' => 'Pagina Revisies voor :pageName',
'pages_revision_named' => 'Pagina Revisie voor :pageName',
'pages_revision_restored_from' => 'Restored from #:id; :summary',
'pages_revision_restored_from' => 'Hersteld van #:id; :samenvatting',
'pages_revisions_created_by' => 'Aangemaakt door',
'pages_revisions_date' => 'Revisiedatum',
'pages_revisions_number' => '#',
@@ -269,7 +269,7 @@ return [
'attachments_link_url' => 'Link naar bestand',
'attachments_link_url_hint' => 'Url, site of bestand',
'attach' => 'Koppelen',
'attachments_insert_link' => 'Add Attachment Link to Page',
'attachments_insert_link' => 'Bijlage link toevoegen aan pagina',
'attachments_edit_file' => 'Bestand Bewerken',
'attachments_edit_file_name' => 'Bestandsnaam',
'attachments_edit_drop_upload' => 'Sleep een bestand of klik hier om te uploaden en te overschrijven',

View File

@@ -37,11 +37,11 @@ return [
'app_homepage' => 'Applicatie Homepagina',
'app_homepage_desc' => 'Selecteer een weergave om weer te geven op de homepage in plaats van de standaard weergave. Paginarechten worden genegeerd voor geselecteerde pagina\'s.',
'app_homepage_select' => 'Selecteer een pagina',
'app_footer_links' => 'Footer Links',
'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".',
'app_footer_links_label' => 'Link Label',
'app_footer_links' => 'Voettekst links',
'app_footer_links_desc' => 'Voeg links toe om te laten zien in de voettekst van de site. Deze worden onderaan de meeste pagina\'s weergegeven, met inbegrip van pagina\'s die geen inloggen vereisen. U kunt een label van "trans::<key>" gebruiken om systeemgedefinieerde vertalingen te gebruiken. Bijvoorbeeld: Het gebruik van "trans:common.privacy_policy" biedt de vertaalde tekst "Privacybeleid" en "trans:common.terms_of_service" voor de vertaalde tekst "Servicevoorwaarden".',
'app_footer_links_label' => 'Link label',
'app_footer_links_url' => 'Link URL',
'app_footer_links_add' => 'Add Footer Link',
'app_footer_links_add' => 'Voettekst link toevoegen',
'app_disable_comments' => 'Reacties uitschakelen',
'app_disable_comments_toggle' => 'Opmerkingen uitschakelen',
'app_disable_comments_desc' => 'Schakel opmerkingen uit op alle pagina\'s in de applicatie. Bestaande opmerkingen worden niet getoond.',
@@ -73,7 +73,7 @@ return [
'maint' => 'Onderhoud',
'maint_image_cleanup' => 'Afbeeldingen opschonen',
'maint_image_cleanup_desc' => "Scant pagina- en revisie inhoud om te controleren welke afbeeldingen en tekeningen momenteel worden gebruikt en welke afbeeldingen overbodig zijn. Zorg ervoor dat je een volledige database en afbeelding backup maakt voordat je dit uitvoert.",
'maint_delete_images_only_in_revisions' => 'Also delete images that only exist in old page revisions',
'maint_delete_images_only_in_revisions' => 'Ook afbeeldingen die alleen in oude pagina revisies bestaan verwijderen',
'maint_image_cleanup_run' => 'Opschonen uitvoeren',
'maint_image_cleanup_warning' => ':count potentieel ongebruikte afbeeldingen gevonden. Weet u zeker dat u deze afbeeldingen wilt verwijderen?',
'maint_image_cleanup_success' => ':count potentieel ongebruikte afbeeldingen gevonden en verwijderd!',
@@ -85,41 +85,41 @@ return [
'maint_send_test_email_mail_subject' => 'Test E-mail',
'maint_send_test_email_mail_greeting' => 'E-mailbezorging lijkt te werken!',
'maint_send_test_email_mail_text' => 'Gefeliciteerd! Nu je deze e-mailmelding hebt ontvangen, lijken je e-mailinstellingen correct te zijn geconfigureerd.',
'maint_recycle_bin_desc' => 'Deleted shelves, books, chapters & pages are sent to the recycle bin so they can be restored or permanently deleted. Older items in the recycle bin may be automatically removed after a while depending on system configuration.',
'maint_recycle_bin_open' => 'Open Recycle Bin',
'maint_recycle_bin_desc' => 'Verwijderde planken, boeken, hoofdstukken en pagina\'s worden naar de prullenbak gestuurd om ze te herstellen of definitief te verwijderen. Oudere items in de prullenbak kunnen automatisch worden verwijderd, afhankelijk van de systeemconfiguratie.',
'maint_recycle_bin_open' => 'Prullenbak openen',
// Recycle Bin
'recycle_bin' => 'Recycle Bin',
'recycle_bin_desc' => 'Here you can restore items that have been deleted or choose to permanently remove them from the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.',
'recycle_bin_deleted_item' => 'Deleted Item',
'recycle_bin_deleted_by' => 'Deleted By',
'recycle_bin_deleted_at' => 'Deletion Time',
'recycle_bin_permanently_delete' => 'Permanently Delete',
'recycle_bin_restore' => 'Restore',
'recycle_bin_contents_empty' => 'The recycle bin is currently empty',
'recycle_bin_empty' => 'Empty Recycle Bin',
'recycle_bin_empty_confirm' => 'This will permanently destroy all items in the recycle bin including content contained within each item. Are you sure you want to empty the recycle bin?',
'recycle_bin_destroy_confirm' => 'This action will permanently delete this item, along with any child elements listed below, from the system and you will not be able to restore this content. Are you sure you want to permanently delete this item?',
'recycle_bin_destroy_list' => 'Items to be Destroyed',
'recycle_bin_restore_list' => 'Items to be Restored',
'recycle_bin_restore_confirm' => 'This action will restore the deleted item, including any child elements, to their original location. If the original location has since been deleted, and is now in the recycle bin, the parent item will also need to be restored.',
'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_destroy_notification' => 'Deleted :count total items from the recycle bin.',
'recycle_bin_restore_notification' => 'Restored :count total items from the recycle bin.',
'recycle_bin' => 'Prullenbak',
'recycle_bin_desc' => 'Hier kunt u items herstellen die zijn verwijderd of kiezen om ze permanent te verwijderen uit het systeem. Deze lijst is niet gefilterd, in tegenstelling tot vergelijkbare activiteitenlijsten in het systeem waar rechtenfilters worden toegepast.',
'recycle_bin_deleted_item' => 'Verwijderde Item',
'recycle_bin_deleted_by' => 'Verwijderd door',
'recycle_bin_deleted_at' => 'Verwijdert op',
'recycle_bin_permanently_delete' => 'Permanent verwijderen',
'recycle_bin_restore' => 'Herstellen',
'recycle_bin_contents_empty' => 'De prullenbak is momenteel leeg',
'recycle_bin_empty' => 'Prullenbak legen',
'recycle_bin_empty_confirm' => 'Dit zal permanent alle items in de prullenbak vernietigen, inclusief inhoud die in elk item zit. Weet u zeker dat u de prullenbak wilt legen?',
'recycle_bin_destroy_confirm' => 'Deze actie zal dit item permanent verwijderen, samen met alle onderliggende elementen hieronder vanuit het systeem en u kunt deze inhoud niet herstellen. Weet u zeker dat u dit item permanent wilt verwijderen?',
'recycle_bin_destroy_list' => 'Te vernietigen objecten',
'recycle_bin_restore_list' => 'Items te herstellen',
'recycle_bin_restore_confirm' => 'Deze actie herstelt het verwijderde item, inclusief alle onderliggende elementen, op hun oorspronkelijke locatie. Als de oorspronkelijke locatie sindsdien is verwijderd en zich nu in de prullenbak bevindt, zal ook het bovenliggende item moeten worden hersteld.',
'recycle_bin_restore_deleted_parent' => 'De bovenliggende map van dit item is ook verwijderd. Deze zal worden verwijderd totdat het bovenliggende item ook is hersteld.',
'recycle_bin_destroy_notification' => 'Verwijderde totaal :count items uit de prullenbak.',
'recycle_bin_restore_notification' => 'Herstelde totaal :count items uit de prullenbak.',
// Audit Log
'audit' => 'Audit Log',
'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_no_filter' => 'No Filter',
'audit_deleted_item' => 'Deleted Item',
'audit_deleted_item_name' => 'Name: :name',
'audit_table_user' => 'User',
'audit_table_event' => 'Event',
'audit_table_related' => 'Related Item or Detail',
'audit_table_date' => 'Activity Date',
'audit_date_from' => 'Date Range From',
'audit_date_to' => 'Date Range To',
'audit_desc' => 'Dit auditlogboek toont een lijst met activiteiten die in het systeem zijn gedaan. Deze lijst is niet gefilterd, in tegenstelling tot vergelijkbare activiteitenlijsten in het systeem waar rechtenfilters worden toegepast.',
'audit_event_filter' => 'Gebeurtenis filter',
'audit_event_filter_no_filter' => 'Geen filter',
'audit_deleted_item' => 'Verwijderd Item',
'audit_deleted_item_name' => 'Naam: :name',
'audit_table_user' => 'Gebruiker',
'audit_table_event' => 'Gebeurtenis',
'audit_table_related' => 'Gerelateerd Item of Detail',
'audit_table_date' => 'Activiteit datum',
'audit_date_from' => 'Datum bereik vanaf',
'audit_date_to' => 'Datum bereik tot',
// Role Settings
'roles' => 'Rollen',
@@ -146,7 +146,7 @@ return [
'role_access_api' => 'Ga naar systeem API',
'role_manage_settings' => 'Beheer app instellingen',
'role_asset' => 'Asset Permissies',
'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.',
'roles_system_warning' => 'Wees ervan bewust dat toegang tot een van de bovengenoemde drie machtigingen een gebruiker in staat kan stellen zijn eigen privileges of de privileges van anderen in het systeem te wijzigen. Wijs alleen rollen toe met deze machtigingen aan vertrouwde gebruikers.',
'role_asset_desc' => 'Deze permissies bepalen de standaardtoegangsrechten. Permissies op boeken, hoofdstukken en pagina\'s overschrijven deze instelling.',
'role_asset_admins' => 'Beheerders krijgen automatisch toegang tot alle inhoud, maar deze opties kunnen interface opties tonen of verbergen.',
'role_all' => 'Alles',
@@ -162,7 +162,7 @@ return [
'user_profile' => 'Gebruikersprofiel',
'users_add_new' => 'Gebruiker toevoegen',
'users_search' => 'Gebruiker zoeken',
'users_latest_activity' => 'Latest Activity',
'users_latest_activity' => 'Laatste activiteit',
'users_details' => 'Gebruiker details',
'users_details_desc' => 'Stel een weergavenaam en e-mailadres in voor deze gebruiker. Het e-mailadres zal worden gebruikt om in te loggen.',
'users_details_desc_no_email' => 'Stel een weergavenaam in voor deze gebruiker zodat anderen deze kunnen herkennen.',
@@ -173,17 +173,17 @@ return [
'users_send_invite_text' => 'U kunt ervoor kiezen om deze gebruiker een uitnodigingsmail te sturen waarmee hij zijn eigen wachtwoord kan instellen, anders kunt u zelf zijn wachtwoord instellen.',
'users_send_invite_option' => 'Stuur gebruiker uitnodigings e-mail',
'users_external_auth_id' => 'Externe authenticatie ID',
'users_external_auth_id_desc' => 'This is the ID used to match this user when communicating with your external authentication system.',
'users_external_auth_id_desc' => 'Dit is het ID dat gebruikt wordt om deze gebruiker te vergelijken met uw externe verificatiesysteem.',
'users_password_warning' => 'Vul onderstaande formulier alleen in als je het wachtwoord wilt aanpassen:',
'users_system_public' => 'De eigenschappen van deze gebruiker worden voor elke gastbezoeker gebruikt. Er kan niet mee ingelogd worden en wordt automatisch toegewezen.',
'users_delete' => 'Verwijder gebruiker',
'users_delete_named' => 'Verwijder gebruiker :userName',
'users_delete_warning' => 'Dit zal de gebruiker \':userName\' volledig uit het systeem verwijderen.',
'users_delete_confirm' => 'Weet je zeker dat je deze gebruiker wilt verwijderen?',
'users_migrate_ownership' => 'Migrate Ownership',
'users_migrate_ownership_desc' => 'Select a user here if you want another user to become the owner of all items currently owned by this user.',
'users_none_selected' => 'No user selected',
'users_delete_success' => 'User successfully removed',
'users_migrate_ownership' => 'Draag eigendom over',
'users_migrate_ownership_desc' => 'Selecteer een gebruiker hier als u wilt dat een andere gebruiker de eigenaar wordt van alle items die momenteel eigendom zijn van deze gebruiker.',
'users_none_selected' => 'Geen gebruiker geselecteerd',
'users_delete_success' => 'Gebruiker succesvol verwijderd',
'users_edit' => 'Bewerk Gebruiker',
'users_edit_profile' => 'Bewerk Profiel',
'users_edit_success' => 'Gebruiker succesvol bijgewerkt',
@@ -198,31 +198,31 @@ return [
'users_social_connected' => ':socialAccount account is succesvol aan je profiel gekoppeld.',
'users_social_disconnected' => ':socialAccount account is succesvol ontkoppeld van je profiel.',
'users_api_tokens' => 'API Tokens',
'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_docs' => 'API Documentation',
'users_api_tokens_none' => 'Er zijn geen API-tokens gemaakt voor deze gebruiker',
'users_api_tokens_create' => 'Token aanmaken',
'users_api_tokens_expires' => 'Verloopt',
'users_api_tokens_docs' => 'API Documentatie',
// API Tokens
'user_api_token_create' => 'Create API Token',
'user_api_token_create' => 'API-token aanmaken',
'user_api_token_name' => 'Naam',
'user_api_token_name_desc' => 'Give your token a readable name as a future reminder of its intended purpose.',
'user_api_token_name_desc' => 'Geef je token een leesbare naam als een toekomstige herinnering aan het beoogde doel.',
'user_api_token_expiry' => 'Vervaldatum',
'user_api_token_expiry_desc' => 'Set a date at which this token expires. After this date, requests made using this token will no longer work. Leaving this field blank will set an expiry 100 years into the future.',
'user_api_token_create_secret_message' => 'Immediately after creating this token a "Token ID" & "Token Secret" will be generated and displayed. The secret will only be shown a single time so be sure to copy the value to somewhere safe and secure before proceeding.',
'user_api_token_create_success' => 'API token successfully created',
'user_api_token_update_success' => 'API token successfully updated',
'user_api_token_expiry_desc' => 'Stel een datum in waarop deze token verloopt. Na deze datum zullen aanvragen die met deze token zijn ingediend niet langer werken. Als dit veld leeg blijft, wordt een vervaldatum van 100 jaar in de toekomst ingesteld.',
'user_api_token_create_secret_message' => 'Onmiddellijk na het aanmaken van dit token zal een "Token ID" en "Token Geheim" worden gegenereerd en weergegeven. Het geheim zal slechts één keer getoond worden. Kopieer de waarde dus eerst op een veilige plaats voordat u doorgaat.',
'user_api_token_create_success' => 'API token succesvol aangemaakt',
'user_api_token_update_success' => 'API token succesvol bijgewerkt',
'user_api_token' => 'API Token',
'user_api_token_id' => 'Token ID',
'user_api_token_id_desc' => 'This is a non-editable system generated identifier for this token which will need to be provided in API requests.',
'user_api_token_secret' => 'Token Secret',
'user_api_token_secret_desc' => 'This is a system generated secret for this token which will need to be provided in API requests. This will only be displayed this one time so copy this value to somewhere safe and secure.',
'user_api_token_created' => 'Token created :timeAgo',
'user_api_token_updated' => 'Token updated :timeAgo',
'user_api_token_id_desc' => 'Dit is een niet bewerkbaar systeem gegenereerde id voor dit token dat moet worden verstrekt in API-verzoeken.',
'user_api_token_secret' => 'Geheime token sleutel',
'user_api_token_secret_desc' => 'Dit is een systeem gegenereerd geheim voor dit token dat moet worden verstrekt in API verzoeken. Dit wordt maar één keer weergegeven, dus kopieër deze waarde naar een veilige plaats.',
'user_api_token_created' => 'Token gemaakt :timeAgo',
'user_api_token_updated' => 'Token bijgewerkt :timeAgo',
'user_api_token_delete' => 'Token Verwijderen',
'user_api_token_delete_warning' => 'This will fully delete this API token with the name \':tokenName\' from the system.',
'user_api_token_delete_confirm' => 'Are you sure you want to delete this API token?',
'user_api_token_delete_success' => 'API token successfully deleted',
'user_api_token_delete_warning' => 'Dit zal de API-token met de naam \':tokenName\' volledig uit het systeem verwijderen.',
'user_api_token_delete_confirm' => 'Weet u zeker dat u deze API-token wilt verwijderen?',
'user_api_token_delete_success' => 'API-token succesvol verwijderd',
//! If editing translations files directly please ignore this in all
//! languages apart from en. Content will be auto-copied from en.
@@ -232,7 +232,7 @@ return [
'ar' => 'العربية',
'bg' => 'Bǎlgarski',
'bs' => 'Bosanski',
'ca' => 'Català',
'ca' => 'Catalaans',
'cs' => 'Česky',
'da' => 'Dansk',
'de' => 'Deutsch (Sie)',

View File

@@ -89,7 +89,7 @@ return [
'required_without' => ':attribute veld is verplicht wanneer :values niet ingesteld is.',
'required_without_all' => ':attribute veld is verplicht wanneer geen van :values ingesteld zijn.',
'same' => ':attribute en :other moeten overeenkomen.',
'safe_url' => 'The provided link may not be safe.',
'safe_url' => 'De opgegeven link is mogelijk niet veilig.',
'size' => [
'numeric' => ':attribute moet :size zijn.',
'file' => ':attribute moet :size kilobytes zijn.',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Ścieżka nawigacji',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Menu profilu',
'view_profile' => 'Zobacz profil',
'edit_profile' => 'Edytuj profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informacje',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Treść',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Jeśli masz problem z kliknięciem przycisku ":actionText", skopiuj i wklej poniższy adres URL w nowej karcie swojej przeglądarki:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Caminho',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Menu de Perfil',
'view_profile' => 'Visualizar Perfil',
'edit_profile' => 'Editar Perfil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informações',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Conteúdo',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Se estiver com problemas ao carregar no botão ":actionText", copie e cole o URL abaixo no seu navegador:',

View File

@@ -47,7 +47,7 @@ return [
'sort_ascending' => 'Ordenação Crescente',
'sort_descending' => 'Ordenação Decrescente',
'sort_name' => 'Nome',
'sort_default' => 'Default',
'sort_default' => 'Padrão',
'sort_created_at' => 'Data de Criação',
'sort_updated_at' => 'Data de Atualização',
@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Caminho',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Menu de Perfil',
'view_profile' => 'Visualizar Perfil',
'edit_profile' => 'Editar Perfil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informações',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Conteúdo',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Se você estiver tendo problemas ao clicar o botão ":actionText", copie e cole a URL abaixo no seu navegador:',

View File

@@ -39,9 +39,9 @@ return [
'app_homepage_select' => 'Selecione uma página',
'app_footer_links' => 'Links do Rodapé',
'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".',
'app_footer_links_label' => 'Link Label',
'app_footer_links_url' => 'Link URL',
'app_footer_links_add' => 'Add Footer Link',
'app_footer_links_label' => 'Etiqueta do Link',
'app_footer_links_url' => 'URL do Link',
'app_footer_links_add' => 'Adicionar Link de Rodapé',
'app_disable_comments' => 'Desativar Comentários',
'app_disable_comments_toggle' => 'Desativar comentários',
'app_disable_comments_desc' => 'Desativar comentários em todas as páginas no aplicativo.<br> Comentários existentes não serão exibidos.',
@@ -73,7 +73,7 @@ return [
'maint' => 'Manutenção',
'maint_image_cleanup' => 'Limpeza de Imagens',
'maint_image_cleanup_desc' => "Examina páginas e revisa seus conteúdos para verificar quais imagens e desenhos estão atualmente em uso e quais são redundantes. Certifique-se de criar um backup completo do banco de dados e imagens antes de executar esta ação.",
'maint_delete_images_only_in_revisions' => 'Also delete images that only exist in old page revisions',
'maint_delete_images_only_in_revisions' => 'Também excluir imagens que existem apenas em revisões de página antigas',
'maint_image_cleanup_run' => 'Executar Limpeza',
'maint_image_cleanup_warning' => ':count imagens potencialmente não utilizadas foram encontradas. Tem certeza de que deseja excluir estas imagens?',
'maint_image_cleanup_success' => ':count imagens potencialmente não utilizadas foram encontradas e excluídas!',
@@ -100,8 +100,8 @@ return [
'recycle_bin_empty' => 'Esvaziar Lixeira',
'recycle_bin_empty_confirm' => 'Isso irá destruir permanentemente todos os itens na lixeira inclusive o conteúdo de cada item. Tem certeza de que quer esvaziar a lixeira?',
'recycle_bin_destroy_confirm' => 'Esta ação irá excluir permanentemente do sistema este item junto com todos os elementos filhos listados abaixo. Você não poderá restaurar esse conteúdo. Tem certeza de que deseja excluir permanentemente este item?',
'recycle_bin_destroy_list' => 'Items to be Destroyed',
'recycle_bin_restore_list' => 'Items to be Restored',
'recycle_bin_destroy_list' => 'Itens a serem Destruídos',
'recycle_bin_restore_list' => 'Itens a serem restaurados',
'recycle_bin_restore_confirm' => 'Esta ação irá restaurar o item excluído, inclusive quaisquer elementos filhos, para seu local original. Se a localização original tiver, entretanto, sido eliminada e estiver agora na lixeira, o item pai também precisará ser restaurado.',
'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_destroy_notification' => 'Deleted :count total items from the recycle bin.',
@@ -110,7 +110,7 @@ return [
// Audit Log
'audit' => 'Registro de auditoria',
'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' => 'Filtro de Eventos',
'audit_event_filter_no_filter' => 'Sem filtro',
'audit_deleted_item' => 'Item excluído',
'audit_deleted_item_name' => 'Nome: :name',
@@ -162,7 +162,7 @@ return [
'user_profile' => 'Perfil do Usuário',
'users_add_new' => 'Adicionar Novo Usuário',
'users_search' => 'Pesquisar Usuários',
'users_latest_activity' => 'Latest Activity',
'users_latest_activity' => 'Última Atividade',
'users_details' => 'Detalhes do Usuário',
'users_details_desc' => 'Defina um nome de exibição e um endereço de e-mail para este usuário. O endereço de e-mail será usado para fazer login na aplicação.',
'users_details_desc_no_email' => 'Defina um nome de exibição para este usuário para que outros usuários possam reconhecê-lo',
@@ -182,8 +182,8 @@ return [
'users_delete_confirm' => 'Tem certeza que deseja excluir esse usuário?',
'users_migrate_ownership' => 'Migrate Ownership',
'users_migrate_ownership_desc' => 'Select a user here if you want another user to become the owner of all items currently owned by this user.',
'users_none_selected' => 'No user selected',
'users_delete_success' => 'User successfully removed',
'users_none_selected' => 'Nenhum usuário selecionado',
'users_delete_success' => 'Usuário removido com sucesso',
'users_edit' => 'Editar Usuário',
'users_edit_profile' => 'Editar Perfil',
'users_edit_success' => 'Usuário atualizado com sucesso',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Навигация',
// Header
'header_menu_expand' => 'Развернуть меню заголовка',
'profile_menu' => 'Меню профиля',
'view_profile' => 'Посмотреть профиль',
'edit_profile' => 'Редактировать профиль',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Информация',
'tab_info_label' => 'Вкладка: Показать вторичную информацию',
'tab_content' => 'Содержание',
'tab_content_label' => 'Вкладка: Показать основной контент',
// Email Content
'email_action_help' => 'Если у вас возникли проблемы с нажатием кнопки \':actionText\', то скопируйте и вставьте указанный URL-адрес в свой браузер:',

View File

@@ -38,7 +38,7 @@ return [
'app_homepage_desc' => 'Выберите страницу, которая будет отображаться на главной странице вместо стандартной. Права на страницы игнорируются для выбранных страниц.',
'app_homepage_select' => 'Выберите страницу',
'app_footer_links' => 'Ссылки в нижней части страницы',
'app_footer_links_desc' => 'Добавьте ссылки для отображения в нижнем колонтитуле сайта. Они будут отображаться внизу большинства страниц, включая те, которые не требуют входа. Вы можете использовать метку "trans::<key>" для использования системных переводов. Например: Использование "trans::common.privacy_policy" обеспечит перевод текста "Политика конфиденциальности" и "trans:common.terms_of_service" предоставит переведенный текст "Правила использования".',
'app_footer_links_desc' => 'Добавьте ссылки для отображения в нижнем колонтитуле сайта. Они будут отображаться в нижней части большинства страниц, включая те, которые не требуют входа. Вы можете использовать метку "trans::<key>" для использования системных переводов. Например: Использование "trans::common.privacy_policy" обеспечит перевод текста "Политика конфиденциальности" и "trans:common.terms_of_service" предоставит переведенный текст "Правила использования".',
'app_footer_links_label' => 'Название ссылки',
'app_footer_links_url' => 'Адрес ссылки',
'app_footer_links_add' => 'Добавить ссылку',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Breadcrumb',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Menu profilu',
'view_profile' => 'Zobraziť profil',
'edit_profile' => 'Upraviť profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informácie',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Obsah',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Ak máte problém klinkúť na tlačidlo ":actionText", skopírujte a vložte URL uvedenú nižšie do Vášho prehliadača:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Pot',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Meni profila',
'view_profile' => 'Ogled profila',
'edit_profile' => 'Uredi profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Informacije',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Vsebina',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'V kolikor imate težave s klikom na gumb ":actionText", kopirajte in prilepite spodnjo povezavo v vaš brskalnik:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Brödsmula',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profilmeny',
'view_profile' => 'Visa profil',
'edit_profile' => 'Redigera profil',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Information',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Innehåll',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Om du har problem, klicka på knappen ":actionText", och kopiera och klistra in den här adressen i din webbläsare:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Gezinti Menüsü',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Profil Menüsü',
'view_profile' => 'Profili Görüntüle',
'edit_profile' => 'Profili Düzenle',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Bilgi',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'İçerik',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => '":actionText" butonuna tıklamada sorun yaşıyorsanız, aşağıda bulunan bağlantıyı kopyalayıp tarayıcınıza yapıştırın:',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Навігація',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Меню профілю',
'view_profile' => 'Переглянути профіль',
'edit_profile' => 'Редагувати профіль',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Інфо',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Вміст',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Якщо у вас виникають проблеми при натисканні кнопки ":actionText", скопіюйте та вставте URL у свій веб-браузер:',

View File

@@ -232,7 +232,7 @@ return [
'ar' => 'العربية',
'bg' => 'Bǎlgarski',
'bs' => 'Bosanski',
'ca' => 'Каталаньський',
'ca' => 'Català',
'cs' => 'Česky',
'da' => 'Dansk',
'de' => 'Deutsch (Sie)',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => 'Đường dẫn liên kết',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => 'Menu Hồ sơ',
'view_profile' => 'Xem Hồ sơ',
'edit_profile' => 'Sửa Hồ sơ',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => 'Thông tin',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => 'Nội dung',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => 'Nếu bạn đang có vấn đề trong việc bấm nút ":actionText", sao chép và dán địa chỉ URL dưới đây vào trình duyệt web:',

View File

@@ -16,7 +16,7 @@ return [
'sign_up_with' => '注册:socialDriver',
'logout' => '注销',
'name' => '名',
'name' => '名',
'username' => '用户名',
'email' => 'Email地址',
'password' => '密码',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => '面包屑导航',
// Header
'header_menu_expand' => '展开标头菜单',
'profile_menu' => '个人资料',
'view_profile' => '查看资料',
'edit_profile' => '编辑资料',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => '信息',
'tab_info_label' => '标签:显示次要信息',
'tab_content' => '内容',
'tab_content_label' => '标签:显示主要内容',
// Email Content
'email_action_help' => '如果您无法点击“:actionText”按钮请将下面的网址复制到您的浏览器中打开',

View File

@@ -65,6 +65,7 @@ return [
'breadcrumb' => '頁面路徑',
// Header
'header_menu_expand' => 'Expand Header Menu',
'profile_menu' => '個人資料選單',
'view_profile' => '檢視個人資料',
'edit_profile' => '編輯個人資料',
@@ -73,7 +74,9 @@ return [
// Layout tabs
'tab_info' => '資訊',
'tab_info_label' => 'Tab: Show Secondary Information',
'tab_content' => '內容',
'tab_content_label' => 'Tab: Show Primary Content',
// Email Content
'email_action_help' => '如果您無法點擊 ":actionText" 按鈕,請將下方的網址複製並貼上到您的網路瀏覽器中:',

View File

@@ -196,6 +196,16 @@ input[type="color"], input[type="password"], select, textarea {
@extend .input-base;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23666666'><polygon points='0,0 100,0 50,50'/></svg>");
background-size: 12px;
background-position: calc(100% - 20px) 70%;
background-repeat: no-repeat;
}
input[type=date] {
width: 190px;
}

View File

@@ -191,6 +191,11 @@ header .search-box {
@include lightDark(color, #000, #fff);
text-decoration: none;
}
&:focus {
@include lightDark(background-color, #eee, #333);
outline-color: var(--color-primary);
color: var(--color-primary);
}
}
header .dropdown-container {
display: block;
@@ -216,17 +221,21 @@ header .search-box {
z-index: 5;
background-color: #FFF;
border-bottom: 1px solid #DDD;
@include lightDark(border-bottom-color, #DDD, #333);
box-shadow: $bs-card;
}
.tri-layout-mobile-tab {
text-align: center;
border-bottom: 3px solid #BBB;
cursor: pointer;
@include lightDark(background-color, #FFF, #222);
@include lightDark(border-bottom-color, #BBB, #333);
&:first-child {
border-inline-end: 1px solid #DDD;
@include lightDark(border-inline-end-color, #DDD, #000);
}
&.active {
border-bottom-color: currentColor;
&[aria-selected="true"] {
border-bottom-color: currentColor !important;
}
}

View File

@@ -31,7 +31,7 @@
@include('partials.notifications')
@include('common.header')
<div id="content" class="block">
<div id="content" components="@yield('content-components')" class="block">
@yield('content')
</div>

View File

@@ -1,4 +1,4 @@
<header id="header" header-mobile-toggle class="primary-background">
<header id="header" component="header-mobile-toggle" class="primary-background">
<div class="grid mx-l">
<div>
@@ -10,7 +10,11 @@
<span class="logo-text">{{ setting('app-name') }}</span>
@endif
</a>
<div class="mobile-menu-toggle hide-over-l">@icon('more')</div>
<button type="button"
refs="header-mobile-toggle@toggle"
title="{{ trans('common.header_menu_expand') }}"
aria-expanded="false"
class="mobile-menu-toggle hide-over-l">@icon('more')</button>
</div>
<div class="flex-container-row justify-center hide-under-l">
@@ -25,7 +29,7 @@
</div>
<div class="text-right">
<nav class="header-links">
<nav refs="header-mobile-toggle@menu" class="header-links">
<div class="links text-center">
@if (hasAppAccess())
<a class="hide-over-l" href="{{ url('/search') }}">@icon('search'){{ trans('common.search') }}</a>
@@ -50,7 +54,7 @@
</div>
@if(signedInUser())
<?php $currentUser = user(); ?>
<div class="dropdown-container" component="dropdown">
<div class="dropdown-container" component="dropdown" option:dropdown:bubble-escapes="true">
<span class="user-name py-s hide-under-l" refs="dropdown@toggle"
aria-haspopup="true" aria-expanded="false" aria-label="{{ trans('common.profile_menu') }}" tabindex="0">
<img class="avatar" src="{{$currentUser->getAvatar(30)}}" alt="{{ $currentUser->name }}">

View File

@@ -14,7 +14,7 @@
</div>
@endif
@if ($entity->ownedBy && $entity->ownedBy->id !== $entity->createdBy->id)
@if ($entity->ownedBy && $entity->owned_by !== $entity->created_by)
<div>
@icon('user'){!! trans('entities.meta_owned_name', [
'user' => "<a href='{$entity->ownedBy->getProfileUrl()}'>".e($entity->ownedBy->name). "</a>"

View File

@@ -1,21 +1,31 @@
@extends('base')
@section('body-class', 'tri-layout')
@section('content-components', 'tri-layout')
@section('content')
<div class="tri-layout-mobile-tabs text-primary print-hidden">
<div class="tri-layout-mobile-tabs print-hidden">
<div class="grid half no-break no-gap">
<div class="tri-layout-mobile-tab px-m py-s" tri-layout-mobile-tab="info">
<button type="button"
refs="tri-layout@tab"
data-tab="info"
aria-label="{{ trans('common.tab_info_label') }}"
class="tri-layout-mobile-tab px-m py-m text-primary">
{{ trans('common.tab_info') }}
</div>
<div class="tri-layout-mobile-tab px-m py-s active" tri-layout-mobile-tab="content">
</button>
<button type="button"
refs="tri-layout@tab"
data-tab="content"
aria-label="{{ trans('common.tab_content_label') }}"
aria-selected="true"
class="tri-layout-mobile-tab px-m py-m text-primary active">
{{ trans('common.tab_content') }}
</div>
</button>
</div>
</div>
<div class="tri-layout-container" tri-layout @yield('container-attrs') >
<div refs="tri-layout@container" class="tri-layout-container" @yield('container-attrs') >
<div class="tri-layout-left print-hidden pt-m" id="sidebar">
<aside class="tri-layout-left-contents">

View File

@@ -6,6 +6,22 @@ use Tests\TestCase;
class PageTest extends TestCase
{
public function test_page_view_when_creator_is_deleted_but_owner_exists()
{
$page = Page::query()->first();
$user = $this->getViewer();
$owner = $this->getEditor();
$page->created_by = $user->id;
$page->owned_by = $owner->id;
$page->save();
$user->delete();
$resp = $this->asAdmin()->get($page->getUrl());
$resp->assertStatus(200);
$resp->assertSeeText('Owned by ' . $owner->name);
}
public function test_page_creation_with_markdown_content()
{
$this->setSettings(['app-editor' => 'markdown']);

View File

@@ -1,6 +1,9 @@
<?php namespace Tests;
use BookStack\Auth\Role;
use BookStack\Auth\User;
use BookStack\Entities\Models\Bookshelf;
use BookStack\Entities\Models\Page;
class HomepageTest extends TestCase
{
@@ -141,4 +144,14 @@ class HomepageTest extends TestCase
$homeVisit->assertElementContains('.content-wrap', $shelf->name);
$homeVisit->assertElementContains('.content-wrap', $book->name);
}
public function test_new_users_dont_have_any_recently_viewed()
{
$user = factory(User::class)->create();
$viewRole = Role::getRole('Viewer');
$user->attachRole($viewRole);
$homeVisit = $this->actingAs($user)->get('/');
$homeVisit->assertElementContains('#recently-viewed', 'You have not viewed any pages');
}
}

View File

@@ -8,6 +8,7 @@ use BookStack\Auth\User;
use BookStack\Entities\Models\Book;
use BookStack\Entities\Models\Chapter;
use BookStack\Entities\Models\Page;
use Illuminate\Support\Facades\View;
class PublicActionTest extends TestCase
{
@@ -115,10 +116,12 @@ class PublicActionTest extends TestCase
public function test_content_not_listed_on_404_for_public_users()
{
$page = Page::query()->first();
$page->fill(['name' => 'my testing random unique page name'])->save();
$this->asAdmin()->get($page->getUrl()); // Fake visit to show on recents
$resp = $this->get('/cats/dogs/hippos');
$resp->assertStatus(404);
$resp->assertSee($page->name);
View::share('pageTitle', '');
Auth::logout();
$resp = $this->get('/cats/dogs/hippos');

View File

@@ -1 +1 @@
v21.04
v21.04.3