Merge branch 'development' into release

This commit is contained in:
Dan Brown 2022-06-28 11:57:24 +01:00
commit a1ea4006e0
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
21 changed files with 130 additions and 118 deletions

View File

@ -39,7 +39,7 @@ class GroupSyncService
protected function parseRoleExternalAuthId(string $externalId): array
{
$inputIds = preg_split('/(?<!\\\),/', $externalId);
$inputIds = preg_split('/(?<!\\\),/', strtolower($externalId));
$cleanIds = [];
foreach ($inputIds as $inputId) {

View File

@ -13,7 +13,8 @@ You'll need to tell BookStack to use your theme via the `APP_THEME` option in yo
## Customizing View Files
Content placed in your `themes/<theme_name>/` folder will override the original view files found in the `resources/views` folder. These files are typically [Laravel Blade](https://laravel.com/docs/6.x/blade) files.
Content placed in your `themes/<theme_name>/` folder will override the original view files found in the `resources/views` folder. These files are typically [Laravel Blade](https://laravel.com/docs/8.x/blade) files.
As an example, I could override the `resources/views/books/parts/list-item.blade.php` file with my own template at the path `themes/<theme_name>/books/parts/list-item.blade.php`.
## Customizing Icons

View File

@ -16,7 +16,7 @@ class EntitySelectorPopup {
this.selectButton.addEventListener('click', this.onSelectButtonClick.bind(this));
window.$events.listen('entity-select-change', this.onSelectionChange.bind(this));
window.$events.listen('entity-select-confirm', this.onSelectionConfirm.bind(this));
window.$events.listen('entity-select-confirm', this.handleConfirmedSelection.bind(this));
}
show(callback) {
@ -34,14 +34,7 @@ class EntitySelectorPopup {
}
onSelectButtonClick() {
this.hide();
if (this.selection !== null && this.callback) this.callback(this.selection);
}
onSelectionConfirm(entity) {
this.hide();
this.getSelector().reset();
if (this.callback && entity) this.callback(entity);
this.handleConfirmedSelection(this.selection);
}
onSelectionChange(entity) {
@ -52,6 +45,12 @@ class EntitySelectorPopup {
this.selectButton.removeAttribute('disabled');
}
}
handleConfirmedSelection(entity) {
this.hide();
this.getSelector().reset();
if (this.callback && entity) this.callback(entity);
}
}
export default EntitySelectorPopup;

View File

@ -28,8 +28,8 @@ return [
// Books
'book_create' => 'libro creado',
'book_create_notification' => 'Libro creado correctamente',
'book_create_from_chapter' => 'convertido capítulo a libro',
'book_create_from_chapter_notification' => 'Capítulo convertido a libro con éxito',
'book_create_from_chapter' => 'capítulo convertido en libro',
'book_create_from_chapter_notification' => 'Capítulo convertido en libro con éxito',
'book_update' => 'libro actualizado',
'book_update_notification' => 'Libro actualizado correctamente',
'book_delete' => 'libro borrado',
@ -40,8 +40,8 @@ return [
// Bookshelves
'bookshelf_create' => 'estante creado',
'bookshelf_create_notification' => 'Estante creado correctamente',
'bookshelf_create_from_book' => 'convertido libro a estante',
'bookshelf_create_from_book_notification' => 'Libro convertido a estante con éxito',
'bookshelf_create_from_book' => 'libro convertido en estante',
'bookshelf_create_from_book_notification' => 'Libro convertido en estante con éxito',
'bookshelf_update' => 'Estante actualizado',
'bookshelf_update_notification' => 'Estante actualizado correctamente',
'bookshelf_delete' => 'Estante borrado',

View File

@ -48,7 +48,7 @@ return [
'filter_active' => 'Filtro activo:',
'filter_clear' => 'Limpiar filtro',
'download' => 'Descargar',
'open_in_tab' => 'Abrir en una nueva pestaña',
'open_in_tab' => 'Abrir en una pestaña',
// Sort Options
'sort_options' => 'Opciones de Orden',

View File

@ -16,12 +16,12 @@ return [
'undo' => 'Deshacer',
'redo' => 'Rehacer',
'left' => 'Izquierda',
'center' => 'Centro',
'center' => 'Centrar',
'right' => 'Derecha',
'top' => 'Arriba',
'middle' => 'Medio',
'bottom' => 'Abajo',
'width' => 'Anchura',
'width' => 'Ancho',
'height' => 'Altura',
'More' => 'Más',
'select' => 'Seleccionar...',
@ -29,9 +29,9 @@ return [
// Toolbar
'formats' => 'Formatos',
'header_large' => 'Encabezado grande',
'header_medium' => 'Encabezado medio',
'header_small' => 'Encabezado pequeño',
'header_tiny' => 'Encabezado muy pequeño',
'header_medium' => 'Encabezado mediano',
'header_small' => 'Encabezado chico',
'header_tiny' => 'Encabezado pequeño',
'paragraph' => 'Párrafo',
'blockquote' => 'Cita',
'inline_code' => 'Código en línea',
@ -46,31 +46,31 @@ return [
'strikethrough' => 'Tachado',
'superscript' => 'Superíndice',
'subscript' => 'Subíndice',
'text_color' => 'Color de texto',
'text_color' => 'Color del texto',
'custom_color' => 'Color personalizado',
'remove_color' => 'Eliminar color',
'background_color' => 'Color de fondo',
'align_left' => 'Alinear a la izquierda',
'align_center' => 'Alinear al centro',
'align_center' => 'Centrar',
'align_right' => 'Alinear a la derecha',
'align_justify' => 'Justificado',
'list_bullet' => 'Lista sin ordenar',
'list_numbered' => 'Lista ordenada',
'list_bullet' => 'Lista de viñetas',
'list_numbered' => 'Lista numerada',
'list_task' => 'Lista de tareas',
'indent_increase' => 'Aumentar sangría',
'indent_decrease' => 'Reducir sangría',
'table' => 'Tabla',
'insert_image' => 'Importar imagen',
'insert_image' => 'Insertar Imagen',
'insert_image_title' => 'Insertar/Editar imagen',
'insert_link' => 'Insertar/editar enlace',
'insert_link_title' => 'Insertar/Editar enlace',
'insert_link_title' => 'Insertar/Editar Enlace',
'insert_horizontal_line' => 'Insertar línea horizontal',
'insert_code_block' => 'Insertar bloque de código',
'insert_drawing' => 'Insertar/editar dibujo',
'drawing_manager' => 'Gestor de dibujo',
'insert_media' => 'Insertar/editar medios',
'insert_media_title' => 'Insertar/Editar medios',
'clear_formatting' => 'Borrar formato',
'insert_media' => 'Insertar/editar media',
'insert_media_title' => 'Insertar/Editar Media',
'clear_formatting' => 'Limpiar formato',
'source_code' => 'Código fuente',
'source_code_title' => 'Código Fuente',
'fullscreen' => 'Pantalla completa',
@ -90,10 +90,10 @@ return [
'table_row' => 'Fila',
'table_column' => 'Columna',
'cell_properties' => 'Propiedades de la celda',
'cell_properties_title' => 'Propiedades de Celda',
'cell_properties_title' => 'Propiedades de la Celda',
'cell_type' => 'Tipo de celda',
'cell_type_cell' => 'Celda',
'cell_scope' => 'Ámbito',
'cell_scope' => 'Alcance',
'cell_type_header' => 'Celda de cabecera',
'merge_cells' => 'Combinar celdas',
'split_cell' => 'Dividir celda',
@ -120,7 +120,7 @@ return [
'paste_column_before' => 'Pegar columna a la izquierda',
'paste_column_after' => 'Pegar columna a la derecha',
'cell_padding' => 'Relleno de la celda',
'cell_spacing' => 'Espaciado entre celdas',
'cell_spacing' => 'Espaciado de celdas',
'caption' => 'Leyenda',
'show_caption' => 'Mostrar leyenda',
'constrain' => 'Restringir proporciones',
@ -128,29 +128,29 @@ return [
'cell_border_dotted' => 'Punteada',
'cell_border_dashed' => 'Discontinua',
'cell_border_double' => 'Doble',
'cell_border_groove' => 'Surcos',
'cell_border_ridge' => 'Cresta',
'cell_border_inset' => 'Interno',
'cell_border_outset' => 'Externo',
'cell_border_groove' => 'Ranura',
'cell_border_ridge' => 'Reborde',
'cell_border_inset' => 'Recuadro',
'cell_border_outset' => 'Recuadro externo',
'cell_border_none' => 'Ninguno',
'cell_border_hidden' => 'Oculto',
// Images, links, details/summary & embed
'source' => 'Origen',
'alt_desc' => 'Descripción alternativa',
'embed' => 'Incrustar',
'paste_embed' => 'Pegue su código incrustado a continuación:',
'embed' => 'Embeber',
'paste_embed' => 'Pegue su código embebido a continuación:',
'url' => 'URL',
'text_to_display' => 'Texto para mostrar',
'title' => 'Titulo',
'text_to_display' => 'Texto a mostrar',
'title' => 'Título',
'open_link' => 'Abrir enlace en...',
'open_link_current' => 'Ventana actual',
'open_link_new' => 'Nueva ventana',
'insert_collapsible' => 'Insertar bloque plegable',
'open_link_new' => 'Ventana nueva',
'insert_collapsible' => 'Insertar bloque desplegable',
'collapsible_unwrap' => 'Desplegar',
'edit_label' => 'Editar etiqueta',
'toggle_open_closed' => 'Abrir/Cerrar',
'collapsible_edit' => 'Editar bloque plegable',
'toggle_open_closed' => 'Alternar Abrir/Cerrar',
'collapsible_edit' => 'Editar bloque desplegable',
'toggle_label' => 'Cambiar etiqueta',
// About view
@ -158,7 +158,7 @@ return [
'about_title' => 'Acerca del editor WYSIWYG',
'editor_license' => 'Licencia del editor y derechos de autor',
'editor_tiny_license' => 'Este editor se construye usando :tinyLink que se proporciona bajo una licencia LGPL v2.1.',
'editor_tiny_license_link' => 'Aquí encontrará los detalles de los derechos de autor y la licencia de TinyMCE.',
'editor_tiny_license_link' => 'Aquí se muestran los detalles de los derechos de autor y la licencia de TinyMCE.',
'save_continue' => 'Guardar Página y Continuar',
'callouts_cycle' => '(Siga presionando para alternar entre tipos)',
'link_selector' => 'Enlace a contenido',

View File

@ -208,7 +208,7 @@ return [
'pages_editor_switch_consider_following' => 'Considere lo siguiente cuando cambie de editor:',
'pages_editor_switch_consideration_a' => 'Una vez guardado, el nuevo editor será utilizado por todos los usuarios nuevos, incluyendo aquellos que quizás no tengan permisos para cambiar su editor.',
'pages_editor_switch_consideration_b' => 'Esto puede llevar a una pérdida de detalle y sintaxis en ciertas circunstancias.',
'pages_editor_switch_consideration_c' => 'Cambios en etiquetas o en el registro de cambios, realizados desde el último guardado, no persistirán a través de este cambio.',
'pages_editor_switch_consideration_c' => 'Cambios en la etiqueta o en el registro de cambios, realizados desde la última vez que se guardan, no persistirán a través de este cambio.',
'pages_save' => 'Guardar página',
'pages_title' => 'Título de página',
'pages_name' => 'Nombre de página',
@ -361,10 +361,10 @@ return [
'convert_to_shelf_contents_desc' => 'Puedes convertir este libro a un nuevo estante con el mismo contenido. Los capítulos contenidos en este libro se convertirán en libros nuevos. Si este libro contiene alguna página, que no esté en un capítulo, este libro será renombrado y contendrá tales páginas, y este libro pasará a formar parte del nuevo estante.',
'convert_to_shelf_permissions_desc' => 'Cualquier permiso establecido en este libro será copiado al nuevo estante y a todos los nuevos libros que no tengan sus propios permisos configurados. Tenga en cuenta que los permisos de los estantes no se aplican automáticamente sobre el contenido en su interior, como lo hacen para los libros.',
'convert_book' => 'Convertir Libro',
'convert_book_confirm' => '¿Está seguro de que desea borrar este libro?',
'convert_undo_warning' => 'Esto no puede revertirse de forma sencilla.',
'convert_book_confirm' => '¿Está seguro de que desea convertir este libro?',
'convert_undo_warning' => 'Esto no se puede deshacer de forma sencilla.',
'convert_to_book' => 'Convertir a Libro',
'convert_to_book_desc' => 'Puede convertir este capítulo en un nuevo libro con el mismo contenido. Cualquier permiso establecido en este capítulo será copiado al nuevo libro pero cualquier permiso heredado, del libro padre, no se copiará lo que podría conducir a un cambio de control de acceso.',
'convert_to_book_desc' => 'Puede convertir este capítulo en un nuevo libro con el mismo contenido. Cualquier permiso establecido en este capítulo será copiado al nuevo libro pero cualquier permiso heredado, del libro padre, no se copiará lo que podría derivar en un cambio en el control de acceso.',
'convert_chapter' => 'Convertir Capítulo',
'convert_chapter_confirm' => '¿Estás seguro de que quieres convertir este capítulo?',
'convert_chapter_confirm' => '¿Está seguro de que quiere convertir este capítulo?',
];

View File

@ -28,8 +28,8 @@ return [
// Books
'book_create' => 'ha creato il libro',
'book_create_notification' => 'Libro creato con successo',
'book_create_from_chapter' => 'converted chapter to book',
'book_create_from_chapter_notification' => 'Chapter successfully converted to a book',
'book_create_from_chapter' => 'convertito da capitolo a libro',
'book_create_from_chapter_notification' => 'Capitolo convertito con successo in libro',
'book_update' => 'ha aggiornato il libro',
'book_update_notification' => 'Libro aggiornato con successo',
'book_delete' => 'ha eliminato il libro',
@ -40,8 +40,8 @@ return [
// Bookshelves
'bookshelf_create' => 'libreria creata',
'bookshelf_create_notification' => 'Libreria creata con successo',
'bookshelf_create_from_book' => 'converted book to bookshelf',
'bookshelf_create_from_book_notification' => 'Book successfully converted to a shelf',
'bookshelf_create_from_book' => 'libro convertito in libreria',
'bookshelf_create_from_book_notification' => 'Libro convertito con successo in libreria',
'bookshelf_update' => 'ha aggiornato la libreria',
'bookshelf_update_notification' => 'Libreria aggiornata con successo',
'bookshelf_delete' => 'ha eliminato la libreria',

View File

@ -39,9 +39,9 @@ return [
'register_success' => 'Grazie per la registrazione! Sei registrato e loggato.',
// Login auto-initiation
'auto_init_starting' => 'Attempting Login',
'auto_init_starting_desc' => 'We\'re contacting your authentication system to start the login process. If there\'s no progress after 5 seconds you can try clicking the link below.',
'auto_init_start_link' => 'Proceed with authentication',
'auto_init_starting' => 'Tentativo di accesso',
'auto_init_starting_desc' => 'Stiamo contattando il vostro sistema di autenticazione per avviare il processo di login. Se dopo 5 secondi non si verifica alcun progresso, si può provare a fare clic sul link sottostante.',
'auto_init_start_link' => 'Procedi con l\'autenticazione',
// Password Reset
'reset_password' => 'Reimposta Password',

View File

@ -357,14 +357,14 @@ return [
'copy_consider_access' => 'Un cambiamento di luogo, di proprietario o di autorizzazioni può far sì che questo contenuto sia accessibile a chi prima non aveva accesso.',
// Conversions
'convert_to_shelf' => 'Convert to Shelf',
'convert_to_shelf_contents_desc' => 'You can convert this book to a new shelf with the same contents. Chapters contained within this book will be converted to new books. If this book contains any pages, that are not in a chapter, this book will be renamed and contain such pages, and this book will become part of the new shelf.',
'convert_to_shelf_permissions_desc' => 'Any permissions set on this book will be copied to the new shelf and to all new child books that don\'t have their own permissions enforced. Note that permissions on shelves do not auto-cascade to content within, as they do for books.',
'convert_book' => 'Convert Book',
'convert_book_confirm' => 'Are you sure you want to convert this book?',
'convert_undo_warning' => 'This cannot be as easily undone.',
'convert_to_book' => 'Convert to Book',
'convert_to_book_desc' => 'You can convert this chapter to a new book with the same contents. Any permissions set on this chapter will be copied to the new book but any inherited permissions, from the parent book, will not be copied which could lead to a change of access control.',
'convert_chapter' => 'Convert Chapter',
'convert_chapter_confirm' => 'Are you sure you want to convert this chapter?',
'convert_to_shelf' => 'Converti in Libreria',
'convert_to_shelf_contents_desc' => 'È possibile convertire questo libro in una nuova libreria con gli stessi contenuti. I capitoli contenuti in questo libro saranno convertiti in nuovi libri. Se il libro contiene pagine che non fanno parte di un capitolo, questo libro verrà rinominato e conterrà tali pagine e diventerà parte della nuova libreria.',
'convert_to_shelf_permissions_desc' => 'Tutti i permessi impostati su questo libro saranno copiati sulla nuova libreria e su tutti i nuovi libri figli che non hanno i loro permessi applicati. Si noti che i permessi delle librerie non si trasmettono automaticamente ai contenuti al loro interno, come avviene per i libri.',
'convert_book' => 'Converti Libro',
'convert_book_confirm' => 'Sei sicuro di voler convertire questo libro?',
'convert_undo_warning' => 'Questo non può essere annullato con la stessa facilità.',
'convert_to_book' => 'Converti in libro',
'convert_to_book_desc' => 'È possibile convertire questo capitolo in un nuovo libro con gli stessi contenuti. Tutti i permessi impostati su questo capitolo saranno copiati nel nuovo libro, ma i permessi ereditati dal libro principale non saranno copiati, il che potrebbe portare a una modifica del controllo degli accessi.',
'convert_chapter' => 'Converti Capitolo',
'convert_chapter_confirm' => 'Sei sicuro di voler convertire questo capitolo?',
];

View File

@ -28,8 +28,8 @@ return [
// Books
'book_create' => 'がブックを作成:',
'book_create_notification' => 'ブックを作成しました',
'book_create_from_chapter' => 'converted chapter to book',
'book_create_from_chapter_notification' => 'Chapter successfully converted to a book',
'book_create_from_chapter' => 'がチャプターをブックに変換:',
'book_create_from_chapter_notification' => 'チャプターがブックへ正常に変換されました',
'book_update' => 'がブックを更新:',
'book_update_notification' => 'ブックを更新しました',
'book_delete' => 'がブックを削除:',
@ -40,8 +40,8 @@ return [
// Bookshelves
'bookshelf_create' => 'が本棚を作成:',
'bookshelf_create_notification' => '本棚を作成しました',
'bookshelf_create_from_book' => 'converted book to bookshelf',
'bookshelf_create_from_book_notification' => 'Book successfully converted to a shelf',
'bookshelf_create_from_book' => 'がブックを本棚に変換:',
'bookshelf_create_from_book_notification' => 'ブックが本棚へ正常に変換されました',
'bookshelf_update' => 'が本棚を更新:',
'bookshelf_update_notification' => '本棚を更新しました',
'bookshelf_delete' => 'が本棚を削除:',

View File

@ -47,8 +47,8 @@ return [
'previous' => '前へ',
'filter_active' => '有効なフィルター:',
'filter_clear' => 'フィルターを解除',
'download' => 'Download',
'open_in_tab' => 'Open in Tab',
'download' => 'ダウンロード',
'open_in_tab' => 'タブで開く',
// Sort Options
'sort_options' => '並べ替えオプション',

View File

@ -357,14 +357,14 @@ return [
'copy_consider_access' => '場所、所有者または権限を変更すると、以前アクセスできなかったユーザーがこのコンテンツにアクセスできるようになる可能性があります。',
// Conversions
'convert_to_shelf' => 'Convert to Shelf',
'convert_to_shelf_contents_desc' => 'You can convert this book to a new shelf with the same contents. Chapters contained within this book will be converted to new books. If this book contains any pages, that are not in a chapter, this book will be renamed and contain such pages, and this book will become part of the new shelf.',
'convert_to_shelf_permissions_desc' => 'Any permissions set on this book will be copied to the new shelf and to all new child books that don\'t have their own permissions enforced. Note that permissions on shelves do not auto-cascade to content within, as they do for books.',
'convert_book' => 'Convert Book',
'convert_book_confirm' => 'Are you sure you want to convert this book?',
'convert_undo_warning' => 'This cannot be as easily undone.',
'convert_to_book' => 'Convert to Book',
'convert_to_book_desc' => 'You can convert this chapter to a new book with the same contents. Any permissions set on this chapter will be copied to the new book but any inherited permissions, from the parent book, will not be copied which could lead to a change of access control.',
'convert_chapter' => 'Convert Chapter',
'convert_chapter_confirm' => 'Are you sure you want to convert this chapter?',
'convert_to_shelf' => '本棚に変換',
'convert_to_shelf_contents_desc' => 'このブックを同じ内容の新しい棚に変換できます。このブックに含まれるチャプターは新しいブックに変換されます。このブックにチャプター内にないページが含まれている場合、このブックは名前が変更され、そのようなページを含む新しい本棚の一部となります。',
'convert_to_shelf_permissions_desc' => 'このブックに設定されているすべての権限は、新しい本棚と、独自の権限が適用されていないすべての新しい子ブックにコピーされます。本棚の権限はブックの場合のように、内部のコンテンツに自動的に継承されないことに注意してください。',
'convert_book' => 'ブックを変換',
'convert_book_confirm' => 'このブックを変換してもよろしいですか?',
'convert_undo_warning' => 'これは簡単には元に戻せません。',
'convert_to_book' => 'ブックに変換',
'convert_to_book_desc' => 'このチャプターを同じ内容の新しいブックに変換できます。このチャプターで設定された権限は新しいブックにコピーされますが、親ブックから継承された権限はコピーされないため、アクセス制御が変更される可能性があります。',
'convert_chapter' => 'チャプターを変換',
'convert_chapter_confirm' => 'このチャプターを変換してもよろしいですか?',
];

View File

@ -39,9 +39,9 @@ return [
'register_success' => 'Dziękujemy za rejestrację! Zostałeś zalogowany automatycznie.',
// Login auto-initiation
'auto_init_starting' => 'Attempting Login',
'auto_init_starting_desc' => 'We\'re contacting your authentication system to start the login process. If there\'s no progress after 5 seconds you can try clicking the link below.',
'auto_init_start_link' => 'Proceed with authentication',
'auto_init_starting' => 'Próba logowania',
'auto_init_starting_desc' => 'Łączymy się z twoim systemem uwierzytelniania w celu rozpoczęcia procesu logowania. Jeśli po 5 sekundach nie ma żadnych postępów, możesz spróbować kliknąć poniższy link.',
'auto_init_start_link' => 'Kontynuuj uwierzytelnianie',
// Password Reset
'reset_password' => 'Resetowanie hasła',
@ -64,8 +64,8 @@ return [
'email_not_confirmed' => 'Adres e-mail nie został potwierdzony',
'email_not_confirmed_text' => 'Twój adres e-mail nie został jeszcze potwierdzony.',
'email_not_confirmed_click_link' => 'Aby potwierdzić swoje konto kliknij w link wysłany w wiadomości po rejestracji.',
'email_not_confirmed_resend' => 'Jeśli wiadomość do Ciebie nie dotarła możesz wysłać ją ponownie wypełniając formularz poniżej.',
'email_not_confirmed_click_link' => 'Aby potwierdzić swoje konto, kliknij link wysłany w wiadomości po rejestracji.',
'email_not_confirmed_resend' => 'Jeśli wiadomość do Ciebie nie dotarła, możesz wysłać ją ponownie, wypełniając formularz poniżej.',
'email_not_confirmed_resend_button' => 'Wyślij ponownie wiadomość z potwierdzeniem',
// User Invite

View File

@ -247,7 +247,7 @@ return [
'pages_permissions_active' => 'Uprawnienia strony są aktywne',
'pages_initial_revision' => 'Pierwsze wydanie',
'pages_initial_name' => 'Nowa strona',
'pages_editing_draft_notification' => 'Edytujesz obecnie wersje roboczą, która była ostatnio zapisana :timeDiff.',
'pages_editing_draft_notification' => 'Edytujesz obecnie wersję roboczą, która była ostatnio zapisana :timeDiff.',
'pages_draft_edited_notification' => 'Od tego czasu ta strona była zmieniana. Zalecane jest odrzucenie tej wersji roboczej.',
'pages_draft_page_changed_since_creation' => 'Ta strona została zaktualizowana od czasu utworzenia tego szkicu. Zaleca się, aby odrzucić ten szkic lub nie nadpisywać żadnych zmian na stronie.',
'pages_draft_edit_active' => [
@ -358,7 +358,7 @@ return [
// Conversions
'convert_to_shelf' => 'Konwertuj na półkę',
'convert_to_shelf_contents_desc' => 'Możesz przekonwertować tę książkę do nowej półki z tą samą zawartością. Rozdziały zawarte w tej książce zostaną przekonwertowane na nowe książki. Jeśli ta książka zawiera jakieś strony, które nie znajdują się w rozdziale, wtedy nazwa tej książki zostanie zmieniona i będzie ona zawierać te strony, a sama książka stanie się częścią nowej półki.',
'convert_to_shelf_contents_desc' => 'Możesz skonwertować tę książkę do nowej półki z tą samą zawartością. Rozdziały zawarte w tej książce zostaną skonwertowane na nowe książki. Jeśli ta książka zawiera jakieś strony, które nie znajdują się w rozdziale, wtedy nazwa tej książki zostanie zmieniona i będzie ona zawierać te strony, a sama książka stanie się częścią nowej półki.',
'convert_to_shelf_permissions_desc' => 'Wszelkie uprawnienia ustawione w tej książce zostaną skopiowane do nowej półki i do wszystkich nowych książek tej półki, które nie mają własnych uprawnień. Zauważ, że uprawnienia na półkach nie są automatycznie kaskadowane do ich zawartości, tak jak to ma miejsce w przypadku książek.',
'convert_book' => 'Konwertuj książkę',
'convert_book_confirm' => 'Czy na pewno chcesz skonwertować tę książkę?',

View File

@ -6,7 +6,7 @@
return [
// Pages
'page_create' => 'Создать страницу',
'page_create' => 'создал страницу',
'page_create_notification' => 'Страница успешно создана',
'page_update' => 'обновил страницу',
'page_update_notification' => 'Страница успешно обновлена',
@ -28,8 +28,8 @@ return [
// Books
'book_create' => 'создал книгу',
'book_create_notification' => 'Книга успешно создана',
'book_create_from_chapter' => 'converted chapter to book',
'book_create_from_chapter_notification' => 'Chapter successfully converted to a book',
'book_create_from_chapter' => 'преобразовал главу в книгу',
'book_create_from_chapter_notification' => 'Глава успешно преобразована в книгу',
'book_update' => 'обновил книгу',
'book_update_notification' => 'Книга успешно обновлена',
'book_delete' => 'удалил книгу',
@ -40,8 +40,8 @@ return [
// Bookshelves
'bookshelf_create' => 'создал полку',
'bookshelf_create_notification' => 'Полка успешно создана',
'bookshelf_create_from_book' => 'converted book to bookshelf',
'bookshelf_create_from_book_notification' => 'Book successfully converted to a shelf',
'bookshelf_create_from_book' => 'преобразовать книгу в полку',
'bookshelf_create_from_book_notification' => 'Книга успешно преобразована в полку',
'bookshelf_update' => 'обновил полку',
'bookshelf_update_notification' => 'Полка успешно обновлена',
'bookshelf_delete' => 'удалил полку',

View File

@ -39,9 +39,9 @@ return [
'register_success' => 'Спасибо за регистрацию! Регистрация и вход в систему выполнены.',
// Login auto-initiation
'auto_init_starting' => 'Attempting Login',
'auto_init_starting_desc' => 'We\'re contacting your authentication system to start the login process. If there\'s no progress after 5 seconds you can try clicking the link below.',
'auto_init_start_link' => 'Proceed with authentication',
'auto_init_starting' => 'Попытка входа',
'auto_init_starting_desc' => 'Мы связываемся с вашей системой аутентификации, для процесса входа. Если через 5 секунд ничего не произошло, вы можете попробовать нажать на ссылку ниже.',
'auto_init_start_link' => 'Повторить аутентификацию',
// Password Reset
'reset_password' => 'Сброс пароля',

View File

@ -93,7 +93,7 @@ return [
'cell_properties_title' => 'Свойства ячейки',
'cell_type' => 'Тип ячейки',
'cell_type_cell' => 'Ячейка',
'cell_scope' => 'Scope',
'cell_scope' => 'Область охвата',
'cell_type_header' => 'Заголовок ячейки',
'merge_cells' => 'Объединить ячейки',
'split_cell' => 'Разделить ячейку',
@ -104,8 +104,8 @@ return [
'border_width' => 'Ширина границы',
'border_style' => 'Стиль границы',
'border_color' => 'Цвет границы',
'row_properties' => 'Свойства ячейки',
'row_properties_title' => 'Свойства ячейки',
'row_properties' => 'Свойства строки',
'row_properties_title' => 'Свойства строки',
'cut_row' => 'Вырезать строку',
'copy_row' => 'Копировать строку',
'paste_row_before' => 'Вставить строку выше',
@ -122,16 +122,16 @@ return [
'cell_padding' => 'Свойство cellpadding',
'cell_spacing' => 'Свойство cellspacing',
'caption' => 'Подпись',
'show_caption' => 'Показать подпись',
'show_caption' => 'Показать',
'constrain' => 'Сохранять пропорции',
'cell_border_solid' => 'Сплошная',
'cell_border_dotted' => 'Точками',
'cell_border_dashed' => 'Пунктирная',
'cell_border_double' => 'Двойная сплошная',
'cell_border_groove' => 'Groove',
'cell_border_ridge' => 'Ridge',
'cell_border_inset' => 'Inset',
'cell_border_outset' => 'Outset',
'cell_border_groove' => 'Канавка',
'cell_border_ridge' => 'Хребет',
'cell_border_inset' => 'Вставка',
'cell_border_outset' => 'Начало',
'cell_border_none' => 'Нет',
'cell_border_hidden' => 'Прозрачная',

View File

@ -357,14 +357,14 @@ return [
'copy_consider_access' => 'Изменение положения, владельца или разрешений может привести к тому, что контент будет доступен пользователям, у которых не было доступа ранее.',
// Conversions
'convert_to_shelf' => 'Convert to Shelf',
'convert_to_shelf_contents_desc' => 'You can convert this book to a new shelf with the same contents. Chapters contained within this book will be converted to new books. If this book contains any pages, that are not in a chapter, this book will be renamed and contain such pages, and this book will become part of the new shelf.',
'convert_to_shelf_permissions_desc' => 'Any permissions set on this book will be copied to the new shelf and to all new child books that don\'t have their own permissions enforced. Note that permissions on shelves do not auto-cascade to content within, as they do for books.',
'convert_book' => 'Convert Book',
'convert_book_confirm' => 'Are you sure you want to convert this book?',
'convert_undo_warning' => 'This cannot be as easily undone.',
'convert_to_book' => 'Convert to Book',
'convert_to_book_desc' => 'You can convert this chapter to a new book with the same contents. Any permissions set on this chapter will be copied to the new book but any inherited permissions, from the parent book, will not be copied which could lead to a change of access control.',
'convert_chapter' => 'Convert Chapter',
'convert_chapter_confirm' => 'Are you sure you want to convert this chapter?',
'convert_to_shelf' => 'Преобразовать в полку',
'convert_to_shelf_contents_desc' => 'Вы можете превратить эту книгу в новую полку с тем же содержимым. Главы, содержащиеся в этой книге, будут преобразованы в новые книги. Если эта книга содержит какие-либо страницы, которых нет в главе, она будет переименована и будет содержать такие страницы, и эта книга станет частью новой полки.',
'convert_to_shelf_permissions_desc' => 'Любые разрешения, установленные для этой книги, будут скопированы на новую полку и во все новые дочерние книги, для которых не применяются собственные разрешения. Обратите внимание, что разрешения на полки не применяются автоматически к содержимому внутри, как это происходит с книгами.',
'convert_book' => 'Преобразовать книгу',
'convert_book_confirm' => 'Вы уверены, что хотите преобразовать эту книгу?',
'convert_undo_warning' => 'Это не отменяется простым способом.',
'convert_to_book' => 'Преобразовать в книгу',
'convert_to_book_desc' => 'Вы можете преобразовать эту главу в новую книгу с тем же содержанием. Любые разрешения, установленные в этой главе, будут скопированы в новую книгу, но любые унаследованные разрешения из родительской книги не будут скопированы, что может привести к изменению контроля доступа.',
'convert_chapter' => 'Преобразовать главу',
'convert_chapter_confirm' => 'Вы уверены, что хотите преобразовать эту главу?',
];

View File

@ -14,7 +14,7 @@ return [
'categories' => '类别',
// App Settings
'app_customization' => '定制',
'app_customization' => '个性化',
'app_features_security' => '功能与安全',
'app_name' => '站点名称',
'app_name_desc' => '此名称将在网页头部和系统发送的电子邮件中显示。',

View File

@ -54,4 +54,16 @@ class GroupSyncServiceTest extends TestCase
$user = User::query()->find($user->id);
$this->assertTrue($user->hasRole($role->id));
}
public function test_external_auth_id_matches_ignoring_case()
{
$user = $this->getViewer();
$role = Role::factory()->create(['display_name' => 'ABC123', 'external_auth_id' => 'WaRRioRs']);
$this->assertFalse($user->hasRole($role->id));
(new GroupSyncService())->syncUserWithFoundGroups($user, ['wArriors', 'penguiNs'], false);
$user = User::query()->find($user->id);
$this->assertTrue($user->hasRole($role->id));
}
}