my new API page
", + "priority": 15, "tags": [ {"name": "Category", "value": "Not Bad Content"}, {"name": "Rating", "value": "Average"} ] -} \ No newline at end of file +} diff --git a/dev/api/requests/pages-update.json b/dev/api/requests/pages-update.json index b9bfeb630..e3ca9004e 100644 --- a/dev/api/requests/pages-update.json +++ b/dev/api/requests/pages-update.json @@ -2,8 +2,9 @@ "chapter_id": 1, "name": "My updated API Page", "html": "my new API page - Updated
", + "priority": 16, "tags": [ {"name": "Category", "value": "API Examples"}, {"name": "Rating", "value": "Alright"} ] -} \ No newline at end of file +} diff --git a/dev/api/responses/chapters-create.json b/dev/api/responses/chapters-create.json index 4dbc764b1..cf47b123d 100644 --- a/dev/api/responses/chapters-create.json +++ b/dev/api/responses/chapters-create.json @@ -4,7 +4,7 @@ "slug": "my-fantastic-new-chapter", "name": "My fantastic new chapter", "description": "This is a great new chapter that I've created via the API", - "priority": 6, + "priority": 15, "created_by": 1, "updated_by": 1, "owned_by": 1, diff --git a/dev/api/responses/chapters-update.json b/dev/api/responses/chapters-update.json index cc454d740..a4940af2d 100644 --- a/dev/api/responses/chapters-update.json +++ b/dev/api/responses/chapters-update.json @@ -4,7 +4,7 @@ "slug": "my-fantastic-updated-chapter", "name": "My fantastic updated chapter", "description": "This is an updated chapter that I've altered via the API", - "priority": 7, + "priority": 16, "created_at": "2020-05-22T23:03:35.000000Z", "updated_at": "2020-05-22T23:07:20.000000Z", "created_by": 1, diff --git a/dev/api/responses/pages-create.json b/dev/api/responses/pages-create.json index 385d5384e..11f5ab8c8 100644 --- a/dev/api/responses/pages-create.json +++ b/dev/api/responses/pages-create.json @@ -6,7 +6,7 @@ "slug": "my-api-page", "html": "my new API page
", "raw_html": "my new API page
", - "priority": 14, + "priority": 15, "created_at": "2020-11-28T15:01:39.000000Z", "updated_at": "2020-11-28T15:01:39.000000Z", "created_by": { diff --git a/dev/docs/development.md b/dev/docs/development.md index a68ae50b4..44a077fa8 100644 --- a/dev/docs/development.md +++ b/dev/docs/development.md @@ -3,7 +3,7 @@ All development on BookStack is currently done on the `development` branch. When it's time for a release the `development` branch is merged into release with built & minified CSS & JS then tagged at its version. Here are the current development requirements: -* [Node.js](https://nodejs.org/en/) v16.0+ +* [Node.js](https://nodejs.org/en/) v18.0+ ## Building CSS & JavaScript Assets diff --git a/lang/ar/activities.php b/lang/ar/activities.php index cc7a159c6..f4065b1f1 100644 --- a/lang/ar/activities.php +++ b/lang/ar/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => 'تم إضافة ":name" إلى المفضلة لديك', 'favourite_remove_notification' => 'تم إزالة ":name" من المفضلة لديك', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'تم التعليق', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'تحديث الأذونات', ]; diff --git a/lang/ar/common.php b/lang/ar/common.php index d85c76ed2..fa838a810 100644 --- a/lang/ar/common.php +++ b/lang/ar/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'إزالة', 'add' => 'إضافة', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'شاشة كاملة', 'favourite' => 'Favourite', 'unfavourite' => 'Unfavourite', diff --git a/lang/ar/entities.php b/lang/ar/entities.php index b08dae623..fc544aa0d 100644 --- a/lang/ar/entities.php +++ b/lang/ar/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'إدخال رسمة', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'صفحة ليست في فصل', 'pages_move' => 'نقل الصفحة', 'pages_copy' => 'نسخ الصفحة', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/ar/errors.php b/lang/ar/errors.php index cf50db0e3..e6561e8bd 100644 --- a/lang/ar/errors.php +++ b/lang/ar/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'حدث خطأ عند إرسال بريد إلكتروني تجريبي:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/ar/notifications.php b/lang/ar/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/ar/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/ar/preferences.php b/lang/ar/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/ar/preferences.php +++ b/lang/ar/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/ar/settings.php b/lang/ar/settings.php index f0efc18f0..8023e0110 100644 --- a/lang/ar/settings.php +++ b/lang/ar/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'إدارة إعدادات التطبيق', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'أذونات الأصول', 'roles_system_warning' => 'اعلم أن الوصول إلى أي من الأذونات الثلاثة المذكورة أعلاه يمكن أن يسمح للمستخدم بتغيير امتيازاته الخاصة أو امتيازات الآخرين في النظام. قم بتعيين الأدوار مع هذه الأذونات فقط للمستخدمين الموثوق بهم.', 'role_asset_desc' => 'تتحكم هذه الأذونات في الوصول الافتراضي إلى الأصول داخل النظام. ستتجاوز الأذونات الخاصة بالكتب والفصول والصفحات هذه الأذونات.', diff --git a/lang/bg/activities.php b/lang/bg/activities.php index 0bfbfdf95..2c58883aa 100644 --- a/lang/bg/activities.php +++ b/lang/bg/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" е добавен към любими успешно', 'favourite_remove_notification' => '":name" е премахнат от любими успешно', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'коментирано на', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'обновени права', ]; diff --git a/lang/bg/common.php b/lang/bg/common.php index e5b6ae087..49d9a4cd2 100644 --- a/lang/bg/common.php +++ b/lang/bg/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Премахване', 'add' => 'Добавяне', 'configure' => 'Конфигуриране', + 'manage' => 'Manage', 'fullscreen' => 'Цял екран', 'favourite' => 'Любимо', 'unfavourite' => 'Не е любимо', diff --git a/lang/bg/entities.php b/lang/bg/entities.php index c4107e111..6e5048e48 100644 --- a/lang/bg/entities.php +++ b/lang/bg/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Вмъкни рисунка', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Страницата не принадлежи в никоя глава', 'pages_move' => 'Премести страницата', 'pages_copy' => 'Копиране на страницата', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/bg/errors.php b/lang/bg/errors.php index cfeb7044d..d9efec43e 100644 --- a/lang/bg/errors.php +++ b/lang/bg/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Беше върната грешка, когато се изпрати тестовият емейл:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/bg/notifications.php b/lang/bg/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/bg/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/bg/preferences.php b/lang/bg/preferences.php index b38f35e48..26b421428 100644 --- a/lang/bg/preferences.php +++ b/lang/bg/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Преки пътища', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Запазване на преките пътища', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Обновени предпочитания за преки пътища!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/bg/settings.php b/lang/bg/settings.php index 1b97e68e2..12ddd678e 100644 --- a/lang/bg/settings.php +++ b/lang/bg/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Управление на настройките на приложението', 'role_export_content' => 'Експортирай съдържанието', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Настройки за достъп до активи', 'roles_system_warning' => 'Важно: Добавянето на потребител в някое от горните три роли може да му позволи да промени собствените си права или правата на другите в системата. Възлагайте тези роли само на доверени потребители.', 'role_asset_desc' => 'Тези настройки за достъп контролират достъпа по подразбиране до активите в системата. Настройките за достъп до книги, глави и страници ще отменят тези настройки.', diff --git a/lang/bs/activities.php b/lang/bs/activities.php index 54c09ec9f..bd1577436 100644 --- a/lang/bs/activities.php +++ b/lang/bs/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" je dodan u tvoje favorite', 'favourite_remove_notification' => '":name" je uklonjen iz tvojih favorita', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'je komentarisao/la na', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'je ažurirao/la dozvole', ]; diff --git a/lang/bs/common.php b/lang/bs/common.php index 144b94353..9dd94e214 100644 --- a/lang/bs/common.php +++ b/lang/bs/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Ukloni', 'add' => 'Dodaj', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'Prikaz preko čitavog ekrana', 'favourite' => 'Favorit', 'unfavourite' => 'Ukloni favorit', diff --git a/lang/bs/entities.php b/lang/bs/entities.php index 7e34d22e7..a75c8aa49 100644 --- a/lang/bs/entities.php +++ b/lang/bs/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Insert Drawing', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Page is not in a chapter', 'pages_move' => 'Move Page', 'pages_copy' => 'Copy Page', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/bs/errors.php b/lang/bs/errors.php index f56708a64..4e013f10b 100644 --- a/lang/bs/errors.php +++ b/lang/bs/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Došlo je do greške prilikom slanja testnog e-maila:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/bs/notifications.php b/lang/bs/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/bs/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/bs/preferences.php b/lang/bs/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/bs/preferences.php +++ b/lang/bs/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/bs/settings.php b/lang/bs/settings.php index c110e8992..8821c77f0 100644 --- a/lang/bs/settings.php +++ b/lang/bs/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Manage app settings', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Asset Permissions', 'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.', 'role_asset_desc' => 'These permissions control default access to the assets within the system. Permissions on Books, Chapters and Pages will override these permissions.', diff --git a/lang/ca/activities.php b/lang/ca/activities.php index 677672dac..03174ff85 100644 --- a/lang/ca/activities.php +++ b/lang/ca/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" has been added to your favourites', 'favourite_remove_notification' => '":name" has been removed from your favourites', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'ha comentat a', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'ha actualitzat els permisos', ]; diff --git a/lang/ca/common.php b/lang/ca/common.php index e9393c940..010ec63ae 100644 --- a/lang/ca/common.php +++ b/lang/ca/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Elimina', 'add' => 'Afegeix', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'Pantalla completa', 'favourite' => 'Favourite', 'unfavourite' => 'Unfavourite', diff --git a/lang/ca/entities.php b/lang/ca/entities.php index 2a7f06a84..23a88b050 100644 --- a/lang/ca/entities.php +++ b/lang/ca/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Insereix un diagrama', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'La pàgina no pertany a cap capítol', 'pages_move' => 'Mou la pàgina', 'pages_copy' => 'Copia la pàgina', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/ca/errors.php b/lang/ca/errors.php index 5bf33fb69..a716e240b 100644 --- a/lang/ca/errors.php +++ b/lang/ca/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'S\'ha produït un error en enviar un correu electrònic de prova:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/ca/notifications.php b/lang/ca/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/ca/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/ca/preferences.php b/lang/ca/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/ca/preferences.php +++ b/lang/ca/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/ca/settings.php b/lang/ca/settings.php index fb67d3fdd..d93e52a73 100644 --- a/lang/ca/settings.php +++ b/lang/ca/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Gestiona la configuració de l\'aplicació', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Permisos de recursos', 'roles_system_warning' => 'Tingueu en compte que l\'accés a qualsevol dels tres permisos de dalt pot permetre que un usuari alteri els seus propis permisos o els privilegis d\'altres usuaris del sistema. Assigneu rols amb aquests permisos només a usuaris de confiança.', 'role_asset_desc' => 'Aquests permisos controlen l\'accés per defecte als recursos del sistema. Els permisos de llibres, capítols i pàgines tindran més importància que aquests permisos.', diff --git a/lang/cs/activities.php b/lang/cs/activities.php index ca33971b0..27c0c3994 100644 --- a/lang/cs/activities.php +++ b/lang/cs/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" byla přidána do Vašich oblíbených', 'favourite_remove_notification' => '":name" byla odstraněna z Vašich oblíbených', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'okomentoval/a', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'oprávnění upravena', ]; diff --git a/lang/cs/common.php b/lang/cs/common.php index c033ca1e5..cfa42ba5e 100644 --- a/lang/cs/common.php +++ b/lang/cs/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Odebrat', 'add' => 'Přidat', 'configure' => 'Nastavit', + 'manage' => 'Manage', 'fullscreen' => 'Celá obrazovka', 'favourite' => 'Přidat do oblíbených', 'unfavourite' => 'Odebrat z oblíbených', diff --git a/lang/cs/entities.php b/lang/cs/entities.php index cbf92c80f..1b526bd8c 100644 --- a/lang/cs/entities.php +++ b/lang/cs/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Vložit kresbu', 'pages_md_show_preview' => 'Zobrazit náhled', 'pages_md_sync_scroll' => 'Synchronizovat náhled', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Stránka není v kapitole', 'pages_move' => 'Přesunout stránku', 'pages_copy' => 'Kopírovat stránku', @@ -403,4 +405,28 @@ return [ 'references' => 'Odkazy', 'references_none' => 'Nebyly nalezeny žádné odkazy na tuto položku.', 'references_to_desc' => 'Níže jsou uvedeny všechny známé stránky systému, které odkazují na tuto položku.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/cs/errors.php b/lang/cs/errors.php index 670be2274..d28415a6e 100644 --- a/lang/cs/errors.php +++ b/lang/cs/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Při posílání testovacího e-mailu nastala chyba:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/cs/notifications.php b/lang/cs/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/cs/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/cs/preferences.php b/lang/cs/preferences.php index 6727470cf..e048dd671 100644 --- a/lang/cs/preferences.php +++ b/lang/cs/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Zkratky', 'shortcuts_interface' => 'Zobrazit klávesové zkratky', 'shortcuts_toggle_desc' => 'Zde můžete povolit nebo zakázat klávesové zkratky systémového rozhraní používané pro navigaci a akce.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Uložit zkratky', 'shortcuts_overlay_desc' => 'Poznámka: Když jsou povoleny zkratky, je k dispozici pomocný překryv stisknutím "? která zvýrazní dostupné zkratky pro akce viditelné na obrazovce.', 'shortcuts_update_success' => 'Nastavení pro zkratky bylo aktualizováno!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/cs/settings.php b/lang/cs/settings.php index 28766d7c7..238dcc9c9 100644 --- a/lang/cs/settings.php +++ b/lang/cs/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Správa nastavení aplikace', 'role_export_content' => 'Exportovat obsah', 'role_editor_change' => 'Změnit editor stránek', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Obsahová oprávnění', 'roles_system_warning' => 'Berte na vědomí, že přístup k některému ze tří výše uvedených oprávnění může uživateli umožnit změnit svá vlastní oprávnění nebo oprávnění ostatních uživatelů v systému. Přiřazujte role s těmito oprávněními pouze důvěryhodným uživatelům.', 'role_asset_desc' => 'Tato oprávnění řídí přístup k obsahu napříč systémem. Specifická oprávnění na knihách, kapitolách a stránkách převáží tato nastavení.', diff --git a/lang/cy/activities.php b/lang/cy/activities.php index 9f7dcb9e5..2c474c673 100644 --- a/lang/cy/activities.php +++ b/lang/cy/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => 'Mae ":name" wedi\'i ychwanegu at eich ffefrynnau', 'favourite_remove_notification' => 'Mae ":name" wedi\'i tynnu o\'ch ffefrynnau', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'gwnaeth sylwadau ar', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'caniatadau wedi\'u diweddaru', ]; diff --git a/lang/cy/common.php b/lang/cy/common.php index de7937b2b..47b74d5b6 100644 --- a/lang/cy/common.php +++ b/lang/cy/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Remove', 'add' => 'Add', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'Fullscreen', 'favourite' => 'Favourite', 'unfavourite' => 'Unfavourite', diff --git a/lang/cy/entities.php b/lang/cy/entities.php index 4fb043aa9..4468cd68f 100644 --- a/lang/cy/entities.php +++ b/lang/cy/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Insert Drawing', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Page is not in a chapter', 'pages_move' => 'Move Page', 'pages_copy' => 'Copy Page', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/cy/errors.php b/lang/cy/errors.php index ebf823dd9..6e687f4f2 100644 --- a/lang/cy/errors.php +++ b/lang/cy/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Gwall a daflwyd wrth anfon e-bost prawf:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/cy/notifications.php b/lang/cy/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/cy/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/cy/preferences.php b/lang/cy/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/cy/preferences.php +++ b/lang/cy/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/cy/settings.php b/lang/cy/settings.php index c110e8992..8821c77f0 100644 --- a/lang/cy/settings.php +++ b/lang/cy/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Manage app settings', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Asset Permissions', 'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.', 'role_asset_desc' => 'These permissions control default access to the assets within the system. Permissions on Books, Chapters and Pages will override these permissions.', diff --git a/lang/da/activities.php b/lang/da/activities.php index f27564132..48d159e8e 100644 --- a/lang/da/activities.php +++ b/lang/da/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" er blevet tilføjet til dine favoritter', 'favourite_remove_notification' => '":name" er blevet fjernet fra dine favoritter', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'kommenterede til', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'Tilladelser opdateret', ]; diff --git a/lang/da/common.php b/lang/da/common.php index 157558979..b9bb03e12 100644 --- a/lang/da/common.php +++ b/lang/da/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Fjern', 'add' => 'Tilføj', 'configure' => 'Konfigurer', + 'manage' => 'Manage', 'fullscreen' => 'Fuld skærm', 'favourite' => 'Foretrukken', 'unfavourite' => 'Fjern som foretrukken', diff --git a/lang/da/entities.php b/lang/da/entities.php index bc899d7fc..36791efbb 100644 --- a/lang/da/entities.php +++ b/lang/da/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Indsæt tegning', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Side er ikke i et kapitel', 'pages_move' => 'Flyt side', 'pages_copy' => 'Kopier side', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/da/errors.php b/lang/da/errors.php index 8b67f30e8..7c172c0aa 100644 --- a/lang/da/errors.php +++ b/lang/da/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Følgende fejl opstod under afsendelse af testemail:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/da/notifications.php b/lang/da/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/da/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/da/preferences.php b/lang/da/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/da/preferences.php +++ b/lang/da/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/da/settings.php b/lang/da/settings.php index ebc1f00a2..a121c1982 100644 --- a/lang/da/settings.php +++ b/lang/da/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Administrer app-indstillinger', 'role_export_content' => 'Eksporter indhold', 'role_editor_change' => 'Skift side editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Tilladelser for medier og "assets"', 'roles_system_warning' => 'Vær opmærksom på, at adgang til alle af de ovennævnte tre tilladelser, kan give en bruger mulighed for at ændre deres egne brugerrettigheder eller brugerrettigheder for andre i systemet. Tildel kun roller med disse tilladelser til betroede brugere.', 'role_asset_desc' => 'Disse tilladelser kontrollerer standardadgang til medier og "assets" i systemet. Tilladelser til bøger, kapitler og sider tilsidesætter disse tilladelser.', diff --git a/lang/de/activities.php b/lang/de/activities.php index 0582e1b26..b2fb996f1 100644 --- a/lang/de/activities.php +++ b/lang/de/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" wurde zu Ihren Favoriten hinzugefügt', 'favourite_remove_notification' => '":name" wurde aus Ihren Favoriten entfernt', + // Watching + 'watch_update_level_notification' => 'Beobachtungseinstellungen erfolgreich aktualisiert', + // Auth 'auth_login' => 'hat sich eingeloggt', 'auth_register' => 'hat sich als neuer Benutzer registriert', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'aus dem Papierkorb wiederhergestellt', 'recycle_bin_destroy' => 'aus dem Papierkorb gelöscht', - // Other + // Comments 'commented_on' => 'hat einen Kommentar hinzugefügt', + 'comment_create' => 'Kommentar hinzugefügt', + 'comment_update' => 'Kommentar aktualisiert', + 'comment_delete' => 'Kommentar gelöscht', + + // Other 'permissions_update' => 'hat die Berechtigungen aktualisiert', ]; diff --git a/lang/de/common.php b/lang/de/common.php index 6b159aa25..856a88d2d 100644 --- a/lang/de/common.php +++ b/lang/de/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Entfernen', 'add' => 'Hinzufügen', 'configure' => 'Konfigurieren', + 'manage' => 'Verwalten', 'fullscreen' => 'Vollbild', 'favourite' => 'Favoriten', 'unfavourite' => 'Kein Favorit', diff --git a/lang/de/entities.php b/lang/de/entities.php index d2f790163..9e69196ac 100644 --- a/lang/de/entities.php +++ b/lang/de/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Regalberechtigungen aktualisiert', 'shelves_permissions_active' => 'Regalberechtigungen aktiv', 'shelves_permissions_cascade_warning' => 'Berechtigungen für Regale werden nicht automatisch auf die enthaltenen Bücher übertragen. Das liegt daran, dass ein Buch in mehreren Regalen vorhanden sein kann. Berechtigungen können jedoch auf untergeordnete Bücher kopiert werden, indem Sie die unten stehende Option verwenden.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'Regalerstellungsberechtigungen werden nur zum Kopieren von Berechtigungen für untergeordnete Bücher mit der folgenden Aktion verwendet. Sie kontrollieren nicht die Fähigkeit, Bücher zu erstellen.', 'shelves_copy_permissions_to_books' => 'Kopiere die Berechtigungen zum Buch', 'shelves_copy_permissions' => 'Berechtigungen kopieren', 'shelves_copy_permissions_explain' => 'Dadurch werden die aktuellen Berechtigungseinstellungen dieses Regals auf alle darin enthaltenen Bücher angewendet. Vergewissern Sie sich vor der Aktivierung, dass alle Änderungen an den Berechtigungen für dieses Regal gespeichert wurden.', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Zeichnung einfügen', 'pages_md_show_preview' => 'Vorschau anzeigen', 'pages_md_sync_scroll' => 'Vorschau synchronisieren', + '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_not_in_chapter' => 'Seite ist in keinem Kapitel', 'pages_move' => 'Seite verschieben', 'pages_copy' => 'Seite kopieren', @@ -403,4 +405,28 @@ return [ 'references' => 'Verweise', 'references_none' => 'Es gibt keine nachverfolgten Referenzen zu diesem Element.', 'references_to_desc' => 'Nachfolgend sind alle bekannten Seiten im System aufgeführt, die auf diesen Artikel verweisen.', + + // Watch Options + 'watch' => 'Beobachten', + 'watch_title_default' => 'Standardeinstellungen', + 'watch_desc_default' => 'Rückgängig machen auf Standard-Benachrichtigungseinstellungen.', + 'watch_title_ignore' => 'Ignorieren', + 'watch_desc_ignore' => 'Ignorieren aller Benachrichtigungen, auch die von den Einstellungen auf Benutzerebene.', + 'watch_title_new' => 'Neue Seiten', + 'watch_desc_new' => 'Benachrichtigung, wenn eine neue Seite in diesem Element erstellt wird.', + 'watch_title_updates' => 'Alle Seitenupdates', + 'watch_desc_updates' => 'Bei allen neuen Seiten und Seitenänderungen benachrichtigen.', + 'watch_desc_updates_page' => 'Bei allen Seitenänderungen benachrichtigen.', + 'watch_title_comments' => 'Alle Seitenupdates & Kommentare', + 'watch_desc_comments' => 'Benachrichtigung bei allen neuen Seiten, Seitenänderungen und neuen Kommentaren.', + 'watch_desc_comments_page' => 'Benachrichtigung bei Seitenänderungen und neuen Kommentaren.', + 'watch_change_default' => 'Standard-Benachrichtigungseinstellungen ändern', + 'watch_detail_ignore' => 'Benachrichtigungen ignorieren', + 'watch_detail_new' => 'Beobachten von neuen Seiten', + 'watch_detail_updates' => 'Beobachtung neuer Seiten und Aktualisierungen', + 'watch_detail_comments' => 'Beobachtung neuer Seiten, Aktualisierungen und Kommentare', + 'watch_detail_parent_book' => 'Beobachten über übergeordnetes Buch', + 'watch_detail_parent_book_ignore' => 'Ignorieren über übergeordnetes Buch', + 'watch_detail_parent_chapter' => 'Beobachten über übergeordnetes Kapitel', + 'watch_detail_parent_chapter_ignore' => 'Ignorieren über übergeordnetes Kapitel', ]; diff --git a/lang/de/errors.php b/lang/de/errors.php index 1d6c7f422..3ab4d233f 100644 --- a/lang/de/errors.php +++ b/lang/de/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Fehler beim Versenden einer Test E-Mail:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/de/notifications.php b/lang/de/notifications.php new file mode 100644 index 000000000..314f0bfe3 --- /dev/null +++ b/lang/de/notifications.php @@ -0,0 +1,26 @@ + 'Neuer Kommentar auf Seite: :pageName', + 'new_comment_intro' => 'Ein Benutzer hat eine Seite in :appName kommentiert:', + 'new_page_subject' => 'Neue Seite: :pageName', + 'new_page_intro' => 'Es wurde eine neue Seite in :appName erstellt:', + 'updated_page_subject' => 'Aktualisierte Seite: :pageName', + '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.', + + 'detail_page_name' => 'Name der Seite:', + 'detail_commenter' => 'Kommentator:', + 'detail_comment' => 'Kommentar:', + 'detail_created_by' => 'Erstellt von:', + 'detail_updated_by' => 'Aktualisiert von:', + + 'action_view_comment' => 'Kommentar 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_link' => 'ihre Benachrichtigungseinstellungen', +]; diff --git a/lang/de/preferences.php b/lang/de/preferences.php index 31ae2272d..22c42d463 100644 --- a/lang/de/preferences.php +++ b/lang/de/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Einstellungen', + 'shortcuts' => 'Tastenkürzel', 'shortcuts_interface' => 'Oberflächen-Tastaturkürzel', 'shortcuts_toggle_desc' => 'Hier können Sie Tastaturkürzel für die Systemoberfläche für Navigation und Aktionen aktivieren oder deaktivieren.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Tastenkürzel speichern', 'shortcuts_overlay_desc' => 'Hinweis: Wenn Tastenkürzel aktiviert sind, ist ein Hilfsoverlay durch Drücken von "?" verfügbar, welches die verfügbaren Tastenkürzel für Aktionen hervorhebt, die aktuell auf dem Bildschirm sichtbar sind.', 'shortcuts_update_success' => 'Tastenkürzel Einstellungen wurden aktualisiert!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Verwalten von Tastenkombinationen, die zur Navigation der Benutzeroberfläche verwendet werden können.', + + 'notifications' => 'Benachrichtigungseinstellungen', + 'notifications_desc' => 'Legen Sie fest, welche E-Mail-Benachrichtigungen Sie erhalten, wenn bestimmte Aktivitäten im System durchgeführt werden.', + 'notifications_opt_own_page_changes' => 'Benachrichtigung bei Änderungen 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_save' => 'Einstellungen speichern', + 'notifications_update_success' => 'Benachrichtigungseinstellungen wurden aktualisiert!', + '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.', + + 'profile_overview_desc' => ' Verwalten Sie die Details Ihres Benutzerprofils einschließlich bevorzugter Sprache und Authentifizierungsoptionen.', +]; diff --git a/lang/de/settings.php b/lang/de/settings.php index 00c5cde2d..7789c7b65 100644 --- a/lang/de/settings.php +++ b/lang/de/settings.php @@ -164,6 +164,7 @@ Hinweis: Benutzer können ihre E-Mail-Adresse nach erfolgreicher Registrierung 'role_manage_settings' => 'Globaleinstellungen verwalten', 'role_export_content' => 'Inhalt exportieren', 'role_editor_change' => 'Seiten-Editor ändern', + 'role_notifications' => 'Empfangen und Verwalten von Benachrichtigungen', 'role_asset' => 'Berechtigungen', 'roles_system_warning' => 'Beachten Sie, dass der Zugriff auf eine der oben genannten drei Berechtigungen einem Benutzer erlauben kann, seine eigenen Berechtigungen oder die Rechte anderer im System zu ändern. Weisen Sie nur Rollen, mit diesen Berechtigungen, vertrauenswürdigen Benutzern zu.', 'role_asset_desc' => 'Diese Berechtigungen gelten für den Standard-Zugriff innerhalb des Systems. Berechtigungen für Bücher, Kapitel und Seiten überschreiben diese Berechtigungenen.', diff --git a/lang/de_informal/activities.php b/lang/de_informal/activities.php index 48fd24315..a176a75f7 100644 --- a/lang/de_informal/activities.php +++ b/lang/de_informal/activities.php @@ -8,35 +8,35 @@ return [ // Pages 'page_create' => 'erstellt Seite', 'page_create_notification' => 'Seite erfolgreich erstellt', - 'page_update' => 'aktualisiert Seite', + 'page_update' => 'Seite aktualisiert', 'page_update_notification' => 'Seite erfolgreich aktualisiert', - 'page_delete' => 'löscht Seite', + 'page_delete' => 'Seite gelöscht', 'page_delete_notification' => 'Seite erfolgreich gelöscht', - 'page_restore' => 'stellt Seite wieder her', + 'page_restore' => 'Seite wiederhergestellt', 'page_restore_notification' => 'Seite erfolgreich wiederhergestellt', - 'page_move' => 'verschiebt Seite', + 'page_move' => 'Seite verschoben', 'page_move_notification' => 'Seite erfolgreich verschoben', // Chapters - 'chapter_create' => 'erstellt Kapitel', + 'chapter_create' => 'Kapitel erstellt', 'chapter_create_notification' => 'Kapitel erfolgreich erstellt', - 'chapter_update' => 'aktualisiert Kapitel', + 'chapter_update' => 'Kapitel aktualisiert', 'chapter_update_notification' => 'Kapitel erfolgreich aktualisiert', - 'chapter_delete' => 'löscht Kapitel', + 'chapter_delete' => 'Kapitel gelöscht', 'chapter_delete_notification' => 'Kapitel erfolgreich gelöscht', - 'chapter_move' => 'verschiebt Kapitel', + 'chapter_move' => 'Kapitel verschoben', 'chapter_move_notification' => 'Kapitel erfolgreich verschoben', // Books - 'book_create' => 'erstellt Buch', + 'book_create' => 'Buch erstellt', 'book_create_notification' => 'Buch erfolgreich erstellt', 'book_create_from_chapter' => 'Kapitel zu Buch umgewandelt', 'book_create_from_chapter_notification' => 'Kapitel erfolgreich in ein Buch umgewandelt', - 'book_update' => 'aktualisiert Buch', + 'book_update' => 'Buch aktualisiert', 'book_update_notification' => 'Buch erfolgreich aktualisiert', - 'book_delete' => 'löscht Buch', + 'book_delete' => 'Buch gelöscht', 'book_delete_notification' => 'Buch erfolgreich gelöscht', - 'book_sort' => 'sortiert Buch', + 'book_sort' => 'Buch sortiert', 'book_sort_notification' => 'Buch erfolgreich umsortiert', // Bookshelves @@ -50,19 +50,22 @@ return [ 'bookshelf_delete_notification' => 'Regal erfolgreich gelöscht', // Revisions - 'revision_restore' => 'stellte Revision wieder her:', - 'revision_delete' => 'löschte Revision', + 'revision_restore' => 'Revision wiederhergestellt', + 'revision_delete' => 'Revision gelöscht', 'revision_delete_notification' => 'Revision erfolgreich gelöscht', // Favourites 'favourite_add_notification' => '":name" wurde zu deinen Favoriten hinzugefügt', 'favourite_remove_notification' => '":name" wurde aus deinen Favoriten entfernt', + // Watching + 'watch_update_level_notification' => 'Beobachtungseinstellungen erfolgreich aktualisiert', + // Auth 'auth_login' => 'hat sich eingeloggt', 'auth_register' => 'hat sich als neuer Benutzer registriert', 'auth_password_reset_request' => 'hat eine Rücksetzung des Benutzerpassworts beantragt', - 'auth_password_reset_update' => 'hat Benutzerpasswort zurückgesetzt', + 'auth_password_reset_update' => 'Benutzerpasswort zurückgesetzt', 'mfa_setup_method' => 'hat MFA-Methode konfiguriert', 'mfa_setup_method_notification' => 'Multi-Faktor-Methode erfolgreich konfiguriert', 'mfa_remove_method' => 'hat MFA-Methode entfernt', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'aus dem Papierkorb wiederhergestellt', 'recycle_bin_destroy' => 'aus dem Papierkorb gelöscht', - // Other + // Comments 'commented_on' => 'kommentiert', + 'comment_create' => 'Kommentar hinzugefügt', + 'comment_update' => 'Kommentar aktualisiert', + 'comment_delete' => 'Kommentar gelöscht', + + // Other 'permissions_update' => 'aktualisierte Berechtigungen', ]; diff --git a/lang/de_informal/common.php b/lang/de_informal/common.php index fb77aa8c6..cfa28453f 100644 --- a/lang/de_informal/common.php +++ b/lang/de_informal/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Entfernen', 'add' => 'Hinzufügen', 'configure' => 'Konfigurieren', + 'manage' => 'Verwalten', 'fullscreen' => 'Vollbild', 'favourite' => 'Favoriten', 'unfavourite' => 'Kein Favorit', diff --git a/lang/de_informal/entities.php b/lang/de_informal/entities.php index 949bc1473..2fe1ffad8 100644 --- a/lang/de_informal/entities.php +++ b/lang/de_informal/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Regalberechtigungen aktualisiert', 'shelves_permissions_active' => 'Regalberechtigungen aktiv', 'shelves_permissions_cascade_warning' => 'Berechtigungen für Regale werden nicht automatisch auf die enthaltenen Bücher übertragen. Das liegt daran, dass ein Buch in mehreren Regalen vorhanden sein kann. Berechtigungen können jedoch auf untergeordnete Bücher kopiert werden, indem du die unten stehende Option verwendest.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => '"Regal erstellen"-Berechtigungen werden nur zum Kopieren von Berechtigungen für untergeordnete Bücher mit der folgenden Aktion verwendet. Sie kontrollieren nicht die Fähigkeit, Bücher zu erstellen.', 'shelves_copy_permissions_to_books' => 'Kopiere die Berechtigungen zum Buch', 'shelves_copy_permissions' => 'Berechtigungen kopieren', 'shelves_copy_permissions_explain' => 'Dadurch werden die aktuellen Berechtigungseinstellungen dieses Regals auf alle darin enthaltenen Bücher angewendet. Vergewissere dich vor der Aktivierung, dass alle Änderungen an den Berechtigungen für dieses Regal gespeichert wurden.', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Zeichnung einfügen', 'pages_md_show_preview' => 'Vorschau anzeigen', 'pages_md_sync_scroll' => 'Vorschau synchronisieren', + '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_not_in_chapter' => 'Seite ist in keinem Kapitel', 'pages_move' => 'Seite verschieben', 'pages_copy' => 'Seite kopieren', @@ -403,4 +405,28 @@ return [ 'references' => 'Verweise', 'references_none' => 'Es gibt keine nachverfolgten Referenzen zu diesem Element.', 'references_to_desc' => 'Nachfolgend sind alle bekannten Seiten im System aufgeführt, die auf diesen Artikel verweisen.', + + // Watch Options + 'watch' => 'Beobachten', + 'watch_title_default' => 'Standardeinstellungen', + 'watch_desc_default' => 'Rückgängig machen auf Standard-Benachrichtigungseinstellungen.', + 'watch_title_ignore' => 'Ignorieren', + 'watch_desc_ignore' => 'Ignorieren aller Benachrichtigungen, auch die von den Einstellungen auf Benutzerebene.', + 'watch_title_new' => 'Neue Seiten', + 'watch_desc_new' => 'Benachrichtigung, wenn eine neue Seite in diesem Element erstellt wird.', + 'watch_title_updates' => 'Alle Seitenupdates', + 'watch_desc_updates' => 'Bei allen neuen Seiten und Seitenänderungen benachrichtigen.', + 'watch_desc_updates_page' => 'Bei allen Seitenänderungen benachrichtigen.', + 'watch_title_comments' => 'Alle Seitenupdates & Kommentare', + 'watch_desc_comments' => 'Benachrichtigung bei allen neuen Seiten, Seitenänderungen und neuen Kommentaren.', + 'watch_desc_comments_page' => 'Benachrichtigung bei Seitenänderungen und neuen Kommentaren.', + 'watch_change_default' => 'Standard-Benachrichtigungseinstellungen ändern', + 'watch_detail_ignore' => 'Benachrichtigungen ignorieren', + 'watch_detail_new' => 'Beobachten von neuen Seiten', + 'watch_detail_updates' => 'Beobachtung neuer Seiten und Aktualisierungen', + 'watch_detail_comments' => 'Beobachtung neuer Seiten, Aktualisierungen und Kommentare', + 'watch_detail_parent_book' => 'Beobachten über übergeordnetes Buch', + 'watch_detail_parent_book_ignore' => 'Ignorieren über übergeordnetes Buch', + 'watch_detail_parent_chapter' => 'Beobachten über übergeordnetes Kapitel', + 'watch_detail_parent_chapter_ignore' => 'Ignorieren über übergeordnetes Kapitel', ]; diff --git a/lang/de_informal/errors.php b/lang/de_informal/errors.php index 3d4d6dee5..50d65362a 100644 --- a/lang/de_informal/errors.php +++ b/lang/de_informal/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Fehler beim Senden einer Test E-Mail:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/de_informal/notifications.php b/lang/de_informal/notifications.php new file mode 100644 index 000000000..314f0bfe3 --- /dev/null +++ b/lang/de_informal/notifications.php @@ -0,0 +1,26 @@ + 'Neuer Kommentar auf Seite: :pageName', + 'new_comment_intro' => 'Ein Benutzer hat eine Seite in :appName kommentiert:', + 'new_page_subject' => 'Neue Seite: :pageName', + 'new_page_intro' => 'Es wurde eine neue Seite in :appName erstellt:', + 'updated_page_subject' => 'Aktualisierte Seite: :pageName', + '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.', + + 'detail_page_name' => 'Name der Seite:', + 'detail_commenter' => 'Kommentator:', + 'detail_comment' => 'Kommentar:', + 'detail_created_by' => 'Erstellt von:', + 'detail_updated_by' => 'Aktualisiert von:', + + 'action_view_comment' => 'Kommentar 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_link' => 'ihre Benachrichtigungseinstellungen', +]; diff --git a/lang/de_informal/preferences.php b/lang/de_informal/preferences.php index 5670fcee5..33508d04e 100644 --- a/lang/de_informal/preferences.php +++ b/lang/de_informal/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Einstellungen', + 'shortcuts' => 'Kürzel', 'shortcuts_interface' => 'Oberflächen-Tastaturkürzel', 'shortcuts_toggle_desc' => 'Hier kannst du Tastaturkürzel für die Systemoberfläche für Navigation und Aktionen aktivieren oder deaktivieren.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Tastenkürzel speichern', 'shortcuts_overlay_desc' => 'Hinweis: Wenn Tastenkürzel aktiviert sind, ist ein Hilfefähnchen durch Drücken von "?" verfügbar, welches die verfügbaren Tastenkürzel für Aktionen hervorhebt, die aktuell auf dem Bildschirm sichtbar sind.', 'shortcuts_update_success' => 'Tastenkürzel Einstellungen wurden aktualisiert!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Verwalten von Tastenkombinationen, die zur Navigation der Benutzeroberfläche verwendet werden können.', + + 'notifications' => 'Benachrichtigungseinstellungen', + 'notifications_desc' => 'Legen Sie fest, welche E-Mail-Benachrichtigungen Sie erhalten, wenn bestimmte Aktivitäten im System durchgeführt werden.', + 'notifications_opt_own_page_changes' => 'Benachrichtigung bei Änderungen 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_save' => 'Einstellungen speichern', + 'notifications_update_success' => 'Benachrichtigungseinstellungen wurden aktualisiert!', + '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.', + + 'profile_overview_desc' => ' Verwalten Sie die Details Ihres Benutzerprofils einschließlich bevorzugter Sprache und Authentifizierungsoptionen.', +]; diff --git a/lang/de_informal/settings.php b/lang/de_informal/settings.php index f9e3f438e..54e90fab0 100644 --- a/lang/de_informal/settings.php +++ b/lang/de_informal/settings.php @@ -164,6 +164,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung 'role_manage_settings' => 'Globaleinstellungen verwalten', 'role_export_content' => 'Inhalt exportieren', 'role_editor_change' => 'Seiteneditor ändern', + 'role_notifications' => 'Empfangen und Verwalten von Benachrichtigungen', 'role_asset' => 'Berechtigungen', 'roles_system_warning' => 'Beachte, dass der Zugriff auf eine der oben genannten drei Berechtigungen einem Benutzer erlauben kann, seine eigenen Berechtigungen oder die Rechte anderer im System zu ändern. Weise nur Rollen mit diesen Berechtigungen vertrauenswürdigen Benutzern zu.', 'role_asset_desc' => 'Diese Berechtigungen gelten für den Standard-Zugriff innerhalb des Systems. Berechtigungen für Bücher, Kapitel und Seiten überschreiben diese Berechtigungen.', diff --git a/lang/el/activities.php b/lang/el/activities.php index b90448f01..3bb66da8b 100644 --- a/lang/el/activities.php +++ b/lang/el/activities.php @@ -15,7 +15,7 @@ return [ 'page_restore' => 'αποκατεστημένη σελίδα', 'page_restore_notification' => 'Η σελίδα αποκαταστάθηκε με επιτυχία', 'page_move' => 'Η σελίδα μετακινήθηκε', - 'page_move_notification' => 'Page successfully moved', + 'page_move_notification' => 'Η σελίδα μετακινήθηκε με επιτυχία', // Chapters 'chapter_create' => 'δημιουργήθηκε κεφάλαιο', @@ -25,7 +25,7 @@ return [ 'chapter_delete' => 'διαγραμμένο κεφάλαιο', 'chapter_delete_notification' => 'Το κεφάλαιο διαγράφηκε επιτυχώς', 'chapter_move' => 'το κεφάλαιο μετακινήθηκε', - 'chapter_move_notification' => 'Chapter successfully moved', + 'chapter_move_notification' => 'Το κεφάλαιο μετακινήθηκε με επιτυχία', // Books 'book_create' => 'το βιβλίο δημιουργήθηκε', @@ -50,28 +50,31 @@ return [ 'bookshelf_delete_notification' => 'Το ράφι ενημερώθηκε επιτυχώς', // Revisions - 'revision_restore' => 'restored revision', - 'revision_delete' => 'deleted revision', - 'revision_delete_notification' => 'Revision successfully deleted', + 'revision_restore' => 'αποκατεστημένη αναθεώρηση', + 'revision_delete' => 'διαγραμμένη αναθεώρηση', + 'revision_delete_notification' => 'Η αναθεώρηση διαγράφηκε με επιτυχία', // Favourites 'favourite_add_notification' => '":name" προστέθηκε στα αγαπημένα σας', 'favourite_remove_notification' => '":name" προστέθηκε στα αγαπημένα σας', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth - 'auth_login' => 'logged in', - 'auth_register' => 'registered as new user', - 'auth_password_reset_request' => 'requested user password reset', - 'auth_password_reset_update' => 'reset user password', - 'mfa_setup_method' => 'configured MFA method', + 'auth_login' => 'συνδεδεμένος', + 'auth_register' => 'εγγεγραμμένος ως νέος χρήστης', + 'auth_password_reset_request' => 'ζητήθηκε επαναφορά κωδικού πρόσβασης χρήστη', + 'auth_password_reset_update' => 'επαναφορά κωδικού πρόσβασης χρήστη', + 'mfa_setup_method' => 'διαμορφωμένη μέθοδος MFA', 'mfa_setup_method_notification' => 'Η μέθοδος πολλαπλών παραγόντων διαμορφώθηκε επιτυχώς', - 'mfa_remove_method' => 'removed MFA method', + 'mfa_remove_method' => 'καταργήθηκε η μέθοδος MFA', 'mfa_remove_method_notification' => 'Η μέθοδος πολλαπλών παραγόντων καταργήθηκε με επιτυχία', // Settings - 'settings_update' => 'updated settings', - 'settings_update_notification' => 'Settings successfully updated', - 'maintenance_action_run' => 'ran maintenance action', + 'settings_update' => 'ενημερωμένες ρυθμίσεις', + 'settings_update_notification' => 'Οι ρυθμίσεις ενημερώθηκαν με επιτυχία', + 'maintenance_action_run' => 'έτρεξε δράση συντήρησης', // Webhooks 'webhook_create' => 'Το webhook δημιουργήθηκε', @@ -82,25 +85,25 @@ return [ 'webhook_delete_notification' => 'Το Webhook διαγράφηκε επιτυχώς', // Users - 'user_create' => 'created user', - 'user_create_notification' => 'User successfully created', - 'user_update' => 'updated user', + 'user_create' => 'δημιουργημένος χρήστης', + 'user_create_notification' => 'Ο χρήστης δημιουργήθηκε με επιτυχία', + 'user_update' => 'ενημερωμένος χρήστης', 'user_update_notification' => 'Ο Χρήστης ενημερώθηκε με επιτυχία', - 'user_delete' => 'deleted user', + 'user_delete' => 'διαγραμμένος χρήστης', 'user_delete_notification' => 'Ο Χρήστης αφαιρέθηκε επιτυχώς', // API Tokens - 'api_token_create' => 'created api token', - 'api_token_create_notification' => 'API token successfully created', - 'api_token_update' => 'updated api token', - 'api_token_update_notification' => 'API token successfully updated', - 'api_token_delete' => 'deleted api token', - 'api_token_delete_notification' => 'API token successfully deleted', + 'api_token_create' => 'δημιουργήθηκε κωδικός API', + 'api_token_create_notification' => 'O κωδικός API δημιουργήθηκε με επιτυχία', + 'api_token_update' => 'κωδικός API ενημερώθηκε', + 'api_token_update_notification' => 'κωδικός API ενημερώθηκε με επιτυχία', + 'api_token_delete' => 'διαγραμμένο api token', + 'api_token_delete_notification' => 'Το διακριτικό API διαγράφηκε με επιτυχία', // Roles - 'role_create' => 'created role', + 'role_create' => 'δημιουργημένος ρόλος', 'role_create_notification' => 'Ο Ρόλος δημιουργήθηκε με επιτυχία', - 'role_update' => 'updated role', + 'role_update' => 'Ενημέρωση ρόλου', 'role_update_notification' => 'Ο Ρόλος ενημερώθηκε με επιτυχία', 'role_delete' => 'deleted role', 'role_delete_notification' => 'Ο Ρόλος διαγράφηκε επιτυχώς', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'σχολίασε', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'ενημερωμένα δικαιώματα', ]; diff --git a/lang/el/common.php b/lang/el/common.php index 45bcb85f1..523e83add 100644 --- a/lang/el/common.php +++ b/lang/el/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Αφαίρεση', 'add' => 'Προσθήκη', 'configure' => 'Διαμόρφωση', + 'manage' => 'Manage', 'fullscreen' => 'Πλήρης οθόνη', 'favourite' => 'Αγαπημένα', 'unfavourite' => 'Αφαίρεση από Αγαπημένα', diff --git a/lang/el/entities.php b/lang/el/entities.php index 07c18c048..42163eaf0 100644 --- a/lang/el/entities.php +++ b/lang/el/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Εισαγωγή Σχεδίου', 'pages_md_show_preview' => 'Εμφάνιση προεπισκόπησης', 'pages_md_sync_scroll' => 'Συγχρονισμός προεπισκόπησης', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Η σελίδα δεν είναι σε κεφάλαιο', 'pages_move' => 'Μετακίνηση Σελίδας', 'pages_copy' => 'Αντιγραφή Σελίδας', @@ -403,4 +405,28 @@ return [ 'references' => 'Αναφορές', 'references_none' => 'Δεν υπάρχουν αναφορές παρακολούθησης σε αυτό το στοιχείο.', 'references_to_desc' => 'Παρακάτω εμφανίζονται όλες οι γνωστές σελίδες του συστήματος που συνδέονται με αυτό το στοιχείο.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/el/errors.php b/lang/el/errors.php index a30a44ebe..9d98015a0 100644 --- a/lang/el/errors.php +++ b/lang/el/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Σφάλμα κατά την αποστολή δοκιμαστικού email:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/el/notifications.php b/lang/el/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/el/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/el/preferences.php b/lang/el/preferences.php index f9db475aa..2ead9f17b 100644 --- a/lang/el/preferences.php +++ b/lang/el/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Συντομεύσεις', 'shortcuts_interface' => 'Συντομεύσεις Πληκτρολογίου Διεπαφής', 'shortcuts_toggle_desc' => 'Εδώ μπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε τις συντομεύσεις του συστήματος πληκτρολογίου, που χρησιμοποιούνται για την πλοήγηση και τις ενέργειες.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Αποθήκευση Συντομεύσεων', 'shortcuts_overlay_desc' => 'Σημείωση: Όταν οι συντομεύσεις είναι ενεργοποιημένες μια βοηθητική επικάλυψη είναι διαθέσιμη πατώντας "?" που θα τονίσει τις διαθέσιμες συντομεύσεις για ενέργειες που είναι ορατές στην οθόνη.', 'shortcuts_update_success' => 'Οι προτιμήσεις σας αποθηκεύτηκαν!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/el/settings.php b/lang/el/settings.php index 080d2cddb..24913e222 100644 --- a/lang/el/settings.php +++ b/lang/el/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Διαχειριστείτε τις ρυθμίσεις του ΑΡΙ', 'role_export_content' => 'Εξαγωγή περιεχομένου', 'role_editor_change' => 'Αλλαγή προγράμματος επεξεργασίας σελίδας', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Δικαιώματα Συστήματος', 'roles_system_warning' => 'Λάβετε υπόψη ότι η πρόσβαση σε οποιοδήποτε από τις τρεις παραπάνω άδειες (δικαιώματα) μπορεί να επιτρέψει σε έναν χρήστη να αλλάξει τα δικά του προνόμια ή τα προνόμια άλλων στο σύστημα. Εκχωρήστε ρόλους με αυτά τα δικαιώματα μόνο σε αξιόπιστους χρήστες.', 'role_asset_desc' => 'Αυτά τα δικαιώματα ελέγχουν την προεπιλεγμένη πρόσβαση στα στοιχεία (άδειες) εντός του συστήματος. Τα δικαιώματα σε Βιβλία, Κεφάλαια και Σελίδες θα παρακάμψουν αυτές τις άδειες.', diff --git a/lang/en/activities.php b/lang/en/activities.php index e71a490de..d5b55c03d 100644 --- a/lang/en/activities.php +++ b/lang/en/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" has been added to your favourites', 'favourite_remove_notification' => '":name" has been removed from your favourites', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'commented on', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'updated permissions', ]; diff --git a/lang/en/common.php b/lang/en/common.php index de7937b2b..47b74d5b6 100644 --- a/lang/en/common.php +++ b/lang/en/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Remove', 'add' => 'Add', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'Fullscreen', 'favourite' => 'Favourite', 'unfavourite' => 'Unfavourite', diff --git a/lang/en/entities.php b/lang/en/entities.php index 4fb043aa9..4468cd68f 100644 --- a/lang/en/entities.php +++ b/lang/en/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Insert Drawing', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Page is not in a chapter', 'pages_move' => 'Move Page', 'pages_copy' => 'Copy Page', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/en/errors.php b/lang/en/errors.php index 23c326f9e..4cde4cea3 100644 --- a/lang/en/errors.php +++ b/lang/en/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Error thrown when sending a test email:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/en/notifications.php b/lang/en/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/en/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/en/preferences.php b/lang/en/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/en/preferences.php +++ b/lang/en/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/en/settings.php b/lang/en/settings.php index c110e8992..8821c77f0 100644 --- a/lang/en/settings.php +++ b/lang/en/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Manage app settings', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Asset Permissions', 'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.', 'role_asset_desc' => 'These permissions control default access to the assets within the system. Permissions on Books, Chapters and Pages will override these permissions.', diff --git a/lang/es/activities.php b/lang/es/activities.php index 420e30791..a83258212 100644 --- a/lang/es/activities.php +++ b/lang/es/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '".name" ha sido añadido a sus favoritos', 'favourite_remove_notification' => '".name" ha sido eliminado de sus favoritos', + // Watching + 'watch_update_level_notification' => 'Preferencias de suscripciones actualizadas correctamente', + // Auth 'auth_login' => 'conectado', 'auth_register' => 'registrado como nuevo usuario', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restaurado de la papelera de reciclaje', 'recycle_bin_destroy' => 'eliminado de la papelera de reciclaje', - // Other + // Comments 'commented_on' => 'comentada el', + 'comment_create' => 'comentario añadido', + 'comment_update' => 'comentario actualizado', + 'comment_delete' => 'comentario borrado', + + // Other 'permissions_update' => 'permisos actualizados', ]; diff --git a/lang/es/common.php b/lang/es/common.php index a0cb5ae4c..fac8bf259 100644 --- a/lang/es/common.php +++ b/lang/es/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Remover', 'add' => 'Añadir', 'configure' => 'Configurar', + 'manage' => 'Gestionar', 'fullscreen' => 'Pantalla completa', 'favourite' => 'Añadir a favoritos', 'unfavourite' => 'Eliminar de favoritos', diff --git a/lang/es/entities.php b/lang/es/entities.php index f37a3539d..c02ce064d 100644 --- a/lang/es/entities.php +++ b/lang/es/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Permisos del estante actualizados', 'shelves_permissions_active' => 'Permisos del estante activos', 'shelves_permissions_cascade_warning' => 'Los permisos en los estantes no se aplican automáticamente a los libros que contengan. Esto se debe a que un libro puede existir en múltiples estantes. Sin embargo, los permisos pueden ser aplicados a los libros del estante utilizando la opción a continuación.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'Los permisos de creación de estantes sólo se utilizan para copiar los permisos a los libros contenidos utilizando la acción a continuación. No controlan la capacidad de crear libros.', 'shelves_copy_permissions_to_books' => 'Copiar permisos a los libros', 'shelves_copy_permissions' => 'Copiar permisos', 'shelves_copy_permissions_explain' => 'Esto aplicará los permisos de este estante para todos sus libros. Antes de activarlo, asegúrese de que todos los cambios de permisos para este estante han sido guardados.', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Insertar Dibujo', 'pages_md_show_preview' => 'Mostrar vista previa', 'pages_md_sync_scroll' => 'Sincronizar desplazamiento de vista previa', + 'pages_drawing_unsaved' => 'Encontrado dibujo sin guardar', + 'pages_drawing_unsaved_confirm' => 'Se encontraron datos no guardados del dibujo de un intento de guardado fallido. ¿Desea restaurar y continuar editando el dibujo no guardado?', 'pages_not_in_chapter' => 'La página no está en un capítulo', 'pages_move' => 'Mover página', 'pages_copy' => 'Copiar página', @@ -403,4 +405,28 @@ return [ 'references' => 'Referencias', 'references_none' => 'No hay referencias a este elemento.', 'references_to_desc' => 'A continuación se muestran todas las páginas en el sistema que enlazan a este elemento.', + + // Watch Options + 'watch' => 'Suscribirme', + 'watch_title_default' => 'Preferencias por defecto', + 'watch_desc_default' => 'Revertir suscripciones a tus preferencias de notificación por defecto.', + 'watch_title_ignore' => 'Ignorar', + 'watch_desc_ignore' => 'Ignorar todas las notificaciones, incluyendo las de las preferencias a nivel de usuario.', + 'watch_title_new' => 'Nuevas páginas', + 'watch_desc_new' => 'Notificar cuando se crea una nueva página dentro de este elemento.', + 'watch_title_updates' => 'Todas las actualizaciones de páginas', + 'watch_desc_updates' => 'Notificar todos los cambios de páginas y páginas nuevas.', + 'watch_desc_updates_page' => 'Notificar todos los cambios en la página.', + 'watch_title_comments' => 'Todas las actualizaciones de páginas y comentarios', + 'watch_desc_comments' => 'Notificar sobre todas las páginas nuevas, cambios de página y nuevos comentarios.', + 'watch_desc_comments_page' => 'Notificar los cambios en las páginas y los nuevos comentarios.', + 'watch_change_default' => 'Cambiar preferencias de notificación por defecto', + 'watch_detail_ignore' => 'Ignorar notificaciones', + 'watch_detail_new' => 'Suscripciones de nuevas páginas', + 'watch_detail_updates' => 'Suscripciones de nuevas páginas y actualizaciones de páginas', + 'watch_detail_comments' => 'Suscripciones de nuevas páginas, actualizaciones de páginas y comentarios', + 'watch_detail_parent_book' => 'Subscripciones por libro contenedor', + 'watch_detail_parent_book_ignore' => 'Ignorando a través del libro contenedor', + 'watch_detail_parent_chapter' => 'Subscripciones por capítulo superior', + 'watch_detail_parent_chapter_ignore' => 'Ignorar por capítulo superior', ]; diff --git a/lang/es/errors.php b/lang/es/errors.php index e0006937b..ca46fc03c 100644 --- a/lang/es/errors.php +++ b/lang/es/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Error al enviar un email de prueba:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/es/notifications.php b/lang/es/notifications.php new file mode 100644 index 000000000..4e76a5924 --- /dev/null +++ b/lang/es/notifications.php @@ -0,0 +1,26 @@ + 'Nuevo comentario en la página: :pageName', + 'new_comment_intro' => 'Un usuario ha comentado en una página de :appName:', + 'new_page_subject' => 'Nueva página: :pageName', + 'new_page_intro' => 'Una nueva página ha sido creada en :appName:', + 'updated_page_subject' => 'Página actualizada: :pageName', + 'updated_page_intro' => 'Una página ha sido actualizada en :appName:', + 'updated_page_debounce' => 'Para prevenir notificaciones en masa, durante un tiempo no se enviarán notificaciones para futuras ediciones de esta página por el mismo editor.', + + 'detail_page_name' => 'Nombre de página:', + 'detail_commenter' => 'Autor del comentario:', + 'detail_comment' => 'Comentario:', + 'detail_created_by' => 'Creado por:', + 'detail_updated_by' => 'Actualizado por:', + + 'action_view_comment' => 'Ver comentario', + 'action_view_page' => 'Ver página', + + 'footer_reason' => 'Esta notificación fue enviada porque :link cubre este tipo de actividad para este artículo.', + 'footer_reason_link' => 'sus preferencias de notificación', +]; diff --git a/lang/es/preferences.php b/lang/es/preferences.php index 1ad40d802..d18be7528 100644 --- a/lang/es/preferences.php +++ b/lang/es/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferencias', + 'shortcuts' => 'Accesos directos', 'shortcuts_interface' => 'Accesos directos de la interfaz', 'shortcuts_toggle_desc' => 'Aquí puede activar o desactivar los accesos directos de la interfaz, utilizados para la navegación y las acciones.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Guardar accesos directos', 'shortcuts_overlay_desc' => 'Nota: Cuando se activan los accesos directos se puede mostrar la ayuda presionando la tecla "?" que resaltará los accesos rápidos disponibles para las acciones actualmente visibles en la pantalla.', 'shortcuts_update_success' => '¡Las preferencias de accesos directos han sido actualizadas!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Gestione los atajos de teclado que puede utilizar para navegar por la interfaz de usuario del sistema.', + + 'notifications' => 'Preferencias de notificaciones', + 'notifications_desc' => 'Controle las notificaciones por correo electrónico que recibe cuando se realiza cierta actividad dentro del sistema.', + 'notifications_opt_own_page_changes' => 'Notificar sobre los cambios en las páginas en las que soy propietario', + 'notifications_opt_own_page_comments' => 'Notificar sobre comentarios en las páginas en las que soy propietario', + 'notifications_opt_comment_replies' => 'Notificar sobre respuestas a mis comentarios', + 'notifications_save' => 'Guardar preferencias', + 'notifications_update_success' => '¡Se han actualizado las preferencias de notificaciones!', + 'notifications_watched' => 'Elementos vistos e ignorados', + 'notifications_watched_desc' => ' A continuación se muestran los elementos que tienen preferencias personalizadas de monitorización. Para actualizar sus preferencias, vea el artículo y las opciones se mostrarán en la barra lateral.', + + 'profile_overview_desc' => ' Gestione los detalles de su perfil de usuario, incluyendo las opciones de idioma y autenticación preferidas.', +]; diff --git a/lang/es/settings.php b/lang/es/settings.php index 4ffc7dd1e..1acebd7b3 100644 --- a/lang/es/settings.php +++ b/lang/es/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Gestionar ajustes de la aplicación', 'role_export_content' => 'Exportar contenido', 'role_editor_change' => 'Cambiar editor de página', + 'role_notifications' => 'Recibir y gestionar notificaciones', 'role_asset' => 'Permisos de contenido', 'roles_system_warning' => 'Tenga en cuenta que el acceso a cualquiera de los tres permisos anteriores puede permitir a un usuario alterar sus propios privilegios o los privilegios de otros en el sistema. Sólo asignar roles con estos permisos a usuarios de confianza.', 'role_asset_desc' => 'Estos permisos controlan el acceso por defecto a los contenidos del sistema. Los permisos de Libros, Capítulos y Páginas sobreescribiran estos permisos.', diff --git a/lang/es_AR/activities.php b/lang/es_AR/activities.php index f54e0075a..760652e48 100644 --- a/lang/es_AR/activities.php +++ b/lang/es_AR/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '".name" se añadió a sus favoritos', 'favourite_remove_notification' => '".name" se eliminó de sus favoritos', + // Watching + 'watch_update_level_notification' => 'Preferencias de suscripciones actualizadas correctamente', + // Auth 'auth_login' => 'sesión iniciada', 'auth_register' => 'registrado como usuario nuevo', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restaurado desde la papelera de reciclaje', 'recycle_bin_destroy' => 'eliminado de la papelera de reciclaje', - // Other + // Comments 'commented_on' => 'comentado', + 'comment_create' => 'comentario añadido', + 'comment_update' => 'comentario actualizado', + 'comment_delete' => 'comentario borrado', + + // Other 'permissions_update' => 'permisos actualizados', ]; diff --git a/lang/es_AR/common.php b/lang/es_AR/common.php index a298a7a1d..aaec7c443 100644 --- a/lang/es_AR/common.php +++ b/lang/es_AR/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Remover', 'add' => 'Agregar', 'configure' => 'Configurar', + 'manage' => 'Gestionar', 'fullscreen' => 'Pantalla completa', 'favourite' => 'Favoritos', 'unfavourite' => 'Eliminar de favoritos', diff --git a/lang/es_AR/entities.php b/lang/es_AR/entities.php index 4b7fb006b..bf4194b21 100644 --- a/lang/es_AR/entities.php +++ b/lang/es_AR/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Permisos del Estante Actualizados', 'shelves_permissions_active' => 'Permisos Activos del Estante', 'shelves_permissions_cascade_warning' => 'Los permisos en los estantes no se aplican automáticamente a los libros que contengan. Esto se debe a que un libro puede existir en múltiples estantes. Sin embargo, los permisos pueden ser aplicados a los libros del estante utilizando la opción de abajo.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'Los permisos de creación de estantes sólo se utilizan para copiar los permisos a los libros contenidos utilizando la acción a continuación. No controlan la capacidad de crear libros.', 'shelves_copy_permissions_to_books' => 'Copiar Permisos a los Libros', 'shelves_copy_permissions' => 'Copiar Permisos', 'shelves_copy_permissions_explain' => 'Esta acción aplicará los permisos del estante a todos los libros dentro del mismo. Antes de activarlo, asegúrese de que todos los cambios de permisos para este estante fueron guardados.', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Insertar Dibujo', 'pages_md_show_preview' => 'Mostrar vista previa', 'pages_md_sync_scroll' => 'Sincronizar desplazamiento de vista previa', + 'pages_drawing_unsaved' => 'Encontrado dibujo sin guardar', + 'pages_drawing_unsaved_confirm' => 'Se encontraron datos no guardados del dibujo de un intento de guardado fallido. ¿Desea restaurar y continuar editando el dibujo no guardado?', 'pages_not_in_chapter' => 'La página no esá en el capítulo', 'pages_move' => 'Mover página', 'pages_copy' => 'Copiar página', @@ -403,4 +405,28 @@ return [ 'references' => 'Referencias', 'references_none' => 'No hay referencias a este elemento.', 'references_to_desc' => 'A continuación se muestran todas las páginas en el sistema que tienen un enlace a este elemento.', + + // Watch Options + 'watch' => 'Suscribirme', + 'watch_title_default' => 'Preferencias por defecto', + 'watch_desc_default' => 'Revertir suscripciones a tus preferencias de notificación por defecto.', + 'watch_title_ignore' => 'Ignorar', + 'watch_desc_ignore' => 'Ignorar todas las notificaciones, incluyendo las de las preferencias a nivel de usuario.', + 'watch_title_new' => 'Nuevas páginas', + 'watch_desc_new' => 'Notificar cuando se crea una nueva página dentro de este elemento.', + 'watch_title_updates' => 'Todas las actualizaciones de páginas', + 'watch_desc_updates' => 'Notificar todos los cambios de páginas y páginas nuevas.', + 'watch_desc_updates_page' => 'Notificar todos los cambios en la página.', + 'watch_title_comments' => 'Todas las actualizaciones de páginas y comentarios', + 'watch_desc_comments' => 'Notificar sobre todas las páginas nuevas, cambios de página y nuevos comentarios.', + 'watch_desc_comments_page' => 'Notificar los cambios en las páginas y los nuevos comentarios.', + 'watch_change_default' => 'Cambiar preferencias de notificación por defecto', + 'watch_detail_ignore' => 'Ignorar notificaciones', + 'watch_detail_new' => 'Suscripciones de nuevas páginas', + 'watch_detail_updates' => 'Suscripciones de nuevas páginas y actualizaciones de páginas', + 'watch_detail_comments' => 'Suscripciones de nuevas páginas, actualizaciones de páginas y comentarios', + 'watch_detail_parent_book' => 'Subscripciones por libro contenedor', + 'watch_detail_parent_book_ignore' => 'Ignorando a través del libro contenedor', + 'watch_detail_parent_chapter' => 'Subscripciones por capítulo superior', + 'watch_detail_parent_chapter_ignore' => 'Ignorar por capítulo superior', ]; diff --git a/lang/es_AR/errors.php b/lang/es_AR/errors.php index fce1913c6..374031420 100644 --- a/lang/es_AR/errors.php +++ b/lang/es_AR/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Error al enviar un email de prueba:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/es_AR/notifications.php b/lang/es_AR/notifications.php new file mode 100644 index 000000000..4e76a5924 --- /dev/null +++ b/lang/es_AR/notifications.php @@ -0,0 +1,26 @@ + 'Nuevo comentario en la página: :pageName', + 'new_comment_intro' => 'Un usuario ha comentado en una página de :appName:', + 'new_page_subject' => 'Nueva página: :pageName', + 'new_page_intro' => 'Una nueva página ha sido creada en :appName:', + 'updated_page_subject' => 'Página actualizada: :pageName', + 'updated_page_intro' => 'Una página ha sido actualizada en :appName:', + 'updated_page_debounce' => 'Para prevenir notificaciones en masa, durante un tiempo no se enviarán notificaciones para futuras ediciones de esta página por el mismo editor.', + + 'detail_page_name' => 'Nombre de página:', + 'detail_commenter' => 'Autor del comentario:', + 'detail_comment' => 'Comentario:', + 'detail_created_by' => 'Creado por:', + 'detail_updated_by' => 'Actualizado por:', + + 'action_view_comment' => 'Ver comentario', + 'action_view_page' => 'Ver página', + + 'footer_reason' => 'Esta notificación fue enviada porque :link cubre este tipo de actividad para este artículo.', + 'footer_reason_link' => 'sus preferencias de notificación', +]; diff --git a/lang/es_AR/preferences.php b/lang/es_AR/preferences.php index 6c1245449..4ad955d6d 100644 --- a/lang/es_AR/preferences.php +++ b/lang/es_AR/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferencias', + 'shortcuts' => 'Atajos', 'shortcuts_interface' => 'Atajos del Teclado para la Interfaz', 'shortcuts_toggle_desc' => 'Aquí puede activar o desactivar los accesos rápidos de la interfaz, utilizados para la navegación y las acciones.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Guardar atajos', 'shortcuts_overlay_desc' => 'Nota: Cuando se activan los atajos de teclado se puede visualizar la ayuda presionando la tecla "?", que resaltará los atajos disponibles para las acciones visibles actualmente en la pantalla.', 'shortcuts_update_success' => '¡Se actualizaron las preferencias de atajos de teclado!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Gestione los atajos de teclado que puede utilizar para navegar por la interfaz de usuario del sistema.', + + 'notifications' => 'Preferencias de notificaciones', + 'notifications_desc' => 'Controle las notificaciones por correo electrónico que recibe cuando se realiza cierta actividad dentro del sistema.', + 'notifications_opt_own_page_changes' => 'Notificar sobre los cambios en las páginas en las que soy propietario', + 'notifications_opt_own_page_comments' => 'Notificar sobre comentarios en las páginas en las que soy propietario', + 'notifications_opt_comment_replies' => 'Notificar sobre respuestas a mis comentarios', + 'notifications_save' => 'Guardar preferencias', + 'notifications_update_success' => '¡Se han actualizado las preferencias de notificaciones!', + 'notifications_watched' => 'Elementos vistos e ignorados', + 'notifications_watched_desc' => ' A continuación se muestran los elementos que tienen preferencias personalizadas de monitorización. Para actualizar sus preferencias, vea el artículo y las opciones se mostrarán en la barra lateral.', + + 'profile_overview_desc' => ' Gestione los detalles de su perfil de usuario, incluyendo las opciones de idioma y autenticación preferidas.', +]; diff --git a/lang/es_AR/settings.php b/lang/es_AR/settings.php index a9a9ac9cc..67895ffeb 100644 --- a/lang/es_AR/settings.php +++ b/lang/es_AR/settings.php @@ -164,6 +164,7 @@ return [ 'role_manage_settings' => 'Gestionar ajustes de activos', 'role_export_content' => 'Exportar contenido', 'role_editor_change' => 'Cambiar editor de página', + 'role_notifications' => 'Recibir y gestionar notificaciones', 'role_asset' => 'Permisos de activos', 'roles_system_warning' => 'Tenga en cuenta que el acceso a cualquiera de los tres permisos anteriores puede permitir a un usuario modificar sus propios privilegios o los privilegios de otros usuarios en el sistema. Asignar roles con estos permisos sólo a usuarios de comfianza.', 'role_asset_desc' => 'Estos permisos controlan el acceso por defecto a los activos del sistema. Permisos definidos en Libros, Capítulos y Páginas ignorarán estos permisos.', diff --git a/lang/et/activities.php b/lang/et/activities.php index 453e630bc..c2493d262 100644 --- a/lang/et/activities.php +++ b/lang/et/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" lisati su lemmikute hulka', 'favourite_remove_notification' => '":name" eemaldati su lemmikute hulgast', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logis sisse', 'auth_register' => 'registreerus uue kasutajana', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'taastas prügikastist', 'recycle_bin_destroy' => 'eemaldas prügikastist', - // Other + // Comments 'commented_on' => 'kommenteeris lehte', + 'comment_create' => 'lisas kommentaari', + 'comment_update' => 'muutis kommentaari', + 'comment_delete' => 'kustutas kommentaari', + + // Other 'permissions_update' => 'muutis õiguseid', ]; diff --git a/lang/et/common.php b/lang/et/common.php index 41a5ca39b..589826f21 100644 --- a/lang/et/common.php +++ b/lang/et/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Eemalda', 'add' => 'Lisa', 'configure' => 'Seadista', + 'manage' => 'Manage', 'fullscreen' => 'Täisekraan', 'favourite' => 'Lemmik', 'unfavourite' => 'Eemalda lemmik', diff --git a/lang/et/entities.php b/lang/et/entities.php index f47e46ea8..a01b7b90e 100644 --- a/lang/et/entities.php +++ b/lang/et/entities.php @@ -214,7 +214,7 @@ return [ 'pages_editing_page' => 'Lehe muutmine', 'pages_edit_draft_save_at' => 'Mustand salvestatud ', 'pages_edit_delete_draft' => 'Kustuta mustand', - 'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.', + 'pages_edit_delete_draft_confirm' => 'Kas oled kindel, et soovid mustandi muudatused kustutada? Kõik viimasest salvestamisest saadik tehtud muudatused kaovad ning redaktorisse laetakse viimati salvestatud seis.', 'pages_edit_discard_draft' => 'Loobu mustandist', 'pages_edit_switch_to_markdown' => 'Kasuta Markdown redaktorit', 'pages_edit_switch_to_markdown_clean' => '(Puhas sisu)', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Lisa joonis', 'pages_md_show_preview' => 'Näita eelvaadet', 'pages_md_sync_scroll' => 'Sünkrooni eelvaate kerimine', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Leht ei kuulu peatüki alla', 'pages_move' => 'Liiguta leht', 'pages_copy' => 'Kopeeri leht', @@ -266,9 +268,9 @@ return [ 'pages_revisions_restore' => 'Taasta', 'pages_revisions_none' => 'Sellel lehel ei ole redaktsioone', 'pages_copy_link' => 'Kopeeri link', - 'pages_edit_content_link' => 'Jump to section in editor', + 'pages_edit_content_link' => 'Hüppa redaktoris sektsioonini', 'pages_pointer_enter_mode' => 'Enter section select mode', - 'pages_pointer_label' => 'Page Section Options', + 'pages_pointer_label' => 'Lehe sektsiooni valikud', 'pages_pointer_permalink' => 'Page Section Permalink', 'pages_pointer_include_tag' => 'Page Section Include Tag', 'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag', @@ -287,8 +289,8 @@ return [ 'time_b' => 'viimase :minCount minuti jooksul', 'message' => ':start :time. Ärge teineteise muudatusi üle kirjutage!', ], - 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content', - 'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content', + 'pages_draft_discarded' => 'Mustand ära visatud! Redaktorisse laeti lehe värske sisu', + 'pages_draft_deleted' => 'Mustand kustutatud! Redaktorisse laeti lehe värske sisu', 'pages_specific' => 'Spetsiifiline leht', 'pages_is_template' => 'Lehe mall', @@ -366,7 +368,7 @@ return [ 'comment_new' => 'Uus kommentaar', 'comment_created' => 'kommenteeris :createDiff', 'comment_updated' => 'Muudetud :updateDiff :username poolt', - 'comment_updated_indicator' => 'Updated', + 'comment_updated_indicator' => 'Uuendatud', 'comment_deleted_success' => 'Kommentaar kustutatud', 'comment_created_success' => 'Kommentaar lisatud', 'comment_updated_success' => 'Kommentaar muudetud', @@ -403,4 +405,28 @@ return [ 'references' => 'Viited', 'references_none' => 'Sellele objektile ei ole viiteid.', 'references_to_desc' => 'Allpool on kõik teadaolevad lehed, mis sellele objektile viitavad.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/et/errors.php b/lang/et/errors.php index e7b45bfa9..778b56424 100644 --- a/lang/et/errors.php +++ b/lang/et/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Test e-kirja saatmisel tekkis viga:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/et/notifications.php b/lang/et/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/et/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/et/preferences.php b/lang/et/preferences.php index 05ba03271..cbcce2ba8 100644 --- a/lang/et/preferences.php +++ b/lang/et/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Kiirklahvid', 'shortcuts_interface' => 'Kasutajaliidese kiirklahvid', 'shortcuts_toggle_desc' => 'Siit saad sisse ja välja lülitada navigeerimiseks ja tegevusteks kasutatavad kiirklahvid.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Salvesta kiirklahvid', 'shortcuts_overlay_desc' => 'Märkus: Kui kiirklahvid on sisse lülitatud, saab "?" vajutades kuvada abiinfo, mis märgib ära kõigi hetkel ekraanil nähtavate tegevuste kiirklahvid.', 'shortcuts_update_success' => 'Kiirklahvide eelistused on salvestatud!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/et/settings.php b/lang/et/settings.php index 2e00daa77..2482cc2f8 100644 --- a/lang/et/settings.php +++ b/lang/et/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Rakenduse seadete haldamine', 'role_export_content' => 'Sisu eksport', 'role_editor_change' => 'Lehe redaktori muutmine', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Sisu õigused', 'roles_system_warning' => 'Pane tähele, et ülalolevad kolm õigust võimaldavad kasutajal enda või teiste kasutajate õiguseid muuta. Määra nende õigustega roll ainult usaldusväärsetele kasutajatele.', 'role_asset_desc' => 'Need load kontrollivad vaikimisi ligipääsu süsteemis olevale sisule. Raamatute, peatükkide ja lehtede õigused rakenduvad esmajärjekorras.', diff --git a/lang/eu/activities.php b/lang/eu/activities.php index afdef0d4c..2e9f586a8 100644 --- a/lang/eu/activities.php +++ b/lang/eu/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" zure gogoetara gehitua izan da', 'favourite_remove_notification' => '":name" zure gogokoetatik ezabatua izan da', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'iruzkinak', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'eguneratu baimenak', ]; diff --git a/lang/eu/common.php b/lang/eu/common.php index c43039ca5..ca707702e 100644 --- a/lang/eu/common.php +++ b/lang/eu/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Ezabatu', 'add' => 'Gehitu', 'configure' => 'Konfiguratu', + 'manage' => 'Manage', 'fullscreen' => 'Pantaila osoa', 'favourite' => 'Gogokoa', 'unfavourite' => 'Desatsegina', diff --git a/lang/eu/entities.php b/lang/eu/entities.php index d5ab5c9ea..dfae52af1 100644 --- a/lang/eu/entities.php +++ b/lang/eu/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Txertatu marrazki berria', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Page is not in a chapter', 'pages_move' => 'Move Page', 'pages_copy' => 'Copy Page', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/eu/errors.php b/lang/eu/errors.php index 289785a36..d71cf742c 100644 --- a/lang/eu/errors.php +++ b/lang/eu/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Error thrown when sending a test email:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/eu/notifications.php b/lang/eu/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/eu/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/eu/preferences.php b/lang/eu/preferences.php index c3aa8a3ba..3d37f6e3a 100644 --- a/lang/eu/preferences.php +++ b/lang/eu/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Lastertekla', 'shortcuts_interface' => 'Teklatuko lasterbideak ikusi', 'shortcuts_toggle_desc' => 'Hemen, nabigaziorako eta ekintzetarako erabiltzen diren teklatu-sistemako lasterbideak gaitu edo desgaitu daitezke.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Gorde lasterbideak', 'shortcuts_overlay_desc' => 'Oharra: Lasterbideak gaituta daudenean, "?" sakagailuaren bidez laguntzaileen gainjartze bat egongo da, eta horrek pantailan gaur egun ikus daitezkeen ekintzetarako dauden lasterbideak nabarmenduko ditu.', 'shortcuts_update_success' => 'Zure lehentasunak gorde dira!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/eu/settings.php b/lang/eu/settings.php index f8d255897..93137326a 100644 --- a/lang/eu/settings.php +++ b/lang/eu/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Kudeatu aplikazio ezarpenak', 'role_export_content' => 'Exportatu edukia', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Fitxategi baimenak', 'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.', 'role_asset_desc' => 'These permissions control default access to the assets within the system. Permissions on Books, Chapters and Pages will override these permissions.', diff --git a/lang/fa/activities.php b/lang/fa/activities.php index 453a6cbd7..ea4e18142 100644 --- a/lang/fa/activities.php +++ b/lang/fa/activities.php @@ -15,7 +15,7 @@ return [ 'page_restore' => 'بازیابی صفحه', 'page_restore_notification' => 'صفحه با موفقیت بازیابی شد', 'page_move' => 'انتقال صفحه', - 'page_move_notification' => 'Page successfully moved', + 'page_move_notification' => 'صفحه با موفقیت جابهجا شد', // Chapters 'chapter_create' => 'ایجاد فصل', @@ -25,7 +25,7 @@ return [ 'chapter_delete' => 'حذف فصل', 'chapter_delete_notification' => 'فصل با موفقیت حذف شد', 'chapter_move' => 'انتقال فصل', - 'chapter_move_notification' => 'Chapter successfully moved', + 'chapter_move_notification' => 'فصل با موفقیت جابهجا شد', // Books 'book_create' => 'ایجاد کتاب', @@ -52,12 +52,15 @@ return [ // Revisions 'revision_restore' => 'restored revision', 'revision_delete' => 'deleted revision', - 'revision_delete_notification' => 'Revision successfully deleted', + 'revision_delete_notification' => 'نسخه مورد نظر با موفقیت حذف شد', // Favourites 'favourite_add_notification' => '":name" به علاقه مندی های شما اضافه شد', 'favourite_remove_notification' => '":name" از علاقه مندی های شما حذف شد', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -70,7 +73,7 @@ return [ // Settings 'settings_update' => 'updated settings', - 'settings_update_notification' => 'Settings successfully updated', + 'settings_update_notification' => 'تنظیمات با موفقیت به روز شد', 'maintenance_action_run' => 'ran maintenance action', // Webhooks @@ -83,7 +86,7 @@ return [ // Users 'user_create' => 'created user', - 'user_create_notification' => 'User successfully created', + 'user_create_notification' => 'کاربر با موفقیت به ایجاد شد', 'user_update' => 'updated user', 'user_update_notification' => 'کاربر با موفقیت به روز شد', 'user_delete' => 'deleted user', @@ -107,10 +110,15 @@ return [ // Recycle Bin 'recycle_bin_empty' => 'emptied recycle bin', - 'recycle_bin_restore' => 'restored from recycle bin', - 'recycle_bin_destroy' => 'removed from recycle bin', + 'recycle_bin_restore' => 'از سطل بازیافت، بازآوری شده است', + 'recycle_bin_destroy' => 'از سطل بازیافت حذف شده است', + + // Comments + 'commented_on' => 'ثبت دیدگاه', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', // Other - 'commented_on' => 'ثبت دیدگاه', 'permissions_update' => 'به روزرسانی مجوزها', ]; diff --git a/lang/fa/common.php b/lang/fa/common.php index a3bb039ab..f609c528f 100644 --- a/lang/fa/common.php +++ b/lang/fa/common.php @@ -6,7 +6,7 @@ return [ // Buttons 'cancel' => 'لغو', - 'close' => 'Close', + 'close' => 'خروج', 'confirm' => 'تایید', 'back' => 'بازگشت', 'save' => 'ذخیره', @@ -42,6 +42,7 @@ return [ 'remove' => 'حذف', 'add' => 'ﺍﻓﺰﻭﺩﻥ', 'configure' => 'پیکربندی کنید', + 'manage' => 'Manage', 'fullscreen' => 'تمام صفحه', 'favourite' => 'علاقهمندی', 'unfavourite' => 'حذف از علاقهمندی', @@ -65,7 +66,7 @@ return [ // Misc 'deleted_user' => 'کاربر حذف شده', 'no_activity' => 'بایگانی برای نمایش وجود ندارد', - 'no_items' => 'هیچ آیتمی موجود نیست', + 'no_items' => 'هیچ موردی در دسترس نیست', 'back_to_top' => 'بازگشت به بالا', 'skip_to_main_content' => 'رفتن به محتوای اصلی', 'toggle_details' => 'معکوس کردن اطلاعات', diff --git a/lang/fa/components.php b/lang/fa/components.php index f041e9e19..d4e77bebf 100644 --- a/lang/fa/components.php +++ b/lang/fa/components.php @@ -6,34 +6,34 @@ return [ // Image Manager 'image_select' => 'انتخاب تصویر', - 'image_list' => 'Image List', - 'image_details' => 'Image Details', - 'image_upload' => 'Upload Image', - 'image_intro' => 'Here you can select and manage images that have been previously uploaded to the system.', - 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', + 'image_list' => 'لیست تصاویر', + 'image_details' => 'جزئیات تصویر', + 'image_upload' => 'بارگذاری تصویر', + 'image_intro' => 'در اینجا می توانید تصاویری که قبلاً در سیستم آپلود شده اند را انتخاب و مدیریت کنید.', + 'image_intro_upload' => 'با کشیدن یک فایل تصویری به این پنجره یا با استفاده از دکمه "بارگذاری تصویر" در بالا، یک تصویر جدید آپلود کنید.', 'image_all' => 'همه', 'image_all_title' => 'نمایش تمام تصاویر', 'image_book_title' => 'تصاویر بارگذاری شده در این کتاب را مشاهده کنید', 'image_page_title' => 'تصاویر بارگذاری شده در این صفحه را مشاهده کنید', 'image_search_hint' => 'جستجو بر اساس نام تصویر', 'image_uploaded' => 'بارگذاری شده :uploadedDate', - 'image_uploaded_by' => 'Uploaded by :userName', - 'image_uploaded_to' => 'Uploaded to :pageLink', - 'image_updated' => 'Updated :updateDate', + 'image_uploaded_by' => 'بارگذاری شده توسط:userName', + 'image_uploaded_to' => 'بارگذاری شده در صفحه:pageLink', + 'image_updated' => 'بهروزرسانی شده در:updateDate', 'image_load_more' => 'بارگذاری بیشتر', 'image_image_name' => 'نام تصویر', 'image_delete_used' => 'این تصویر در صفحات زیر استفاده شده است.', 'image_delete_confirm_text' => 'آیا مطمئن هستید که میخواهید این عکس را پاک کنید؟', 'image_select_image' => 'انتخاب تصویر', 'image_dropzone' => 'تصاویر را رها کنید یا برای بارگذاری اینجا را کلیک کنید', - 'image_dropzone_drop' => 'Drop images here to upload', + 'image_dropzone_drop' => 'تصویر را برای بارگذاری به اینجا بکشید و رها کنید', 'images_deleted' => 'تصاویر حذف شده', 'image_preview' => 'پیش نمایش تصویر', 'image_upload_success' => 'تصویر با موفقیت بارگذاری شد', 'image_update_success' => 'جزئیات تصویر با موفقیت به روز شد', 'image_delete_success' => 'تصویر با موفقیت حذف شد', - 'image_replace' => 'Replace Image', - 'image_replace_success' => 'Image file successfully updated', + 'image_replace' => 'جایگزینی تصویر', + 'image_replace_success' => 'تصویر با موفقیت به روز شد', // Code Editor 'code_editor' => 'ویرایش کد', diff --git a/lang/fa/entities.php b/lang/fa/entities.php index 1f0ad28e9..d945b8370 100644 --- a/lang/fa/entities.php +++ b/lang/fa/entities.php @@ -63,8 +63,8 @@ return [ 'search_terms' => 'عبارات جستجو', 'search_content_type' => 'نوع محتوا', 'search_exact_matches' => 'مطابقت کامل', - 'search_tags' => 'جستجوها را برچسب بزنید', - 'search_options' => 'گزینه ها', + 'search_tags' => 'جستجو در برچسبها', + 'search_options' => 'گزینهها', 'search_viewed_by_me' => 'بازدید شده به وسیله من', 'search_not_viewed_by_me' => 'توسط من مشاهده نشده است', 'search_permissions_set' => 'مجوزها تنظیم شده است', @@ -81,12 +81,12 @@ return [ // Shelves 'shelf' => 'قفسه', - 'shelves' => 'قفسه ها', + 'shelves' => 'قفسهها', 'x_shelves' => ':count قفسه|:count قفسهها', 'shelves_empty' => 'هیچ قفسه ای ایجاد نشده است', 'shelves_create' => 'ایجاد قفسه جدید', - 'shelves_popular' => 'قفسه های محبوب', - 'shelves_new' => 'قفسه های جدید', + 'shelves_popular' => 'قفسههای محبوب', + 'shelves_new' => 'قفسههای جدید', 'shelves_new_action' => 'قفسه جدید', 'shelves_popular_empty' => 'محبوب ترین قفسه ها در اینجا ظاهر می شوند.', 'shelves_new_empty' => 'جدیدترین قفسه های ایجاد شده در اینجا ظاهر می شوند.', @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'مجوزهای کانال بروزرسانی شد', 'shelves_permissions_active' => 'مجوزهای قفسه فعال است', 'shelves_permissions_cascade_warning' => 'مجوزهای موجود در قفسهها به طور خودکار به کتابهای حاوی اطلاق نمیشوند. دلیل آن این است که یک کتاب می تواند در چندین قفسه وجود داشته باشد. با این حال، مجوزها را میتوان با استفاده از گزینه پایین همین صفحه در کتابهای فرزند کپی کرد.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'مجوزهای «ایجاد» قفسه فقط برای کپی کردن مجوزها در کتابهای کودک با استفاده از عملکرد زیر استفاده میشوند. آنها توانایی ایجاد کتاب را کنترل نمیکنند.', 'shelves_copy_permissions_to_books' => 'کپی مجوزها در کتابها', 'shelves_copy_permissions' => 'کپی مجوزها', 'shelves_copy_permissions_explain' => 'با این کار تنظیمات مجوز فعلی این قفسه برای همه کتابهای موجود در آن اعمال میشود. قبل از فعال کردن، مطمئن شوید که هر گونه تغییر در مجوزهای این قفسه، ذخیره شده است.', @@ -114,7 +114,7 @@ return [ // Books 'book' => 'کتاب', - 'books' => 'کتابها', + 'books' => 'کتابها', 'x_books' => ':count کتاب|:count کتاب', 'books_empty' => 'هیچ کتابی ایجاد نشده است', 'books_popular' => 'کتاب های محبوب', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'درج طرح', 'pages_md_show_preview' => 'دیدن پیش نمایش', 'pages_md_sync_scroll' => 'هماهنگ سازی اسکرول پیش نمایش', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'صفحه در یک فصل نیست', 'pages_move' => 'انتقال صفحه', 'pages_copy' => 'کپی صفحه', @@ -320,10 +322,10 @@ return [ 'attachments_explain_instant_save' => 'تغییرات در اینجا فورا ذخیره می شوند.', 'attachments_upload' => 'آپلود فایل', 'attachments_link' => 'پیوند را ضمیمه کنید', - 'attachments_upload_drop' => 'Alternatively you can drag and drop a file here to upload it as an attachment.', + 'attachments_upload_drop' => 'میتوانید فایلی را در اینجا بکشید و رها کنید تا آن را به عنوان پیوست آپلود کنید.', 'attachments_set_link' => 'پیوند را تنظیم کنید', 'attachments_delete' => 'آیا مطمئن هستید که می خواهید این پیوست را حذف کنید؟', - 'attachments_dropzone' => 'Drop files here to upload', + 'attachments_dropzone' => 'فایل را برای بارگذاری به اینجا بکشید و رها کنید', 'attachments_no_files' => 'هیچ فایلی آپلود نشده است', 'attachments_explain_link' => 'اگر ترجیح می دهید فایلی را آپلود نکنید، می توانید پیوندی را پیوست کنید. این می تواند پیوندی به صفحه دیگر یا پیوندی به فایلی در فضای ابری باشد.', 'attachments_link_name' => 'نام پیوند', @@ -372,7 +374,7 @@ return [ 'comment_updated_success' => 'نظر به روز شد', 'comment_delete_confirm' => 'آیا مطمئن هستید که می خواهید این نظر را حذف کنید؟', 'comment_in_reply_to' => 'در پاسخ به :commentId', - 'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.', + 'comment_editor_explain' => 'در اینجا نظراتی که در این صفحه گذاشته شده است، مشاهده میشود. نظرات را میتوان در هنگام مشاهده صفحه ذخیره شده، اضافه و مدیریت کرد.', // Revision 'revision_delete_confirm' => 'آیا مطمئن هستید که می خواهید این ویرایش را حذف کنید؟', @@ -403,4 +405,28 @@ return [ 'references' => 'مراجع', 'references_none' => 'هیچ رفرنسی برای این قلم یافت نشد.', 'references_to_desc' => 'در زیر تمام صفحات شناخته شده در سیستم که به این مورد پیوند دارند، نشان داده شده است.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/fa/errors.php b/lang/fa/errors.php index fed47cf56..ad3772b0c 100644 --- a/lang/fa/errors.php +++ b/lang/fa/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'خطا در هنگام ارسال ایمیل آزمایشی:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/fa/notifications.php b/lang/fa/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/fa/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/fa/preferences.php b/lang/fa/preferences.php index d0f1598e1..187f82ef8 100644 --- a/lang/fa/preferences.php +++ b/lang/fa/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'میانبرها', 'shortcuts_interface' => 'میانبرهای صفحه کلید', 'shortcuts_toggle_desc' => 'در اینجا می توانید میانبرهای سیستم را که برای پیمایش و ... استفاده می شود، فعال یا غیرفعال کنید.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'ذخیره کلیدهای میانبر', 'shortcuts_overlay_desc' => 'توجه: هنگامی که میانبرها فعال هستند، یک رابط کمکی با فشار دادن "؟" در دسترس است که میانبرهای موجود برای اقداماتی که در حال حاضر روی صفحه قابل مشاهده است را برجسته میکند.', 'shortcuts_update_success' => 'تنظیمات میانبر به روز شده است!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/fa/settings.php b/lang/fa/settings.php index 7afbe11fc..0a9d531a1 100644 --- a/lang/fa/settings.php +++ b/lang/fa/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'تنظیمات برنامه را مدیریت کنید', 'role_export_content' => 'صادرات محتوا', 'role_editor_change' => 'تغییر ویرایشگر صفحه', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'مجوزهای دارایی', 'roles_system_warning' => 'توجه داشته باشید که دسترسی به هر یک از سه مجوز فوق میتواند به کاربر اجازه دهد تا امتیازات خود یا امتیازات دیگران را در سیستم تغییر دهد. فقط نقش هایی را با این مجوزها به کاربران مورد اعتماد اختصاص دهید.', 'role_asset_desc' => 'این مجوزها دسترسی پیشفرض به داراییهای درون سیستم را کنترل میکنند. مجوزهای مربوط به کتابها، فصلها و صفحات این مجوزها را لغو میکنند.', diff --git a/lang/fr/activities.php b/lang/fr/activities.php index 8baf3d385..215fda347 100644 --- a/lang/fr/activities.php +++ b/lang/fr/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" a été ajouté dans vos favoris', 'favourite_remove_notification' => '":name" a été supprimé de vos favoris', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'connecté', 'auth_register' => 'enregistré en tant que nouvel utilisateur', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restauré à partir de la corbeille', 'recycle_bin_destroy' => 'supprimé de la corbeille', - // Other + // Comments 'commented_on' => 'a commenté', + 'comment_create' => 'Commentaire ajouté', + 'comment_update' => 'Commentaire mis à jour', + 'comment_delete' => 'Commentaire supprimé', + + // Other 'permissions_update' => 'a mis à jour les autorisations sur', ]; diff --git a/lang/fr/common.php b/lang/fr/common.php index a7b7cd94d..eb96f9613 100644 --- a/lang/fr/common.php +++ b/lang/fr/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Enlever', 'add' => 'Ajouter', 'configure' => 'Configurer', + 'manage' => 'Manage', 'fullscreen' => 'Plein écran', 'favourite' => 'Favoris', 'unfavourite' => 'Supprimer des favoris', diff --git a/lang/fr/entities.php b/lang/fr/entities.php index b12c4b348..a47a1a056 100644 --- a/lang/fr/entities.php +++ b/lang/fr/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Permissions de l\'étagère mises à jour', 'shelves_permissions_active' => 'Permissions de l\'étagère activées', 'shelves_permissions_cascade_warning' => 'Les permissions sur les étagères ne sont pas automatiquement recopiées aux livres qu\'elles contiennent, car un livre peut exister dans plusieurs étagères. Les permissions peuvent cependant être recopiées vers les livres contenus en utilisant l\'option ci-dessous.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'Les permissions de création d\'une étagère sont uniquement utilisées pour copier les permissions vers les livres enfants en utilisant l\'action ci-dessous. Elles ne contrôlent pas la possibilité de créer des livres.', 'shelves_copy_permissions_to_books' => 'Copier les permissions vers les livres', 'shelves_copy_permissions' => 'Copier les permissions', 'shelves_copy_permissions_explain' => 'Ceci va appliquer les permissions actuelles de cette étagère à tous les livres qu\'elle contient. Avant de continuer, assurez-vous que toutes les permissions de cette étagère ont été sauvegardées.', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Insérer un dessin', 'pages_md_show_preview' => 'Prévisualisation', 'pages_md_sync_scroll' => 'Défilement prévisualisation', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'La page n\'est pas dans un chapitre', 'pages_move' => 'Déplacer la page', 'pages_copy' => 'Copier la page', @@ -403,4 +405,28 @@ return [ 'references' => 'Références', 'references_none' => 'Il n\'y a pas de références suivies à cet élément.', 'references_to_desc' => 'Vous trouverez ci-dessous toutes les pages connues du système qui ont un lien vers cet élément.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/fr/errors.php b/lang/fr/errors.php index 4c2700d16..722f7bde5 100644 --- a/lang/fr/errors.php +++ b/lang/fr/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Erreur émise lors de l\'envoi d\'un e-mail de test :', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/fr/notifications.php b/lang/fr/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/fr/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/fr/preferences.php b/lang/fr/preferences.php index 4030ccbe6..e4b7ad00b 100644 --- a/lang/fr/preferences.php +++ b/lang/fr/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Raccourcis', 'shortcuts_interface' => 'Raccourcis clavier', 'shortcuts_toggle_desc' => 'Ici vous pouvez activer ou désactiver les raccourcis clavier, utilisés pour la navigation et les actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Sauvegarder les raccourcis', 'shortcuts_overlay_desc' => 'Note : Lorsque les raccourcis sont activés, assistant est disponible en appuyant sur "?" qui mettra en surbrillance les raccourcis disponibles pour les actions actuellement visibles à l\'écran.', 'shortcuts_update_success' => 'Les préférences de raccourci ont été mises à jour !', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/fr/settings.php b/lang/fr/settings.php index fb486301b..e5f3b545e 100644 --- a/lang/fr/settings.php +++ b/lang/fr/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Gérer les préférences de l\'application', 'role_export_content' => 'Exporter le contenu', 'role_editor_change' => 'Changer l\'éditeur de page', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Permissions des ressources', 'roles_system_warning' => 'Sachez que l\'accès à l\'une des trois permissions ci-dessus peut permettre à un utilisateur de modifier ses propres privilèges ou les privilèges des autres utilisateurs du système. N\'attribuez uniquement des rôles avec ces permissions qu\'à des utilisateurs de confiance.', 'role_asset_desc' => 'Ces permissions contrôlent l\'accès par défaut des ressources dans le système. Les permissions dans les livres, les chapitres et les pages ignoreront ces permissions', diff --git a/lang/he/activities.php b/lang/he/activities.php index 3bf0a4be3..1a21e4b04 100644 --- a/lang/he/activities.php +++ b/lang/he/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" has been added to your favourites', 'favourite_remove_notification' => '":name" has been removed from your favourites', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'הגיב/ה על', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'הרשאות עודכנו', ]; diff --git a/lang/he/common.php b/lang/he/common.php index b44d98028..253884004 100644 --- a/lang/he/common.php +++ b/lang/he/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'הסר', 'add' => 'הוסף', 'configure' => 'הגדרות', + 'manage' => 'Manage', 'fullscreen' => 'מסך מלא', 'favourite' => 'מועדף', 'unfavourite' => 'בטל מועדף', diff --git a/lang/he/entities.php b/lang/he/entities.php index 63e5fe3a3..21c9d7742 100644 --- a/lang/he/entities.php +++ b/lang/he/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'הכנס סרטוט', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'דף אינו חלק מפרק', 'pages_move' => 'העבר דף', 'pages_copy' => 'העתק דף', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/he/errors.php b/lang/he/errors.php index 6c133d860..181ef3db6 100644 --- a/lang/he/errors.php +++ b/lang/he/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Error thrown when sending a test email:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/he/notifications.php b/lang/he/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/he/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/he/preferences.php b/lang/he/preferences.php index 95f86d761..bed6904cc 100644 --- a/lang/he/preferences.php +++ b/lang/he/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'קיצורי דרך', 'shortcuts_interface' => 'קיצורי מקשים של המערכת', 'shortcuts_toggle_desc' => 'כאן תוכל להפעיל או לבטל קיצורי דרך לממשק מערכת המקלדת, המשמשים לניווט ולפעולות.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'שמור קיצורי דרך', 'shortcuts_overlay_desc' => 'הערה: כאשר קיצורי דרך מופעלים, שכבת-על מסייעת זמינה באמצעות לחיצה על "?" אשר ידגיש את קיצורי הדרך הזמינים לפעולות הנראות כעת על המסך.', 'shortcuts_update_success' => 'העדפותיך נשמרו!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/he/settings.php b/lang/he/settings.php index 2fe468ac5..3423dc57a 100644 --- a/lang/he/settings.php +++ b/lang/he/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'ניהול הגדרות יישום', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'הרשאות משאבים', 'roles_system_warning' => 'שימו לב לכך שגישה לכל אחת משלושת ההרשאות הנ"ל יכולה לאפשר למשתמש לשנות את הפריווילגיות שלהם או של אחרים במערכת. הגדירו תפקידים להרשאות אלה למשתמשים בהם אתם בוטחים בלבד.', 'role_asset_desc' => 'הרשאות אלו שולטות בגישת ברירת המחדל למשאבים בתוך המערכת. הרשאות של ספרים, פרקים ודפים יגברו על הרשאות אלו.', diff --git a/lang/hr/activities.php b/lang/hr/activities.php index 25d333892..5c774a73f 100644 --- a/lang/hr/activities.php +++ b/lang/hr/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '".ime" će biti dodano u tvoje favorite', 'favourite_remove_notification' => '".ime" je uspješno maknuta iz tvojih favorita', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'prijavljen', 'auth_register' => 'registriran kao novi korisnik', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'reciklirano iz koša za smeće', 'recycle_bin_destroy' => 'uklonjeno iz koša za smeće', - // Other + // Comments 'commented_on' => 'komentirano', + 'comment_create' => 'dodani komentar', + 'comment_update' => 'ažurirani komentar', + 'comment_delete' => 'obrisani komentar', + + // Other 'permissions_update' => 'ažurirana dopuštenja', ]; diff --git a/lang/hr/common.php b/lang/hr/common.php index 9321a69fd..8e94a431b 100644 --- a/lang/hr/common.php +++ b/lang/hr/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Ukloni', 'add' => 'Dodaj', 'configure' => 'Konfiguriraj', + 'manage' => 'Manage', 'fullscreen' => 'Cijeli zaslon', 'favourite' => 'Favorit', 'unfavourite' => 'Ukloni iz favorita', diff --git a/lang/hr/entities.php b/lang/hr/entities.php index ab637ec0e..5431a84c4 100644 --- a/lang/hr/entities.php +++ b/lang/hr/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Ažurirana dopuštenja za Policu', 'shelves_permissions_active' => 'Aktivna Dopuštenja za Policu', 'shelves_permissions_cascade_warning' => 'Dozvole na policama se automatski ne prenose na knjige koje se nalaze na njima. To je zato što se jedna knjiga može nalaziti na više polica. Međutim, dozvole se mogu kopirati na podređene knjige koristeći opciju koja se nalazi ispod.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'Dozvole za stvaranje police koriste se samo za kopiranje dozvola na podređene knjige pomoću radnje u nastavku. Ne kontroliraju sposobnost stvaranja knjiga.', 'shelves_copy_permissions_to_books' => 'Kopiraj dopuštenja za knjige', 'shelves_copy_permissions' => 'Kopiraj dopuštenja', 'shelves_copy_permissions_explain' => 'Ovo će primijeniti trenutne postavke dozvola ove police na sve knjige koje se nalaze na njoj. Prije aktiviranja, provjerite jeste li spremili sve promjene dozvola na ovoj polici.', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Umetni crtež', 'pages_md_show_preview' => 'Prikaži pregled', 'pages_md_sync_scroll' => 'Sinkroniziraj pomicanje pregleda', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Stranica nije u poglavlju', 'pages_move' => 'Premjesti stranicu', 'pages_copy' => 'Kopiraj stranicu', @@ -403,4 +405,28 @@ return [ 'references' => 'Reference', 'references_none' => 'Nema praćenih referenci na ovu stavku.', 'references_to_desc' => 'U nastavku su prikazane sve poznate stranice u sustavu koje se povezuju s ovom stavkom.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/hr/errors.php b/lang/hr/errors.php index 401f8989d..900d581fa 100644 --- a/lang/hr/errors.php +++ b/lang/hr/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Pogreška prilikom slanja testnog email:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/hr/notifications.php b/lang/hr/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/hr/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/hr/preferences.php b/lang/hr/preferences.php index 706846aaf..a9bfd6400 100644 --- a/lang/hr/preferences.php +++ b/lang/hr/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Prečaci', 'shortcuts_interface' => 'Prečaci tipkovnice u Sučelju', 'shortcuts_toggle_desc' => 'Ovdje možete omogućiti ili onemogućiti prečace tastature u korisničkom sučelju sustava koji se koriste za navigaciju i akcije.', @@ -15,4 +17,17 @@ return [ '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_update_success' => 'Postavke prečaca su ažurirane!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/hr/settings.php b/lang/hr/settings.php index 1777dd50b..3022357c4 100644 --- a/lang/hr/settings.php +++ b/lang/hr/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Upravljanje postavkama aplikacija', 'role_export_content' => 'Izvoz sadržaja', 'role_editor_change' => 'Promijeni uređivač stranica', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Upravljanje vlasništvom', 'roles_system_warning' => 'Uzmite u obzir da pristup bilo kojem od ovih dopuštenja dozvoljavate korisniku upravljanje dopuštenjima ostalih u sustavu. Ova dopuštenja dodijelite pouzdanim korisnicima.', 'role_asset_desc' => 'Ova dopuštenja kontroliraju zadane pristupe. Dopuštenja za knjige, poglavlja i stranice ih poništavaju.', diff --git a/lang/hu/activities.php b/lang/hu/activities.php index 6d63a4902..f7e068d69 100644 --- a/lang/hu/activities.php +++ b/lang/hu/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" has been added to your favourites', 'favourite_remove_notification' => '":name" has been removed from your favourites', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'megjegyzést fűzött hozzá:', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'updated permissions', ]; diff --git a/lang/hu/common.php b/lang/hu/common.php index 2967cacee..48a47f5e3 100644 --- a/lang/hu/common.php +++ b/lang/hu/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Eltávolítás', 'add' => 'Hozzáadás', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'Teljes képernyő', 'favourite' => 'Kedvencekhez ad', 'unfavourite' => 'Kedvencekből eltávolít', diff --git a/lang/hu/editor.php b/lang/hu/editor.php index 4662cf455..7c0da37bf 100644 --- a/lang/hu/editor.php +++ b/lang/hu/editor.php @@ -9,7 +9,7 @@ return [ // General editor terms 'general' => 'Általános', 'advanced' => 'Haladó', - 'none' => 'None', + 'none' => 'Egyik sem', 'cancel' => 'Mégsem', 'save' => 'Mentés', 'close' => 'Bezárás', @@ -24,7 +24,7 @@ return [ 'width' => 'Szélesség', 'height' => 'Magasság', 'More' => 'Több', - 'select' => 'Select...', + 'select' => 'Kiválasztás...', // Toolbar 'formats' => 'Formátumok', @@ -66,7 +66,7 @@ return [ 'insert_link_title' => 'Hivatkozás Beszúrása/Szerkesztése', 'insert_horizontal_line' => 'Vízszintes vonal beszúrása', 'insert_code_block' => 'Kódrészlet beszúrása', - 'edit_code_block' => 'Edit code block', + 'edit_code_block' => 'Kódrészlet beszúrása', 'insert_drawing' => 'Rajz beszúrása/szerkesztése', 'drawing_manager' => 'Rajzkezelő', 'insert_media' => 'Media beszúrása/szerkesztése', diff --git a/lang/hu/entities.php b/lang/hu/entities.php index 35613cff6..5fc079ecf 100644 --- a/lang/hu/entities.php +++ b/lang/hu/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Rajz beillesztése', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Az oldal nincs fejezetben', 'pages_move' => 'Oldal áthelyezése', 'pages_copy' => 'Oldal másolása', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/hu/errors.php b/lang/hu/errors.php index 87f4b32e7..5a0b6a0ed 100644 --- a/lang/hu/errors.php +++ b/lang/hu/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Hiba történt egy teszt email küldésekor:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/hu/notifications.php b/lang/hu/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/hu/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/hu/preferences.php b/lang/hu/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/hu/preferences.php +++ b/lang/hu/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/hu/settings.php b/lang/hu/settings.php index d81f30b34..51487542b 100644 --- a/lang/hu/settings.php +++ b/lang/hu/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Alkalmazás beállításainak kezelése', 'role_export_content' => 'Tartalom exportálása', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Eszköz jogosultságok', 'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.', 'role_asset_desc' => 'Ezek a jogosultságok vezérlik az alapértelmezés szerinti hozzáférést a rendszerben található eszközökhöz. A könyvek, fejezetek és oldalak jogosultságai felülírják ezeket a jogosultságokat.', diff --git a/lang/id/activities.php b/lang/id/activities.php index 22169db55..3337fcdd8 100644 --- a/lang/id/activities.php +++ b/lang/id/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" telah ditambahkan ke favorit Anda', 'favourite_remove_notification' => '":name" telah dihapus dari favorit Anda', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'berkomentar pada', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'izin diperbarui', ]; diff --git a/lang/id/common.php b/lang/id/common.php index 2f749972b..66f6ec1b4 100644 --- a/lang/id/common.php +++ b/lang/id/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Hapus', 'add' => 'Tambah', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'Layar Penuh', 'favourite' => 'Favorit', 'unfavourite' => 'Batal favorit', diff --git a/lang/id/entities.php b/lang/id/entities.php index ce39b0723..b78887a82 100644 --- a/lang/id/entities.php +++ b/lang/id/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Sisipkan Gambar', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Halaman tidak dalam satu bab', 'pages_move' => 'Pindahkan Halaman', 'pages_copy' => 'Salin Halaman', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/id/errors.php b/lang/id/errors.php index 83d300888..70a077270 100644 --- a/lang/id/errors.php +++ b/lang/id/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Kesalahan dilempar saat mengirim email uji:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/id/notifications.php b/lang/id/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/id/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/id/preferences.php b/lang/id/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/id/preferences.php +++ b/lang/id/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/id/settings.php b/lang/id/settings.php index 85d3ceef0..ea5f55f38 100644 --- a/lang/id/settings.php +++ b/lang/id/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Kelola setelan aplikasi', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Izin Aset', 'roles_system_warning' => 'Ketahuilah bahwa akses ke salah satu dari tiga izin di atas dapat memungkinkan pengguna untuk mengubah hak mereka sendiri atau orang lain dalam sistem. Hanya tetapkan peran dengan izin ini untuk pengguna tepercaya.', 'role_asset_desc' => 'Izin ini mengontrol akses default ke aset dalam sistem. Izin pada Buku, Bab, dan Halaman akan menggantikan izin ini.', diff --git a/lang/it/activities.php b/lang/it/activities.php index f5fc6d8a5..ba07709c0 100644 --- a/lang/it/activities.php +++ b/lang/it/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" è stato aggiunto ai tuoi preferiti', 'favourite_remove_notification' => '":name" è stato rimosso dai tuoi preferiti', + // Watching + 'watch_update_level_notification' => 'Preferenze di monitoraggio aggiornate con successo', + // Auth 'auth_login' => 'connesso', 'auth_register' => 'registrato come nuovo utente', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'ripristinato dal cestino', 'recycle_bin_destroy' => 'rimosso dal cestino', - // Other + // Comments 'commented_on' => 'ha commentato in', + 'comment_create' => 'commento aggiunto', + 'comment_update' => 'commento aggiornato', + 'comment_delete' => 'commento rimosso', + + // Other 'permissions_update' => 'autorizzazioni aggiornate', ]; diff --git a/lang/it/common.php b/lang/it/common.php index 6a7af0b1e..14a3e271d 100644 --- a/lang/it/common.php +++ b/lang/it/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Rimuovi', 'add' => 'Aggiungi', 'configure' => 'Configura', + 'manage' => 'Gestisci', 'fullscreen' => 'Schermo intero', 'favourite' => 'Aggiungi ai Preferiti', 'unfavourite' => 'Rimuovi dai preferiti', diff --git a/lang/it/entities.php b/lang/it/entities.php index e8941f630..0b635c503 100644 --- a/lang/it/entities.php +++ b/lang/it/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Permessi Libreria Aggiornati', 'shelves_permissions_active' => 'Permessi Libreria Attivi', 'shelves_permissions_cascade_warning' => 'I permessi delle librerie non si estendono automaticamente ai libri contenuti. Questo perché un libro può essere presente su più scaffali. I permessi possono comunque essere copiati ai libri al suo interno usando l\'opzione sottostante.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'Le autorizzazioni per la creazione di librerie sono utilizzate solo per copiare le autorizzazioni ai libri figli utilizzando l\'azione sottostante. Non controllano la capacità di creare libri.', 'shelves_copy_permissions_to_books' => 'Copia Permessi ai Libri', 'shelves_copy_permissions' => 'Copia Permessi', 'shelves_copy_permissions_explain' => 'Verranno applicati tutti i permessi della libreria ai libri al suo interno. Prima dell\'attivazione, assicurati che ogni permesso di questa libreria sia salvato.', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Inserisci Disegno', 'pages_md_show_preview' => 'Visualizza anteprima', 'pages_md_sync_scroll' => 'Sincronizza scorrimento anteprima', + 'pages_drawing_unsaved' => 'Trovato Disegno Non Salvato', + 'pages_drawing_unsaved_confirm' => 'Sono stati trovati i dati di un disegno non salvati da un precedente tentativo di salvataggio di disegno non riuscito. Ripristinare e continuare a modificare questo disegno non salvato?', 'pages_not_in_chapter' => 'La pagina non è in un capitolo', 'pages_move' => 'Muovi Pagina', 'pages_copy' => 'Copia Pagina', @@ -403,4 +405,28 @@ return [ 'references' => 'Riferimenti', 'references_none' => 'Non ci sono riferimenti tracciati a questa voce.', 'references_to_desc' => 'Di seguito sono riportate tutte le pagine conosciute nel sistema che collegano a questo elemento.', + + // Watch Options + 'watch' => 'Osserva', + 'watch_title_default' => 'Preferenze Predefinite', + 'watch_desc_default' => 'Ripristina la visualizzazione delle tue preferenze di notifica predefinite.', + 'watch_title_ignore' => 'Ignora', + 'watch_desc_ignore' => 'Ignora tutte le notifiche, comprese quelle dalle preferenze di livello utente.', + 'watch_title_new' => 'Nuove Pagine', + 'watch_desc_new' => 'Notifica quando viene creata una nuova pagina all\'interno di questo elemento.', + 'watch_title_updates' => 'Tutti Gli Aggiornamenti Della Pagina', + 'watch_desc_updates' => 'Notificare su tutte le nuove pagine e modifiche di pagina.', + 'watch_desc_updates_page' => 'Notifica su tutte le modifiche alla pagina.', + 'watch_title_comments' => 'Tutti Gli Aggiornamenti Della Pagina E Commenti', + 'watch_desc_comments' => 'Notificare su tutte le nuove pagine, modifiche di pagina e nuovi commenti.', + 'watch_desc_comments_page' => 'Notificare le modifiche alla pagina e i nuovi commenti.', + 'watch_change_default' => 'Modifica le preferenze di notifica predefinite', + 'watch_detail_ignore' => 'Ignorare le notifiche', + 'watch_detail_new' => 'In attesa di nuove pagine', + 'watch_detail_updates' => 'Osservare le nuove pagine e gli aggiornamenti', + 'watch_detail_comments' => 'Osservare le nuove pagine, aggiornamenti e commenti', + 'watch_detail_parent_book' => 'Osservare tramite il libro madre', + 'watch_detail_parent_book_ignore' => 'Ignorato tramite il libro madre', + 'watch_detail_parent_chapter' => 'Osservare tramite il capitolo madre', + 'watch_detail_parent_chapter_ignore' => 'Ignorato tramite il capitolo madre', ]; diff --git a/lang/it/errors.php b/lang/it/errors.php index 5418beb14..2d3c0e198 100644 --- a/lang/it/errors.php +++ b/lang/it/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Si è verificato un errore durante l\'invio di una e-mail di prova:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/it/notifications.php b/lang/it/notifications.php new file mode 100644 index 000000000..a17abe368 --- /dev/null +++ b/lang/it/notifications.php @@ -0,0 +1,26 @@ + 'Nuovo commento alla pagina: :pageName', + 'new_comment_intro' => 'Un utente ha commentato una pagina in :appName:', + 'new_page_subject' => 'Nuova pagina: :pageName', + 'new_page_intro' => 'Una nuova pagina è stata creata in :appName:', + 'updated_page_subject' => 'Pagina aggiornata: :pageName', + 'updated_page_intro' => 'Una pagina è stata aggiornata in :appName:', + 'updated_page_debounce' => 'Per evitare una massa di notifiche, per un po \'non verranno inviate notifiche per ulteriori modifiche a questa pagina dallo stesso editor.', + + 'detail_page_name' => 'Nome Della Pagina:', + 'detail_commenter' => 'Commentatore:', + 'detail_comment' => 'Commento:', + 'detail_created_by' => 'Creato Da:', + 'detail_updated_by' => 'Aggiornato Da:', + + 'action_view_comment' => 'Visualizza Commento', + 'action_view_page' => 'Visualizza Pagina', + + 'footer_reason' => 'Questa notifica è stata inviata perché :link copre questo tipo di attività per questo elemento.', + 'footer_reason_link' => 'le tue preferenze di notifica', +]; diff --git a/lang/it/preferences.php b/lang/it/preferences.php index 06cc17280..ac70d095e 100644 --- a/lang/it/preferences.php +++ b/lang/it/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferenze', + 'shortcuts' => 'Scorciatoie', 'shortcuts_interface' => 'Interfaccia scorciatoie da tastiera', 'shortcuts_toggle_desc' => 'Qui puoi abilitare o disabilitare le scorciatoie dell\'interfaccia di sistema da tastiera, utilizzate per la navigazione e le azioni.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Salva Scorciatoie', 'shortcuts_overlay_desc' => 'Nota: quando le scorciatoie sono abilitate, premendo "?" è possibile visualizzare le scorciatoie disponibili per le azioni attualmente visibili sullo schermo.', 'shortcuts_update_success' => 'Le preferenze delle scorciatoie sono state aggiornate!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Gestisci le scorciatoie da tastiera che puoi usare per navigare nell\'interfaccia utente di sistema.', + + 'notifications' => 'Preferenze Di Notifica', + 'notifications_desc' => 'Controlla le notifiche email che ricevi quando viene eseguita una determinata attività all\'interno del sistema.', + 'notifications_opt_own_page_changes' => 'Notifica in caso di modifiche alle pagine che possiedo', + 'notifications_opt_own_page_comments' => 'Notifica i commenti sulle pagine che possiedo', + 'notifications_opt_comment_replies' => 'Notificare le risposte ai miei commenti', + 'notifications_save' => 'Salva Preferenze', + 'notifications_update_success' => 'Le preferenze di notifica sono state aggiornate!', + 'notifications_watched' => 'Oggetti Osservati E Ignorati', + 'notifications_watched_desc' => 'Di seguito sono riportati gli articoli a cui sono state applicate le preferenze di monitoraggio personalizzate. Per aggiornare le preferenze, visualizzare l\'articolo e trovare le opzioni di monitoraggio nella barra laterale.', + + 'profile_overview_desc' => ' Gestisci i dettagli del tuo profilo utente, incluse la lingua preferita e le opzioni di autenticazione.', +]; diff --git a/lang/it/settings.php b/lang/it/settings.php index 47599bce2..369b6677a 100644 --- a/lang/it/settings.php +++ b/lang/it/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Gestire impostazioni app', 'role_export_content' => 'Esporta contenuto', 'role_editor_change' => 'Cambia editor di pagina', + 'role_notifications' => 'Ricevi & gestisci le notifiche', 'role_asset' => 'Permessi Entità', 'roles_system_warning' => 'Siate consapevoli che l\'accesso a uno dei tre permessi qui sopra, può consentire a un utente di modificare i propri privilegi o i privilegi di altri nel sistema. Assegna ruoli con questi permessi solo ad utenti fidati.', 'role_asset_desc' => 'Questi permessi controllano l\'accesso di default alle entità. I permessi nei Libri, Capitoli e Pagine sovrascriveranno questi.', diff --git a/lang/ja/activities.php b/lang/ja/activities.php index dc226fa68..652d87d3e 100644 --- a/lang/ja/activities.php +++ b/lang/ja/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name"がお気に入りに追加されました', 'favourite_remove_notification' => '":name"がお気に入りから削除されました', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'がログイン', 'auth_register' => 'が新規ユーザ登録', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'がゴミ箱から復元', 'recycle_bin_destroy' => 'がゴミ箱から完全に削除', - // Other + // Comments 'commented_on' => 'がコメント:', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'が権限を更新:', ]; diff --git a/lang/ja/common.php b/lang/ja/common.php index bff79ea81..d079c7d1e 100644 --- a/lang/ja/common.php +++ b/lang/ja/common.php @@ -42,6 +42,7 @@ return [ 'remove' => '削除', 'add' => '追加', 'configure' => '設定', + 'manage' => 'Manage', 'fullscreen' => '全画面', 'favourite' => 'お気に入り', 'unfavourite' => 'お気に入りから削除', diff --git a/lang/ja/entities.php b/lang/ja/entities.php index 89da95e2d..7bd70b670 100644 --- a/lang/ja/entities.php +++ b/lang/ja/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => '本棚の権限を更新しました', 'shelves_permissions_active' => '本棚の権限は有効です', 'shelves_permissions_cascade_warning' => '本棚の権限は含まれる本には自動的に継承されません。これは、1つのブックが複数の本棚に存在する可能性があるためです。ただし、以下のオプションを使用すると権限を子ブックにコピーできます。', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => '本棚の作成権限は、以下のアクションを使用した子ブックへの権限コピーにのみ使用されます。これはブックの作成を制御するものではありません。', 'shelves_copy_permissions_to_books' => 'ブックに権限をコピー', 'shelves_copy_permissions' => '権限をコピー', 'shelves_copy_permissions_explain' => 'これにより、この本棚の現在の権限設定を本棚に含まれるすべてのブックに適用します。有効にする前に、この本棚の権限への変更が保存されていることを確認してください。', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => '描画を追加', 'pages_md_show_preview' => 'プレビューを表示', 'pages_md_sync_scroll' => 'プレビューとスクロールを同期', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'チャプターが設定されていません', 'pages_move' => 'ページを移動', 'pages_copy' => 'ページをコピー', @@ -403,4 +405,28 @@ return [ 'references' => '参照', 'references_none' => 'この項目への追跡された参照はありません。', 'references_to_desc' => 'この項目にリンクしている、システム内のすべての既知のページを以下に示します。', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/ja/errors.php b/lang/ja/errors.php index 3e454c30e..9b1de2afc 100644 --- a/lang/ja/errors.php +++ b/lang/ja/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'テストメール送信時にエラーが発生しました:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/ja/notifications.php b/lang/ja/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/ja/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/ja/preferences.php b/lang/ja/preferences.php index 36a2f5a99..313efef28 100644 --- a/lang/ja/preferences.php +++ b/lang/ja/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'ショートカット', 'shortcuts_interface' => 'インターフェイスのキーボードショートカット', 'shortcuts_toggle_desc' => 'ここでは、ナビゲーションやアクションに使用されるキーボードシステムインターフェイスのショートカットを有効または無効にすることができます。', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'ショートカットを保存', 'shortcuts_overlay_desc' => '注:ショートカットが有効な場合はヘルパーオーバーレイが利用できます。「?」を押すと現在画面に表示されているアクションで利用可能なショートカットをハイライト表示します。', 'shortcuts_update_success' => 'ショートカットの設定が更新されました!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/ja/settings.php b/lang/ja/settings.php index c0536771e..ee5fc3120 100644 --- a/lang/ja/settings.php +++ b/lang/ja/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'アプリケーション設定の管理', 'role_export_content' => 'コンテンツのエクスポート', 'role_editor_change' => 'ページエディタの変更', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'アセット権限', 'roles_system_warning' => '上記の3つの権限のいずれかを付与することは、ユーザーが自分の特権またはシステム内の他のユーザーの特権を変更できる可能性があることに注意してください。これらの権限は信頼できるユーザーにのみ割り当ててください。', 'role_asset_desc' => '各アセットに対するデフォルトの権限を設定します。ここで設定した権限が優先されます。', diff --git a/lang/ka/activities.php b/lang/ka/activities.php index e71a490de..d5b55c03d 100644 --- a/lang/ka/activities.php +++ b/lang/ka/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" has been added to your favourites', 'favourite_remove_notification' => '":name" has been removed from your favourites', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'commented on', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'updated permissions', ]; diff --git a/lang/ka/common.php b/lang/ka/common.php index de7937b2b..47b74d5b6 100644 --- a/lang/ka/common.php +++ b/lang/ka/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Remove', 'add' => 'Add', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'Fullscreen', 'favourite' => 'Favourite', 'unfavourite' => 'Unfavourite', diff --git a/lang/ka/entities.php b/lang/ka/entities.php index 4fb043aa9..4468cd68f 100644 --- a/lang/ka/entities.php +++ b/lang/ka/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Insert Drawing', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Page is not in a chapter', 'pages_move' => 'Move Page', 'pages_copy' => 'Copy Page', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/ka/errors.php b/lang/ka/errors.php index 23c326f9e..4cde4cea3 100644 --- a/lang/ka/errors.php +++ b/lang/ka/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Error thrown when sending a test email:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/ka/notifications.php b/lang/ka/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/ka/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/ka/preferences.php b/lang/ka/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/ka/preferences.php +++ b/lang/ka/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/ka/settings.php b/lang/ka/settings.php index c110e8992..8821c77f0 100644 --- a/lang/ka/settings.php +++ b/lang/ka/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Manage app settings', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Asset Permissions', 'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.', 'role_asset_desc' => 'These permissions control default access to the assets within the system. Permissions on Books, Chapters and Pages will override these permissions.', diff --git a/lang/ko/activities.php b/lang/ko/activities.php index b5ebe79f6..96313de1a 100644 --- a/lang/ko/activities.php +++ b/lang/ko/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" 북마크에 추가함', 'favourite_remove_notification' => '":name" 북마크에서 삭제함', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => '댓글 쓰기', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => '권한 수정함', ]; diff --git a/lang/ko/common.php b/lang/ko/common.php index 2ffa65d1e..dec41631a 100644 --- a/lang/ko/common.php +++ b/lang/ko/common.php @@ -42,6 +42,7 @@ return [ 'remove' => '제거', 'add' => '추가', 'configure' => '설정', + 'manage' => 'Manage', 'fullscreen' => '전체화면', 'favourite' => '즐겨찾기', 'unfavourite' => '즐겨찾기 해제', diff --git a/lang/ko/entities.php b/lang/ko/entities.php index 5b3476543..f7480e8d3 100644 --- a/lang/ko/entities.php +++ b/lang/ko/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => '드로잉 추가', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => '챕터에 있는 문서가 아닙니다.', 'pages_move' => '문서 이동하기', 'pages_copy' => '문서 복제', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/ko/errors.php b/lang/ko/errors.php index 03f0bb15d..6f9dc72ca 100644 --- a/lang/ko/errors.php +++ b/lang/ko/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => '메일을 발송하는 도중 문제가 생겼습니다:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/ko/notifications.php b/lang/ko/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/ko/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/ko/preferences.php b/lang/ko/preferences.php index 400e0f5ef..c312db8c0 100644 --- a/lang/ko/preferences.php +++ b/lang/ko/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => '단축키', 'shortcuts_interface' => '키보드 단축키', 'shortcuts_toggle_desc' => '여기에서 탐색과 행동에 사용될 수 있는 키보드 단축키를 활성화하거나 비활성화할 수 있습니다.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => '단축키 저장', 'shortcuts_overlay_desc' => '참고: 바로가기가 활성화된 경우 "?"를 누르면 현재 화면에 표시되는 작업에 대해 사용 가능한 바로가기를 강조 표시하는 도우미 오버레이를 사용할 수 있습니다.', 'shortcuts_update_success' => '단축키 설정이 수정되었습니다!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/ko/settings.php b/lang/ko/settings.php index e6a08bb27..17bd83abf 100644 --- a/lang/ko/settings.php +++ b/lang/ko/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => '사이트 설정 관리', 'role_export_content' => '항목 내보내기', 'role_editor_change' => '페이지 편집기 변경', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => '권한 항목', 'roles_system_warning' => '위 세 권한은 자신의 권한이나 다른 유저의 권한을 바꿀 수 있습니다.', 'role_asset_desc' => '책, 챕터, 문서별 권한은 이 설정에 우선합니다.', diff --git a/lang/lt/activities.php b/lang/lt/activities.php index d06bbfe1d..42322ffbc 100644 --- a/lang/lt/activities.php +++ b/lang/lt/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" has been added to your favourites', 'favourite_remove_notification' => '":name" has been removed from your favourites', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'pakomentavo', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'atnaujinti leidimai', ]; diff --git a/lang/lt/common.php b/lang/lt/common.php index ebe6eced2..a0f9faabb 100644 --- a/lang/lt/common.php +++ b/lang/lt/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Pašalinti', 'add' => 'Pridėti', 'configure' => 'Configure', + 'manage' => 'Manage', 'fullscreen' => 'Visas ekranas', 'favourite' => 'Favourite', 'unfavourite' => 'Unfavourite', diff --git a/lang/lt/entities.php b/lang/lt/entities.php index 5d07b8474..633f2b653 100644 --- a/lang/lt/entities.php +++ b/lang/lt/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Įterpti piešinį', 'pages_md_show_preview' => 'Show preview', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Puslapio nėra skyriuje', 'pages_move' => 'Perkelti puslapį', 'pages_copy' => 'Nukopijuoti puslapį', @@ -403,4 +405,28 @@ return [ 'references' => 'References', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/lt/errors.php b/lang/lt/errors.php index 5bba03cc2..bf4350fff 100644 --- a/lang/lt/errors.php +++ b/lang/lt/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Siunčiant bandymo email: įvyko klaida', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/lt/notifications.php b/lang/lt/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/lt/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/lt/preferences.php b/lang/lt/preferences.php index e9a47461b..118e8ba82 100644 --- a/lang/lt/preferences.php +++ b/lang/lt/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Shortcuts', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Save Shortcuts', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Shortcut preferences have been updated!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/lt/settings.php b/lang/lt/settings.php index 690e1c8d0..eeeb271e9 100644 --- a/lang/lt/settings.php +++ b/lang/lt/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Tvarkyti programos nustatymus', 'role_export_content' => 'Export content', 'role_editor_change' => 'Change page editor', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Nuosavybės leidimai', 'roles_system_warning' => 'Būkite sąmoningi, kad prieiga prie bet kurio iš trijų leidimų viršuje gali leisti naudotojui pakeisti jų pačių privilegijas arba kitų privilegijas sistemoje. Paskirkite vaidmenis su šiais leidimais tik patikimiems naudotojams.', 'role_asset_desc' => 'Šie leidimai kontroliuoja numatytą prieigą į nuosavybę, esančią sistemoje. Knygų, skyrių ir puslapių leidimai nepaisys šių leidimų.', diff --git a/lang/lv/activities.php b/lang/lv/activities.php index dc6206d56..2e0c9e609 100644 --- a/lang/lv/activities.php +++ b/lang/lv/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" ir pievienots jūsu favorītiem', 'favourite_remove_notification' => '":name" ir izņemts no jūsu favorītiem', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'logged in', 'auth_register' => 'registered as new user', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restored from recycle bin', 'recycle_bin_destroy' => 'removed from recycle bin', - // Other + // Comments 'commented_on' => 'komentēts', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'atjaunoja atļaujas', ]; diff --git a/lang/lv/common.php b/lang/lv/common.php index 27ea89de0..52e9e37ce 100644 --- a/lang/lv/common.php +++ b/lang/lv/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Noņemt', 'add' => 'Pievienot', 'configure' => 'Mainīt konfigurāciju', + 'manage' => 'Manage', 'fullscreen' => 'Pilnekrāns', 'favourite' => 'Pievienot favorītiem', 'unfavourite' => 'Noņemt no favorītiem', diff --git a/lang/lv/entities.php b/lang/lv/entities.php index 095f20ff5..2d7f476e2 100644 --- a/lang/lv/entities.php +++ b/lang/lv/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Ievietot zīmējumu', 'pages_md_show_preview' => 'Rādīt priekšskatu', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Lapa nav nodaļā', 'pages_move' => 'Pārvietot lapu', 'pages_copy' => 'Kopēt lapu', @@ -403,4 +405,28 @@ return [ 'references' => 'Atsauces', 'references_none' => 'Uz šo vienumu nav atrasta neviena atsauce.', 'references_to_desc' => 'Zemāk parādītas visas sistēmā atrastās lapas, kas norāda uz šo vienumu.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/lv/errors.php b/lang/lv/errors.php index bcab6f474..74a480314 100644 --- a/lang/lv/errors.php +++ b/lang/lv/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Radusies kļūda sūtot testa epastu:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/lv/notifications.php b/lang/lv/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/lv/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/lv/preferences.php b/lang/lv/preferences.php index 7a2f3efb1..a3692cf09 100644 --- a/lang/lv/preferences.php +++ b/lang/lv/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Saīsnes', 'shortcuts_interface' => 'Interface Keyboard Shortcuts', 'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Saglabāt saīsnes', 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', 'shortcuts_update_success' => 'Saīsņu uzstādījumi ir saglabāt!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/lv/settings.php b/lang/lv/settings.php index 0f099e4c8..fc9c6af3f 100644 --- a/lang/lv/settings.php +++ b/lang/lv/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Pārvaldīt iestatījumus', 'role_export_content' => 'Eksportēt saturu', 'role_editor_change' => 'Mainīt lapu redaktoru', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Resursa piekļuves tiesības', 'roles_system_warning' => 'Jebkuras no trīs augstāk redzamajām atļaujām dod iespēju lietotājam mainīt savas un citu lietotāju sistēmas atļaujas. Pievieno šīs grupu atļaujas tikai tiem lietotājiem, kuriem uzticies.', 'role_asset_desc' => 'Šīs piekļuves tiesības kontrolē noklusēto piekļuvi sistēmas resursiem. Grāmatām, nodaļām un lapām norādītās tiesības būs pārākas par šīm.', diff --git a/lang/nb/activities.php b/lang/nb/activities.php index 0e8f2e746..c49a09c26 100644 --- a/lang/nb/activities.php +++ b/lang/nb/activities.php @@ -15,7 +15,7 @@ return [ 'page_restore' => 'gjenopprettet side', 'page_restore_notification' => 'Siden ble gjenopprettet', 'page_move' => 'flyttet side', - 'page_move_notification' => 'Page successfully moved', + 'page_move_notification' => 'Siden ble flyttet', // Chapters 'chapter_create' => 'opprettet kapittel', @@ -26,7 +26,7 @@ return [ 'chapter_delete_notification' => 'Kapittelet ble slettet', 'chapter_move' => 'flyttet kapittel ', - 'chapter_move_notification' => 'Chapter successfully moved', + 'chapter_move_notification' => 'Kapitelet ble flyttet', // Books 'book_create' => 'opprettet bok', @@ -51,28 +51,31 @@ return [ 'bookshelf_delete_notification' => 'Hyllen ble slettet', // Revisions - 'revision_restore' => 'restored revision', - 'revision_delete' => 'deleted revision', - 'revision_delete_notification' => 'Revision successfully deleted', + 'revision_restore' => 'gjenopprettet revisjon', + 'revision_delete' => 'slettet revisjon', + 'revision_delete_notification' => 'Revisjon slettet', // Favourites 'favourite_add_notification' => '«:name» ble lagt til i dine favoritter', 'favourite_remove_notification' => '«:name» ble fjernet fra dine favoritter', + // Watching + 'watch_update_level_notification' => 'Overvåkingsinnstillingene ble oppdatert', + // Auth - 'auth_login' => 'logged in', - 'auth_register' => 'registered as new user', - 'auth_password_reset_request' => 'requested user password reset', - 'auth_password_reset_update' => 'reset user password', - 'mfa_setup_method' => 'configured MFA method', + 'auth_login' => 'logget inn', + 'auth_register' => 'registrert som ny bruker', + 'auth_password_reset_request' => 'etterspurt tilbakestilling av passord', + 'auth_password_reset_update' => 'tilbakestill bruker passord', + 'mfa_setup_method' => 'konfigurert MFA-metode', 'mfa_setup_method_notification' => 'Flerfaktor-metoden ble konfigurert', - 'mfa_remove_method' => 'removed MFA method', + 'mfa_remove_method' => 'fjernet MFA-metode', 'mfa_remove_method_notification' => 'Flerfaktor-metoden ble fjernet', // Settings - 'settings_update' => 'updated settings', - 'settings_update_notification' => 'Settings successfully updated', - 'maintenance_action_run' => 'ran maintenance action', + 'settings_update' => 'oppdaterte innstillinger', + 'settings_update_notification' => 'Innstillingene er oppdatert', + 'maintenance_action_run' => 'kjørte vedlikeholdshandling', // Webhooks 'webhook_create' => 'opprettet webhook', @@ -83,35 +86,40 @@ return [ 'webhook_delete_notification' => 'Webhook ble slettet', // Users - 'user_create' => 'created user', - 'user_create_notification' => 'User successfully created', - 'user_update' => 'updated user', + 'user_create' => 'opprettet bruker', + 'user_create_notification' => 'Bruker ble opprettet', + 'user_update' => 'oppdatert bruker', 'user_update_notification' => 'Brukeren ble oppdatert', - 'user_delete' => 'deleted user', + 'user_delete' => 'slettet bruker', 'user_delete_notification' => 'Brukeren ble fjernet', // API Tokens - 'api_token_create' => 'created api token', - 'api_token_create_notification' => 'API token successfully created', - 'api_token_update' => 'updated api token', - 'api_token_update_notification' => 'API token successfully updated', - 'api_token_delete' => 'deleted api token', - 'api_token_delete_notification' => 'API token successfully deleted', + 'api_token_create' => 'opprettet api token', + 'api_token_create_notification' => 'API-token er opprettet', + 'api_token_update' => 'oppdatert api token', + 'api_token_update_notification' => 'API-token oppdatert', + 'api_token_delete' => 'slettet api token', + 'api_token_delete_notification' => 'API-token ble slettet', // Roles - 'role_create' => 'created role', + 'role_create' => 'opprettet rolle', 'role_create_notification' => 'Rollen ble opprettet', - 'role_update' => 'updated role', + 'role_update' => 'oppdatert rolle', 'role_update_notification' => 'Rollen ble oppdatert', - 'role_delete' => 'deleted role', + 'role_delete' => 'slettet rolle', 'role_delete_notification' => 'Rollen ble fjernet', // Recycle Bin - 'recycle_bin_empty' => 'emptied recycle bin', - 'recycle_bin_restore' => 'restored from recycle bin', - 'recycle_bin_destroy' => 'removed from recycle bin', + 'recycle_bin_empty' => 'tømt resirkulering bin', + 'recycle_bin_restore' => 'gjenopprettet fra papirkurven', + 'recycle_bin_destroy' => 'fjernet fra papirkurven', + + // Comments + 'commented_on' => 'kommenterte på', + 'comment_create' => 'lagt til kommentar', + 'comment_update' => 'oppdatert kommentar', + 'comment_delete' => 'slettet kommentar', // Other - 'commented_on' => 'kommenterte på', 'permissions_update' => 'oppdaterte tilganger', ]; diff --git a/lang/nb/common.php b/lang/nb/common.php index 93495a354..b6b378efb 100644 --- a/lang/nb/common.php +++ b/lang/nb/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Fjern', 'add' => 'Legg til', 'configure' => 'Konfigurer', + 'manage' => 'Administrer', 'fullscreen' => 'Fullskjerm', 'favourite' => 'Favorisér', 'unfavourite' => 'Avfavorisér', diff --git a/lang/nb/entities.php b/lang/nb/entities.php index 4906411dc..74e39fff7 100644 --- a/lang/nb/entities.php +++ b/lang/nb/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Oppdaterte hyllerettigheter', 'shelves_permissions_active' => 'Aktiverte hyllerettigheter', 'shelves_permissions_cascade_warning' => 'Rettigheter på en hylle blir ikke automatisk arvet av bøker på hylla. Dette er fordi en bok kan finnes på flere hyller samtidig. Rettigheter kan likevel kopieres til bøker på hylla ved å bruke alternativene under.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'Bokhylle-tillatelser brukes kun for kopiering av tillatelser til under-bøker ved hjelp av handlingen nedenfor. De kontrollerer ikke muligheten til å lage bøker.', 'shelves_copy_permissions_to_books' => 'Kopier tilganger til bøkene på hylla', 'shelves_copy_permissions' => 'Kopier tilganger', 'shelves_copy_permissions_explain' => 'Dette vil kopiere rettighetene på denne hylla til alle bøkene som er plassert på den. Før du starter kopieringen bør du sjekke at rettighetene på hylla er lagret først.', @@ -214,7 +214,7 @@ return [ 'pages_editing_page' => 'Redigerer side', 'pages_edit_draft_save_at' => 'Sist lagret ', 'pages_edit_delete_draft' => 'Slett utkast', - 'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.', + 'pages_edit_delete_draft_confirm' => 'Er du sikker på at du vil slette utkastendringer i utkastet? Alle dine endringer, siden siste lagring vil gå tapt, og editoren vil bli oppdatert med den siste siden uten utkast til lagring.', 'pages_edit_discard_draft' => 'Tilbakestill endring', 'pages_edit_switch_to_markdown' => 'Bytt til Markdown tekstredigering', 'pages_edit_switch_to_markdown_clean' => '(Renset innhold)', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Sett inn tegning', 'pages_md_show_preview' => 'Forhåndsvisning', 'pages_md_sync_scroll' => 'Synkroniser forhåndsvisningsrulle', + 'pages_drawing_unsaved' => 'Ulagret tegning funnet', + 'pages_drawing_unsaved_confirm' => 'Ulagret tegningsdata ble funnet fra en tidligere mislykket lagring. Vil du gjenopprette og fortsette å redigere denne ulagrede tegningen?', 'pages_not_in_chapter' => 'Siden tilhører ingen kapittel', 'pages_move' => 'Flytt side', 'pages_copy' => 'Kopiér side', @@ -287,8 +289,8 @@ return [ 'time_b' => 'i løpet av de siste :minCount minuttene', 'message' => ':start :time. Prøv å ikke overskriv hverandres endringer!', ], - 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content', - 'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content', + 'pages_draft_discarded' => 'Utkastet er forkastet! Redigeringsprogrammet er oppdatert med gjeldende sideinnhold', + 'pages_draft_deleted' => 'Utkast slettet! Redigeringsprogrammet er oppdatert med gjeldende sideinnhold', 'pages_specific' => 'Bestemt side', 'pages_is_template' => 'Sidemal', @@ -366,13 +368,13 @@ return [ 'comment_new' => 'Ny kommentar', 'comment_created' => 'kommenterte :createDiff', 'comment_updated' => 'Oppdatert :updateDiff av :username', - 'comment_updated_indicator' => 'Updated', + 'comment_updated_indicator' => 'Oppdatert', 'comment_deleted_success' => 'Kommentar fjernet', 'comment_created_success' => 'Kommentar skrevet', 'comment_updated_success' => 'Kommentar endret', 'comment_delete_confirm' => 'Er du sikker på at du vil fjerne kommentaren?', 'comment_in_reply_to' => 'Som svar til :commentId', - 'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.', + 'comment_editor_explain' => 'Her er kommentarene som er på denne siden. Kommentarer kan legges til og administreres når du ser på den lagrede siden.', // Revision 'revision_delete_confirm' => 'Vil du slette revisjonen?', @@ -403,4 +405,28 @@ return [ 'references' => 'Referanser', 'references_none' => 'Det er ingen sporede referanser til dette elementet.', 'references_to_desc' => 'Nedenfor vises alle de kjente sidene i systemet som lenker til denne oppføringen.', + + // Watch Options + 'watch' => 'Overvåk', + 'watch_title_default' => 'Standardinnstillinger', + 'watch_desc_default' => 'Bytt til dine standardinnstilleringer for varsling.', + 'watch_title_ignore' => 'Ignorer', + 'watch_desc_ignore' => 'Ignorer alle varslinger, inkludert de fra preferanser for brukernivå.', + 'watch_title_new' => 'Nye sider', + 'watch_desc_new' => 'Varsle når en ny side er opprettet innenfor dette elementet.', + 'watch_title_updates' => 'Alle sideoppdateringer', + 'watch_desc_updates' => 'Varsle på alle nye sider og endringer av siden.', + 'watch_desc_updates_page' => 'Varsle ved alle sideendringer.', + 'watch_title_comments' => 'Alle sideoppdateringer og kommentarer', + 'watch_desc_comments' => 'Varsle om alle nye sider, endringer på side og nye kommentarer.', + 'watch_desc_comments_page' => 'Varsle ved sideendringer og nye kommentarer.', + 'watch_change_default' => 'Endre standard varslingsinnstillinger', + 'watch_detail_ignore' => 'Ignorerer varsler', + 'watch_detail_new' => 'Varsling for nye sider', + 'watch_detail_updates' => 'Varsling for nye sider og oppdateringer', + 'watch_detail_comments' => 'Varsling for nye sider, oppdateringer og kommentarer', + 'watch_detail_parent_book' => 'Overvåker via overordnet bok', + 'watch_detail_parent_book_ignore' => 'Ignorerer via overordnet bok', + 'watch_detail_parent_chapter' => 'Overvåker via overordnet kapittel', + 'watch_detail_parent_chapter_ignore' => 'Ignorerer via overordnet kapittel', ]; diff --git a/lang/nb/errors.php b/lang/nb/errors.php index 09a34a298..ff7ecc0c4 100644 --- a/lang/nb/errors.php +++ b/lang/nb/errors.php @@ -58,7 +58,7 @@ return [ // Pages 'page_draft_autosave_fail' => 'Kunne ikke lagre utkastet, forsikre deg om at du er tilkoblet tjeneren (Har du nettilgang?)', - 'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content', + 'page_draft_delete_fail' => 'Kunne ikke slette sideutkast og hente gjeldende side lagret innhold', 'page_custom_home_deletion' => 'Kan ikke slette en side som er satt som forside.', // Entities @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Feil kastet når du sendte en test-e-post:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/nb/notifications.php b/lang/nb/notifications.php new file mode 100644 index 000000000..78aad7181 --- /dev/null +++ b/lang/nb/notifications.php @@ -0,0 +1,26 @@ + 'Ny kommentar på siden: :pageName', + 'new_comment_intro' => 'En bruker har kommentert en side i :appName:', + 'new_page_subject' => 'Ny side: :pageName', + 'new_page_intro' => 'En ny side er opprettet i :appName:', + 'updated_page_subject' => 'Oppdatert side: :pageName', + 'updated_page_intro' => 'En side er oppdatert i :appName:', + 'updated_page_debounce' => 'For å forhindre mange varslinger, vil du ikke få nye varslinger for endringer på denne siden fra samme forfatter.', + + 'detail_page_name' => 'Sidenavn:', + 'detail_commenter' => 'Kommentar fra:', + 'detail_comment' => 'Kommentar:', + 'detail_created_by' => 'Opprettet av:', + 'detail_updated_by' => 'Oppdatert av:', + + 'action_view_comment' => 'Vis kommentar', + 'action_view_page' => 'Se side', + + 'footer_reason' => 'Denne meldingen ble sendt til deg fordi :link dekker denne typen aktivitet for dette elementet.', + 'footer_reason_link' => 'dine varslingsinnstillinger', +]; diff --git a/lang/nb/preferences.php b/lang/nb/preferences.php index bc066d035..16fd8cbd0 100644 --- a/lang/nb/preferences.php +++ b/lang/nb/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Innstillinger', + 'shortcuts' => 'Snarveier', 'shortcuts_interface' => 'Grensesnitt hurtigtaster', 'shortcuts_toggle_desc' => 'Her kan du aktivere eller deaktivere snarveier for tastatur system som brukes til navigasjon og handlinger.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Lagre snarveier', 'shortcuts_overlay_desc' => 'Merk: Når snarveier er aktivert er et hjelperoverlegg tilgjengelig via å trykke "?" som vil fremheve de tilgjengelige snarveiene som for øyeblikket er synlige på skjermen.', 'shortcuts_update_success' => 'Snarvei innstillinger er oppdatert!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Behandle tastatursnarveier du kan bruke for å navigere i systembrukergrensesnittet.', + + 'notifications' => 'Innstillinger for varsling', + 'notifications_desc' => 'Kontroller e-postvarslene du mottar når en bestemt aktivitet utføres i systemet.', + 'notifications_opt_own_page_changes' => 'Varsle ved endringer til sider jeg eier', + 'notifications_opt_own_page_comments' => 'Varsle om kommentarer på sider jeg eier', + 'notifications_opt_comment_replies' => 'Varsle ved svar på mine kommentarer', + 'notifications_save' => 'Lagre innstillinger', + 'notifications_update_success' => 'Varslingsinnstillingene er oppdatert!', + 'notifications_watched' => 'Overvåka & ignorerte elementer', + 'notifications_watched_desc' => ' Nedenfor er elementene som har egendefinerte varslingsinnstillinger i bruk. For å oppdatere innstillingene for disse, se elementet, finn varslingsalternativene i sidepanelet.', + + 'profile_overview_desc' => ' Behandle brukerprofildetaljene dine, inkludert foretrukne språk og autentiseringsalternativer.', +]; diff --git a/lang/nb/settings.php b/lang/nb/settings.php index d4d8b1803..73ee7c607 100644 --- a/lang/nb/settings.php +++ b/lang/nb/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Behandle applikasjonsinnstillinger', 'role_export_content' => 'Eksporter innhold', 'role_editor_change' => 'Endre sideredigering', + 'role_notifications' => 'Motta og administrere varslinger', 'role_asset' => 'Eiendomstillatelser', 'roles_system_warning' => 'Vær oppmerksom på at tilgang til noen av de ovennevnte tre tillatelsene kan tillate en bruker å endre sine egne rettigheter eller rettighetene til andre i systemet. Bare tildel roller med disse tillatelsene til pålitelige brukere.', 'role_asset_desc' => 'Disse tillatelsene kontrollerer standard tilgang til eiendelene i systemet. Tillatelser til bøker, kapitler og sider overstyrer disse tillatelsene.', diff --git a/lang/nl/activities.php b/lang/nl/activities.php index 2eedd43d2..2051a5051 100644 --- a/lang/nl/activities.php +++ b/lang/nl/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" is toegevoegd aan je favorieten', 'favourite_remove_notification' => '":name" is verwijderd uit je favorieten', + // Watching + 'watch_update_level_notification' => 'Kijkvoorkeuren succesvol aangepast', + // Auth 'auth_login' => 'heeft ingelogd', 'auth_register' => 'geregistreerd als nieuwe gebruiker', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'is van prullenbak hersteld', 'recycle_bin_destroy' => 'is van prullenbak verwijderd', - // Other + // Comments 'commented_on' => 'reageerde op', + 'comment_create' => 'heeft opmerking toegevoegd', + 'comment_update' => 'heeft opmerking aangepast', + 'comment_delete' => 'heeft opmerking verwijderd', + + // Other 'permissions_update' => 'wijzigde machtigingen', ]; diff --git a/lang/nl/common.php b/lang/nl/common.php index 8f43f363a..2d310545e 100644 --- a/lang/nl/common.php +++ b/lang/nl/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Verwijder', 'add' => 'Voeg toe', 'configure' => 'Configureer', + 'manage' => 'Beheer', 'fullscreen' => 'Volledig scherm', 'favourite' => 'Favoriet', 'unfavourite' => 'Verwijderen als favoriet', diff --git a/lang/nl/entities.php b/lang/nl/entities.php index 7c35d838f..6f09b8ce3 100644 --- a/lang/nl/entities.php +++ b/lang/nl/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Boekenplank Machtigingen Bijgewerkt', 'shelves_permissions_active' => 'Machtigingen op Boekenplank Actief', 'shelves_permissions_cascade_warning' => 'De ingestelde machtigingen op deze boekenplank worden niet automatisch toegepast op de boeken van deze boekenplank. Dit is omdat een boek toegekend kan worden op meerdere boekenplanken. De machtigingen van deze boekenplank kunnen echter wel gekopieerd worden naar de boeken van deze boekenplank via de optie hieronder.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => '\'Maak boekenplank\' machtigingen worden enkel gebruikt om machtigingen te kopiëren naar boeken binnenin een boekenplank door gebruik te maken van onderstaande actie. Deze machtigingen laten niet toe om een nieuw boek aan te maken.', 'shelves_copy_permissions_to_books' => 'Kopieer Machtigingen naar Boeken', 'shelves_copy_permissions' => 'Kopieer Machtigingen', 'shelves_copy_permissions_explain' => 'Met deze actie worden de machtigingen van deze boekenplank gekopieërd naar alle boeken van deze boekenplank. Voor je deze actie uitvoert, moet je ervoor zorgen dat alle wijzigingen in de machtigingen van deze boekenplank zijn opgeslagen.', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Tekening invoegen', 'pages_md_show_preview' => 'Toon preview', 'pages_md_sync_scroll' => 'Synchroniseer preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Deze pagina staat niet in een hoofdstuk', 'pages_move' => 'Pagina verplaatsten', 'pages_copy' => 'Pagina kopiëren', @@ -403,4 +405,28 @@ return [ 'references' => 'Verwijzingen', 'references_none' => 'Er zijn geen verwijzingen naar dit artikel bijgehouden.', 'references_to_desc' => 'Hieronder staan alle gekende pagina\'s in het systeem die naar dit item linken.', + + // Watch Options + 'watch' => 'Kijk', + 'watch_title_default' => 'Standaard Voorkeuren', + 'watch_desc_default' => 'Terugkeren naar alleen je standaardvoorkeuren voor meldingen.', + 'watch_title_ignore' => 'Negeer', + 'watch_desc_ignore' => 'Negeer alle meldingen, inclusief die van voorkeuren op gebruikersniveau.', + 'watch_title_new' => 'Nieuwe pagina\'s', + 'watch_desc_new' => 'Geef een melding wanneer er een nieuwe pagina wordt gemaakt binnen dit item.', + 'watch_title_updates' => 'Alle pagina updates', + 'watch_desc_updates' => 'Geef een melding van alle nieuwe pagina\'s en pagina wijzigingen.', + 'watch_desc_updates_page' => 'Geef een melding van pagina wijzigingen.', + 'watch_title_comments' => 'Alle Pagina Updates & Opmerkingen', + 'watch_desc_comments' => 'Geef een melding van alle nieuwe pagina\'s, pagina wijzigingen en nieuwe opmerkingen.', + 'watch_desc_comments_page' => 'Geef een melding van pagina wijzigingen en nieuwe opmerkingen.', + 'watch_change_default' => 'Standaardvoorkeuren voor meldingen wijzigen', + 'watch_detail_ignore' => 'Meldingen negeren', + 'watch_detail_new' => 'Op de uitkijk voor nieuwe pagina\'s', + 'watch_detail_updates' => 'Op de uitkijk voor nieuwe pagina\'s en aanpassingen', + 'watch_detail_comments' => 'Op de uitkijk voor nieuwe pagina\'s, aanpassingen en opmerkingen', + 'watch_detail_parent_book' => 'Op de uitkijk via hogerliggend boek', + 'watch_detail_parent_book_ignore' => 'Aan het negeren via hogerliggend boek', + 'watch_detail_parent_chapter' => 'Op de uitkijk via hogerliggend hoofdstuk', + 'watch_detail_parent_chapter_ignore' => 'Aan het negeren via hogerliggend hoofdstuk', ]; diff --git a/lang/nl/errors.php b/lang/nl/errors.php index 5e8fa5692..79a935b26 100644 --- a/lang/nl/errors.php +++ b/lang/nl/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Fout opgetreden bij het verzenden van een test email:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/nl/notifications.php b/lang/nl/notifications.php new file mode 100644 index 000000000..9e173dff5 --- /dev/null +++ b/lang/nl/notifications.php @@ -0,0 +1,26 @@ + 'Nieuwe opmerking op pagina: :pageName', + 'new_comment_intro' => 'Een gebruiker heeft gereageerd op een pagina in :appName:', + 'new_page_subject' => 'Nieuwe pagina: :pageName', + 'new_page_intro' => 'Een nieuwe pagina is gemaakt in :appName:', + 'updated_page_subject' => 'Aangepaste pagina: :pageName', + 'updated_page_intro' => 'Een pagina werd aangepast in :appName:', + 'updated_page_debounce' => 'Om een stortvloed aan meldingen te voorkomen, zul je een tijdje geen meldingen ontvangen voor verdere bewerkingen van deze pagina door dezelfde redacteur.', + + 'detail_page_name' => 'Pagina Naam:', + 'detail_commenter' => 'Reageerder:', + 'detail_comment' => 'Opmerking:', + 'detail_created_by' => 'Gemaakt Door:', + 'detail_updated_by' => 'Aangepast Door:', + + 'action_view_comment' => 'Bekijk Opmerking', + 'action_view_page' => 'Bekijk Pagina', + + 'footer_reason' => 'Deze melding is naar u verzonden omdat :link dit type activiteit voor dit artikel dekt.', + 'footer_reason_link' => 'je meldingsvoorkeuren', +]; diff --git a/lang/nl/preferences.php b/lang/nl/preferences.php index f587e99dc..1442d3455 100644 --- a/lang/nl/preferences.php +++ b/lang/nl/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Voorkeuren', + 'shortcuts' => 'Snelkoppelingen', 'shortcuts_interface' => 'Toetsencombinaties voor de gebruikersinterface', 'shortcuts_toggle_desc' => 'Hier kunt u toetscombinaties voor de gebruikersinterface in- of uitschakelen voor navigatie en acties.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Sla Toetsencombinaties Op', 'shortcuts_overlay_desc' => 'Opmerking: Wanneer toetsencombinaties zijn ingeschakeld, is een overlay beschikbaar door op "?" te drukken, die de momenteel beschikbare toetscombinaties voor acties op het scherm markeert.', 'shortcuts_update_success' => 'Toetsencombinatievoorkeuren zijn bijgewerkt!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Beheer toetsenbordsnelkoppelingen om door de gebruikersinterface van het systeem te navigeren.', + + 'notifications' => 'Melding Voorkeuren', + 'notifications_desc' => 'Bepaal welke e-mailmeldingen je ontvangt wanneer bepaalde activiteiten in het systeem worden uitgevoerd.', + 'notifications_opt_own_page_changes' => 'Geef melding bij wijzigingen aan pagina\'s waarvan ik de eigenaar ben', + 'notifications_opt_own_page_comments' => 'Geef melding van opmerkingen op pagina\'s waarvan ik de eigenaar ben', + 'notifications_opt_comment_replies' => 'Geef melding van reacties op mijn opmerkingen', + 'notifications_save' => 'Voorkeuren opslaan', + 'notifications_update_success' => 'Voorkeuren voor meldingen zijn bijgewerkt!', + 'notifications_watched' => 'Ingestelde 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.', + + 'profile_overview_desc' => ' Beheer de details van je gebruikersprofiel, inclusief de voorkeurstaal en verificatieopties.', +]; diff --git a/lang/nl/settings.php b/lang/nl/settings.php index e66566877..915999f8e 100644 --- a/lang/nl/settings.php +++ b/lang/nl/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Beheer app instellingen', 'role_export_content' => 'Exporteer inhoud', 'role_editor_change' => 'Wijzig pagina bewerker', + 'role_notifications' => 'Meldingen ontvangen & beheren', 'role_asset' => 'Asset Machtigingen', 'roles_system_warning' => 'Wees ervan bewust dat toegang tot een van de bovengenoemde drie machtigingen een gebruiker in staat kan stellen zijn eigen machtigingen of de machtigingen van anderen in het systeem kan wijzigen. Wijs alleen rollen toe met deze machtigingen aan vertrouwde gebruikers.', 'role_asset_desc' => 'Deze machtigingen bepalen de standaard toegang tot de assets binnen het systeem. Machtigingen op boeken, hoofdstukken en pagina\'s overschrijven deze instelling.', diff --git a/lang/pl/activities.php b/lang/pl/activities.php index 1a77f93e4..3863c450f 100644 --- a/lang/pl/activities.php +++ b/lang/pl/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" został dodany do Twoich ulubionych', 'favourite_remove_notification' => '":name" został usunięty z ulubionych', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'zalogował się', 'auth_register' => 'zarejestrowany jako nowy użytkownik', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'przywrócił z kosza', 'recycle_bin_destroy' => 'usunął z kosza', - // Other + // Comments 'commented_on' => 'skomentował', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'zaktualizował uprawnienia', ]; diff --git a/lang/pl/common.php b/lang/pl/common.php index 0de5d7ebc..4f3a3386d 100644 --- a/lang/pl/common.php +++ b/lang/pl/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Usuń', 'add' => 'Dodaj', 'configure' => 'Konfiguruj', + 'manage' => 'Manage', 'fullscreen' => 'Pełny ekran', 'favourite' => 'Ulubione', 'unfavourite' => 'Usuń z ulubionych', diff --git a/lang/pl/entities.php b/lang/pl/entities.php index 557e847c2..b9db0144e 100644 --- a/lang/pl/entities.php +++ b/lang/pl/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Wstaw rysunek', 'pages_md_show_preview' => 'Pokaż podgląd', 'pages_md_sync_scroll' => 'Synchronizuj przewijanie podglądu', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Strona nie została umieszczona w rozdziale', 'pages_move' => 'Przenieś stronę', 'pages_copy' => 'Skopiuj stronę', @@ -403,4 +405,28 @@ return [ 'references' => 'Odniesienia', 'references_none' => 'Brak śledzonych odwołań do tego elementu.', 'references_to_desc' => 'Poniżej znajdują się wszystkie znane strony w systemie, które odnoszą się do tego elementu.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/pl/errors.php b/lang/pl/errors.php index 9c54a2bca..90cafbbfb 100644 --- a/lang/pl/errors.php +++ b/lang/pl/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Błąd podczas wysyłania testowej wiadomości e-mail:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/pl/notifications.php b/lang/pl/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/pl/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/pl/preferences.php b/lang/pl/preferences.php index df34b21f7..a3ffae4ef 100644 --- a/lang/pl/preferences.php +++ b/lang/pl/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Skróty', 'shortcuts_interface' => 'Interfejs Skrótów Klawiszowych', 'shortcuts_toggle_desc' => 'Tutaj możesz włączyć lub wyłączyć interfejs skrótów klawiszowych używanych do nawigacji i akcji.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Zapisz skróty', 'shortcuts_overlay_desc' => 'Uwaga: Gdy skróty są włączone, przez naciśnięcie "?" może być otworzona nakładka pomocnicza, która podświetli dostępne skróty dla akcji widocznych obecnie na ekranie.', 'shortcuts_update_success' => 'Ustawienia skrótów zostały zaktualizowane!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/pl/settings.php b/lang/pl/settings.php index f30e81a06..ea7e91d68 100644 --- a/lang/pl/settings.php +++ b/lang/pl/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Zarządzanie ustawieniami aplikacji', 'role_export_content' => 'Eksportuj zawartość', 'role_editor_change' => 'Zmień edytor strony', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Zarządzanie zasobami', 'roles_system_warning' => 'Pamiętaj, że dostęp do trzech powyższych uprawnień może pozwolić użytkownikowi na zmianę własnych uprawnień lub uprawnień innych osób w systemie. Przypisz tylko role z tymi uprawnieniami do zaufanych użytkowników.', 'role_asset_desc' => 'Te ustawienia kontrolują zarządzanie zasobami systemu. Uprawnienia książek, rozdziałów i stron nadpisują te ustawienia.', diff --git a/lang/pt/activities.php b/lang/pt/activities.php index 05e5b5fef..18645acf9 100644 --- a/lang/pt/activities.php +++ b/lang/pt/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" foi adicionado aos seus favoritos', 'favourite_remove_notification' => '":name" foi removido dos seus favoritos', + // Watching + 'watch_update_level_notification' => 'Watch preferences successfully updated', + // Auth 'auth_login' => 'sessão iniciada', 'auth_register' => 'registado como novo utilizador', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restaurado da reciclagem', 'recycle_bin_destroy' => 'removido da reciclagem', - // Other + // Comments 'commented_on' => 'comentado a', + 'comment_create' => 'added comment', + 'comment_update' => 'updated comment', + 'comment_delete' => 'deleted comment', + + // Other 'permissions_update' => 'permissões atualizadas', ]; diff --git a/lang/pt/common.php b/lang/pt/common.php index 39240a0f8..dc8582ce6 100644 --- a/lang/pt/common.php +++ b/lang/pt/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Remover', 'add' => 'Adicionar', 'configure' => 'Configurar', + 'manage' => 'Manage', 'fullscreen' => 'Ecrã completo', 'favourite' => 'Favorito', 'unfavourite' => 'Retirar Favorito', diff --git a/lang/pt/entities.php b/lang/pt/entities.php index 30e4ec35e..3cf385726 100644 --- a/lang/pt/entities.php +++ b/lang/pt/entities.php @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Inserir Desenho', 'pages_md_show_preview' => 'Mostrar pré-visualização', 'pages_md_sync_scroll' => 'Sincronizar pré-visualização', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'A página não está dentro de um capítulo', 'pages_move' => 'Mover Página', 'pages_copy' => 'Copiar Página', @@ -403,4 +405,28 @@ return [ 'references' => 'Referências', 'references_none' => 'Não há referências registadas para este item.', 'references_to_desc' => 'Abaixo estão todas as páginas conhecidas do sistema que vinculam este item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'New Pages', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'All Page Updates', + 'watch_desc_updates' => 'Notify upon all new pages and page changes.', + 'watch_desc_updates_page' => 'Notify upon all page changes.', + 'watch_title_comments' => 'All Page Updates & Comments', + 'watch_desc_comments' => 'Notify upon all new pages, page changes and new comments.', + 'watch_desc_comments_page' => 'Notify upon page changes and new comments.', + 'watch_change_default' => 'Change default notification preferences', + 'watch_detail_ignore' => 'Ignoring notifications', + 'watch_detail_new' => 'Watching for new pages', + 'watch_detail_updates' => 'Watching new pages and updates', + 'watch_detail_comments' => 'Watching new pages, updates & comments', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/pt/errors.php b/lang/pt/errors.php index f6ecceb07..c157112ab 100644 --- a/lang/pt/errors.php +++ b/lang/pt/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Erro lançado ao enviar um e-mail de teste:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/pt/notifications.php b/lang/pt/notifications.php new file mode 100644 index 000000000..5539ae9a9 --- /dev/null +++ b/lang/pt/notifications.php @@ -0,0 +1,26 @@ + 'New comment on page: :pageName', + 'new_comment_intro' => 'A user has commented on a page in :appName:', + 'new_page_subject' => 'New page: :pageName', + 'new_page_intro' => 'A new page has been created in :appName:', + 'updated_page_subject' => 'Updated page: :pageName', + '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:', + 'detail_commenter' => 'Commenter:', + 'detail_comment' => 'Comment:', + 'detail_created_by' => 'Created By:', + 'detail_updated_by' => 'Updated By:', + + 'action_view_comment' => 'View Comment', + 'action_view_page' => 'View Page', + + 'footer_reason' => 'This notification was sent to you because :link cover this type of activity for this item.', + 'footer_reason_link' => 'your notification preferences', +]; diff --git a/lang/pt/preferences.php b/lang/pt/preferences.php index 4784aefe9..e0c1d9c78 100644 --- a/lang/pt/preferences.php +++ b/lang/pt/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferences', + 'shortcuts' => 'Atalhos', 'shortcuts_interface' => 'Atalhos de Teclado', 'shortcuts_toggle_desc' => 'Aqui pode ativar ou desativar os atalhos de teclado do sistema, usados para navegação e ações.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Salvar Atalhos', 'shortcuts_overlay_desc' => 'Nota: Quando os atalhos estão ativados, um balão de ajuda ficará disponível pressionando "?" destacando os atalhos disponíveis para ações atualmente visíveis na tela.', 'shortcuts_update_success' => 'As suas preferências de atalhos foram guardadas!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Manage keyboard shortcuts you can use to navigate the system user interface.', + + 'notifications' => 'Notification Preferences', + 'notifications_desc' => 'Control the email notifications you receive when certain activity is performed within the system.', + 'notifications_opt_own_page_changes' => 'Notify upon changes to pages I own', + 'notifications_opt_own_page_comments' => 'Notify upon comments on pages I own', + '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.', +]; diff --git a/lang/pt/settings.php b/lang/pt/settings.php index aab5664b2..1ce3751ac 100644 --- a/lang/pt/settings.php +++ b/lang/pt/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Gerir as configurações da aplicação', 'role_export_content' => 'Exportar conteúdo', 'role_editor_change' => 'Alterar editor de página', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Permissões de Ativos', 'roles_system_warning' => 'Esteja ciente de que o acesso a qualquer uma das três permissões acima pode permitir que um utilizador altere os seus próprios privilégios ou privilégios de outros no sistema. Apenas atribua cargos com essas permissões a utilizadores de confiança.', 'role_asset_desc' => 'Estas permissões controlam o acesso padrão para os ativos dentro do sistema. Permissões em Livros, Capítulos e Páginas serão sobrescritas por estas permissões.', diff --git a/lang/pt_BR/activities.php b/lang/pt_BR/activities.php index b06dc1430..bc87ebf5e 100644 --- a/lang/pt_BR/activities.php +++ b/lang/pt_BR/activities.php @@ -15,7 +15,7 @@ return [ 'page_restore' => 'restaurou a página', 'page_restore_notification' => 'Página restaurada com sucesso', 'page_move' => 'moveu a página', - 'page_move_notification' => 'Page successfully moved', + 'page_move_notification' => 'Página movida com sucesso', // Chapters 'chapter_create' => 'criou o capítulo', @@ -25,7 +25,7 @@ return [ 'chapter_delete' => 'excluiu o capítulo', 'chapter_delete_notification' => 'Capítulo excluída com sucesso', 'chapter_move' => 'moveu o capítulo', - 'chapter_move_notification' => 'Chapter successfully moved', + 'chapter_move_notification' => 'Capítulo excluído com sucesso', // Books 'book_create' => 'criou o livro', @@ -50,28 +50,31 @@ return [ 'bookshelf_delete_notification' => 'Prateleira excluída com sucesso', // Revisions - 'revision_restore' => 'restored revision', - 'revision_delete' => 'deleted revision', - 'revision_delete_notification' => 'Revision successfully deleted', + 'revision_restore' => 'revisão restaurada', + 'revision_delete' => 'revisão excluída', + 'revision_delete_notification' => 'Revisão excluída com sucesso', // Favourites 'favourite_add_notification' => '":name" foi adicionada aos seus favoritos', 'favourite_remove_notification' => '":name" foi removida dos seus favoritos', + // Watching + 'watch_update_level_notification' => 'Preferências de Observação atualizadas com sucesso', + // Auth - 'auth_login' => 'logged in', - 'auth_register' => 'registered as new user', - 'auth_password_reset_request' => 'requested user password reset', - 'auth_password_reset_update' => 'reset user password', - 'mfa_setup_method' => 'configured MFA method', + 'auth_login' => 'conectado', + 'auth_register' => 'registrado como novo usuário', + 'auth_password_reset_request' => 'redefinir senha do usuário solicitado', + 'auth_password_reset_update' => 'redefinir senha do usuário', + 'mfa_setup_method' => 'método MFA configurado', 'mfa_setup_method_notification' => 'Método de multi-fatores configurado com sucesso', - 'mfa_remove_method' => 'removed MFA method', + 'mfa_remove_method' => 'Método MFA removido', 'mfa_remove_method_notification' => 'Método de multi-fatores removido com sucesso', // Settings - 'settings_update' => 'updated settings', - 'settings_update_notification' => 'Settings successfully updated', - 'maintenance_action_run' => 'ran maintenance action', + 'settings_update' => 'configurações atualizadas', + 'settings_update_notification' => 'Configurações atualizadas com sucesso', + 'maintenance_action_run' => 'Ação de manutenção executada', // Webhooks 'webhook_create' => 'webhook criado', @@ -82,35 +85,40 @@ return [ 'webhook_delete_notification' => 'Webhook excluido com sucesso', // Users - 'user_create' => 'created user', - 'user_create_notification' => 'User successfully created', - 'user_update' => 'updated user', + 'user_create' => 'usuário criado', + 'user_create_notification' => 'Usuário criado com sucesso', + 'user_update' => 'usuário atualizado', 'user_update_notification' => 'Usuário atualizado com sucesso', - 'user_delete' => 'deleted user', + 'user_delete' => 'usuário excluído', 'user_delete_notification' => 'Usuário removido com sucesso', // API Tokens - 'api_token_create' => 'created api token', - 'api_token_create_notification' => 'API token successfully created', - 'api_token_update' => 'updated api token', - 'api_token_update_notification' => 'API token successfully updated', - 'api_token_delete' => 'deleted api token', - 'api_token_delete_notification' => 'API token successfully deleted', + 'api_token_create' => 'token de api criado', + 'api_token_create_notification' => 'Token de API criado com sucesso', + 'api_token_update' => 'token de API atualizado', + 'api_token_update_notification' => 'Token de API atualizado com sucesso', + 'api_token_delete' => 'token de api excluído', + 'api_token_delete_notification' => 'Token de API excluído com sucesso', // Roles - 'role_create' => 'created role', + 'role_create' => 'função criada', 'role_create_notification' => 'Perfil criado com sucesso', - 'role_update' => 'updated role', + 'role_update' => 'função atualizada', 'role_update_notification' => 'Perfil atualizado com sucesso', - 'role_delete' => 'deleted role', + 'role_delete' => 'Excluir papel', 'role_delete_notification' => 'Perfil excluído com sucesso', // Recycle Bin - 'recycle_bin_empty' => 'emptied recycle bin', - 'recycle_bin_restore' => 'restored from recycle bin', - 'recycle_bin_destroy' => 'removed from recycle bin', + 'recycle_bin_empty' => 'lixeira esvaziada', + 'recycle_bin_restore' => 'restaurado da lixeira', + 'recycle_bin_destroy' => 'removido da lixeira', + + // Comments + 'commented_on' => 'comentou em', + 'comment_create' => 'Adicionou comentário', + 'comment_update' => 'Atualizar descrição', + 'comment_delete' => 'Comentário deletado', // Other - 'commented_on' => 'comentou em', 'permissions_update' => 'atualizou permissões', ]; diff --git a/lang/pt_BR/common.php b/lang/pt_BR/common.php index 08f40e55e..7ab570580 100644 --- a/lang/pt_BR/common.php +++ b/lang/pt_BR/common.php @@ -6,7 +6,7 @@ return [ // Buttons 'cancel' => 'Cancelar', - 'close' => 'Close', + 'close' => 'Fechar', 'confirm' => 'Confirmar', 'back' => 'Voltar', 'save' => 'Salvar', @@ -42,6 +42,7 @@ return [ 'remove' => 'Remover', 'add' => 'Adicionar', 'configure' => 'Configurar', + 'manage' => 'Administrar', 'fullscreen' => 'Tela cheia', 'favourite' => 'Favoritos', 'unfavourite' => 'Remover dos Favoritos', diff --git a/lang/pt_BR/components.php b/lang/pt_BR/components.php index fbd83bce8..d91adf268 100644 --- a/lang/pt_BR/components.php +++ b/lang/pt_BR/components.php @@ -6,8 +6,8 @@ return [ // Image Manager 'image_select' => 'Selecionar Imagem', - 'image_list' => 'Image List', - 'image_details' => 'Image Details', + 'image_list' => 'Lista de imagens', + 'image_details' => 'Detalhes da Imagem', 'image_upload' => 'Fazer upload de imagem', 'image_intro' => 'Aqui você pode selecionar e gerenciar imagens que foram previamente enviadas para o sistema.', 'image_intro_upload' => 'Faça upload de uma imagem arrastando um arquivo de imagem para esta janela, ou usando o botão "Fazer upload de imagem" acima.', @@ -17,9 +17,9 @@ return [ 'image_page_title' => 'visualizar imagens relacionadas a essa página', 'image_search_hint' => 'Pesquisar imagem por nome', 'image_uploaded' => 'Adicionada em :uploadedDate', - 'image_uploaded_by' => 'Uploaded by :userName', - 'image_uploaded_to' => 'Uploaded to :pageLink', - 'image_updated' => 'Updated :updateDate', + 'image_uploaded_by' => 'Enviado por :userName', + 'image_uploaded_to' => 'Enviado para :pageLink', + 'image_updated' => 'Atualizou :updateDate', 'image_load_more' => 'Carregar Mais', 'image_image_name' => 'Nome da Imagem', 'image_delete_used' => 'Essa imagem é usada nas páginas abaixo.', @@ -32,8 +32,8 @@ return [ 'image_upload_success' => 'Upload de imagem efetuado com sucesso', 'image_update_success' => 'Detalhes da imagem atualizados com sucesso', 'image_delete_success' => 'Imagem excluída com sucesso', - 'image_replace' => 'Replace Image', - 'image_replace_success' => 'Image file successfully updated', + 'image_replace' => 'Substituir imagem', + 'image_replace_success' => 'Arquivo de imagem atualizado com sucesso', // Code Editor 'code_editor' => 'Editar Código', diff --git a/lang/pt_BR/entities.php b/lang/pt_BR/entities.php index 5d3c47c19..4498cd2bd 100644 --- a/lang/pt_BR/entities.php +++ b/lang/pt_BR/entities.php @@ -106,7 +106,7 @@ return [ 'shelves_permissions_updated' => 'Permissões de prateleira atualizadas', 'shelves_permissions_active' => 'Permissões de prateleira ativas', 'shelves_permissions_cascade_warning' => 'As permissões nas prateleiras não são automaticamente em cascata para os livros contidos. Isso ocorre porque um livro pode existir em várias prateleiras. No entanto, as permissões podem ser copiadas para livros filhos usando a opção encontrada abaixo.', - 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', + 'shelves_permissions_create' => 'As permissões de criação de prateleira são usadas apenas para copiar livros filhos usando a ação abaixo. Eles não controlam a capacidade de criar livros.', 'shelves_copy_permissions_to_books' => 'Copiar Permissões para Livros', 'shelves_copy_permissions' => 'Copiar Permissões', 'shelves_copy_permissions_explain' => 'Isso aplicará as configurações de permissão atuais desta estante a todos os livros contidos nela. Antes de ativar, verifique se todas as alterações nas permissões desta prateleira foram salvas.', @@ -214,7 +214,7 @@ return [ 'pages_editing_page' => 'Editando Página', 'pages_edit_draft_save_at' => 'Rascunho salvo em ', 'pages_edit_delete_draft' => 'Excluir Rascunho', - 'pages_edit_delete_draft_confirm' => 'Are you sure you want to delete your draft page changes? All of your changes, since the last full save, will be lost and the editor will be updated with the latest page non-draft save state.', + 'pages_edit_delete_draft_confirm' => 'Tem certeza que deseja excluir as alterações nas páginas de rascunho? Todas as suas alterações, desde o último salvamento completo, serão perdidas e o editor será atualizado com o último estado de salvamento da página.', 'pages_edit_discard_draft' => 'Descartar Rascunho', 'pages_edit_switch_to_markdown' => 'Alternar para o Editor de Markdown', 'pages_edit_switch_to_markdown_clean' => '(Conteúdo Limpo)', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Inserir Desenho', 'pages_md_show_preview' => 'Mostrar pré-visualização', 'pages_md_sync_scroll' => 'Sincronizar pré-visualização', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Página não está dentro de um capítulo', 'pages_move' => 'Mover Página', 'pages_copy' => 'Copiar Página', @@ -266,13 +268,13 @@ return [ 'pages_revisions_restore' => 'Restaurar', 'pages_revisions_none' => 'Essa página não tem revisões', 'pages_copy_link' => 'Copiar Link', - 'pages_edit_content_link' => 'Jump to section in editor', - 'pages_pointer_enter_mode' => 'Enter section select mode', - 'pages_pointer_label' => 'Page Section Options', - 'pages_pointer_permalink' => 'Page Section Permalink', - 'pages_pointer_include_tag' => 'Page Section Include Tag', - 'pages_pointer_toggle_link' => 'Permalink mode, Press to show include tag', - 'pages_pointer_toggle_include' => 'Include tag mode, Press to show permalink', + 'pages_edit_content_link' => 'Ir para a seção do editor', + 'pages_pointer_enter_mode' => 'Entrar em modo de seleção de seção', + 'pages_pointer_label' => 'Opções de Seção de Página', + 'pages_pointer_permalink' => 'Seção de Página Permalink', + 'pages_pointer_include_tag' => 'Seção de Página Incluir Tag', + 'pages_pointer_toggle_link' => 'Modo permalink, pressione para mostrar a tag incluída', + 'pages_pointer_toggle_include' => 'Incluir o modo tag, pressione para mostrar permalink', 'pages_permissions_active' => 'Permissões de Página Ativas', 'pages_initial_revision' => 'Publicação Inicial', 'pages_references_update_revision' => 'Atualização automática do sistema de links internos', @@ -287,8 +289,8 @@ return [ 'time_b' => 'nos últimos :minCount minutos', 'message' => ':start :time. Tome cuidado para não sobrescrever atualizações de outras pessoas!', ], - 'pages_draft_discarded' => 'Draft discarded! The editor has been updated with the current page content', - 'pages_draft_deleted' => 'Draft deleted! The editor has been updated with the current page content', + 'pages_draft_discarded' => 'Rascunho descartado! O editor foi atualizado com o conteúdo da página atual', + 'pages_draft_deleted' => 'Rascunho excluído! O editor foi atualizado com o conteúdo da página atual', 'pages_specific' => 'Página Específica', 'pages_is_template' => 'Modelo de Página', @@ -366,13 +368,13 @@ return [ 'comment_new' => 'Novo Comentário', 'comment_created' => 'comentado :createDiff', 'comment_updated' => 'Editado :updateDiff por :username', - 'comment_updated_indicator' => 'Updated', + 'comment_updated_indicator' => 'Atualizado', 'comment_deleted_success' => 'Comentário removido', 'comment_created_success' => 'Comentário adicionado', 'comment_updated_success' => 'Comentário editado', 'comment_delete_confirm' => 'Você tem certeza de que deseja excluir este comentário?', 'comment_in_reply_to' => 'Em resposta à :commentId', - 'comment_editor_explain' => 'Here are the comments that have been left on this page. Comments can be added & managed when viewing the saved page.', + 'comment_editor_explain' => 'Aqui estão os comentários que foram deixados nesta página. Comentários podem ser adicionados e gerenciados ao visualizar a página salva.', // Revision 'revision_delete_confirm' => 'Tem certeza de que deseja excluir esta revisão?', @@ -403,4 +405,28 @@ return [ 'references' => 'Referências', 'references_none' => 'Não há referências rastreadas para este item.', 'references_to_desc' => 'Abaixo estão todas as páginas conhecidas no sistema que vinculam a este item.', + + // Watch Options + 'watch' => 'Acompanhar', + 'watch_title_default' => 'Preferências padrão', + 'watch_desc_default' => 'Reverter o acompanhamento apenas para suas preferências de notificação padrão.', + 'watch_title_ignore' => 'Ignorar', + 'watch_desc_ignore' => 'Ignorar todas as notificações, incluindo as de preferências de nível de usuário.', + 'watch_title_new' => 'Novas Páginas', + 'watch_desc_new' => 'Notificar quando qualquer nova página for criada dentro deste item.', + 'watch_title_updates' => 'Todas as atualizações da página', + 'watch_desc_updates' => 'Notificar sobre todas as novas páginas e alterações na página.', + 'watch_desc_updates_page' => 'Notificar sobre todas as alterações da página.', + 'watch_title_comments' => 'Todas as atualizações e comentários da página', + 'watch_desc_comments' => 'Notificar sobre todas as novas páginas, alterações de página e novos comentários.', + 'watch_desc_comments_page' => 'Notificar sobre alterações na página e novos comentários.', + 'watch_change_default' => 'Alterar preferências padrão de notificação', + 'watch_detail_ignore' => 'Ignorando notificações', + 'watch_detail_new' => 'Acompanhando para novas páginas', + 'watch_detail_updates' => 'Acompanhando novas páginas e atualizações', + 'watch_detail_comments' => 'Acompanhando novas páginas, atualizações e comentários', + 'watch_detail_parent_book' => 'Watching via parent book', + 'watch_detail_parent_book_ignore' => 'Ignoring via parent book', + 'watch_detail_parent_chapter' => 'Watching via parent chapter', + 'watch_detail_parent_chapter_ignore' => 'Ignoring via parent chapter', ]; diff --git a/lang/pt_BR/errors.php b/lang/pt_BR/errors.php index b1fb6176d..63defbda9 100644 --- a/lang/pt_BR/errors.php +++ b/lang/pt_BR/errors.php @@ -49,7 +49,7 @@ return [ // Drawing & Images 'image_upload_error' => 'Um erro aconteceu enquanto o servidor tentava efetuar o upload da imagem', 'image_upload_type_error' => 'O tipo de imagem que está sendo enviada é inválido', - 'image_upload_replace_type' => 'Image file replacements must be of the same type', + 'image_upload_replace_type' => 'Substituições de arquivos de imagem devem ser do mesmo tipo', 'drawing_data_not_found' => 'Dados de desenho não puderam ser carregados. Talvez o arquivo de desenho não exista mais ou você não tenha permissão para acessá-lo.', // Attachments @@ -58,7 +58,7 @@ return [ // Pages 'page_draft_autosave_fail' => 'Falha ao tentar salvar o rascunho. Certifique-se que a conexão de internet está funcional antes de tentar salvar essa página', - 'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content', + 'page_draft_delete_fail' => 'Falha ao excluir o rascunho da página e buscar conteúdo salvo na página atual', 'page_custom_home_deletion' => 'Não é possível excluir uma página que está definida como página inicial', // Entities @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Erro encontrado ao enviar um e-mail de teste:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/pt_BR/notifications.php b/lang/pt_BR/notifications.php new file mode 100644 index 000000000..2c315d4f1 --- /dev/null +++ b/lang/pt_BR/notifications.php @@ -0,0 +1,26 @@ + 'Novo comentário na página: :pageName', + 'new_comment_intro' => 'Um usuário comentou em uma página de :appName:', + 'new_page_subject' => 'Nova página: :pageName', + 'new_page_intro' => 'Uma nova página foi criada em :appName:', + 'updated_page_subject' => 'Página atualizada: :pageName', + 'updated_page_intro' => 'Uma página foi atualizada em :appName:', + 'updated_page_debounce' => 'Para prevenir notificações em massa, por enquanto notificações não serão enviadas para você para próximas edições nessa página pelo mesmo editor.', + + 'detail_page_name' => 'Nome da Página:', + 'detail_commenter' => 'Comentador:', + 'detail_comment' => 'Comentário:', + 'detail_created_by' => 'Criado por: ', + 'detail_updated_by' => 'Atualizado por:', + + 'action_view_comment' => 'Ver Comentário', + 'action_view_page' => 'Ver Página', + + 'footer_reason' => 'Essa notificação foi enviada para você porque :link engloba esse tipo de atividade para este item.', + 'footer_reason_link' => 'suas preferências de notificação', +]; diff --git a/lang/pt_BR/preferences.php b/lang/pt_BR/preferences.php index a10e3ddab..ffcce6c8e 100644 --- a/lang/pt_BR/preferences.php +++ b/lang/pt_BR/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferências', + 'shortcuts' => 'Atalhos', 'shortcuts_interface' => 'Atalhos de Teclado da Interface', 'shortcuts_toggle_desc' => 'Aqui você pode habilitar ou desabilitar os atalhos da interface do sistema de teclado, usados para navegação e ações.', @@ -15,4 +17,17 @@ return [ 'shortcuts_save' => 'Salvar Atalhos', 'shortcuts_overlay_desc' => 'Observação: quando os atalhos estão ativados, uma sobreposição auxiliar está disponível pressionando "?" que destacará os atalhos disponíveis para ações atualmente visíveis na tela.', 'shortcuts_update_success' => 'As preferências de atalho foram atualizadas!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Gerencie os atalhos de teclado que você pode usar para navegar na interface de usuário do sistema.', + + 'notifications' => 'Preferências de notificação', + 'notifications_desc' => 'Controle as notificações por e-mail que você recebe quando uma determinada atividade é executada no sistema.', + 'notifications_opt_own_page_changes' => 'Notificar quando houver alterações em páginas que eu possuo', + 'notifications_opt_own_page_comments' => 'Notificar comentários nas páginas que eu possuo', + 'notifications_opt_comment_replies' => 'Notificar ao responder aos meus comentários', + 'notifications_save' => 'Salvar Preferências', + 'notifications_update_success' => 'Preferências de notificação foram atualizadas!', + 'notifications_watched' => 'Itens assistidos e ignorados', + 'notifications_watched_desc' => ' Abaixo estão os itens que possuem preferências de relógio personalizadas aplicadas. Para atualizar suas preferências para estes, veja o item e encontre as opções de relógio na barra lateral.', + + 'profile_overview_desc' => ' Gerencie os detalhes do seu perfil de usuário, incluindo o idioma preferido e opções de autenticação.', +]; diff --git a/lang/pt_BR/settings.php b/lang/pt_BR/settings.php index e0829c45d..de5fda7bf 100644 --- a/lang/pt_BR/settings.php +++ b/lang/pt_BR/settings.php @@ -163,6 +163,7 @@ return [ 'role_manage_settings' => 'Gerenciar configurações da aplicação', 'role_export_content' => 'Exportar conteúdo', 'role_editor_change' => 'Alterar página de edição', + 'role_notifications' => 'Receive & manage notifications', 'role_asset' => 'Permissões de Ativos', 'roles_system_warning' => 'Esteja ciente de que o acesso a qualquer uma das três permissões acima pode permitir que um usuário altere seus próprios privilégios ou privilégios de outros usuários no sistema. Apenas atribua cargos com essas permissões para usuários confiáveis.', 'role_asset_desc' => 'Essas permissões controlam o acesso padrão para os ativos dentro do sistema. Permissões em Livros, Capítulos e Páginas serão sobrescritas por essas permissões.', diff --git a/lang/ro/activities.php b/lang/ro/activities.php index 257d626c3..4caafab05 100644 --- a/lang/ro/activities.php +++ b/lang/ro/activities.php @@ -58,6 +58,9 @@ return [ 'favourite_add_notification' => '":name" a fost adăugat la favorite', 'favourite_remove_notification' => '":name" a fost eliminat din favorite', + // Watching + 'watch_update_level_notification' => 'Preferințele de urmărire actualizate cu succes', + // Auth 'auth_login' => 'autentificat', 'auth_register' => 'înregistrat ca utilizator nou', @@ -110,7 +113,12 @@ return [ 'recycle_bin_restore' => 'restaurat din coșul de gunoi', 'recycle_bin_destroy' => 'eliminat din coșul de gunoi', - // Other + // Comments 'commented_on' => 'a comentat la', + 'comment_create' => 'comentariu adăugat', + 'comment_update' => 'comentariu actualizat', + 'comment_delete' => 'comentariu șters', + + // Other 'permissions_update' => 'a actualizat permisiunile', ]; diff --git a/lang/ro/common.php b/lang/ro/common.php index 3b25eb386..142700fa7 100644 --- a/lang/ro/common.php +++ b/lang/ro/common.php @@ -42,6 +42,7 @@ return [ 'remove' => 'Elimină', 'add' => 'Adaugă', 'configure' => 'Configurează', + 'manage' => 'Gestionează', 'fullscreen' => 'Ecran complet', 'favourite' => 'Adaugă la favorite', 'unfavourite' => 'Șterge de la favorite', diff --git a/lang/ro/components.php b/lang/ro/components.php index e252078b8..27c35440b 100644 --- a/lang/ro/components.php +++ b/lang/ro/components.php @@ -10,7 +10,7 @@ return [ 'image_details' => 'Detalii imagine', 'image_upload' => 'Încarcă imaginea', 'image_intro' => 'Aici puteţi selecta şi gestiona imaginile care au fost încărcate anterior în sistem.', - 'image_intro_upload' => 'Upload a new image by dragging an image file into this window, or by using the "Upload Image" button above.', + 'image_intro_upload' => 'Încărcați o imagine nouă trăgând o imagine în această fereastră sau utilizând butonul "Încărcați Imaginea" de mai sus.', 'image_all' => 'Tot', 'image_all_title' => 'Vezi toate imaginile', 'image_book_title' => 'Vezi imaginile încărcate în această carte', diff --git a/lang/ro/entities.php b/lang/ro/entities.php index cce7cb290..ff074f93a 100644 --- a/lang/ro/entities.php +++ b/lang/ro/entities.php @@ -104,7 +104,7 @@ return [ 'shelves_delete_confirmation' => 'Are you sure you want to delete this shelf?', 'shelves_permissions' => 'Permisiuni raft', 'shelves_permissions_updated' => 'Permisiunile raftului au fost actualizate', - 'shelves_permissions_active' => 'Shelf Permissions Active', + 'shelves_permissions_active' => 'Permisiuni raft active', 'shelves_permissions_cascade_warning' => 'Permissions on shelves do not automatically cascade to contained books. This is because a book can exist on multiple shelves. Permissions can however be copied down to child books using the option found below.', 'shelves_permissions_create' => 'Shelf create permissions are only used for copying permissions to child books using the action below. They do not control the ability to create books.', 'shelves_copy_permissions_to_books' => 'Copiază permisiunile către cărți', @@ -157,9 +157,9 @@ return [ 'books_sort_move_prev_book' => 'Move to Previous Book', 'books_sort_move_next_book' => 'Move to Next Book', 'books_sort_move_prev_chapter' => 'Move Into Previous Chapter', - 'books_sort_move_next_chapter' => 'Move Into Next Chapter', - 'books_sort_move_book_start' => 'Move to Start of Book', - 'books_sort_move_book_end' => 'Move to End of Book', + 'books_sort_move_next_chapter' => 'Mergi la următorul capitol', + 'books_sort_move_book_start' => 'Sari la începutul cârtii', + 'books_sort_move_book_end' => 'Sari la sfârșitul cârtii', 'books_sort_move_before_chapter' => 'Move to Before Chapter', 'books_sort_move_after_chapter' => 'Move to After Chapter', 'books_copy' => 'Copiază cartea', @@ -239,6 +239,8 @@ return [ 'pages_md_insert_drawing' => 'Inserează desen', 'pages_md_show_preview' => 'Arată previzualizarea', 'pages_md_sync_scroll' => 'Sync preview scroll', + 'pages_drawing_unsaved' => 'Unsaved Drawing Found', + '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_not_in_chapter' => 'Pagina nu este într-un capitol', 'pages_move' => 'Mută pagina', 'pages_copy' => 'Copiază pagina', @@ -403,4 +405,28 @@ return [ 'references' => 'Referințe', 'references_none' => 'There are no tracked references to this item.', 'references_to_desc' => 'Shown below are all the known pages in the system that link to this item.', + + // Watch Options + 'watch' => 'Watch', + 'watch_title_default' => 'Default Preferences', + 'watch_desc_default' => 'Revert watching to just your default notification preferences.', + 'watch_title_ignore' => 'Ignore', + 'watch_desc_ignore' => 'Ignore all notifications, including those from user-level preferences.', + 'watch_title_new' => 'Pagina Nouă', + 'watch_desc_new' => 'Notify when any new page is created within this item.', + 'watch_title_updates' => 'Toate actualizările paginii', + 'watch_desc_updates' => 'Notifică atunci când o pagină este editată sau creată.', + 'watch_desc_updates_page' => 'Notifică la toate modificările paginii.', + 'watch_title_comments' => 'Toate actualizările și comentariile paginii', + 'watch_desc_comments' => 'Notifică la toate paginile noi, editările de pagină și comentariile noi.', + 'watch_desc_comments_page' => 'Notifică la toate paginile noi, editările de pagină și comentariile noi.', + 'watch_change_default' => 'Schimbă preferințele implicite de notificare', + 'watch_detail_ignore' => 'Se ignoră notificările', + 'watch_detail_new' => 'Urmărire pagini noi', + 'watch_detail_updates' => 'Urmărire pagini noi şi actualizări', + 'watch_detail_comments' => 'Urmărire pagini noi, actualizări și comentarii', + 'watch_detail_parent_book' => 'Se uită prin cartea părinte', + 'watch_detail_parent_book_ignore' => 'Ignorare prin intermediul cărţii părinte', + 'watch_detail_parent_chapter' => 'Urmărire prin capitolul părinte', + 'watch_detail_parent_chapter_ignore' => 'Urmărire prin capitolul părinte', ]; diff --git a/lang/ro/errors.php b/lang/ro/errors.php index da0c2dd7a..1a1020e21 100644 --- a/lang/ro/errors.php +++ b/lang/ro/errors.php @@ -111,4 +111,6 @@ return [ // Settings & Maintenance 'maintenance_test_email_failure' => 'Eroare la trimiterea unui e-mail de test:', + // HTTP errors + 'http_ssr_url_no_match' => 'The URL does not match the configured allowed SSR hosts', ]; diff --git a/lang/ro/notifications.php b/lang/ro/notifications.php new file mode 100644 index 000000000..26a901575 --- /dev/null +++ b/lang/ro/notifications.php @@ -0,0 +1,26 @@ + 'Comentariu nou pe pagina: :pageName', + 'new_comment_intro' => 'Un utilizator a comentat pe o pagină în :appName:', + 'new_page_subject' => 'Pagină nouă: :pageName', + 'new_page_intro' => 'O nouă pagină a fost creată în :appName:', + 'updated_page_subject' => 'Pagina actualizată: :pageName', + 'updated_page_intro' => 'O nouă pagină a fost creată în :appName:', + 'updated_page_debounce' => 'Pentru a preveni notificări în masă, pentru un timp nu veți primi notificări suplimentare la această pagină de către același editor.', + + 'detail_page_name' => 'Nume pagină:', + 'detail_commenter' => 'Cine a comentat:', + 'detail_comment' => 'Comentariu:', + 'detail_created_by' => 'Creat de:', + 'detail_updated_by' => 'Actualizat de:', + + 'action_view_comment' => 'Vizualizați comentariul', + 'action_view_page' => 'Vezi pagina', + + 'footer_reason' => 'Această notificare ți-a fost trimisă deoarece :link acoperă acest tip de activitate pentru acest articol.', + 'footer_reason_link' => 'preferințele dvs. de notificare', +]; diff --git a/lang/ro/preferences.php b/lang/ro/preferences.php index 6c4b0fc35..db41dbd51 100644 --- a/lang/ro/preferences.php +++ b/lang/ro/preferences.php @@ -5,6 +5,8 @@ */ return [ + 'preferences' => 'Preferințe', + 'shortcuts' => 'Scurtături', 'shortcuts_interface' => 'Comenzi rapide interfață', 'shortcuts_toggle_desc' => 'Aici puteți activa sau dezactiva scurtăturile interfeței folosite pentru navigare și acțiuni.', @@ -13,6 +15,19 @@ return [ 'shortcuts_section_navigation' => 'Navigare', 'shortcuts_section_actions' => 'Acțiuni comune', 'shortcuts_save' => 'Salvează scurtăturile', - 'shortcuts_overlay_desc' => 'Note: When shortcuts are enabled a helper overlay is available via pressing "?" which will highlight the available shortcuts for actions currently visible on the screen.', + 'shortcuts_overlay_desc' => 'Notă: Când comenzile rapide sunt activate popup de ajutor este disponibilă prin apăsarea "?" care va evidenția scurtăturile disponibile pentru acțiunile vizibile în prezent pe ecran.', 'shortcuts_update_success' => 'Preferințele dumneavoastră au fost actualizate!', -]; \ No newline at end of file + 'shortcuts_overview_desc' => 'Gestionați scurtăturile de tastatură pe care le puteți utiliza pentru a naviga prin interfața.', + + 'notifications' => 'Preferințe de notificare', + 'notifications_desc' => 'Controlați notificările prin e-mail pe care le primiți atunci când o anumită activitate este efectuată în sistem.', + 'notifications_opt_own_page_changes' => 'Notifică la comentarii pe paginile pe care le dețin', + 'notifications_opt_own_page_comments' => 'Notifică la comentarii pe paginile pe care le dețin', + 'notifications_opt_comment_replies' => 'Notifică la răspunsurile la comentariile mele', + 'notifications_save' => 'Salvează Preferințe', + 'notifications_update_success' => 'Preferințele de notificare au fost actualizate!', + 'notifications_watched' => 'Articole urmărite și ignorate', + 'notifications_watched_desc' => ' Mai jos sunt elementele care au fost aplicate preferințe personalizate. Pentru a actualiza preferințele pentru acestea, vizualizați elementul și apoi găsiți opțiunile de ceas în bara laterală.', + + 'profile_overview_desc' => ' Gestionează detaliile profilului tău de utilizator, inclusiv opțiunile preferate de limbă și autentificare.', +]; diff --git a/lang/ro/settings.php b/lang/ro/settings.php index 61d1d8e74..393baaa50 100644 --- a/lang/ro/settings.php +++ b/lang/ro/settings.php @@ -32,9 +32,9 @@ return [ 'app_custom_html_desc' => 'Orice conținut adăugat aici va fi inserat în partea de jos a secțiunii a fiecărei pagini. Acest lucru este util pentru a suprascrie stilurile sau pentru a adăuga cod analitic.', 'app_custom_html_disabled_notice' => 'Conținutul headerului HTML personalizat este dezactivat pe această pagină de setări pentru a asigura că modificările pot fi inversate.', 'app_logo' => 'Logo aplicație', - 'app_logo_desc' => 'This is used in the application header bar, among other areas. This image should be 86px in height. Large images will be scaled down.', + 'app_logo_desc' => 'Acest lucru este folosit în bara de antet a aplicației, printre alte zone. Această imagine ar trebui să fie de 86px în înălțime. Imaginile mari vor fi scalate în jos.', 'app_icon' => 'Iconiță aplicație', - 'app_icon_desc' => 'This icon is used for browser tabs and shortcut icons. This should be a 256px square PNG image.', + 'app_icon_desc' => 'Această pictogramă este utilizată pentru tab-urile din browser și pictogramele de comenzi rapide. Aceasta ar trebui să fie o imagine PNG pătrată de 256px.', 'app_homepage' => 'Pagina principală a aplicației', 'app_homepage_desc' => 'Selectează o vizualizare pentru a afișa pe prima pagină în loc de vizualizarea implicită. Permisiunile paginii sunt ignorate pentru paginile selectate.', 'app_homepage_select' => 'Selectează o pagină', @@ -48,9 +48,9 @@ return [ 'app_disable_comments_desc' => 'Dezactivează comentariile pentru toate paginile aplicației.+ {{ trans('entities.pages_drawing_unsaved_confirm') }} +
+ @endcomponent{{ trans('preferences.shortcuts_overview_desc') }}
+{{ trans('preferences.notifications_desc') }}
+{{ trans('preferences.profile_overview_desc') }}
+{{ trans('preferences.notifications_watched_desc') }}
+ + @if($watches->isEmpty()) +{{ trans('common.no_items') }}
+ @else ++
{{ $line }}
@endforeach diff --git a/routes/web.php b/routes/web.php index 74ee74a2c..c7fc92fc7 100644 --- a/routes/web.php +++ b/routes/web.php @@ -194,6 +194,9 @@ Route::middleware('auth')->group(function () { Route::post('/favourites/add', [ActivityControllers\FavouriteController::class, 'add']); Route::post('/favourites/remove', [ActivityControllers\FavouriteController::class, 'remove']); + // Watching + Route::put('/watching/update', [ActivityControllers\WatchController::class, 'update']); + // Other Pages Route::get('/', [HomeController::class, 'index']); Route::get('/home', [HomeController::class, 'index']); @@ -228,9 +231,11 @@ Route::middleware('auth')->group(function () { Route::delete('/settings/users/{id}', [UserControllers\UserController::class, 'destroy']); // User Preferences - Route::redirect('/preferences', '/'); + Route::get('/preferences', [UserControllers\UserPreferencesController::class, 'index']); Route::get('/preferences/shortcuts', [UserControllers\UserPreferencesController::class, 'showShortcuts']); Route::put('/preferences/shortcuts', [UserControllers\UserPreferencesController::class, 'updateShortcuts']); + Route::get('/preferences/notifications', [UserControllers\UserPreferencesController::class, 'showNotifications']); + Route::put('/preferences/notifications', [UserControllers\UserPreferencesController::class, 'updateNotifications']); Route::patch('/preferences/change-view/{type}', [UserControllers\UserPreferencesController::class, 'changeView']); Route::patch('/preferences/change-sort/{type}', [UserControllers\UserPreferencesController::class, 'changeSort']); Route::patch('/preferences/change-expansion/{type}', [UserControllers\UserPreferencesController::class, 'changeExpansion']); diff --git a/tests/Actions/WebhookCallTest.php b/tests/Actions/WebhookCallTest.php index fc49a524e..0746aa3a1 100644 --- a/tests/Actions/WebhookCallTest.php +++ b/tests/Actions/WebhookCallTest.php @@ -101,6 +101,20 @@ class WebhookCallTest extends TestCase $this->assertNotNull($webhook->last_errored_at); } + public function test_webhook_uses_ssr_hosts_option_if_set() + { + config()->set('app.ssr_hosts', 'https://*.example.com'); + $http = Http::fake(); + + $webhook = $this->newWebhook(['active' => true, 'endpoint' => 'https://wh.example.co.uk'], ['all']); + $this->runEvent(ActivityType::ROLE_CREATE); + $http->assertNothingSent(); + + $webhook->refresh(); + $this->assertEquals('The URL does not match the configured allowed SSR hosts', $webhook->last_error); + $this->assertNotNull($webhook->last_errored_at); + } + public function test_webhook_call_data_format() { Http::fake([ diff --git a/tests/Activity/WatchTest.php b/tests/Activity/WatchTest.php new file mode 100644 index 000000000..fd86029d3 --- /dev/null +++ b/tests/Activity/WatchTest.php @@ -0,0 +1,332 @@ +users->editor(); + $this->actingAs($editor); + + $entities = [$this->entities->book(), $this->entities->chapter(), $this->entities->page()]; + /** @var Entity $entity */ + foreach ($entities as $entity) { + $resp = $this->get($entity->getUrl()); + $this->withHtml($resp)->assertElementContains('form[action$="/watching/update"] button.icon-list-item', 'Watch'); + + $watchOptions = new UserEntityWatchOptions($editor, $entity); + $watchOptions->updateLevelByValue(WatchLevels::COMMENTS); + + $resp = $this->get($entity->getUrl()); + $this->withHtml($resp)->assertElementNotExists('form[action$="/watching/update"] button.icon-list-item'); + } + } + + public function test_watch_action_only_shows_with_permission() + { + $viewer = $this->users->viewer(); + $this->actingAs($viewer); + + $entities = [$this->entities->book(), $this->entities->chapter(), $this->entities->page()]; + /** @var Entity $entity */ + foreach ($entities as $entity) { + $resp = $this->get($entity->getUrl()); + $this->withHtml($resp)->assertElementNotExists('form[action$="/watching/update"] button.icon-list-item'); + } + + $this->permissions->grantUserRolePermissions($viewer, ['receive-notifications']); + + /** @var Entity $entity */ + foreach ($entities as $entity) { + $resp = $this->get($entity->getUrl()); + $this->withHtml($resp)->assertElementExists('form[action$="/watching/update"] button.icon-list-item'); + } + } + + public function test_watch_update() + { + $editor = $this->users->editor(); + $book = $this->entities->book(); + + $this->actingAs($editor)->get($book->getUrl()); + $resp = $this->put('/watching/update', [ + 'type' => get_class($book), + 'id' => $book->id, + 'level' => 'comments' + ]); + + $resp->assertRedirect($book->getUrl()); + $this->assertSessionHas('success'); + $this->assertDatabaseHas('watches', [ + 'watchable_id' => $book->id, + 'watchable_type' => $book->getMorphClass(), + 'user_id' => $editor->id, + 'level' => WatchLevels::COMMENTS, + ]); + + $resp = $this->put('/watching/update', [ + 'type' => get_class($book), + 'id' => $book->id, + 'level' => 'default' + ]); + $resp->assertRedirect($book->getUrl()); + $this->assertDatabaseMissing('watches', [ + 'watchable_id' => $book->id, + 'watchable_type' => $book->getMorphClass(), + 'user_id' => $editor->id, + ]); + } + + public function test_watch_update_fails_for_guest() + { + $this->setSettings(['app-public' => 'true']); + $guest = $this->users->guest(); + $this->permissions->grantUserRolePermissions($guest, ['receive-notifications']); + $book = $this->entities->book(); + + $resp = $this->put('/watching/update', [ + 'type' => get_class($book), + 'id' => $book->id, + 'level' => 'comments' + ]); + + $this->assertPermissionError($resp); + $guest->unsetRelations(); + } + + public function test_watch_detail_display_reflects_state() + { + $editor = $this->users->editor(); + $book = $this->entities->bookHasChaptersAndPages(); + $chapter = $book->chapters()->first(); + $page = $chapter->pages()->first(); + + (new UserEntityWatchOptions($editor, $book))->updateLevelByValue(WatchLevels::UPDATES); + + $this->actingAs($editor)->get($book->getUrl())->assertSee('Watching new pages and updates'); + $this->get($chapter->getUrl())->assertSee('Watching via parent book'); + $this->get($page->getUrl())->assertSee('Watching via parent book'); + + (new UserEntityWatchOptions($editor, $chapter))->updateLevelByValue(WatchLevels::COMMENTS); + $this->get($chapter->getUrl())->assertSee('Watching new pages, updates & comments'); + $this->get($page->getUrl())->assertSee('Watching via parent chapter'); + + (new UserEntityWatchOptions($editor, $page))->updateLevelByValue(WatchLevels::UPDATES); + $this->get($page->getUrl())->assertSee('Watching new pages and updates'); + } + + public function test_watch_detail_ignore_indicator_cascades() + { + $editor = $this->users->editor(); + $book = $this->entities->bookHasChaptersAndPages(); + (new UserEntityWatchOptions($editor, $book))->updateLevelByValue(WatchLevels::IGNORE); + + $this->actingAs($editor)->get($book->getUrl())->assertSee('Ignoring notifications'); + $this->get($book->chapters()->first()->getUrl())->assertSee('Ignoring via parent book'); + $this->get($book->pages()->first()->getUrl())->assertSee('Ignoring via parent book'); + } + + public function test_watch_option_menu_shows_current_active_state() + { + $editor = $this->users->editor(); + $book = $this->entities->book(); + $options = new UserEntityWatchOptions($editor, $book); + + $respHtml = $this->withHtml($this->actingAs($editor)->get($book->getUrl())); + $respHtml->assertElementNotExists('form[action$="/watching/update"] svg[data-icon="check-circle"]'); + + $options->updateLevelByValue(WatchLevels::COMMENTS); + $respHtml = $this->withHtml($this->actingAs($editor)->get($book->getUrl())); + $respHtml->assertElementExists('form[action$="/watching/update"] button[value="comments"] svg[data-icon="check-circle"]'); + + $options->updateLevelByValue(WatchLevels::IGNORE); + $respHtml = $this->withHtml($this->actingAs($editor)->get($book->getUrl())); + $respHtml->assertElementExists('form[action$="/watching/update"] button[value="ignore"] svg[data-icon="check-circle"]'); + } + + public function test_watch_option_menu_limits_options_for_pages() + { + $editor = $this->users->editor(); + $book = $this->entities->bookHasChaptersAndPages(); + (new UserEntityWatchOptions($editor, $book))->updateLevelByValue(WatchLevels::IGNORE); + + $respHtml = $this->withHtml($this->actingAs($editor)->get($book->getUrl())); + $respHtml->assertElementExists('form[action$="/watching/update"] button[name="level"][value="new"]'); + + $respHtml = $this->withHtml($this->get($book->pages()->first()->getUrl())); + $respHtml->assertElementExists('form[action$="/watching/update"] button[name="level"][value="updates"]'); + $respHtml->assertElementNotExists('form[action$="/watching/update"] button[name="level"][value="new"]'); + } + + public function test_notify_own_page_changes() + { + $editor = $this->users->editor(); + $entities = $this->entities->createChainBelongingToUser($editor); + $prefs = new UserNotificationPreferences($editor); + $prefs->updateFromSettingsArray(['own-page-changes' => 'true']); + + $notifications = Notification::fake(); + + $this->asAdmin(); + $this->entities->updatePage($entities['page'], ['name' => 'My updated page', 'html' => 'Hello']); + $notifications->assertSentTo($editor, PageUpdateNotification::class); + } + + public function test_notify_own_page_comments() + { + $editor = $this->users->editor(); + $entities = $this->entities->createChainBelongingToUser($editor); + $prefs = new UserNotificationPreferences($editor); + $prefs->updateFromSettingsArray(['own-page-comments' => 'true']); + + $notifications = Notification::fake(); + + $this->asAdmin()->post("/comment/{$entities['page']->id}", [ + 'text' => 'My new comment' + ]); + $notifications->assertSentTo($editor, CommentCreationNotification::class); + } + + public function test_notify_comment_replies() + { + $editor = $this->users->editor(); + $entities = $this->entities->createChainBelongingToUser($editor); + $prefs = new UserNotificationPreferences($editor); + $prefs->updateFromSettingsArray(['comment-replies' => 'true']); + + $notifications = Notification::fake(); + + $this->actingAs($editor)->post("/comment/{$entities['page']->id}", [ + 'text' => 'My new comment' + ]); + $comment = $entities['page']->comments()->first(); + + $this->asAdmin()->post("/comment/{$entities['page']->id}", [ + 'text' => 'My new comment response', + 'parent_id' => $comment->id, + ]); + $notifications->assertSentTo($editor, CommentCreationNotification::class); + } + + public function test_notify_watch_parent_book_ignore() + { + $editor = $this->users->editor(); + $entities = $this->entities->createChainBelongingToUser($editor); + $watches = new UserEntityWatchOptions($editor, $entities['book']); + $prefs = new UserNotificationPreferences($editor); + $watches->updateLevelByValue(WatchLevels::IGNORE); + $prefs->updateFromSettingsArray(['own-page-changes' => 'true', 'own-page-comments' => true]); + + $notifications = Notification::fake(); + + $this->asAdmin()->post("/comment/{$entities['page']->id}", [ + 'text' => 'My new comment response', + ]); + $this->entities->updatePage($entities['page'], ['name' => 'My updated page', 'html' => 'Hello']); + $notifications->assertNothingSent(); + } + + public function test_notify_watch_parent_book_comments() + { + $notifications = Notification::fake(); + $editor = $this->users->editor(); + $admin = $this->users->admin(); + $entities = $this->entities->createChainBelongingToUser($editor); + $watches = new UserEntityWatchOptions($editor, $entities['book']); + $watches->updateLevelByValue(WatchLevels::COMMENTS); + + // Comment post + $this->actingAs($admin)->post("/comment/{$entities['page']->id}", [ + 'text' => 'My new comment response', + ]); + + $notifications->assertSentTo($editor, function (CommentCreationNotification $notification) use ($editor, $admin, $entities) { + $mail = $notification->toMail($editor); + $mailContent = html_entity_decode(strip_tags($mail->render())); + return $mail->subject === 'New comment on page: ' . $entities['page']->getShortName() + && str_contains($mailContent, 'View Comment') + && str_contains($mailContent, 'Page Name: ' . $entities['page']->name) + && str_contains($mailContent, 'Commenter: ' . $admin->name) + && str_contains($mailContent, 'Comment: My new comment response'); + }); + } + + public function test_notify_watch_parent_book_updates() + { + $notifications = Notification::fake(); + $editor = $this->users->editor(); + $admin = $this->users->admin(); + $entities = $this->entities->createChainBelongingToUser($editor); + $watches = new UserEntityWatchOptions($editor, $entities['book']); + $watches->updateLevelByValue(WatchLevels::UPDATES); + + $this->actingAs($admin); + $this->entities->updatePage($entities['page'], ['name' => 'Updated page', 'html' => 'new page content']); + + $notifications->assertSentTo($editor, function (PageUpdateNotification $notification) use ($editor, $admin) { + $mail = $notification->toMail($editor); + $mailContent = html_entity_decode(strip_tags($mail->render())); + return $mail->subject === 'Updated page: Updated page' + && str_contains($mailContent, 'View Page') + && str_contains($mailContent, 'Page Name: Updated page') + && str_contains($mailContent, 'Updated By: ' . $admin->name) + && str_contains($mailContent, 'you won\'t be sent notifications for further edits to this page by the same editor'); + }); + + // Test debounce + $notifications = Notification::fake(); + $this->entities->updatePage($entities['page'], ['name' => 'Updated page', 'html' => 'new page content']); + $notifications->assertNothingSentTo($editor); + } + + public function test_notify_watch_parent_book_new() + { + $notifications = Notification::fake(); + $editor = $this->users->editor(); + $admin = $this->users->admin(); + $entities = $this->entities->createChainBelongingToUser($editor); + $watches = new UserEntityWatchOptions($editor, $entities['book']); + $watches->updateLevelByValue(WatchLevels::NEW); + + $this->actingAs($admin)->get($entities['chapter']->getUrl('/create-page')); + $page = $entities['chapter']->pages()->where('draft', '=', true)->first(); + $this->post($page->getUrl(), ['name' => 'My new page', 'html' => 'My new page content']); + + $notifications->assertSentTo($editor, function (PageCreationNotification $notification) use ($editor, $admin) { + $mail = $notification->toMail($editor); + $mailContent = html_entity_decode(strip_tags($mail->render())); + return $mail->subject === 'New page: My new page' + && str_contains($mailContent, 'View Page') + && str_contains($mailContent, 'Page Name: My new page') + && str_contains($mailContent, 'Created By: ' . $admin->name); + }); + } + + public function test_notifications_not_sent_if_lacking_view_permission_for_related_item() + { + $notifications = Notification::fake(); + $editor = $this->users->editor(); + $page = $this->entities->page(); + + $watches = new UserEntityWatchOptions($editor, $page); + $watches->updateLevelByValue(WatchLevels::COMMENTS); + $this->permissions->disableEntityInheritedPermissions($page); + + $this->asAdmin()->post("/comment/{$page->id}", [ + 'text' => 'My new comment response', + ])->assertOk(); + + $notifications->assertNothingSentTo($editor); + } +} diff --git a/tests/Api/ChaptersApiTest.php b/tests/Api/ChaptersApiTest.php index 713d8bba4..0629f3aed 100644 --- a/tests/Api/ChaptersApiTest.php +++ b/tests/Api/ChaptersApiTest.php @@ -45,6 +45,7 @@ class ChaptersApiTest extends TestCase 'value' => 'tagvalue', ], ], + 'priority' => 15, ]; $resp = $this->postJson($this->baseEndpoint, $details); @@ -137,6 +138,7 @@ class ChaptersApiTest extends TestCase 'value' => 'freshtagval', ], ], + 'priority' => 15, ]; $resp = $this->putJson($this->baseEndpoint . "/{$chapter->id}", $details); diff --git a/tests/Api/PagesApiTest.php b/tests/Api/PagesApiTest.php index 4a81f738b..0d084472d 100644 --- a/tests/Api/PagesApiTest.php +++ b/tests/Api/PagesApiTest.php @@ -45,6 +45,7 @@ class PagesApiTest extends TestCase 'value' => 'tagvalue', ], ], + 'priority' => 15, ]; $resp = $this->postJson($this->baseEndpoint, $details); @@ -207,6 +208,7 @@ class PagesApiTest extends TestCase 'value' => 'freshtagval', ], ], + 'priority' => 15, ]; $resp = $this->putJson($this->baseEndpoint . "/{$page->id}", $details); diff --git a/tests/Entity/CommentTest.php b/tests/Entity/CommentTest.php index b3e9f3cd0..0a71bb6ef 100644 --- a/tests/Entity/CommentTest.php +++ b/tests/Entity/CommentTest.php @@ -2,6 +2,7 @@ namespace Tests\Entity; +use BookStack\Activity\ActivityType; use BookStack\Activity\Models\Comment; use BookStack\Entities\Models\Page; use Tests\TestCase; @@ -29,6 +30,8 @@ class CommentTest extends TestCase 'text' => $comment->text, 'parent_id' => 2, ]); + + $this->assertActivityExists(ActivityType::COMMENT_CREATE); } public function test_comment_edit() @@ -53,6 +56,8 @@ class CommentTest extends TestCase 'text' => $newText, 'entity_id' => $page->id, ]); + + $this->assertActivityExists(ActivityType::COMMENT_UPDATE); } public function test_comment_delete() @@ -71,6 +76,8 @@ class CommentTest extends TestCase $this->assertDatabaseMissing('comments', [ 'id' => $comment->id, ]); + + $this->assertActivityExists(ActivityType::COMMENT_DELETE); } public function test_comments_converts_markdown_input_to_html() diff --git a/tests/Helpers/UserRoleProvider.php b/tests/Helpers/UserRoleProvider.php index b86e90394..3b2da369d 100644 --- a/tests/Helpers/UserRoleProvider.php +++ b/tests/Helpers/UserRoleProvider.php @@ -50,6 +50,14 @@ class UserRoleProvider return $user; } + /** + * Get the system "guest" user. + */ + public function guest(): User + { + return User::getDefault(); + } + /** * Create a new fresh user without any relations. */ diff --git a/tests/PublicActionTest.php b/tests/PublicActionTest.php index 6f0e2f1d3..1e4dcbfb7 100644 --- a/tests/PublicActionTest.php +++ b/tests/PublicActionTest.php @@ -207,4 +207,16 @@ class PublicActionTest extends TestCase $this->withHtml($resp)->assertLinkExists($page->getUrl('/edit')); } + + public function test_public_user_cannot_view_or_update_their_profile() + { + $this->setSettings(['app-public' => 'true']); + $guest = $this->users->guest(); + + $resp = $this->get($guest->getEditUrl()); + $this->assertPermissionError($resp); + + $resp = $this->put($guest->getEditUrl(), ['name' => 'My new guest name']); + $this->assertPermissionError($resp); + } } diff --git a/tests/TestCase.php b/tests/TestCase.php index 322ab0370..0ab0792bd 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -5,6 +5,7 @@ namespace Tests; use BookStack\Entities\Models\Entity; use BookStack\Settings\SettingService; use BookStack\Uploads\HttpFetcher; +use BookStack\Users\Models\User; use GuzzleHttp\Client; use GuzzleHttp\Handler\MockHandler; use GuzzleHttp\HandlerStack; @@ -46,6 +47,7 @@ abstract class TestCase extends BaseTestCase $this->permissions = new PermissionsProvider($this->users); $this->files = new FileProvider(); + User::clearDefault(); parent::setUp(); // We can uncomment the below to run tests with failings upon deprecations. diff --git a/tests/Unit/SsrUrlValidatorTest.php b/tests/Unit/SsrUrlValidatorTest.php new file mode 100644 index 000000000..8fb538916 --- /dev/null +++ b/tests/Unit/SsrUrlValidatorTest.php @@ -0,0 +1,62 @@ + '', 'url' => '', 'result' => false], + ['config' => '', 'url' => 'https://example.com', 'result' => false], + ['config' => ' ', 'url' => 'https://example.com', 'result' => false], + ['config' => '*', 'url' => '', 'result' => false], + ['config' => '*', 'url' => 'https://example.com', 'result' => true], + ['config' => 'https://*', 'url' => 'https://example.com', 'result' => true], + ['config' => 'http://*', 'url' => 'https://example.com', 'result' => false], + ['config' => 'https://*example.com', 'url' => 'https://example.com', 'result' => true], + ['config' => 'https://*ample.com', 'url' => 'https://example.com', 'result' => true], + ['config' => 'https://*.example.com', 'url' => 'https://example.com', 'result' => false], + ['config' => 'https://*.example.com', 'url' => 'https://test.example.com', 'result' => true], + ['config' => '*//example.com', 'url' => 'https://example.com', 'result' => true], + ['config' => '*//example.com', 'url' => 'http://example.com', 'result' => true], + ['config' => '*//example.co', 'url' => 'http://example.co.uk', 'result' => false], + ['config' => '*//example.co/bookstack', 'url' => 'https://example.co/bookstack/a/path', 'result' => true], + ['config' => '*//example.co*', 'url' => 'https://example.co.uk/bookstack/a/path', 'result' => true], + ['config' => 'https://example.com', 'url' => 'https://example.com/a/b/c?test=cat', 'result' => true], + ['config' => 'https://example.com', 'url' => 'https://example.co.uk', 'result' => false], + + // Escapes + ['config' => 'https://(.*?).com', 'url' => 'https://example.com', 'result' => false], + ['config' => 'https://example.com', 'url' => 'https://example.co.uk#https://example.com', 'result' => false], + + // Multi values + ['config' => '*//example.org *//example.com', 'url' => 'https://example.com', 'result' => true], + ['config' => '*//example.org *//example.com', 'url' => 'https://example.com/a/b/c?test=cat#hello', 'result' => true], + ['config' => '*.example.org *.example.com', 'url' => 'https://example.co.uk', 'result' => false], + ['config' => ' *.example.org *.example.com ', 'url' => 'https://example.co.uk', 'result' => false], + ['config' => '* *.example.com', 'url' => 'https://example.co.uk', 'result' => true], + ['config' => '*//example.org *//example.com *//example.co.uk', 'url' => 'https://example.co.uk', 'result' => true], + ['config' => '*//example.org *//example.com *//example.co.uk', 'url' => 'https://example.net', 'result' => false], + ]; + + foreach ($testMap as $test) { + $result = (new SsrUrlValidator($test['config']))->allowed($test['url']); + $this->assertEquals($test['result'], $result, "Failed asserting url '{$test['url']}' with config '{$test['config']}' results " . ($test['result'] ? 'true' : 'false')); + } + } + + public function test_enssure_allowed() + { + $result = (new SsrUrlValidator('https://example.com'))->ensureAllowed('https://example.com'); + $this->assertNull($result); + + $this->expectException(HttpFetchException::class); + (new SsrUrlValidator('https://example.com'))->ensureAllowed('https://test.example.com'); + } +} diff --git a/tests/User/UserPreferencesTest.php b/tests/User/UserPreferencesTest.php index e47a259a5..9d72f4e14 100644 --- a/tests/User/UserPreferencesTest.php +++ b/tests/User/UserPreferencesTest.php @@ -2,10 +2,30 @@ namespace Tests\User; +use BookStack\Activity\Tools\UserEntityWatchOptions; +use BookStack\Activity\WatchLevels; use Tests\TestCase; class UserPreferencesTest extends TestCase { + public function test_index_view() + { + $resp = $this->asEditor()->get('/preferences'); + $resp->assertOk(); + $resp->assertSee('Interface Keyboard Shortcuts'); + $resp->assertSee('Edit Profile'); + } + + public function test_index_view_accessible_but_without_profile_and_notifications_for_guest_user() + { + $this->setSettings(['app-public' => 'true']); + $this->permissions->grantUserRolePermissions($this->users->guest(), ['receive-notifications']); + $resp = $this->get('/preferences'); + $resp->assertOk(); + $resp->assertSee('Interface Keyboard Shortcuts'); + $resp->assertDontSee('Edit Profile'); + $resp->assertDontSee('Notification'); + } public function test_interface_shortcuts_updating() { $this->asEditor(); @@ -45,6 +65,80 @@ class UserPreferencesTest extends TestCase $this->withHtml($this->get('/'))->assertElementExists('body[component="shortcuts"]'); } + public function test_notification_routes_requires_notification_permission() + { + $viewer = $this->users->viewer(); + $resp = $this->actingAs($viewer)->get('/preferences/notifications'); + $this->assertPermissionError($resp); + + $resp = $this->put('/preferences/notifications'); + $this->assertPermissionError($resp); + + $this->permissions->grantUserRolePermissions($viewer, ['receive-notifications']); + $resp = $this->get('/preferences/notifications'); + $resp->assertOk(); + $resp->assertSee('Notification Preferences'); + } + + public function test_notification_preferences_updating() + { + $editor = $this->users->editor(); + + // View preferences with defaults + $resp = $this->actingAs($editor)->get('/preferences/notifications'); + $resp->assertSee('Notification Preferences'); + + $html = $this->withHtml($resp); + $html->assertFieldHasValue('preferences[comment-replies]', 'false'); + + // Update preferences + $resp = $this->put('/preferences/notifications', [ + 'preferences' => ['comment-replies' => 'true'], + ]); + + $resp->assertRedirect('/preferences/notifications'); + $resp->assertSessionHas('success', 'Notification preferences have been updated!'); + + // View updates to preferences page + $resp = $this->get('/preferences/notifications'); + $html = $this->withHtml($resp); + $html->assertFieldHasValue('preferences[comment-replies]', 'true'); + } + + public function test_notification_preferences_show_watches() + { + $editor = $this->users->editor(); + $book = $this->entities->book(); + + $options = new UserEntityWatchOptions($editor, $book); + $options->updateLevelByValue(WatchLevels::COMMENTS); + + $resp = $this->actingAs($editor)->get('/preferences/notifications'); + $resp->assertSee($book->name); + $resp->assertSee('All Page Updates & Comments'); + + $options->updateLevelByValue(WatchLevels::DEFAULT); + + $resp = $this->actingAs($editor)->get('/preferences/notifications'); + $resp->assertDontSee($book->name); + $resp->assertDontSee('All Page Updates & Comments'); + } + + public function test_notification_preferences_not_accessible_to_guest() + { + $this->setSettings(['app-public' => 'true']); + $guest = $this->users->guest(); + $this->permissions->grantUserRolePermissions($guest, ['receive-notifications']); + + $resp = $this->get('/preferences/notifications'); + $this->assertPermissionError($resp); + + $resp = $this->put('/preferences/notifications', [ + 'preferences' => ['comment-replies' => 'true'], + ]); + $this->assertPermissionError($resp); + } + public function test_update_sort_preference() { $editor = $this->users->editor();