mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-06-19 19:51:21 +08:00
Merge branch 'v23-08' into release
This commit is contained in:
@ -12,10 +12,12 @@ use Illuminate\Database\Eloquent\Relations\MorphTo;
|
|||||||
* @property int $id
|
* @property int $id
|
||||||
* @property string $text
|
* @property string $text
|
||||||
* @property string $html
|
* @property string $html
|
||||||
* @property int|null $parent_id
|
* @property int|null $parent_id - Relates to local_id, not id
|
||||||
* @property int $local_id
|
* @property int $local_id
|
||||||
* @property string $entity_type
|
* @property string $entity_type
|
||||||
* @property int $entity_id
|
* @property int $entity_id
|
||||||
|
* @property int $created_by
|
||||||
|
* @property int $updated_by
|
||||||
*/
|
*/
|
||||||
class Comment extends Model implements Loggable
|
class Comment extends Model implements Loggable
|
||||||
{
|
{
|
||||||
@ -38,7 +40,9 @@ class Comment extends Model implements Loggable
|
|||||||
*/
|
*/
|
||||||
public function parent(): BelongsTo
|
public function parent(): BelongsTo
|
||||||
{
|
{
|
||||||
return $this->belongsTo(Comment::class);
|
return $this->belongsTo(Comment::class, 'parent_id', 'local_id', 'parent')
|
||||||
|
->where('entity_type', '=', $this->entity_type)
|
||||||
|
->where('entity_id', '=', $this->entity_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -116,7 +116,7 @@ return [
|
|||||||
'book' => 'Buch',
|
'book' => 'Buch',
|
||||||
'books' => 'Bücher',
|
'books' => 'Bücher',
|
||||||
'x_books' => ':count Buch|:count Bücher',
|
'x_books' => ':count Buch|:count Bücher',
|
||||||
'books_empty' => 'Keine Bücher vorhanden',
|
'books_empty' => 'Es wurden noch keine Bücher angelegt',
|
||||||
'books_popular' => 'Beliebte Bücher',
|
'books_popular' => 'Beliebte Bücher',
|
||||||
'books_recent' => 'Kürzlich angesehene Bücher',
|
'books_recent' => 'Kürzlich angesehene Bücher',
|
||||||
'books_new' => 'Neue Bücher',
|
'books_new' => 'Neue Bücher',
|
||||||
@ -240,7 +240,7 @@ return [
|
|||||||
'pages_md_show_preview' => 'Vorschau anzeigen',
|
'pages_md_show_preview' => 'Vorschau anzeigen',
|
||||||
'pages_md_sync_scroll' => 'Vorschau synchronisieren',
|
'pages_md_sync_scroll' => 'Vorschau synchronisieren',
|
||||||
'pages_drawing_unsaved' => 'Ungespeicherte Zeichnung gefunden',
|
'pages_drawing_unsaved' => 'Ungespeicherte Zeichnung gefunden',
|
||||||
'pages_drawing_unsaved_confirm' => 'Es wurden ungespeicherte Zeichnungsdaten von einem früheren, fehlgeschlagenen Versuch, die Zeichnung zu speichern, gefunden. Möchten Sie diese ungespeicherte Zeichnung wiederherstellen und weiter bearbeiten?',
|
'pages_drawing_unsaved_confirm' => 'Es wurden ungespeicherte Zeichnungsdaten von einem früheren, fehlgeschlagenen Versuch, die Zeichnung zu speichern, gefunden. Möchtest du diese ungespeicherte Zeichnung wiederherstellen und weiter bearbeiten?',
|
||||||
'pages_not_in_chapter' => 'Seite ist in keinem Kapitel',
|
'pages_not_in_chapter' => 'Seite ist in keinem Kapitel',
|
||||||
'pages_move' => 'Seite verschieben',
|
'pages_move' => 'Seite verschieben',
|
||||||
'pages_copy' => 'Seite kopieren',
|
'pages_copy' => 'Seite kopieren',
|
||||||
@ -413,7 +413,7 @@ return [
|
|||||||
'watch_title_ignore' => 'Ignorieren',
|
'watch_title_ignore' => 'Ignorieren',
|
||||||
'watch_desc_ignore' => 'Ignorieren aller Benachrichtigungen, auch die von den Einstellungen auf Benutzerebene.',
|
'watch_desc_ignore' => 'Ignorieren aller Benachrichtigungen, auch die von den Einstellungen auf Benutzerebene.',
|
||||||
'watch_title_new' => 'Neue Seiten',
|
'watch_title_new' => 'Neue Seiten',
|
||||||
'watch_desc_new' => 'Benachrichtigung, wenn eine neue Seite in diesem Element erstellt wird.',
|
'watch_desc_new' => 'Benachrichtigen, wenn eine neue Seite in diesem Element erstellt wird.',
|
||||||
'watch_title_updates' => 'Alle Seitenupdates',
|
'watch_title_updates' => 'Alle Seitenupdates',
|
||||||
'watch_desc_updates' => 'Bei allen neuen Seiten und Seitenänderungen benachrichtigen.',
|
'watch_desc_updates' => 'Bei allen neuen Seiten und Seitenänderungen benachrichtigen.',
|
||||||
'watch_desc_updates_page' => 'Bei allen Seitenänderungen benachrichtigen.',
|
'watch_desc_updates_page' => 'Bei allen Seitenänderungen benachrichtigen.',
|
||||||
|
@ -10,9 +10,9 @@ return [
|
|||||||
'new_page_intro' => 'Es wurde eine neue Seite in :appName erstellt:',
|
'new_page_intro' => 'Es wurde eine neue Seite in :appName erstellt:',
|
||||||
'updated_page_subject' => 'Aktualisierte Seite: :pageName',
|
'updated_page_subject' => 'Aktualisierte Seite: :pageName',
|
||||||
'updated_page_intro' => 'Eine Seite wurde in :appName aktualisiert:',
|
'updated_page_intro' => 'Eine Seite wurde in :appName aktualisiert:',
|
||||||
'updated_page_debounce' => 'Um eine Flut von Benachrichtigungen zu vermeiden, werden Sie für eine gewisse Zeit keine Benachrichtigungen für weitere Bearbeitungen dieser Seite durch denselben Bearbeiter erhalten.',
|
'updated_page_debounce' => 'Um eine Flut von Benachrichtigungen zu vermeiden, wirst du für eine gewisse Zeit keine Benachrichtigungen für weitere Bearbeitungen dieser Seite durch denselben Bearbeiter erhalten.',
|
||||||
|
|
||||||
'detail_page_name' => 'Name der Seite:',
|
'detail_page_name' => 'Seitenname:',
|
||||||
'detail_commenter' => 'Kommentator:',
|
'detail_commenter' => 'Kommentator:',
|
||||||
'detail_comment' => 'Kommentar:',
|
'detail_comment' => 'Kommentar:',
|
||||||
'detail_created_by' => 'Erstellt von:',
|
'detail_created_by' => 'Erstellt von:',
|
||||||
@ -21,6 +21,6 @@ return [
|
|||||||
'action_view_comment' => 'Kommentar anzeigen',
|
'action_view_comment' => 'Kommentar anzeigen',
|
||||||
'action_view_page' => 'Seite anzeigen',
|
'action_view_page' => 'Seite anzeigen',
|
||||||
|
|
||||||
'footer_reason' => 'Diese Benachrichtigung wurde an Sie gesendet, weil :link diese Art von Aktivität für dieses Element abdeckt.',
|
'footer_reason' => 'Diese Benachrichtigung wurde an dich gesendet, weil :link diese Art von Aktivität für dieses Element abdeckt.',
|
||||||
'footer_reason_link' => 'ihre Benachrichtigungseinstellungen',
|
'footer_reason_link' => 'deine Benachrichtigungseinstellungen',
|
||||||
];
|
];
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
return [
|
return [
|
||||||
|
|
||||||
'password' => 'Passwörter müssen aus mindestens sechs Zeichen bestehen und mit der eingegebenen Wiederholung übereinstimmen.',
|
'password' => 'Passwörter müssen aus mindestens acht Zeichen bestehen und mit der eingegebenen Wiederholung übereinstimmen.',
|
||||||
'user' => "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.",
|
'user' => "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.",
|
||||||
'token' => 'Der Token zum Zurücksetzen des Passworts für diese E-Mail-Adresse ist ungültig.',
|
'token' => 'Der Token zum Zurücksetzen des Passworts für diese E-Mail-Adresse ist ungültig.',
|
||||||
'sent' => 'Wir haben dir einen Link zum Zurücksetzen des Passwortes per E-Mail geschickt!',
|
'sent' => 'Wir haben dir einen Link zum Zurücksetzen des Passwortes per E-Mail geschickt!',
|
||||||
|
@ -20,14 +20,14 @@ return [
|
|||||||
'shortcuts_overview_desc' => 'Verwalten von Tastenkombinationen, die zur Navigation der Benutzeroberfläche verwendet werden können.',
|
'shortcuts_overview_desc' => 'Verwalten von Tastenkombinationen, die zur Navigation der Benutzeroberfläche verwendet werden können.',
|
||||||
|
|
||||||
'notifications' => 'Benachrichtigungseinstellungen',
|
'notifications' => 'Benachrichtigungseinstellungen',
|
||||||
'notifications_desc' => 'Legen Sie fest, welche E-Mail-Benachrichtigungen Sie erhalten, wenn bestimmte Aktivitäten im System durchgeführt werden.',
|
'notifications_desc' => 'Lege fest, welche E-Mail-Benachrichtigungen du erhältst, wenn bestimmte Aktivitäten im System durchgeführt werden.',
|
||||||
'notifications_opt_own_page_changes' => 'Benachrichtigung bei Änderungen an eigenen Seiten',
|
'notifications_opt_own_page_changes' => 'Benachrichtigung bei Änderungen an eigenen Seiten',
|
||||||
'notifications_opt_own_page_comments' => 'Benachrichtigung bei Kommentaren an eigenen Seiten',
|
'notifications_opt_own_page_comments' => 'Benachrichtigung bei Kommentaren an eigenen Seiten',
|
||||||
'notifications_opt_comment_replies' => 'Bei Antworten auf meine Kommentare benachrichtigen',
|
'notifications_opt_comment_replies' => 'Bei Antworten auf meine Kommentare benachrichtigen',
|
||||||
'notifications_save' => 'Einstellungen speichern',
|
'notifications_save' => 'Einstellungen speichern',
|
||||||
'notifications_update_success' => 'Benachrichtigungseinstellungen wurden aktualisiert!',
|
'notifications_update_success' => 'Benachrichtigungseinstellungen wurden aktualisiert!',
|
||||||
'notifications_watched' => 'Beobachtete und ignorierte Elemente',
|
'notifications_watched' => 'Beobachtete und ignorierte Elemente',
|
||||||
'notifications_watched_desc' => ' Nachfolgend finden Sie die Elemente, für die benutzerdefinierten Überwachungspräferenzen gelten. Um Ihre Einstellungen für diese Elemente zu aktualisieren, sehen Sie sich das Element an und suchen dann die Überwachungsoptionen in der Seitenleiste.',
|
'notifications_watched_desc' => ' Nachfolgend finden Sie die Elemente, für die benutzerdefinierten Überwachungspräferenzen gelten. Um deine Einstellungen für diese Elemente zu aktualisieren, sieh dir das Element an und suche dann die Überwachungsoptionen in der Seitenleiste.',
|
||||||
|
|
||||||
'profile_overview_desc' => ' Verwalten Sie die Details Ihres Benutzerprofils einschließlich bevorzugter Sprache und Authentifizierungsoptionen.',
|
'profile_overview_desc' => ' Verwalte die Details deines Benutzerprofils, einschließlich bevorzugter Sprache und Authentifizierungsoptionen.',
|
||||||
];
|
];
|
||||||
|
@ -22,7 +22,7 @@ return [
|
|||||||
'notifications' => 'Préférences de notification',
|
'notifications' => 'Préférences de notification',
|
||||||
'notifications_desc' => 'Contrôlez les notifications par e-mail que vous recevez lorsque certaines activités sont effectuées dans le système.',
|
'notifications_desc' => 'Contrôlez les notifications par e-mail que vous recevez lorsque certaines activités sont effectuées dans le système.',
|
||||||
'notifications_opt_own_page_changes' => 'Notifier lors des modifications des pages que je possède',
|
'notifications_opt_own_page_changes' => 'Notifier lors des modifications des pages que je possède',
|
||||||
'notifications_opt_own_page_comments' => 'Notifier lors des modifications des pages que je possède',
|
'notifications_opt_own_page_comments' => 'Notifier lorsque les pages que je possède sont commentées',
|
||||||
'notifications_opt_comment_replies' => 'Notifier les réponses à mes commentaires',
|
'notifications_opt_comment_replies' => 'Notifier les réponses à mes commentaires',
|
||||||
'notifications_save' => 'Enregistrer les préférences',
|
'notifications_save' => 'Enregistrer les préférences',
|
||||||
'notifications_update_success' => 'Les préférences de notification ont été mises à jour !',
|
'notifications_update_success' => 'Les préférences de notification ont été mises à jour !',
|
||||||
|
@ -59,7 +59,7 @@ return [
|
|||||||
'favourite_remove_notification' => '".ime" je uspješno maknuta iz tvojih favorita',
|
'favourite_remove_notification' => '".ime" je uspješno maknuta iz tvojih favorita',
|
||||||
|
|
||||||
// Watching
|
// Watching
|
||||||
'watch_update_level_notification' => 'Watch preferences successfully updated',
|
'watch_update_level_notification' => 'Postavke gledanja uspješno ažurirane',
|
||||||
|
|
||||||
// Auth
|
// Auth
|
||||||
'auth_login' => 'prijavljen',
|
'auth_login' => 'prijavljen',
|
||||||
|
@ -42,7 +42,7 @@ return [
|
|||||||
'remove' => 'Ukloni',
|
'remove' => 'Ukloni',
|
||||||
'add' => 'Dodaj',
|
'add' => 'Dodaj',
|
||||||
'configure' => 'Konfiguriraj',
|
'configure' => 'Konfiguriraj',
|
||||||
'manage' => 'Manage',
|
'manage' => 'Upravljaj',
|
||||||
'fullscreen' => 'Cijeli zaslon',
|
'fullscreen' => 'Cijeli zaslon',
|
||||||
'favourite' => 'Favorit',
|
'favourite' => 'Favorit',
|
||||||
'unfavourite' => 'Ukloni iz favorita',
|
'unfavourite' => 'Ukloni iz favorita',
|
||||||
|
@ -239,8 +239,8 @@ return [
|
|||||||
'pages_md_insert_drawing' => 'Umetni crtež',
|
'pages_md_insert_drawing' => 'Umetni crtež',
|
||||||
'pages_md_show_preview' => 'Prikaži pregled',
|
'pages_md_show_preview' => 'Prikaži pregled',
|
||||||
'pages_md_sync_scroll' => 'Sinkroniziraj pomicanje pregleda',
|
'pages_md_sync_scroll' => 'Sinkroniziraj pomicanje pregleda',
|
||||||
'pages_drawing_unsaved' => 'Unsaved Drawing Found',
|
'pages_drawing_unsaved' => 'Pronađen je Nespremljen Crtež',
|
||||||
'pages_drawing_unsaved_confirm' => 'Unsaved drawing data was found from a previous failed drawing save attempt. Would you like to restore and continue editing this unsaved drawing?',
|
'pages_drawing_unsaved_confirm' => 'Pronađeni su nespremljeni podaci crteža iz prethodnog neuspjelog pokušaja spremanja crteža. Želite li obnoviti i nastaviti uređivati ovaj nespremljeni crtež?',
|
||||||
'pages_not_in_chapter' => 'Stranica nije u poglavlju',
|
'pages_not_in_chapter' => 'Stranica nije u poglavlju',
|
||||||
'pages_move' => 'Premjesti stranicu',
|
'pages_move' => 'Premjesti stranicu',
|
||||||
'pages_copy' => 'Kopiraj stranicu',
|
'pages_copy' => 'Kopiraj stranicu',
|
||||||
@ -407,26 +407,26 @@ return [
|
|||||||
'references_to_desc' => 'U nastavku su prikazane sve poznate stranice u sustavu koje se povezuju s ovom stavkom.',
|
'references_to_desc' => 'U nastavku su prikazane sve poznate stranice u sustavu koje se povezuju s ovom stavkom.',
|
||||||
|
|
||||||
// Watch Options
|
// Watch Options
|
||||||
'watch' => 'Watch',
|
'watch' => 'Prati',
|
||||||
'watch_title_default' => 'Default Preferences',
|
'watch_title_default' => 'Zadane Postavke',
|
||||||
'watch_desc_default' => 'Revert watching to just your default notification preferences.',
|
'watch_desc_default' => 'Vratite praćenje samo na vaše zadane postavke obavijesti.',
|
||||||
'watch_title_ignore' => 'Ignore',
|
'watch_title_ignore' => 'Zanemari',
|
||||||
'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.',
|
'watch_desc_ignore' => 'Ignorirajte sve obavijesti, uključujući one iz postavki na razini korisnika.',
|
||||||
'watch_title_new' => 'New Pages',
|
'watch_title_new' => 'Nove Stranice',
|
||||||
'watch_desc_new' => 'Notify when any new page is created within this item.',
|
'watch_desc_new' => 'Obavijesti kada se stvori nova stranica unutar ove stavke.',
|
||||||
'watch_title_updates' => 'All Page Updates',
|
'watch_title_updates' => 'Sve Promjene na Stranicama',
|
||||||
'watch_desc_updates' => 'Notify upon all new pages and page changes.',
|
'watch_desc_updates' => 'Obavijesti o svim novim stranicama i promjenama na stranicama.',
|
||||||
'watch_desc_updates_page' => 'Notify upon all page changes.',
|
'watch_desc_updates_page' => 'Obavijesti o svim promjenama na stranicama.',
|
||||||
'watch_title_comments' => 'All Page Updates & Comments',
|
'watch_title_comments' => 'Sve Promjene na Stranicama i Komentari',
|
||||||
'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.',
|
'watch_desc_comments' => 'Obavijesti o svim novim stranicama, promjenama na stranicama i novim komentarima.',
|
||||||
'watch_desc_comments_page' => 'Notify upon page changes and new comments.',
|
'watch_desc_comments_page' => 'Obavijesti o promjenama na stranicama i novim komentarima.',
|
||||||
'watch_change_default' => 'Change default notification preferences',
|
'watch_change_default' => 'Promijenite zadane postavke obavijesti',
|
||||||
'watch_detail_ignore' => 'Ignoring notifications',
|
'watch_detail_ignore' => 'Ignoriranje obavijesti',
|
||||||
'watch_detail_new' => 'Watching for new pages',
|
'watch_detail_new' => 'Prati nove stranice',
|
||||||
'watch_detail_updates' => 'Watching new pages and updates',
|
'watch_detail_updates' => 'Prati nove stranice i ažuriranja',
|
||||||
'watch_detail_comments' => 'Watching new pages, updates & comments',
|
'watch_detail_comments' => 'Prati nove stranice, ažuriranja i komentare',
|
||||||
'watch_detail_parent_book' => 'Watching via parent book',
|
'watch_detail_parent_book' => 'Prati putem nadređene knjige',
|
||||||
'watch_detail_parent_book_ignore' => 'Ignoring via parent book',
|
'watch_detail_parent_book_ignore' => 'Ignoriraj putem nadređene knjige',
|
||||||
'watch_detail_parent_chapter' => 'Watching via parent chapter',
|
'watch_detail_parent_chapter' => 'Prati puten nadređenog poglavlja',
|
||||||
'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter',
|
'watch_detail_parent_chapter_ignore' => 'Ignoriraj putem nadređenog poglavlja',
|
||||||
];
|
];
|
||||||
|
@ -112,5 +112,5 @@ return [
|
|||||||
'maintenance_test_email_failure' => 'Pogreška prilikom slanja testnog email:',
|
'maintenance_test_email_failure' => 'Pogreška prilikom slanja testnog email:',
|
||||||
|
|
||||||
// HTTP errors
|
// HTTP errors
|
||||||
'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts',
|
'http_ssr_url_no_match' => 'URL se ne podudara s konfiguriranim dozvoljenim SSR domaćinima',
|
||||||
];
|
];
|
||||||
|
@ -4,23 +4,25 @@
|
|||||||
*/
|
*/
|
||||||
return [
|
return [
|
||||||
|
|
||||||
'new_comment_subject' => 'New comment on page: :pageName',
|
'new_comment_subject' => 'Novi komentar na stranici: :pageName',
|
||||||
'new_comment_intro' => 'A user has commented on a page in :appName:',
|
'new_comment_intro' => 'Korisnik je komentirao stranicu u :appName:',
|
||||||
'new_page_subject' => 'New page: :pageName',
|
'new_page_subject' => 'Nova stranica: :pageName',
|
||||||
'new_page_intro' => 'A new page has been created in :appName:',
|
'new_page_intro' => 'Nova stranica je stvorena u :appName:',
|
||||||
'updated_page_subject' => 'Updated page: :pageName',
|
'updated_page_subject' => 'ChatGPT
|
||||||
'updated_page_intro' => 'A page has been updated in :appName:',
|
|
||||||
'updated_page_debounce' => 'To prevent a mass of notifications, for a while you won\'t be sent notifications for further edits to this page by the same editor.',
|
|
||||||
|
|
||||||
'detail_page_name' => 'Page Name:',
|
Ažurirana stranica: :pageName',
|
||||||
'detail_commenter' => 'Commenter:',
|
'updated_page_intro' => 'Stranica je ažurirana u :appName:',
|
||||||
'detail_comment' => 'Comment:',
|
'updated_page_debounce' => 'Kako biste spriječili velik broj obavijesti, nećete primati obavijesti o daljnjim izmjenama ove stranice od istog urednika neko vrijeme.',
|
||||||
'detail_created_by' => 'Created By:',
|
|
||||||
'detail_updated_by' => 'Updated By:',
|
|
||||||
|
|
||||||
'action_view_comment' => 'View Comment',
|
'detail_page_name' => 'Naziv Stranice:',
|
||||||
'action_view_page' => 'View Page',
|
'detail_commenter' => 'Komentator:',
|
||||||
|
'detail_comment' => 'Komentar:',
|
||||||
|
'detail_created_by' => 'Kreirao Korisnik:',
|
||||||
|
'detail_updated_by' => 'Ažurirao Korisnik:',
|
||||||
|
|
||||||
'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.',
|
'action_view_comment' => 'Pogledaj Komentar',
|
||||||
'footer_reason_link' => 'your notification preferences',
|
'action_view_page' => 'Pogledaj Stranicu',
|
||||||
|
|
||||||
|
'footer_reason' => 'Ova obavijest vam je poslana jer :link pokriva ovu vrstu aktivnosti za ovu stavku.',
|
||||||
|
'footer_reason_link' => 'vaše postavke obavijesti',
|
||||||
];
|
];
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'preferences' => 'Preferences',
|
'preferences' => 'Postavke',
|
||||||
|
|
||||||
'shortcuts' => 'Prečaci',
|
'shortcuts' => 'Prečaci',
|
||||||
'shortcuts_interface' => 'Prečaci tipkovnice u Sučelju',
|
'shortcuts_interface' => 'Prečaci tipkovnice u Sučelju',
|
||||||
@ -17,17 +17,19 @@ return [
|
|||||||
'shortcuts_save' => 'Spremi prečace',
|
'shortcuts_save' => 'Spremi prečace',
|
||||||
'shortcuts_overlay_desc' => 'Napomena: Kada su prečaci tastature omogućeni, dostupan je pomoćni prikaz preko pritiska na znak "?" koji će istaknuti dostupne prečace za radnje trenutno vidljive na zaslonu.',
|
'shortcuts_overlay_desc' => 'Napomena: Kada su prečaci tastature omogućeni, dostupan je pomoćni prikaz preko pritiska na znak "?" koji će istaknuti dostupne prečace za radnje trenutno vidljive na zaslonu.',
|
||||||
'shortcuts_update_success' => 'Postavke prečaca su ažurirane!',
|
'shortcuts_update_success' => 'Postavke prečaca su ažurirane!',
|
||||||
'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.',
|
'shortcuts_overview_desc' => 'Upravljajte prečacima tastature koje možete koristiti za navigaciju korisničkim sučeljem sustava.',
|
||||||
|
|
||||||
'notifications' => 'Notification Preferences',
|
'notifications' => 'Postavke Obavijesti',
|
||||||
'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.',
|
'notifications_desc' => 'Kontrolirajte e-mail obavijesti koje primate kada se određene aktivnosti izvrše unutar sustava.',
|
||||||
'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own',
|
'notifications_opt_own_page_changes' => 'Obavijesti o promjenama na stranicama koje posjedujem',
|
||||||
'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own',
|
'notifications_opt_own_page_comments' => 'ChatGPT
|
||||||
'notifications_opt_comment_replies' => 'Notify upon replies to my comments',
|
|
||||||
'notifications_save' => 'Save Preferences',
|
|
||||||
'notifications_update_success' => 'Notification preferences have been updated!',
|
|
||||||
'notifications_watched' => 'Watched & Ignored Items',
|
|
||||||
'notifications_watched_desc' => ' Below are the items that have custom watch preferences applied. To update your preferences for these, view the item then find the watch options in the sidebar.',
|
|
||||||
|
|
||||||
'profile_overview_desc' => ' Manage your user profile details including preferred language and authentication options.',
|
Obavijesti o komentarima na stranicama koje posjedujem',
|
||||||
|
'notifications_opt_comment_replies' => 'Obavijesti o odgovorima na moje komentare',
|
||||||
|
'notifications_save' => 'Spremi Postavke',
|
||||||
|
'notifications_update_success' => 'Postavke obavijesti su ažurirane!',
|
||||||
|
'notifications_watched' => 'Praćene i ignorirane stavke',
|
||||||
|
'notifications_watched_desc' => ' Ispod su stavke na koje su primijenjene prilagođene postavke praćenja. Da biste ažurirali svoje postavke za ove stavke, pregledajte stavku, a zatim pronađite opcije praćenja u bočnoj traci.',
|
||||||
|
|
||||||
|
'profile_overview_desc' => ' Upravljajte detaljima svog korisničkog profila, uključujući željeni jezik i opcije za autentifikaciju.',
|
||||||
];
|
];
|
||||||
|
@ -163,7 +163,7 @@ return [
|
|||||||
'role_manage_settings' => 'Upravljanje postavkama aplikacija',
|
'role_manage_settings' => 'Upravljanje postavkama aplikacija',
|
||||||
'role_export_content' => 'Izvoz sadržaja',
|
'role_export_content' => 'Izvoz sadržaja',
|
||||||
'role_editor_change' => 'Promijeni uređivač stranica',
|
'role_editor_change' => 'Promijeni uređivač stranica',
|
||||||
'role_notifications' => 'Receive & manage notifications',
|
'role_notifications' => 'Primanje i upravljanje obavijestima',
|
||||||
'role_asset' => 'Upravljanje vlasništvom',
|
'role_asset' => 'Upravljanje vlasništvom',
|
||||||
'roles_system_warning' => 'Uzmite u obzir da pristup bilo kojem od ovih dopuštenja dozvoljavate korisniku upravljanje dopuštenjima ostalih u sustavu. Ova dopuštenja dodijelite pouzdanim korisnicima.',
|
'roles_system_warning' => 'Uzmite u obzir da pristup bilo kojem od ovih dopuštenja dozvoljavate korisniku upravljanje dopuštenjima ostalih u sustavu. Ova dopuštenja dodijelite pouzdanim korisnicima.',
|
||||||
'role_asset_desc' => 'Ova dopuštenja kontroliraju zadane pristupe. Dopuštenja za knjige, poglavlja i stranice ih poništavaju.',
|
'role_asset_desc' => 'Ova dopuštenja kontroliraju zadane pristupe. Dopuštenja za knjige, poglavlja i stranice ih poništavaju.',
|
||||||
|
@ -112,5 +112,5 @@ return [
|
|||||||
'maintenance_test_email_failure' => 'Feil kastet når du sendte en test-e-post:',
|
'maintenance_test_email_failure' => 'Feil kastet når du sendte en test-e-post:',
|
||||||
|
|
||||||
// HTTP errors
|
// HTTP errors
|
||||||
'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts',
|
'http_ssr_url_no_match' => 'URLen samsvarer ikke med de konfigurerte SSR-vertene',
|
||||||
];
|
];
|
||||||
|
@ -59,7 +59,7 @@ return [
|
|||||||
'favourite_remove_notification' => '":name" is verwijderd uit je favorieten',
|
'favourite_remove_notification' => '":name" is verwijderd uit je favorieten',
|
||||||
|
|
||||||
// Watching
|
// Watching
|
||||||
'watch_update_level_notification' => 'Kijkvoorkeuren succesvol aangepast',
|
'watch_update_level_notification' => 'Volg voorkeuren succesvol aangepast',
|
||||||
|
|
||||||
// Auth
|
// Auth
|
||||||
'auth_login' => 'heeft ingelogd',
|
'auth_login' => 'heeft ingelogd',
|
||||||
|
@ -239,8 +239,8 @@ return [
|
|||||||
'pages_md_insert_drawing' => 'Tekening invoegen',
|
'pages_md_insert_drawing' => 'Tekening invoegen',
|
||||||
'pages_md_show_preview' => 'Toon preview',
|
'pages_md_show_preview' => 'Toon preview',
|
||||||
'pages_md_sync_scroll' => 'Synchroniseer preview scroll',
|
'pages_md_sync_scroll' => 'Synchroniseer preview scroll',
|
||||||
'pages_drawing_unsaved' => 'Unsaved Drawing Found',
|
'pages_drawing_unsaved' => 'Niet-opgeslagen Tekening Gevonden',
|
||||||
'pages_drawing_unsaved_confirm' => 'Unsaved drawing data was found from a previous failed drawing save attempt. Would you like to restore and continue editing this unsaved drawing?',
|
'pages_drawing_unsaved_confirm' => 'Er zijn niet-opgeslagen tekeninggegevens gevonden van een eerdere mislukte poging om de tekening op te slaan. Wilt u deze niet-opgeslagen tekening herstellen en verder bewerken?',
|
||||||
'pages_not_in_chapter' => 'Deze pagina staat niet in een hoofdstuk',
|
'pages_not_in_chapter' => 'Deze pagina staat niet in een hoofdstuk',
|
||||||
'pages_move' => 'Pagina verplaatsten',
|
'pages_move' => 'Pagina verplaatsten',
|
||||||
'pages_copy' => 'Pagina kopiëren',
|
'pages_copy' => 'Pagina kopiëren',
|
||||||
@ -407,7 +407,7 @@ return [
|
|||||||
'references_to_desc' => 'Hieronder staan alle gekende pagina\'s in het systeem die naar dit item linken.',
|
'references_to_desc' => 'Hieronder staan alle gekende pagina\'s in het systeem die naar dit item linken.',
|
||||||
|
|
||||||
// Watch Options
|
// Watch Options
|
||||||
'watch' => 'Kijk',
|
'watch' => 'Volg',
|
||||||
'watch_title_default' => 'Standaard Voorkeuren',
|
'watch_title_default' => 'Standaard Voorkeuren',
|
||||||
'watch_desc_default' => 'Terugkeren naar alleen je standaardvoorkeuren voor meldingen.',
|
'watch_desc_default' => 'Terugkeren naar alleen je standaardvoorkeuren voor meldingen.',
|
||||||
'watch_title_ignore' => 'Negeer',
|
'watch_title_ignore' => 'Negeer',
|
||||||
|
@ -112,5 +112,5 @@ return [
|
|||||||
'maintenance_test_email_failure' => 'Fout opgetreden bij het verzenden van een test email:',
|
'maintenance_test_email_failure' => 'Fout opgetreden bij het verzenden van een test email:',
|
||||||
|
|
||||||
// HTTP errors
|
// HTTP errors
|
||||||
'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts',
|
'http_ssr_url_no_match' => 'De URL komt niet overeen met de geconfigureerde toegestane SSR-hosts',
|
||||||
];
|
];
|
||||||
|
@ -26,8 +26,8 @@ return [
|
|||||||
'notifications_opt_comment_replies' => 'Geef melding van reacties op mijn opmerkingen',
|
'notifications_opt_comment_replies' => 'Geef melding van reacties op mijn opmerkingen',
|
||||||
'notifications_save' => 'Voorkeuren opslaan',
|
'notifications_save' => 'Voorkeuren opslaan',
|
||||||
'notifications_update_success' => 'Voorkeuren voor meldingen zijn bijgewerkt!',
|
'notifications_update_success' => 'Voorkeuren voor meldingen zijn bijgewerkt!',
|
||||||
'notifications_watched' => 'Ingestelde Items',
|
'notifications_watched' => 'Gevolgde & Genegeerde Items',
|
||||||
'notifications_watched_desc' => ' Hieronder staan de items waarvoor aangepaste \'kijk\' voorkeuren zijn toegepast. Om je voorkeuren voor deze items bij te werken, bekijk je het item en zoek je naar de \'kijk\' opties in de zijbalk.',
|
'notifications_watched_desc' => ' Hieronder staan de items waarvoor aangepaste \'Volg\'-voorkeuren zijn toegepast. Om je voorkeuren voor deze items bij te werken, bekijk je het item en zoek je naar de \'Volg\' opties in de zijbalk.',
|
||||||
|
|
||||||
'profile_overview_desc' => ' Beheer de details van je gebruikersprofiel, inclusief de voorkeurstaal en verificatieopties.',
|
'profile_overview_desc' => ' Beheer de details van je gebruikersprofiel, inclusief de voorkeurstaal en verificatieopties.',
|
||||||
];
|
];
|
||||||
|
@ -117,7 +117,7 @@ return [
|
|||||||
'commented_on' => 'прокоментував',
|
'commented_on' => 'прокоментував',
|
||||||
'comment_create' => 'added comment',
|
'comment_create' => 'added comment',
|
||||||
'comment_update' => 'updated comment',
|
'comment_update' => 'updated comment',
|
||||||
'comment_delete' => 'deleted comment',
|
'comment_delete' => 'видалений коментар',
|
||||||
|
|
||||||
// Other
|
// Other
|
||||||
'permissions_update' => 'оновив дозволи',
|
'permissions_update' => 'оновив дозволи',
|
||||||
|
@ -50,8 +50,8 @@ Note: Listed services are not tested, vetted nor supported by the official BookS
|
|||||||
#### Bronze Sponsors
|
#### Bronze Sponsors
|
||||||
|
|
||||||
<table><tbody><tr>
|
<table><tbody><tr>
|
||||||
<td><a href="https://www.stellarhosted.com/bookstack/" target="_blank">
|
<td><a href="https://cloudabove.com/hosting" target="_blank">
|
||||||
<img width="240" src="https://media.githubusercontent.com/media/BookStackApp/website/main/static/images/sponsors/stellarhosted.png" alt="Stellar Hosted">
|
<img width="240" src="https://media.githubusercontent.com/media/BookStackApp/website/main/static/images/sponsors/cloudabove.png" alt="Cloudabove">
|
||||||
</a></td>
|
</a></td>
|
||||||
<td><a href="https://www.practicali.be" target="_blank">
|
<td><a href="https://www.practicali.be" target="_blank">
|
||||||
<img width="240" src="https://media.githubusercontent.com/media/BookStackApp/website/main/static/images/sponsors/practicali.png" alt="Practicali">
|
<img width="240" src="https://media.githubusercontent.com/media/BookStackApp/website/main/static/images/sponsors/practicali.png" alt="Practicali">
|
||||||
|
@ -27,16 +27,12 @@ export class PageComments extends Component {
|
|||||||
|
|
||||||
// Internal State
|
// Internal State
|
||||||
this.parentId = null;
|
this.parentId = null;
|
||||||
this.formReplyText = this.formReplyLink.textContent;
|
this.formReplyText = this.formReplyLink?.textContent || '';
|
||||||
|
|
||||||
this.setupListeners();
|
this.setupListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
setupListeners() {
|
setupListeners() {
|
||||||
this.removeReplyToButton.addEventListener('click', this.removeReplyTo.bind(this));
|
|
||||||
this.hideFormButton.addEventListener('click', this.hideForm.bind(this));
|
|
||||||
this.addCommentButton.addEventListener('click', this.showForm.bind(this));
|
|
||||||
|
|
||||||
this.elem.addEventListener('page-comment-delete', () => {
|
this.elem.addEventListener('page-comment-delete', () => {
|
||||||
this.updateCount();
|
this.updateCount();
|
||||||
this.hideForm();
|
this.hideForm();
|
||||||
@ -47,6 +43,9 @@ export class PageComments extends Component {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (this.form) {
|
if (this.form) {
|
||||||
|
this.removeReplyToButton.addEventListener('click', this.removeReplyTo.bind(this));
|
||||||
|
this.hideFormButton.addEventListener('click', this.hideForm.bind(this));
|
||||||
|
this.addCommentButton.addEventListener('click', this.showForm.bind(this));
|
||||||
this.form.addEventListener('submit', this.saveComment.bind(this));
|
this.form.addEventListener('submit', this.saveComment.bind(this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -123,9 +122,8 @@ export class PageComments extends Component {
|
|||||||
this.showForm();
|
this.showForm();
|
||||||
this.parentId = commentLocalId;
|
this.parentId = commentLocalId;
|
||||||
this.replyToRow.toggleAttribute('hidden', false);
|
this.replyToRow.toggleAttribute('hidden', false);
|
||||||
const replyLink = this.replyToRow.querySelector('a');
|
this.formReplyLink.textContent = this.formReplyText.replace('1234', this.parentId);
|
||||||
replyLink.textContent = this.formReplyText.replace('1234', this.parentId);
|
this.formReplyLink.href = `#comment${this.parentId}`;
|
||||||
replyLink.href = `#comment${this.parentId}`;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
removeReplyTo() {
|
removeReplyTo() {
|
||||||
|
@ -210,16 +210,22 @@ class WatchTest extends TestCase
|
|||||||
$prefs = new UserNotificationPreferences($editor);
|
$prefs = new UserNotificationPreferences($editor);
|
||||||
$prefs->updateFromSettingsArray(['comment-replies' => 'true']);
|
$prefs->updateFromSettingsArray(['comment-replies' => 'true']);
|
||||||
|
|
||||||
|
// Create some existing comments to pad IDs to help potentially error
|
||||||
|
// on mis-identification of parent via ids used.
|
||||||
|
Comment::factory()->count(5)
|
||||||
|
->for($entities['page'], 'entity')
|
||||||
|
->create(['created_by' => $this->users->admin()->id]);
|
||||||
|
|
||||||
$notifications = Notification::fake();
|
$notifications = Notification::fake();
|
||||||
|
|
||||||
$this->actingAs($editor)->post("/comment/{$entities['page']->id}", [
|
$this->actingAs($editor)->post("/comment/{$entities['page']->id}", [
|
||||||
'text' => 'My new comment'
|
'text' => 'My new comment'
|
||||||
]);
|
]);
|
||||||
$comment = $entities['page']->comments()->first();
|
$comment = $entities['page']->comments()->orderBy('id', 'desc')->first();
|
||||||
|
|
||||||
$this->asAdmin()->post("/comment/{$entities['page']->id}", [
|
$this->asAdmin()->post("/comment/{$entities['page']->id}", [
|
||||||
'text' => 'My new comment response',
|
'text' => 'My new comment response',
|
||||||
'parent_id' => $comment->id,
|
'parent_id' => $comment->local_id,
|
||||||
]);
|
]);
|
||||||
$notifications->assertSentTo($editor, CommentCreationNotification::class);
|
$notifications->assertSentTo($editor, CommentCreationNotification::class);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user