]> BookStack Code Mirror - bookstack/commitdiff
Updated translations with latest Crowdin changes (#5345)
authorDan Brown <redacted>
Mon, 23 Dec 2024 11:23:44 +0000 (11:23 +0000)
committerGitHub <redacted>
Mon, 23 Dec 2024 11:23:44 +0000 (11:23 +0000)
318 files changed:
lang/ar/activities.php
lang/ar/editor.php
lang/ar/entities.php
lang/ar/errors.php
lang/ar/settings.php
lang/ar/validation.php
lang/bg/activities.php
lang/bg/editor.php
lang/bg/entities.php
lang/bg/errors.php
lang/bg/settings.php
lang/bg/validation.php
lang/bn/activities.php [new file with mode: 0644]
lang/bn/auth.php [new file with mode: 0644]
lang/bn/common.php [new file with mode: 0644]
lang/bn/components.php [new file with mode: 0644]
lang/bn/editor.php [new file with mode: 0644]
lang/bn/entities.php [new file with mode: 0644]
lang/bn/errors.php [new file with mode: 0644]
lang/bn/notifications.php [new file with mode: 0644]
lang/bn/pagination.php [new file with mode: 0644]
lang/bn/passwords.php [new file with mode: 0644]
lang/bn/preferences.php [new file with mode: 0644]
lang/bn/settings.php [new file with mode: 0644]
lang/bn/validation.php [new file with mode: 0644]
lang/bs/activities.php
lang/bs/editor.php
lang/bs/entities.php
lang/bs/errors.php
lang/bs/settings.php
lang/bs/validation.php
lang/ca/activities.php
lang/ca/editor.php
lang/ca/entities.php
lang/ca/errors.php
lang/ca/settings.php
lang/ca/validation.php
lang/cs/activities.php
lang/cs/editor.php
lang/cs/entities.php
lang/cs/errors.php
lang/cs/settings.php
lang/cs/validation.php
lang/cy/activities.php
lang/cy/editor.php
lang/cy/entities.php
lang/cy/errors.php
lang/cy/settings.php
lang/cy/validation.php
lang/da/activities.php
lang/da/editor.php
lang/da/entities.php
lang/da/errors.php
lang/da/settings.php
lang/da/validation.php
lang/de/activities.php
lang/de/editor.php
lang/de/entities.php
lang/de/errors.php
lang/de/settings.php
lang/de/validation.php
lang/de_informal/activities.php
lang/de_informal/common.php
lang/de_informal/editor.php
lang/de_informal/entities.php
lang/de_informal/errors.php
lang/de_informal/settings.php
lang/de_informal/validation.php
lang/el/activities.php
lang/el/auth.php
lang/el/common.php
lang/el/components.php
lang/el/editor.php
lang/el/entities.php
lang/el/errors.php
lang/el/notifications.php
lang/el/settings.php
lang/el/validation.php
lang/es/activities.php
lang/es/editor.php
lang/es/entities.php
lang/es/errors.php
lang/es/settings.php
lang/es/validation.php
lang/es_AR/activities.php
lang/es_AR/editor.php
lang/es_AR/entities.php
lang/es_AR/errors.php
lang/es_AR/settings.php
lang/es_AR/validation.php
lang/et/activities.php
lang/et/editor.php
lang/et/entities.php
lang/et/errors.php
lang/et/settings.php
lang/et/validation.php
lang/eu/activities.php
lang/eu/editor.php
lang/eu/entities.php
lang/eu/errors.php
lang/eu/settings.php
lang/eu/validation.php
lang/fa/activities.php
lang/fa/editor.php
lang/fa/entities.php
lang/fa/errors.php
lang/fa/settings.php
lang/fa/validation.php
lang/fi/activities.php
lang/fi/editor.php
lang/fi/entities.php
lang/fi/errors.php
lang/fi/settings.php
lang/fi/validation.php
lang/fr/activities.php
lang/fr/editor.php
lang/fr/entities.php
lang/fr/errors.php
lang/fr/settings.php
lang/fr/validation.php
lang/he/activities.php
lang/he/editor.php
lang/he/entities.php
lang/he/errors.php
lang/he/settings.php
lang/he/validation.php
lang/hr/activities.php
lang/hr/editor.php
lang/hr/entities.php
lang/hr/errors.php
lang/hr/settings.php
lang/hr/validation.php
lang/hu/activities.php
lang/hu/editor.php
lang/hu/entities.php
lang/hu/errors.php
lang/hu/settings.php
lang/hu/validation.php
lang/id/activities.php
lang/id/editor.php
lang/id/entities.php
lang/id/errors.php
lang/id/settings.php
lang/id/validation.php
lang/is/activities.php [new file with mode: 0644]
lang/is/auth.php [new file with mode: 0644]
lang/is/common.php [new file with mode: 0644]
lang/is/components.php [new file with mode: 0644]
lang/is/editor.php [new file with mode: 0644]
lang/is/entities.php [new file with mode: 0644]
lang/is/errors.php [new file with mode: 0644]
lang/is/notifications.php [new file with mode: 0644]
lang/is/pagination.php [new file with mode: 0644]
lang/is/passwords.php [new file with mode: 0644]
lang/is/preferences.php [new file with mode: 0644]
lang/is/settings.php [new file with mode: 0644]
lang/is/validation.php [new file with mode: 0644]
lang/it/activities.php
lang/it/editor.php
lang/it/entities.php
lang/it/errors.php
lang/it/settings.php
lang/it/validation.php
lang/ja/activities.php
lang/ja/editor.php
lang/ja/entities.php
lang/ja/errors.php
lang/ja/settings.php
lang/ja/validation.php
lang/ka/activities.php
lang/ka/editor.php
lang/ka/entities.php
lang/ka/errors.php
lang/ka/settings.php
lang/ka/validation.php
lang/ko/activities.php
lang/ko/common.php
lang/ko/components.php
lang/ko/editor.php
lang/ko/entities.php
lang/ko/errors.php
lang/ko/settings.php
lang/ko/validation.php
lang/lt/activities.php
lang/lt/editor.php
lang/lt/entities.php
lang/lt/errors.php
lang/lt/settings.php
lang/lt/validation.php
lang/lv/activities.php
lang/lv/editor.php
lang/lv/entities.php
lang/lv/errors.php
lang/lv/settings.php
lang/lv/validation.php
lang/nb/activities.php
lang/nb/common.php
lang/nb/editor.php
lang/nb/entities.php
lang/nb/errors.php
lang/nb/settings.php
lang/nb/validation.php
lang/nl/activities.php
lang/nl/editor.php
lang/nl/entities.php
lang/nl/errors.php
lang/nl/settings.php
lang/nl/validation.php
lang/nn/activities.php
lang/nn/editor.php
lang/nn/entities.php
lang/nn/errors.php
lang/nn/settings.php
lang/nn/validation.php
lang/pl/activities.php
lang/pl/editor.php
lang/pl/entities.php
lang/pl/errors.php
lang/pl/settings.php
lang/pl/validation.php
lang/pt/activities.php
lang/pt/editor.php
lang/pt/entities.php
lang/pt/errors.php
lang/pt/settings.php
lang/pt/validation.php
lang/pt_BR/activities.php
lang/pt_BR/editor.php
lang/pt_BR/entities.php
lang/pt_BR/errors.php
lang/pt_BR/settings.php
lang/pt_BR/validation.php
lang/ro/activities.php
lang/ro/editor.php
lang/ro/entities.php
lang/ro/errors.php
lang/ro/settings.php
lang/ro/validation.php
lang/ru/activities.php
lang/ru/editor.php
lang/ru/entities.php
lang/ru/errors.php
lang/ru/settings.php
lang/ru/validation.php
lang/sk/activities.php
lang/sk/editor.php
lang/sk/entities.php
lang/sk/errors.php
lang/sk/settings.php
lang/sk/validation.php
lang/sl/activities.php
lang/sl/editor.php
lang/sl/entities.php
lang/sl/errors.php
lang/sl/settings.php
lang/sl/validation.php
lang/sq/activities.php
lang/sq/editor.php
lang/sq/entities.php
lang/sq/errors.php
lang/sq/settings.php
lang/sq/validation.php
lang/sr/activities.php
lang/sr/editor.php
lang/sr/entities.php
lang/sr/errors.php
lang/sr/settings.php
lang/sr/validation.php
lang/sv/activities.php
lang/sv/editor.php
lang/sv/entities.php
lang/sv/errors.php
lang/sv/settings.php
lang/sv/validation.php
lang/tk/activities.php
lang/tk/editor.php
lang/tk/entities.php
lang/tk/errors.php
lang/tk/settings.php
lang/tk/validation.php
lang/tr/activities.php
lang/tr/editor.php
lang/tr/entities.php
lang/tr/errors.php
lang/tr/settings.php
lang/tr/validation.php
lang/uk/activities.php
lang/uk/editor.php
lang/uk/entities.php
lang/uk/errors.php
lang/uk/settings.php
lang/uk/validation.php
lang/uz/activities.php
lang/uz/editor.php
lang/uz/entities.php
lang/uz/errors.php
lang/uz/settings.php
lang/uz/validation.php
lang/vi/activities.php
lang/vi/editor.php
lang/vi/entities.php
lang/vi/errors.php
lang/vi/settings.php
lang/vi/validation.php
lang/zh_CN/activities.php
lang/zh_CN/components.php
lang/zh_CN/editor.php
lang/zh_CN/entities.php
lang/zh_CN/errors.php
lang/zh_CN/settings.php
lang/zh_CN/validation.php
lang/zh_TW/activities.php
lang/zh_TW/common.php
lang/zh_TW/editor.php
lang/zh_TW/entities.php
lang/zh_TW/errors.php
lang/zh_TW/settings.php
lang/zh_TW/validation.php

index 134dce4cd98112ab714483ebe2fd6ff436c76e63..127ddbe1aba4ec08f603518c0643c59f27c46092 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'حذف webhook',
     'webhook_delete_notification' => 'تم حذف Webhook بنجاح',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'إنشاء مستخدم',
     'user_create_notification' => 'تم انشاء الحساب',
index 6fb6e3d11537418d1a2768c23a0cf4890df59468..2254eb9ba6e42b2a1e2797f3528ad0feb36d65b3 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Save Page & Continue',
index 1740ca9f999afe1ac736cb530b5d7756f23d4363..065516bcfd8e8caac6f297db340debd9990ea0ae 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'ملف PDF',
     'export_text' => 'ملف نص عادي',
     'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'الأذونات',
index 7788c54cacaa1e1d87fb95154807a33ab50e04f2..73e76a5cc0161cedc73f71ddab78209c281c086c 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName لا يعمل حالياً',
     'back_soon' => 'سيعود للعمل قريباً.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'لم يتم العثور على رمز ترخيص مميز في الطلب',
     'api_bad_authorization_format' => 'تم العثور على رمز ترخيص مميز في الطلب ولكن يبدو أن التنسيق غير صحيح',
index 0d8ebcfea4ab277818fbef4fac502e4202695e6b..ca8a7d909166f15359cdb7d9c1f493f0ee621b5c 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'الوصول إلى واجهة برمجة تطبيقات النظام API',
     'role_manage_settings' => 'إدارة إعدادات التطبيق',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'أذونات الأصول',
index a9793c548442b6f0f3aeedf0209ac8b0c2e77762..f35c920348c0ced6c2c12c03b3c8ca2e4ba0e85b 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'صيغة :attribute غير صالحة.',
     'uploaded'             => 'تعذر تحميل الملف. قد لا يقبل الخادم ملفات بهذا الحجم.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index e1e43a0d267fcd253afb4ad7e8e14b40877198cf..d7ac37c10536cfed21ba51ba25e8ce770614f62e 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'изтрита уебкука',
     'webhook_delete_notification' => 'Уебкуката е изтрита успешно',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'created user',
     'user_create_notification' => 'User successfully created',
index 5f6fa1a6a7af991ce04d0fcd9ba3c4a478774537..a530820381b6110ac4cd2916a3ba517164493ab6 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'За редактора',
     'about_title' => 'Относно визуалния редактор',
     'editor_license' => 'Лиценз, авторски и сходни права на редактора',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Този редактор е изграден посредством :tinyLink, което е предоставен под лиценз MIT.',
     'editor_tiny_license_link' => 'Авторското и сходните му права, както и лицензът на TinyMCE, могат да бъдат намерени тук.',
     'save_continue' => 'Запази страницата и продължи',
index 468256d7bac7e7ceee642c75b5ed973dce932461..1fdb3f6346bb6c6aa914c909e19da33fd6a1d081 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF файл',
     'export_text' => 'Обикновен текстов файл',
     'export_md' => 'Markdown файл',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Права',
index 73909b344a99e9365992c24e8c66386656ee17da..dd0245180831698aaddf75b14ac54082f7826c41 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName не е достъпно в момента',
     'back_soon' => 'Ще се върне обратно онлайн скоро.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Но беше намерен код за достъп в заявката',
     'api_bad_authorization_format' => 'В заявката имаше код за достъп, но формата изглежда е неправилен',
index 7faca69222a6b6586905b30ee03304ab0b548062..1bc617fc9ed4131c84a02cb255f56f6c5f87b5b0 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Достъп до API на системата',
     'role_manage_settings' => 'Управление на настройките на приложението',
     'role_export_content' => 'Експортирай съдържанието',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Настройки за достъп до активи',
index fb6c4dd4a631a1e1ebec2021e1e1b8090a931a7a..e08eb55de613c6149a8047ff5c30e35cd8adeab7 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Форматът на :attribute не е валиден.',
     'uploaded'             => 'Файлът не можа да бъде качен. Сървърът може да не приема файлове с такъв размер.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
diff --git a/lang/bn/activities.php b/lang/bn/activities.php
new file mode 100644 (file)
index 0000000..e46d85f
--- /dev/null
@@ -0,0 +1,132 @@
+<?php
+/**
+ * Activity text strings.
+ * Is used for all the text within activity logs & notifications.
+ */
+return [
+
+    // Pages
+    'page_create'                 => 'নতুন পৃষ্ঠা সৃষ্টি করেছেন',
+    'page_create_notification'    => 'পৃষ্ঠাটি সার্থকভাবে তৈরী করা হয়েছে',
+    'page_update'                 => 'পৃষ্ঠা হালনাগাদ করেছেন',
+    'page_update_notification'    => 'পৃষ্ঠাটি সার্থকভাবে হালনাগাদ করা হয়েছে',
+    'page_delete'                 => 'পৃষ্ঠা মুছে ফেলেছেন',
+    'page_delete_notification'    => 'পৃষ্ঠাটি সার্থকভাবে মুছে ফেলা হয়েছে',
+    'page_restore'                => 'মুছে ফেলা পৃষ্ঠা পুনরুদ্ধার করেছেন',
+    'page_restore_notification'   => 'পৃষ্ঠাটি সার্থকভাবে পুনরুদ্ধার করা হয়েছে',
+    'page_move'                   => 'পৃষ্ঠা স্থানান্তর করেছেন',
+    'page_move_notification'      => 'পৃষ্ঠাটি সার্থকভাবে স্থানান্তর করা হয়েছে',
+
+    // Chapters
+    'chapter_create'              => 'নতুন অধ্যায় সৃষ্টি করেছেন',
+    'chapter_create_notification' => 'অধ্যায়টি সার্থকভাবে তৈরী করা হয়েছে',
+    'chapter_update'              => 'অধ্যায় হালনাগাদ করেছেন',
+    'chapter_update_notification' => 'অধ্যায়টি সার্থকভাবে হালনাগাদ করা হয়েছে',
+    'chapter_delete'              => 'অধ্যায় মুছে ফেলেছেন',
+    'chapter_delete_notification' => 'অধ্যায়টি সার্থকভাবে মুছে ফেলা হয়েছে',
+    'chapter_move'                => 'অধ্যায় স্থানান্তর করেছেন',
+    'chapter_move_notification' => 'অধ্যায়টি সার্থকভাবে স্থানান্তর করা হয়েছে',
+
+    // Books
+    'book_create'                 => 'নতুন বই সৃষ্টি করেছেন',
+    'book_create_notification'    => 'বইটি সার্থকভাবে তৈরী করা হয়েছে',
+    'book_create_from_chapter'              => 'অধ্যায়কে বইতে রূপান্তরিত করেছেন',
+    'book_create_from_chapter_notification' => 'অধ্যায়কে বইতে রূপান্তর করার প্রক্রিয়া সফলভাবে সম্পন্ন হয়েছে',
+    'book_update'                 => 'বই হালনাগাদ করেছেন',
+    'book_update_notification'    => 'বইটি সার্থকভাবে হালনাগাদ করা হয়েছে',
+    'book_delete'                 => 'বই মুছে ফেলেছেন',
+    'book_delete_notification'    => 'বইটি সার্থকভাবে মুছে ফেলা হয়েছে',
+    'book_sort'                   => 'বইটি ক্রমানুযায়ী সাজিয়েছেন',
+    'book_sort_notification'      => 'বইটি সার্থকভাবে ক্রমানুযায়ী সাজানো হয়েছে',
+
+    // Bookshelves
+    'bookshelf_create'            => 'নতুন বুকশেলফ তৈরী করেছেন',
+    'bookshelf_create_notification'    => 'বুকশেলফটি সার্থকভাবে তৈরী করা হয়েছে',
+    'bookshelf_create_from_book'    => 'বইটিকে বুকশেলফে রূপান্তরিত করার প্রক্রিয়া সফলভাবে সম্পন্ন হয়েছে',
+    'bookshelf_create_from_book_notification'    => 'বইকে বুকশেলফে রূপান্তর করার প্রক্রিয়া সফলভাবে সম্পন্ন হয়েছে',
+    'bookshelf_update'                 => 'বুকশেলফটি হালনাগাদ করেছেন',
+    'bookshelf_update_notification'    => 'বুকশেলফটি সার্থকভাবে হালনাগাদ করা হয়েছে',
+    'bookshelf_delete'                 => 'বুকশেলফটি মুছে ফেলেছেন',
+    'bookshelf_delete_notification'    => 'বুকশেলফটি সার্থকভাবে মুছে ফেলা হয়েছে',
+
+    // Revisions
+    'revision_restore' => 'সংশোধনী পুনঃস্থাপন করেছেন',
+    'revision_delete' => 'সংশোধনী মুছে ফেলেছেন',
+    'revision_delete_notification' => 'সংশোধনী সার্থকভাবে মুছে ফেলা হয়েছে',
+
+    // Favourites
+    'favourite_add_notification' => 'আপনার প্রিয় তালিকায় ":name" যোগ করা হয়েছে',
+    'favourite_remove_notification' => 'আপনার প্রিয় তালিকা হতে ":name"-কে মুছে ফেলা হয়েছে',
+
+    // Watching
+    'watch_update_level_notification' => 'পর্যবেক্ষণনীতি সার্থকভাবে হালনাগাদ করা হয়েছে',
+
+    // Auth
+    'auth_login' => 'লগড ইন অবস্থায় আছেন',
+    'auth_register' => 'নতুন ব্যবহারকারী হিসাবে নিবন্ধিত',
+    'auth_password_reset_request' => 'ব্যবহারকারীর পাসওয়ার্ড রিসেটের আবেদন করেছেন',
+    'auth_password_reset_update' => 'ব্যবহারকারী পাসওয়ার্ড রিসেট করুন',
+    'mfa_setup_method' => 'মাল্টি ফ্যাক্টর অথেনটিকেশন সক্রিয় করেছেন',
+    'mfa_setup_method_notification' => 'মাল্টি ফ্যাক্টর অথেনটিকেশন সার্থকভাবে সক্রিয় করা হয়েছে',
+    'mfa_remove_method' => 'মাল্টি ফ্যাক্টর অথেনটিকেশন নিষ্ক্রিয় করেছেন',
+    'mfa_remove_method_notification' => 'মাল্টি ফ্যাক্টর অথেনটিকেশন সার্থকভাবে নিষ্ক্রিয় করা হয়েছে',
+
+    // Settings
+    'settings_update' => 'সেটিংস হালনাগাদ করেছেন',
+    'settings_update_notification' => 'সেটিংস সার্থকভাবে হালনাগাদ করা হয়েছে',
+    'maintenance_action_run' => 'রক্ষণাবেক্ষণ কার্যক্রম চালু করেছেন',
+
+    // Webhooks
+    'webhook_create' => 'নতুন ওয়েবহুক তৈরী করেছেন',
+    'webhook_create_notification' => 'নতুন ওয়েবহুক সার্থকভাবে তৈরী করা হয়েছে',
+    'webhook_update' => 'ওয়েবহুকটি হালনাগাদ করেছেন',
+    'webhook_update_notification' => 'ওয়েবহুকটি সার্থকভাবে হালনাগাদ করা হয়েছে',
+    'webhook_delete' => 'ওয়েবহুকটি মুছে ফেলেছেন',
+    'webhook_delete_notification' => 'ওয়েবহুকটি সার্থকভাবে মুছে ফেলা হয়েছে',
+
+    // Imports
+    'import_create' => 'ইমপোর্টটি তৈরী করেছেন',
+    'import_create_notification' => 'ইমপোর্টটি সার্থকভাবে আপলোড করা হয়েছে',
+    'import_run' => 'ইমপোর্টটি হালনাগাদ করেছেন',
+    'import_run_notification' => 'কনটেন্ট সার্থকভাবে ইমপোর্ট করা হয়েছে',
+    'import_delete' => 'ইমপোর্টটি মুছে ফেলেছেন',
+    'import_delete_notification' => 'ইমপোর্টটি সার্থকভাবে মুছে ফেলা হয়েছে',
+
+    // Users
+    'user_create' => 'নতুন ব্যবহারকারী তৈরী করেছেন',
+    'user_create_notification' => 'নতুন ব্যবহারকারী সার্থকভাবে তৈরী করা হয়েছে',
+    'user_update' => 'ব্যবহারকারীটি হালনাগাদ করেছেন',
+    'user_update_notification' => 'ব্যবহারকারীটি সার্থকভাবে হালনাগাদ করা হয়েছে',
+    'user_delete' => 'ব্যবহারকারীটি মুছে ফেলেছেন',
+    'user_delete_notification' => 'ব্যবহারকারীটি সার্থকভাবে মুছে ফেলা হয়েছে',
+
+    // API Tokens
+    'api_token_create' => 'এপিআই টোকেনটি তৈরী করেছেন',
+    'api_token_create_notification' => 'এপিআই টোকেনটি সার্থকভাবে তৈরী করা হয়েছে',
+    'api_token_update' => 'এপিআই টোকেনটি হালনাগাদ করেছেন',
+    'api_token_update_notification' => 'এপিআই টোকেনটি হালনাগাদ করা হয়েছে',
+    'api_token_delete' => 'এপিআই টোকেনটি মুছে ফেলেছেন',
+    'api_token_delete_notification' => 'এপিআই টোকেনটি সার্থকভাবে মুছে ফেলা হয়েছে',
+
+    // Roles
+    'role_create' => 'রোলটি তৈরী করেছেন',
+    'role_create_notification' => 'রোলটি সার্থকভাবে তৈরী করা হয়েছে',
+    'role_update' => 'রোলটি হালনাগাদ করেছেন',
+    'role_update_notification' => 'রোলটি সার্থকভাবে হালনাগাদ করা হয়েছে',
+    'role_delete' => 'রোলটি মুছে ফেলেছেন',
+    'role_delete_notification' => 'রোলটি সার্থকভাবে মুছে ফেলা হয়েছে',
+
+    // Recycle Bin
+    'recycle_bin_empty' => 'রিসাইকেল বিন খালি করে ফেলেছেন',
+    'recycle_bin_restore' => 'রিসাইকেল বিন হতে প্রত্যাবর্তন করা হয়েছে',
+    'recycle_bin_destroy' => 'রিসাইকেল বিন হতে অপসারণ করা হয়েছে',
+
+    // Comments
+    'commented_on'                => 'মন্তব্য প্রদান করেছেন',
+    'comment_create'              => 'মন্তব্য যোগ করেছেন',
+    'comment_update'              => 'মন্তব্য হালনাগাদ করেছেন',
+    'comment_delete'              => 'মন্তব্য মুছে ফেলেছেন',
+
+    // Other
+    'permissions_update'          => 'অনুমতিক্রম হালনাগাদ করেছেন',
+];
diff --git a/lang/bn/auth.php b/lang/bn/auth.php
new file mode 100644 (file)
index 0000000..aca5859
--- /dev/null
@@ -0,0 +1,117 @@
+<?php
+/**
+ * Authentication Language Lines
+ * The following language lines are used during authentication for various
+ * messages that we need to display to the user.
+ */
+return [
+
+    'failed' => 'প্রদত্ত তথ্যনিরূপিত কোন রেকর্ড পাওয়া যায়নি।',
+    'throttle' => 'লগইন প্রচেষ্টার সীমা অতিক্রান্ত। দয়া করে :seconds সেকেন্ড পর আবার চেষ্টা করুন।',
+
+    // Login & Register
+    'sign_up' => 'নিবন্ধিত হোন',
+    'log_in' => 'লগ ইন করুন',
+    'log_in_with' => ':socialDriver দ্বারা লগইন করুন',
+    'sign_up_with' => ':socialDriver দ্বারা নিবন্ধিত হোন',
+    'logout' => 'Logout',
+
+    'name' => 'Name',
+    'username' => 'Username',
+    'email' => 'Email',
+    'password' => 'Password',
+    'password_confirm' => 'Confirm Password',
+    'password_hint' => 'Must be at least 8 characters',
+    'forgot_password' => 'Forgot Password?',
+    'remember_me' => 'Remember Me',
+    'ldap_email_hint' => 'Please enter an email to use for this account.',
+    'create_account' => 'Create Account',
+    'already_have_account' => 'Already have an account?',
+    'dont_have_account' => 'Don\'t have an account?',
+    'social_login' => 'Social Login',
+    'social_registration' => 'Social Registration',
+    'social_registration_text' => 'Register and sign in using another service.',
+
+    'register_thanks' => 'Thanks for registering!',
+    'register_confirm' => 'Please check your email and click the confirmation button to access :appName.',
+    'registrations_disabled' => 'Registrations are currently disabled',
+    'registration_email_domain_invalid' => 'That email domain does not have access to this application',
+    'register_success' => 'Thanks for signing up! You are now registered and signed in.',
+
+    // Login auto-initiation
+    'auto_init_starting' => 'Attempting Login',
+    'auto_init_starting_desc' => 'We\'re contacting your authentication system to start the login process. If there\'s no progress after 5 seconds you can try clicking the link below.',
+    'auto_init_start_link' => 'Proceed with authentication',
+
+    // Password Reset
+    'reset_password' => 'Reset Password',
+    'reset_password_send_instructions' => 'Enter your email below and you will be sent an email with a password reset link.',
+    'reset_password_send_button' => 'Send Reset Link',
+    'reset_password_sent' => 'A password reset link will be sent to :email if that email address is found in the system.',
+    'reset_password_success' => 'Your password has been successfully reset.',
+    'email_reset_subject' => 'Reset your :appName password',
+    'email_reset_text' => 'You are receiving this email because we received a password reset request for your account.',
+    'email_reset_not_requested' => 'If you did not request a password reset, no further action is required.',
+
+    // Email Confirmation
+    'email_confirm_subject' => 'Confirm your email on :appName',
+    'email_confirm_greeting' => 'Thanks for joining :appName!',
+    'email_confirm_text' => 'Please confirm your email address by clicking the button below:',
+    'email_confirm_action' => 'Confirm Email',
+    'email_confirm_send_error' => 'Email confirmation required but the system could not send the email. Contact the admin to ensure email is set up correctly.',
+    'email_confirm_success' => 'Your email has been confirmed! You should now be able to login using this email address.',
+    'email_confirm_resent' => 'Confirmation email resent, Please check your inbox.',
+    'email_confirm_thanks' => 'Thanks for confirming!',
+    'email_confirm_thanks_desc' => 'Please wait a moment while your confirmation is handled. If you are not redirected after 3 seconds press the "Continue" link below to proceed.',
+
+    'email_not_confirmed' => 'Email Address Not Confirmed',
+    'email_not_confirmed_text' => 'Your email address has not yet been confirmed.',
+    'email_not_confirmed_click_link' => 'Please click the link in the email that was sent shortly after you registered.',
+    'email_not_confirmed_resend' => 'If you cannot find the email you can re-send the confirmation email by submitting the form below.',
+    'email_not_confirmed_resend_button' => 'Resend Confirmation Email',
+
+    // User Invite
+    'user_invite_email_subject' => 'You have been invited to join :appName!',
+    'user_invite_email_greeting' => 'An account has been created for you on :appName.',
+    'user_invite_email_text' => 'Click the button below to set an account password and gain access:',
+    'user_invite_email_action' => 'Set Account Password',
+    'user_invite_page_welcome' => 'Welcome to :appName!',
+    'user_invite_page_text' => 'To finalise your account and gain access you need to set a password which will be used to log-in to :appName on future visits.',
+    'user_invite_page_confirm_button' => 'Confirm Password',
+    'user_invite_success_login' => 'Password set, you should now be able to login using your set password to access :appName!',
+
+    // Multi-factor Authentication
+    'mfa_setup' => 'Setup Multi-Factor Authentication',
+    'mfa_setup_desc' => 'Setup multi-factor authentication as an extra layer of security for your user account.',
+    'mfa_setup_configured' => 'Already configured',
+    'mfa_setup_reconfigure' => 'Reconfigure',
+    'mfa_setup_remove_confirmation' => 'Are you sure you want to remove this multi-factor authentication method?',
+    'mfa_setup_action' => 'Setup',
+    'mfa_backup_codes_usage_limit_warning' => 'You have less than 5 backup codes remaining, Please generate and store a new set before you run out of codes to prevent being locked out of your account.',
+    'mfa_option_totp_title' => 'Mobile App',
+    'mfa_option_totp_desc' => 'To use multi-factor authentication you\'ll need a mobile application that supports TOTP such as Google Authenticator, Authy or Microsoft Authenticator.',
+    'mfa_option_backup_codes_title' => 'Backup Codes',
+    'mfa_option_backup_codes_desc' => 'Generates a set of one-time-use backup codes which you\'ll enter on login to verify your identity. Make sure to store these in a safe & secure place.',
+    'mfa_gen_confirm_and_enable' => 'Confirm and Enable',
+    'mfa_gen_backup_codes_title' => 'Backup Codes Setup',
+    'mfa_gen_backup_codes_desc' => 'Store the below list of codes in a safe place. When accessing the system you\'ll be able to use one of the codes as a second authentication mechanism.',
+    'mfa_gen_backup_codes_download' => 'Download Codes',
+    'mfa_gen_backup_codes_usage_warning' => 'Each code can only be used once',
+    'mfa_gen_totp_title' => 'Mobile App Setup',
+    'mfa_gen_totp_desc' => 'To use multi-factor authentication you\'ll need a mobile application that supports TOTP such as Google Authenticator, Authy or Microsoft Authenticator.',
+    'mfa_gen_totp_scan' => 'Scan the QR code below using your preferred authentication app to get started.',
+    'mfa_gen_totp_verify_setup' => 'Verify Setup',
+    'mfa_gen_totp_verify_setup_desc' => 'Verify that all is working by entering a code, generated within your authentication app, in the input box below:',
+    'mfa_gen_totp_provide_code_here' => 'Provide your app generated code here',
+    'mfa_verify_access' => 'Verify Access',
+    'mfa_verify_access_desc' => 'Your user account requires you to confirm your identity via an additional level of verification before you\'re granted access. Verify using one of your configured methods to continue.',
+    'mfa_verify_no_methods' => 'No Methods Configured',
+    'mfa_verify_no_methods_desc' => 'No multi-factor authentication methods could be found for your account. You\'ll need to set up at least one method before you gain access.',
+    'mfa_verify_use_totp' => 'Verify using a mobile app',
+    'mfa_verify_use_backup_codes' => 'Verify using a backup code',
+    'mfa_verify_backup_code' => 'Backup Code',
+    'mfa_verify_backup_code_desc' => 'Enter one of your remaining backup codes below:',
+    'mfa_verify_backup_code_enter_here' => 'Enter backup code here',
+    'mfa_verify_totp_desc' => 'Enter the code, generated using your mobile app, below:',
+    'mfa_setup_login_notification' => 'Multi-factor method configured, Please now login again using the configured method.',
+];
diff --git a/lang/bn/common.php b/lang/bn/common.php
new file mode 100644 (file)
index 0000000..8f425ab
--- /dev/null
@@ -0,0 +1,113 @@
+<?php
+/**
+ * Common elements found throughout many areas of BookStack.
+ */
+return [
+
+    // Buttons
+    'cancel' => 'প্রত্যাহার করুন',
+    'close' => 'বন্ধ করুন',
+    'confirm' => 'নিশ্চিত করুন',
+    'back' => 'প্রত্যাবর্তন করুন',
+    'save' => 'সংরক্ষণ করুন',
+    'continue' => 'অগ্রসর হউন',
+    'select' => 'নির্বাচন করুন',
+    'toggle_all' => 'সবগুলোকে টগল করুন',
+    'more' => 'বিস্তারিত',
+
+    // Form Labels
+    'name' => 'নাম',
+    'description' => 'বিবরণ',
+    'role' => 'রোল',
+    'cover_image' => 'প্রচ্ছদ ছবি',
+    'cover_image_description' => 'এই চিত্রটি আনুমানিক 440x250px হওয়া বাঞ্চনীয়। ক্ষেত্রবিশেষে ও ব্যবহারকারীর ইন্টারফেসের সাথে মানানসই করে উপস্থাপন করার জন্যে প্রয়োজনে এর আকার পরিবর্তন করে প্রদর্শন করা হবে, যা প্রকৃত মাত্রা হতে ভিন্ন হবে৷',
+
+    // Actions
+    'actions' => 'কার্যক্রম',
+    'view' => 'দেখুন',
+    'view_all' => 'সব দেখুন',
+    'new' => 'নতুন',
+    'create' => 'তৈরী করুন',
+    'update' => 'হালনাগাদ করুন',
+    'edit' => 'সম্পাদন করুন',
+    'sort' => 'ক্রমান্বয় করুন',
+    'move' => 'স্থানান্তর করুন',
+    'copy' => 'অনুলিপি করুন',
+    'reply' => 'প্রত্যুত্তর করুন',
+    'delete' => 'মুছে ফেলুন',
+    'delete_confirm' => 'মুছে ফেলা নিশ্চিত করুন',
+    'search' => 'অনুসন্ধান করুন',
+    'search_clear' => 'অনুসন্ধান পুনঃসূচনা করুন',
+    'reset' => 'পুনঃসূচনা করুন',
+    'remove' => 'অপসারণ করুন',
+    'add' => 'যোগ করুন',
+    'configure' => 'সংস্থাপন করুন',
+    'manage' => 'ব্যবস্থাপনা করুন',
+    'fullscreen' => 'ফুলস্ক্রিন',
+    'favourite' => 'প্রিয় তালিকায় যুক্ত করুন',
+    'unfavourite' => 'প্রিয় তালিকা হতে অপসারণ করুন',
+    'next' => 'পরবর্তী',
+    'previous' => 'পূর্ববর্তী',
+    'filter_active' => 'Active Filter:',
+    'filter_clear' => 'Clear Filter',
+    'download' => 'Download',
+    'open_in_tab' => 'Open in Tab',
+    'open' => 'Open',
+
+    // Sort Options
+    'sort_options' => 'Sort Options',
+    'sort_direction_toggle' => 'Sort Direction Toggle',
+    'sort_ascending' => 'Sort Ascending',
+    'sort_descending' => 'Sort Descending',
+    'sort_name' => 'Name',
+    'sort_default' => 'Default',
+    'sort_created_at' => 'Created Date',
+    'sort_updated_at' => 'Updated Date',
+
+    // Misc
+    'deleted_user' => 'Deleted User',
+    'no_activity' => 'No activity to show',
+    'no_items' => 'No items available',
+    'back_to_top' => 'Back to top',
+    'skip_to_main_content' => 'Skip to main content',
+    'toggle_details' => 'Toggle Details',
+    'toggle_thumbnails' => 'Toggle Thumbnails',
+    'details' => 'Details',
+    'grid_view' => 'Grid View',
+    'list_view' => 'List View',
+    'default' => 'Default',
+    'breadcrumb' => 'Breadcrumb',
+    'status' => 'অবস্থা',
+    'status_active' => 'Active',
+    'status_inactive' => 'নিষ্ক্রিয়',
+    'never' => 'অভূতপূর্ব',
+    'none' => 'None',
+
+    // Header
+    'homepage' => 'নীড়পাতা',
+    'header_menu_expand' => 'হেডার মেন্যু প্রসারিত করুন',
+    'profile_menu' => 'প্রোফাইল মেন্যু',
+    'view_profile' => 'প্রোফাইল দেখুন',
+    'edit_profile' => 'প্রোফাইল সম্পাদনা করুন',
+    'dark_mode' => 'নৈশরূপ',
+    'light_mode' => 'দিবারূপ',
+    'global_search' => 'সকল স্থানে অনুসন্ধান',
+
+    // Layout tabs
+    'tab_info' => 'তথ্য',
+    'tab_info_label' => 'ট্যাব: গৌণ তথ্য',
+    'tab_content' => 'কনটেন্ট',
+    'tab_content_label' => 'ট্যাব: মূখ্য তথ্য',
+
+    // Email Content
+    'email_action_help' => 'আপনার যদি ":actionText"-এ ক্লিক করতে সমস্যা হয়, তবে নিচের লিংকটি কপি করে আপনার ওয়েব ব্রাউজারে পেস্ট করুন:',
+    'email_rights' => 'সর্বস্বত্ব সংরক্ষিত',
+
+    // Footer Link Options
+    // Not directly used but available for convenience to users.
+    'privacy_policy' => 'গোপনীয়তা নীতি',
+    'terms_of_service' => 'পরিষেবার শর্তাবলী',
+
+    // OpenSearch
+    'opensearch_description' => 'অনুসন্ধান :appName',
+];
diff --git a/lang/bn/components.php b/lang/bn/components.php
new file mode 100644 (file)
index 0000000..c33b1d0
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Text used in custom JavaScript driven components.
+ */
+return [
+
+    // Image Manager
+    'image_select' => '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_all' => 'All',
+    'image_all_title' => 'View all images',
+    'image_book_title' => 'View images uploaded to this book',
+    'image_page_title' => 'View images uploaded to this page',
+    'image_search_hint' => 'Search by image name',
+    'image_uploaded' => 'Uploaded :uploadedDate',
+    'image_uploaded_by' => 'Uploaded by :userName',
+    'image_uploaded_to' => 'Uploaded to :pageLink',
+    'image_updated' => 'Updated :updateDate',
+    'image_load_more' => 'Load More',
+    'image_image_name' => 'Image Name',
+    'image_delete_used' => 'This image is used in the pages below.',
+    'image_delete_confirm_text' => 'Are you sure you want to delete this image?',
+    'image_select_image' => 'Select Image',
+    'image_dropzone' => 'Drop images or click here to upload',
+    'image_dropzone_drop' => 'Drop images here to upload',
+    'images_deleted' => 'Images Deleted',
+    'image_preview' => 'Image Preview',
+    'image_upload_success' => 'Image uploaded successfully',
+    'image_update_success' => 'Image details successfully updated',
+    'image_delete_success' => 'Image successfully deleted',
+    'image_replace' => 'Replace Image',
+    'image_replace_success' => 'Image file successfully updated',
+    'image_rebuild_thumbs' => 'Regenerate Size Variations',
+    'image_rebuild_thumbs_success' => 'Image size variations successfully rebuilt!',
+
+    // Code Editor
+    'code_editor' => 'Edit Code',
+    'code_language' => 'Code Language',
+    'code_content' => 'Code Content',
+    'code_session_history' => 'Session History',
+    'code_save' => 'Save Code',
+];
diff --git a/lang/bn/editor.php b/lang/bn/editor.php
new file mode 100644 (file)
index 0000000..8bcef5f
--- /dev/null
@@ -0,0 +1,179 @@
+<?php
+/**
+ * Page Editor Lines
+ * Contains text strings used within the user interface of the
+ * WYSIWYG page editor. Some Markdown editor strings may still
+ * exist in the 'entities' file instead since this was added later.
+ */
+return [
+    // General editor terms
+    'general' => 'সাধারণ',
+    'advanced' => 'উন্নত',
+    'none' => 'অপ্রযোজ্য',
+    'cancel' => 'প্রত্যাহার করুন',
+    'save' => 'সংরক্ষণ করুন',
+    'close' => 'বন্ধ করুন',
+    'undo' => 'প্রত্যাহার করুন',
+    'redo' => 'পুনর্বহাল রাখুন',
+    'left' => 'বাম',
+    'center' => 'মধ্য',
+    'right' => 'ডান',
+    'top' => 'উপর',
+    'middle' => 'মধ্য',
+    'bottom' => 'নিচে',
+    'width' => 'প্রস্থ',
+    'height' => 'উচ্চতা',
+    'More' => 'বিস্তারিত',
+    'select' => 'নির্বাচন করুন...',
+
+    // Toolbar
+    'formats' => 'প্রকরণ',
+    'header_large' => 'বড় হেডার',
+    'header_medium' => 'মাঝারি হেডার',
+    'header_small' => 'ছোট হেডার',
+    'header_tiny' => 'ক্ষুদ্র হেডার',
+    'paragraph' => 'প্যারাগ্রাফ',
+    'blockquote' => 'ব্লককোট',
+    'inline_code' => 'ইনলাইন কোড',
+    'callouts' => 'কলআউট',
+    'callout_information' => 'তথ্যমূলক',
+    'callout_success' => 'সফলজনক',
+    'callout_warning' => 'সতর্কতামূলক',
+    'callout_danger' => 'বিপদজনক',
+    'bold' => 'বোল্ড',
+    'italic' => 'ইটালিক',
+    'underline' => 'আন্ডারলাইন',
+    'strikethrough' => 'স্ট্রাইকথ্রু',
+    'superscript' => 'Superscript',
+    'subscript' => 'Subscript',
+    'text_color' => 'Text color',
+    'custom_color' => 'Custom color',
+    'remove_color' => 'Remove color',
+    'background_color' => 'Background color',
+    'align_left' => 'Align left',
+    'align_center' => 'Align center',
+    'align_right' => 'Align right',
+    'align_justify' => 'Justify',
+    'list_bullet' => 'Bullet list',
+    'list_numbered' => 'Numbered list',
+    'list_task' => 'Task list',
+    'indent_increase' => 'Increase indent',
+    'indent_decrease' => 'Decrease indent',
+    'table' => 'Table',
+    'insert_image' => 'Insert image',
+    'insert_image_title' => 'Insert/Edit Image',
+    'insert_link' => 'Insert/edit link',
+    'insert_link_title' => 'Insert/Edit Link',
+    'insert_horizontal_line' => 'Insert horizontal line',
+    'insert_code_block' => 'Insert code block',
+    'edit_code_block' => 'Edit code block',
+    'insert_drawing' => 'Insert/edit drawing',
+    'drawing_manager' => 'Drawing manager',
+    'insert_media' => 'Insert/edit media',
+    'insert_media_title' => 'Insert/Edit Media',
+    'clear_formatting' => 'Clear formatting',
+    'source_code' => 'Source code',
+    'source_code_title' => 'Source Code',
+    'fullscreen' => 'Fullscreen',
+    'image_options' => 'Image options',
+
+    // Tables
+    'table_properties' => 'Table properties',
+    'table_properties_title' => 'Table Properties',
+    'delete_table' => 'Delete table',
+    'table_clear_formatting' => 'Clear table formatting',
+    'resize_to_contents' => 'Resize to contents',
+    'row_header' => 'Row header',
+    'insert_row_before' => 'Insert row before',
+    'insert_row_after' => 'Insert row after',
+    'delete_row' => 'Delete row',
+    'insert_column_before' => 'Insert column before',
+    'insert_column_after' => 'Insert column after',
+    'delete_column' => 'Delete column',
+    'table_cell' => 'Cell',
+    'table_row' => 'Row',
+    'table_column' => 'Column',
+    'cell_properties' => 'Cell properties',
+    'cell_properties_title' => 'Cell Properties',
+    'cell_type' => 'Cell type',
+    'cell_type_cell' => 'Cell',
+    'cell_scope' => 'Scope',
+    'cell_type_header' => 'Header cell',
+    'merge_cells' => 'Merge cells',
+    'split_cell' => 'Split cell',
+    'table_row_group' => 'Row Group',
+    'table_column_group' => 'Column Group',
+    'horizontal_align' => 'Horizontal align',
+    'vertical_align' => 'Vertical align',
+    'border_width' => 'Border width',
+    'border_style' => 'Border style',
+    'border_color' => 'Border color',
+    'row_properties' => 'Row properties',
+    'row_properties_title' => 'Row Properties',
+    'cut_row' => 'Cut row',
+    'copy_row' => 'Copy row',
+    'paste_row_before' => 'Paste row before',
+    'paste_row_after' => 'Paste row after',
+    'row_type' => 'Row type',
+    'row_type_header' => 'Header',
+    'row_type_body' => 'Body',
+    'row_type_footer' => 'Footer',
+    'alignment' => 'Alignment',
+    'cut_column' => 'Cut column',
+    'copy_column' => 'Copy column',
+    'paste_column_before' => 'Paste column before',
+    'paste_column_after' => 'Paste column after',
+    'cell_padding' => 'Cell padding',
+    'cell_spacing' => 'Cell spacing',
+    'caption' => 'Caption',
+    'show_caption' => 'Show caption',
+    'constrain' => 'Constrain proportions',
+    'cell_border_solid' => 'Solid',
+    'cell_border_dotted' => 'Dotted',
+    'cell_border_dashed' => 'Dashed',
+    'cell_border_double' => 'Double',
+    'cell_border_groove' => 'Groove',
+    'cell_border_ridge' => 'Ridge',
+    'cell_border_inset' => 'Inset',
+    'cell_border_outset' => 'Outset',
+    'cell_border_none' => 'None',
+    'cell_border_hidden' => 'Hidden',
+
+    // Images, links, details/summary & embed
+    'source' => 'Source',
+    'alt_desc' => 'Alternative description',
+    'embed' => 'Embed',
+    'paste_embed' => 'Paste your embed code below:',
+    'url' => 'URL',
+    'text_to_display' => 'Text to display',
+    'title' => 'Title',
+    'open_link' => 'Open link',
+    'open_link_in' => 'Open link in...',
+    'open_link_current' => 'Current window',
+    'open_link_new' => 'New window',
+    'remove_link' => 'Remove link',
+    'insert_collapsible' => 'Insert collapsible block',
+    'collapsible_unwrap' => 'Unwrap',
+    'edit_label' => 'Edit label',
+    'toggle_open_closed' => 'Toggle open/closed',
+    'collapsible_edit' => 'Edit collapsible block',
+    'toggle_label' => 'Toggle label',
+
+    // About view
+    'about' => 'About the editor',
+    'about_title' => 'About the WYSIWYG Editor',
+    'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
+    'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
+    'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
+    'save_continue' => 'Save Page & Continue',
+    'callouts_cycle' => '(Keep pressing to toggle through types)',
+    'link_selector' => 'Link to content',
+    'shortcuts' => 'Shortcuts',
+    'shortcut' => 'Shortcut',
+    'shortcuts_intro' => 'The following shortcuts are available in the editor:',
+    'windows_linux' => '(Windows/Linux)',
+    'mac' => '(Mac)',
+    'description' => 'Description',
+];
diff --git a/lang/bn/entities.php b/lang/bn/entities.php
new file mode 100644 (file)
index 0000000..26a563a
--- /dev/null
@@ -0,0 +1,460 @@
+<?php
+/**
+ * Text used for 'Entities' (Document Structure Elements) such as
+ * Books, Shelves, Chapters & Pages
+ */
+return [
+
+    // Shared
+    'recently_created' => 'Recently Created',
+    'recently_created_pages' => 'Recently Created Pages',
+    'recently_updated_pages' => 'Recently Updated Pages',
+    'recently_created_chapters' => 'Recently Created Chapters',
+    'recently_created_books' => 'Recently Created Books',
+    'recently_created_shelves' => 'Recently Created Shelves',
+    'recently_update' => 'Recently Updated',
+    'recently_viewed' => 'Recently Viewed',
+    'recent_activity' => 'Recent Activity',
+    'create_now' => 'Create one now',
+    'revisions' => 'Revisions',
+    'meta_revision' => 'Revision #:revisionCount',
+    'meta_created' => 'Created :timeLength',
+    'meta_created_name' => 'Created :timeLength by :user',
+    'meta_updated' => 'Updated :timeLength',
+    'meta_updated_name' => 'Updated :timeLength by :user',
+    'meta_owned_name' => 'Owned by :user',
+    'meta_reference_count' => 'Referenced by :count item|Referenced by :count items',
+    'entity_select' => 'Entity Select',
+    'entity_select_lack_permission' => 'You don\'t have the required permissions to select this item',
+    'images' => 'Images',
+    'my_recent_drafts' => 'My Recent Drafts',
+    'my_recently_viewed' => 'My Recently Viewed',
+    'my_most_viewed_favourites' => 'My Most Viewed Favourites',
+    'my_favourites' => 'My Favourites',
+    'no_pages_viewed' => 'You have not viewed any pages',
+    'no_pages_recently_created' => 'No pages have been recently created',
+    'no_pages_recently_updated' => 'No pages have been recently updated',
+    'export' => 'Export',
+    'export_html' => 'Contained Web File',
+    'export_pdf' => 'PDF File',
+    'export_text' => 'Plain Text File',
+    'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
+    'default_template' => 'Default Page Template',
+    'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
+    'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
+
+    // Permissions and restrictions
+    'permissions' => 'Permissions',
+    'permissions_desc' => 'Set permissions here to override the default permissions provided by user roles.',
+    'permissions_book_cascade' => 'Permissions set on books will automatically cascade to child chapters and pages, unless they have their own permissions defined.',
+    'permissions_chapter_cascade' => 'Permissions set on chapters will automatically cascade to child pages, unless they have their own permissions defined.',
+    'permissions_save' => 'Save Permissions',
+    'permissions_owner' => 'Owner',
+    'permissions_role_everyone_else' => 'Everyone Else',
+    'permissions_role_everyone_else_desc' => 'Set permissions for all roles not specifically overridden.',
+    'permissions_role_override' => 'Override permissions for role',
+    'permissions_inherit_defaults' => 'Inherit defaults',
+
+    // Search
+    'search_results' => 'Search Results',
+    'search_total_results_found' => ':count result found|:count total results found',
+    'search_clear' => 'Clear Search',
+    'search_no_pages' => 'No pages matched this search',
+    'search_for_term' => 'Search for :term',
+    'search_more' => 'More Results',
+    'search_advanced' => 'Advanced Search',
+    'search_terms' => 'Search Terms',
+    'search_content_type' => 'Content Type',
+    'search_exact_matches' => 'Exact Matches',
+    'search_tags' => 'Tag Searches',
+    'search_options' => 'Options',
+    'search_viewed_by_me' => 'Viewed by me',
+    'search_not_viewed_by_me' => 'Not viewed by me',
+    'search_permissions_set' => 'Permissions set',
+    'search_created_by_me' => 'Created by me',
+    'search_updated_by_me' => 'Updated by me',
+    'search_owned_by_me' => 'Owned by me',
+    'search_date_options' => 'Date Options',
+    'search_updated_before' => 'Updated before',
+    'search_updated_after' => 'Updated after',
+    'search_created_before' => 'Created before',
+    'search_created_after' => 'Created after',
+    'search_set_date' => 'Set Date',
+    'search_update' => 'Update Search',
+
+    // Shelves
+    'shelf' => 'Shelf',
+    'shelves' => 'Shelves',
+    'x_shelves' => ':count Shelf|:count Shelves',
+    'shelves_empty' => 'No shelves have been created',
+    'shelves_create' => 'Create New Shelf',
+    'shelves_popular' => 'Popular Shelves',
+    'shelves_new' => 'New Shelves',
+    'shelves_new_action' => 'New Shelf',
+    'shelves_popular_empty' => 'The most popular shelves will appear here.',
+    'shelves_new_empty' => 'The most recently created shelves will appear here.',
+    'shelves_save' => 'Save Shelf',
+    'shelves_books' => 'Books on this shelf',
+    'shelves_add_books' => 'Add books to this shelf',
+    'shelves_drag_books' => 'Drag books below to add them to this shelf',
+    'shelves_empty_contents' => 'This shelf has no books assigned to it',
+    'shelves_edit_and_assign' => 'Edit shelf to assign books',
+    'shelves_edit_named' => 'Edit Shelf :name',
+    'shelves_edit' => 'Edit Shelf',
+    'shelves_delete' => 'Delete Shelf',
+    'shelves_delete_named' => 'Delete Shelf :name',
+    'shelves_delete_explain' => "This will delete the shelf with the name ':name'. Contained books will not be deleted.",
+    'shelves_delete_confirmation' => 'Are you sure you want to delete this shelf?',
+    'shelves_permissions' => 'Shelf Permissions',
+    'shelves_permissions_updated' => 'Shelf Permissions Updated',
+    'shelves_permissions_active' => 'Shelf Permissions 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' => 'Copy Permissions to Books',
+    'shelves_copy_permissions' => 'Copy Permissions',
+    'shelves_copy_permissions_explain' => 'This will apply the current permission settings of this shelf to all books contained within. Before activating, ensure any changes to the permissions of this shelf have been saved.',
+    'shelves_copy_permission_success' => 'Shelf permissions copied to :count books',
+
+    // Books
+    'book' => 'Book',
+    'books' => 'Books',
+    'x_books' => ':count Book|:count Books',
+    'books_empty' => 'No books have been created',
+    'books_popular' => 'Popular Books',
+    'books_recent' => 'Recent Books',
+    'books_new' => 'New Books',
+    'books_new_action' => 'New Book',
+    'books_popular_empty' => 'The most popular books will appear here.',
+    'books_new_empty' => 'The most recently created books will appear here.',
+    'books_create' => 'Create New Book',
+    'books_delete' => 'Delete Book',
+    'books_delete_named' => 'Delete Book :bookName',
+    'books_delete_explain' => 'This will delete the book with the name \':bookName\'. All pages and chapters will be removed.',
+    'books_delete_confirmation' => 'Are you sure you want to delete this book?',
+    'books_edit' => 'Edit Book',
+    'books_edit_named' => 'Edit Book :bookName',
+    'books_form_book_name' => 'Book Name',
+    'books_save' => 'Save Book',
+    'books_permissions' => 'Book Permissions',
+    'books_permissions_updated' => 'Book Permissions Updated',
+    'books_empty_contents' => 'No pages or chapters have been created for this book.',
+    'books_empty_create_page' => 'Create a new page',
+    'books_empty_sort_current_book' => 'Sort the current book',
+    'books_empty_add_chapter' => 'Add a chapter',
+    'books_permissions_active' => 'Book Permissions Active',
+    'books_search_this' => 'Search this book',
+    'books_navigation' => 'Book Navigation',
+    'books_sort' => 'Sort Book Contents',
+    'books_sort_desc' => 'Move chapters and pages within a book to reorganise its contents. Other books can be added which allows easy moving of chapters and pages between books.',
+    'books_sort_named' => 'Sort Book :bookName',
+    'books_sort_name' => 'Sort by Name',
+    'books_sort_created' => 'Sort by Created Date',
+    'books_sort_updated' => 'Sort by Updated Date',
+    'books_sort_chapters_first' => 'Chapters First',
+    'books_sort_chapters_last' => 'Chapters Last',
+    'books_sort_show_other' => 'Show Other Books',
+    'books_sort_save' => 'Save New Order',
+    'books_sort_show_other_desc' => 'Add other books here to include them in the sort operation, and allow easy cross-book reorganisation.',
+    'books_sort_move_up' => 'Move Up',
+    'books_sort_move_down' => 'Move Down',
+    '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_before_chapter' => 'Move to Before Chapter',
+    'books_sort_move_after_chapter' => 'Move to After Chapter',
+    'books_copy' => 'Copy Book',
+    'books_copy_success' => 'Book successfully copied',
+
+    // Chapters
+    'chapter' => 'Chapter',
+    'chapters' => 'Chapters',
+    'x_chapters' => ':count Chapter|:count Chapters',
+    'chapters_popular' => 'Popular Chapters',
+    'chapters_new' => 'New Chapter',
+    'chapters_create' => 'Create New Chapter',
+    'chapters_delete' => 'Delete Chapter',
+    'chapters_delete_named' => 'Delete Chapter :chapterName',
+    'chapters_delete_explain' => 'This will delete the chapter with the name \':chapterName\'. All pages that exist within this chapter will also be deleted.',
+    'chapters_delete_confirm' => 'Are you sure you want to delete this chapter?',
+    'chapters_edit' => 'Edit Chapter',
+    'chapters_edit_named' => 'Edit Chapter :chapterName',
+    'chapters_save' => 'Save Chapter',
+    'chapters_move' => 'Move Chapter',
+    'chapters_move_named' => 'Move Chapter :chapterName',
+    'chapters_copy' => 'Copy Chapter',
+    'chapters_copy_success' => 'Chapter successfully copied',
+    'chapters_permissions' => 'Chapter Permissions',
+    'chapters_empty' => 'No pages are currently in this chapter.',
+    'chapters_permissions_active' => 'Chapter Permissions Active',
+    'chapters_permissions_success' => 'Chapter Permissions Updated',
+    'chapters_search_this' => 'Search this chapter',
+    'chapter_sort_book' => 'Sort Book',
+
+    // Pages
+    'page' => 'Page',
+    'pages' => 'Pages',
+    'x_pages' => ':count Page|:count Pages',
+    'pages_popular' => 'Popular Pages',
+    'pages_new' => 'New Page',
+    'pages_attachments' => 'Attachments',
+    'pages_navigation' => 'Page Navigation',
+    'pages_delete' => 'Delete Page',
+    'pages_delete_named' => 'Delete Page :pageName',
+    'pages_delete_draft_named' => 'Delete Draft Page :pageName',
+    'pages_delete_draft' => 'Delete Draft Page',
+    'pages_delete_success' => 'Page deleted',
+    'pages_delete_draft_success' => 'Draft page deleted',
+    'pages_delete_warning_template' => 'This page is in active use as a book or chapter default page template. These books or chapters will no longer have a default page template assigned after this page is deleted.',
+    'pages_delete_confirm' => 'Are you sure you want to delete this page?',
+    'pages_delete_draft_confirm' => 'Are you sure you want to delete this draft page?',
+    'pages_editing_named' => 'Editing Page :pageName',
+    'pages_edit_draft_options' => 'Draft Options',
+    'pages_edit_save_draft' => 'Save Draft',
+    'pages_edit_draft' => 'Edit Page Draft',
+    'pages_editing_draft' => 'Editing Draft',
+    'pages_editing_page' => 'Editing Page',
+    'pages_edit_draft_save_at' => 'Draft saved at ',
+    'pages_edit_delete_draft' => 'Delete Draft',
+    '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_discard_draft' => 'Discard Draft',
+    'pages_edit_switch_to_markdown' => 'Switch to Markdown Editor',
+    'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
+    'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
+    'pages_edit_switch_to_wysiwyg' => 'Switch to WYSIWYG Editor',
+    'pages_edit_switch_to_new_wysiwyg' => 'Switch to new WYSIWYG',
+    'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha Testing)',
+    'pages_edit_set_changelog' => 'Set Changelog',
+    'pages_edit_enter_changelog_desc' => 'Enter a brief description of the changes you\'ve made',
+    'pages_edit_enter_changelog' => 'Enter Changelog',
+    'pages_editor_switch_title' => 'Switch Editor',
+    'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
+    'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
+    'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
+    'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
+    'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
+    'pages_save' => 'Save Page',
+    'pages_title' => 'Page Title',
+    'pages_name' => 'Page Name',
+    'pages_md_editor' => 'Editor',
+    'pages_md_preview' => 'Preview',
+    'pages_md_insert_image' => 'Insert Image',
+    'pages_md_insert_link' => 'Insert Entity Link',
+    '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',
+    'pages_copy_desination' => 'Copy Destination',
+    'pages_copy_success' => 'Page successfully copied',
+    'pages_permissions' => 'Page Permissions',
+    'pages_permissions_success' => 'Page permissions updated',
+    'pages_revision' => 'Revision',
+    'pages_revisions' => 'Page Revisions',
+    'pages_revisions_desc' => 'Listed below are all the past revisions of this page. You can look back upon, compare, and restore old page versions if permissions allow. The full history of the page may not be fully reflected here since, depending on system configuration, old revisions could be auto-deleted.',
+    'pages_revisions_named' => 'Page Revisions for :pageName',
+    'pages_revision_named' => 'Page Revision for :pageName',
+    'pages_revision_restored_from' => 'Restored from #:id; :summary',
+    'pages_revisions_created_by' => 'Created By',
+    'pages_revisions_date' => 'Revision Date',
+    'pages_revisions_number' => '#',
+    'pages_revisions_sort_number' => 'Revision Number',
+    'pages_revisions_numbered' => 'Revision #:id',
+    'pages_revisions_numbered_changes' => 'Revision #:id Changes',
+    'pages_revisions_editor' => 'Editor Type',
+    'pages_revisions_changelog' => 'Changelog',
+    'pages_revisions_changes' => 'Changes',
+    'pages_revisions_current' => 'Current Version',
+    'pages_revisions_preview' => 'Preview',
+    'pages_revisions_restore' => 'Restore',
+    'pages_revisions_none' => 'This page has no revisions',
+    'pages_copy_link' => 'Copy 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_permissions_active' => 'Page Permissions Active',
+    'pages_initial_revision' => 'Initial publish',
+    'pages_references_update_revision' => 'System auto-update of internal links',
+    'pages_initial_name' => 'New Page',
+    'pages_editing_draft_notification' => 'You are currently editing a draft that was last saved :timeDiff.',
+    'pages_draft_edited_notification' => 'This page has been updated by since that time. It is recommended that you discard this draft.',
+    'pages_draft_page_changed_since_creation' => 'This page has been updated since this draft was created. It is recommended that you discard this draft or take care not to overwrite any page changes.',
+    'pages_draft_edit_active' => [
+        'start_a' => ':count users have started editing this page',
+        'start_b' => ':userName has started editing this page',
+        'time_a' => 'since the page was last updated',
+        'time_b' => 'in the last :minCount minutes',
+        'message' => ':start :time. Take care not to overwrite each other\'s updates!',
+    ],
+    '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_specific' => 'Specific Page',
+    'pages_is_template' => 'Page Template',
+
+    // Editor Sidebar
+    'toggle_sidebar' => 'Toggle Sidebar',
+    'page_tags' => 'Page Tags',
+    'chapter_tags' => 'Chapter Tags',
+    'book_tags' => 'Book Tags',
+    'shelf_tags' => 'Shelf Tags',
+    'tag' => 'Tag',
+    'tags' =>  'Tags',
+    'tags_index_desc' => 'Tags can be applied to content within the system to apply a flexible form of categorization. Tags can have both a key and value, with the value being optional. Once applied, content can then be queried using the tag name and value.',
+    'tag_name' =>  'Tag Name',
+    'tag_value' => 'Tag Value (Optional)',
+    'tags_explain' => "Add some tags to better categorise your content. \n You can assign a value to a tag for more in-depth organisation.",
+    'tags_add' => 'Add another tag',
+    'tags_remove' => 'Remove this tag',
+    'tags_usages' => 'Total tag usages',
+    'tags_assigned_pages' => 'Assigned to Pages',
+    'tags_assigned_chapters' => 'Assigned to Chapters',
+    'tags_assigned_books' => 'Assigned to Books',
+    'tags_assigned_shelves' => 'Assigned to Shelves',
+    'tags_x_unique_values' => ':count unique values',
+    'tags_all_values' => 'All values',
+    'tags_view_tags' => 'View Tags',
+    'tags_view_existing_tags' => 'View existing tags',
+    'tags_list_empty_hint' => 'Tags can be assigned via the page editor sidebar or while editing the details of a book, chapter or shelf.',
+    'attachments' => 'Attachments',
+    'attachments_explain' => 'Upload some files or attach some links to display on your page. These are visible in the page sidebar.',
+    'attachments_explain_instant_save' => 'Changes here are saved instantly.',
+    'attachments_upload' => 'Upload File',
+    'attachments_link' => 'Attach Link',
+    'attachments_upload_drop' => 'Alternatively you can drag and drop a file here to upload it as an attachment.',
+    'attachments_set_link' => 'Set Link',
+    'attachments_delete' => 'Are you sure you want to delete this attachment?',
+    'attachments_dropzone' => 'Drop files here to upload',
+    'attachments_no_files' => 'No files have been uploaded',
+    'attachments_explain_link' => 'You can attach a link if you\'d prefer not to upload a file. This can be a link to another page or a link to a file in the cloud.',
+    'attachments_link_name' => 'Link Name',
+    'attachment_link' => 'Attachment link',
+    'attachments_link_url' => 'Link to file',
+    'attachments_link_url_hint' => 'Url of site or file',
+    'attach' => 'Attach',
+    'attachments_insert_link' => 'Add Attachment Link to Page',
+    'attachments_edit_file' => 'Edit File',
+    'attachments_edit_file_name' => 'File Name',
+    'attachments_edit_drop_upload' => 'Drop files or click here to upload and overwrite',
+    'attachments_order_updated' => 'Attachment order updated',
+    'attachments_updated_success' => 'Attachment details updated',
+    'attachments_deleted' => 'Attachment deleted',
+    'attachments_file_uploaded' => 'File successfully uploaded',
+    'attachments_file_updated' => 'File successfully updated',
+    'attachments_link_attached' => 'Link successfully attached to page',
+    'templates' => 'Templates',
+    'templates_set_as_template' => 'Page is a template',
+    'templates_explain_set_as_template' => 'You can set this page as a template so its contents be utilized when creating other pages. Other users will be able to use this template if they have view permissions for this page.',
+    'templates_replace_content' => 'Replace page content',
+    'templates_append_content' => 'Append to page content',
+    'templates_prepend_content' => 'Prepend to page content',
+
+    // Profile View
+    'profile_user_for_x' => 'User for :time',
+    'profile_created_content' => 'Created Content',
+    'profile_not_created_pages' => ':userName has not created any pages',
+    'profile_not_created_chapters' => ':userName has not created any chapters',
+    'profile_not_created_books' => ':userName has not created any books',
+    'profile_not_created_shelves' => ':userName has not created any shelves',
+
+    // Comments
+    'comment' => 'Comment',
+    'comments' => 'Comments',
+    'comment_add' => 'Add Comment',
+    'comment_placeholder' => 'Leave a comment here',
+    'comment_count' => '{0} No Comments|{1} 1 Comment|[2,*] :count Comments',
+    'comment_save' => 'Save Comment',
+    'comment_new' => 'New Comment',
+    'comment_created' => 'commented :createDiff',
+    'comment_updated' => 'Updated :updateDiff by :username',
+    'comment_updated_indicator' => 'Updated',
+    'comment_deleted_success' => 'Comment deleted',
+    'comment_created_success' => 'Comment added',
+    'comment_updated_success' => 'Comment updated',
+    'comment_delete_confirm' => 'Are you sure you want to delete this comment?',
+    'comment_in_reply_to' => '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.',
+
+    // Revision
+    'revision_delete_confirm' => 'Are you sure you want to delete this revision?',
+    'revision_restore_confirm' => 'Are you sure you want to restore this revision? The current page contents will be replaced.',
+    'revision_cannot_delete_latest' => 'Cannot delete the latest revision.',
+
+    // Copy view
+    'copy_consider' => 'Please consider the below when copying content.',
+    'copy_consider_permissions' => 'Custom permission settings will not be copied.',
+    'copy_consider_owner' => 'You will become the owner of all copied content.',
+    'copy_consider_images' => 'Page image files will not be duplicated & the original images will retain their relation to the page they were originally uploaded to.',
+    'copy_consider_attachments' => 'Page attachments will not be copied.',
+    'copy_consider_access' => 'A change of location, owner or permissions may result in this content being accessible to those previously without access.',
+
+    // Conversions
+    'convert_to_shelf' => 'Convert to Shelf',
+    'convert_to_shelf_contents_desc' => 'You can convert this book to a new shelf with the same contents. Chapters contained within this book will be converted to new books. If this book contains any pages, that are not in a chapter, this book will be renamed and contain such pages, and this book will become part of the new shelf.',
+    'convert_to_shelf_permissions_desc' => 'Any permissions set on this book will be copied to the new shelf and to all new child books that don\'t have their own permissions enforced. Note that permissions on shelves do not auto-cascade to content within, as they do for books.',
+    'convert_book' => 'Convert Book',
+    'convert_book_confirm' => 'Are you sure you want to convert this book?',
+    'convert_undo_warning' => 'This cannot be as easily undone.',
+    'convert_to_book' => 'Convert to Book',
+    'convert_to_book_desc' => 'You can convert this chapter to a new book with the same contents. Any permissions set on this chapter will be copied to the new book but any inherited permissions, from the parent book, will not be copied which could lead to a change of access control.',
+    'convert_chapter' => 'Convert Chapter',
+    'convert_chapter_confirm' => 'Are you sure you want to convert this chapter?',
+
+    // References
+    'references' => 'References',
+    'references_none' => 'There are no tracked references to this item.',
+    'references_to_desc' => 'Listed below is all the known content in the system that links 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/bn/errors.php b/lang/bn/errors.php
new file mode 100644 (file)
index 0000000..ee2fbfa
--- /dev/null
@@ -0,0 +1,133 @@
+<?php
+/**
+ * Text shown in error messaging.
+ */
+return [
+
+    // Permissions
+    'permission' => 'অনুরোধকৃত পৃষ্ঠাটিতে আপনার ব্যবহারাধিকারের অনুমতি নেই।',
+    'permissionJson' => 'You do not have permission to perform the requested action.',
+
+    // Auth
+    'error_user_exists_different_creds' => 'A user with the email :email already exists but with different credentials.',
+    'auth_pre_register_theme_prevention' => 'User account could not be registered for the provided details',
+    'email_already_confirmed' => 'Email has already been confirmed, Try logging in.',
+    'email_confirmation_invalid' => 'This confirmation token is not valid or has already been used, Please try registering again.',
+    'email_confirmation_expired' => 'The confirmation token has expired, A new confirmation email has been sent.',
+    'email_confirmation_awaiting' => 'The email address for the account in use needs to be confirmed',
+    'ldap_fail_anonymous' => 'LDAP access failed using anonymous bind',
+    'ldap_fail_authed' => 'LDAP access failed using given dn & password details',
+    'ldap_extension_not_installed' => 'LDAP PHP extension not installed',
+    'ldap_cannot_connect' => 'Cannot connect to ldap server, Initial connection failed',
+    'saml_already_logged_in' => 'Already logged in',
+    'saml_no_email_address' => 'Could not find an email address, for this user, in the data provided by the external authentication system',
+    'saml_invalid_response_id' => 'The request from the external authentication system is not recognised by a process started by this application. Navigating back after a login could cause this issue.',
+    'saml_fail_authed' => 'Login using :system failed, system did not provide successful authorization',
+    'oidc_already_logged_in' => 'Already logged in',
+    'oidc_no_email_address' => 'Could not find an email address, for this user, in the data provided by the external authentication system',
+    'oidc_fail_authed' => 'Login using :system failed, system did not provide successful authorization',
+    'social_no_action_defined' => 'No action defined',
+    'social_login_bad_response' => "Error received during :socialAccount login: \n:error",
+    'social_account_in_use' => 'This :socialAccount account is already in use, Try logging in via the :socialAccount option.',
+    'social_account_email_in_use' => 'The email :email is already in use. If you already have an account you can connect your :socialAccount account from your profile settings.',
+    'social_account_existing' => 'This :socialAccount is already attached to your profile.',
+    'social_account_already_used_existing' => 'This :socialAccount account is already used by another user.',
+    'social_account_not_used' => 'This :socialAccount account is not linked to any users. Please attach it in your profile settings. ',
+    'social_account_register_instructions' => 'If you do not yet have an account, You can register an account using the :socialAccount option.',
+    'social_driver_not_found' => 'Social driver not found',
+    'social_driver_not_configured' => 'Your :socialAccount social settings are not configured correctly.',
+    'invite_token_expired' => 'This invitation link has expired. You can instead try to reset your account password.',
+    'login_user_not_found' => 'A user for this action could not be found.',
+
+    // System
+    'path_not_writable' => 'File path :filePath could not be uploaded to. Ensure it is writable to the server.',
+    'cannot_get_image_from_url' => 'Cannot get image from :url',
+    'cannot_create_thumbs' => 'The server cannot create thumbnails. Please check you have the GD PHP extension installed.',
+    'server_upload_limit' => 'The server does not allow uploads of this size. Please try a smaller file size.',
+    'server_post_limit' => 'The server cannot receive the provided amount of data. Try again with less data or a smaller file.',
+    'uploaded'  => 'The server does not allow uploads of this size. Please try a smaller file size.',
+
+    // Drawing & Images
+    'image_upload_error' => 'An error occurred uploading the image',
+    'image_upload_type_error' => 'The image type being uploaded is invalid',
+    'image_upload_replace_type' => 'Image file replacements must be of the same type',
+    'image_upload_memory_limit' => 'Failed to handle image upload and/or create thumbnails due to system resource limits.',
+    'image_thumbnail_memory_limit' => 'Failed to create image size variations due to system resource limits.',
+    'image_gallery_thumbnail_memory_limit' => 'Failed to create gallery thumbnails due to system resource limits.',
+    'drawing_data_not_found' => 'Drawing data could not be loaded. The drawing file might no longer exist or you may not have permission to access it.',
+
+    // Attachments
+    'attachment_not_found' => 'Attachment not found',
+    'attachment_upload_error' => 'An error occurred uploading the attachment file',
+
+    // Pages
+    'page_draft_autosave_fail' => 'Failed to save draft. Ensure you have internet connection before saving this page',
+    'page_draft_delete_fail' => 'Failed to delete page draft and fetch current page saved content',
+    'page_custom_home_deletion' => 'Cannot delete a page while it is set as a homepage',
+
+    // Entities
+    'entity_not_found' => 'Entity not found',
+    'bookshelf_not_found' => 'Shelf not found',
+    'book_not_found' => 'Book not found',
+    'page_not_found' => 'Page not found',
+    'chapter_not_found' => 'Chapter not found',
+    'selected_book_not_found' => 'The selected book was not found',
+    'selected_book_chapter_not_found' => 'The selected Book or Chapter was not found',
+    'guests_cannot_save_drafts' => 'Guests cannot save drafts',
+
+    // Users
+    'users_cannot_delete_only_admin' => 'You cannot delete the only admin',
+    'users_cannot_delete_guest' => 'You cannot delete the guest user',
+    'users_could_not_send_invite' => 'Could not create user since invite email failed to send',
+
+    // Roles
+    'role_cannot_be_edited' => 'This role cannot be edited',
+    'role_system_cannot_be_deleted' => 'This role is a system role and cannot be deleted',
+    'role_registration_default_cannot_delete' => 'This role cannot be deleted while set as the default registration role',
+    'role_cannot_remove_only_admin' => 'This user is the only user assigned to the administrator role. Assign the administrator role to another user before attempting to remove it here.',
+
+    // Comments
+    'comment_list' => 'An error occurred while fetching the comments.',
+    'cannot_add_comment_to_draft' => 'You cannot add comments to a draft.',
+    'comment_add' => 'An error occurred while adding / updating the comment.',
+    'comment_delete' => 'An error occurred while deleting the comment.',
+    'empty_comment' => 'Cannot add an empty comment.',
+
+    // Error pages
+    '404_page_not_found' => 'Page Not Found',
+    'sorry_page_not_found' => 'Sorry, The page you were looking for could not be found.',
+    'sorry_page_not_found_permission_warning' => 'If you expected this page to exist, you might not have permission to view it.',
+    'image_not_found' => 'Image Not Found',
+    'image_not_found_subtitle' => 'Sorry, The image file you were looking for could not be found.',
+    'image_not_found_details' => 'If you expected this image to exist it might have been deleted.',
+    'return_home' => 'Return to home',
+    'error_occurred' => 'An Error Occurred',
+    'app_down' => ':appName is down right now',
+    'back_soon' => 'It will be back up soon.',
+
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
+    // API errors
+    'api_no_authorization_found' => 'No authorization token found on the request',
+    'api_bad_authorization_format' => 'An authorization token was found on the request but the format appeared incorrect',
+    'api_user_token_not_found' => 'No matching API token was found for the provided authorization token',
+    'api_incorrect_token_secret' => 'The secret provided for the given used API token is incorrect',
+    'api_user_no_api_permission' => 'The owner of the used API token does not have permission to make API calls',
+    'api_user_token_expired' => 'The authorization token used has expired',
+
+    // 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/bn/notifications.php b/lang/bn/notifications.php
new file mode 100644 (file)
index 0000000..1afd23f
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Text used for activity-based notifications.
+ */
+return [
+
+    'new_comment_subject' => '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_page_path' => 'Page Path:',
+    '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/bn/pagination.php b/lang/bn/pagination.php
new file mode 100644 (file)
index 0000000..2cf360a
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Pagination Language Lines
+ * The following language lines are used by the paginator library to build
+ * the simple pagination links.
+ */
+return [
+
+    'previous' => '&laquo; পূর্ববর্তী',
+    'next'     => 'পরবর্তী &raquo;',
+
+];
diff --git a/lang/bn/passwords.php b/lang/bn/passwords.php
new file mode 100644 (file)
index 0000000..da318b1
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+/**
+ * Password Reminder Language Lines
+ * The following language lines are the default lines which match reasons
+ * that are given by the password broker for a password update attempt has failed.
+ */
+return [
+
+    'password' => 'পাসওয়ার্ড কমপক্ষে আট অক্ষরের হতে হবে এবং পাসওয়ার্ড নিশ্চিতকরণের ঘরে প্রদত্ত পাসওয়ার্ডের সাথে মিলতে হবে।',
+    'user' => "প্রদত্ত ইমেইল ঠিকানার স্বাপেক্ষে কোন ব্যবহারকারী খুঁজে পাওয়া যায়নি।",
+    'token' => 'প্রদত্ত পাসওয়ার্ড রিসেট টোকেন অত্র ইমেল ঠিকানার জন্য বৈধ নয়৷',
+    'sent' => 'আপনার পাসওয়ার্ড রিসেট লিঙ্কটি ই-মেইলের মাধ্যমে প্রেরণ করা হয়েছে!',
+    'reset' => 'আপনার পাসওয়ার্ডটি রিসেট করা হয়েছে!',
+
+];
diff --git a/lang/bn/preferences.php b/lang/bn/preferences.php
new file mode 100644 (file)
index 0000000..2e47604
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * Text used for user-preference specific views within bookstack.
+ */
+
+return [
+    'my_account' => 'আমার অ্যাকাউন্ট',
+
+    'shortcuts' => 'Shortcuts',
+    'shortcuts_interface' => 'UI Shortcut Preferences',
+    'shortcuts_toggle_desc' => 'Here you can enable or disable keyboard system interface shortcuts, used for navigation and actions.',
+    'shortcuts_customize_desc' => 'You can customize each of the shortcuts below. Just press your desired key combination after selecting the input for a shortcut.',
+    'shortcuts_toggle_label' => 'Keyboard shortcuts enabled',
+    'shortcuts_section_navigation' => 'Navigation',
+    'shortcuts_section_actions' => 'Common Actions',
+    '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!',
+    '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.',
+
+    'auth' => 'Access & Security',
+    'auth_change_password' => 'Change Password',
+    'auth_change_password_desc' => 'Change the password you use to log-in to the application. This must be at least 8 characters long.',
+    'auth_change_password_success' => 'Password has been updated!',
+
+    'profile' => 'Profile Details',
+    'profile_desc' => 'Manage the details of your account which represents you to other users, in addition to details that are used for communication and system personalisation.',
+    'profile_view_public' => 'View Public Profile',
+    'profile_name_desc' => 'Configure your display name which will be visible to other users in the system through the activity you perform, and content you own.',
+    'profile_email_desc' => 'This email will be used for notifications and, depending on active system authentication, system access.',
+    'profile_email_no_permission' => 'Unfortunately you don\'t have permission to change your email address. If you want to change this, you\'d need to ask an administrator to change this for you.',
+    'profile_avatar_desc' => 'Select an image which will be used to represent yourself to others in the system. Ideally this image should be square and about 256px in width and height.',
+    'profile_admin_options' => 'Administrator Options',
+    'profile_admin_options_desc' => 'Additional administrator-level options, like those to manage role assignments, can be found for your user account in the "Settings > Users" area of the application.',
+
+    'delete_account' => 'Delete Account',
+    'delete_my_account' => 'Delete My Account',
+    'delete_my_account_desc' => 'This will fully delete your user account from the system. You will not be able to recover this account or revert this action. Content you\'ve created, such as created pages and uploaded images, will remain.',
+    'delete_my_account_warning' => 'Are you sure you want to delete your account?',
+];
diff --git a/lang/bn/settings.php b/lang/bn/settings.php
new file mode 100644 (file)
index 0000000..e66e322
--- /dev/null
@@ -0,0 +1,339 @@
+<?php
+/**
+ * Settings text strings
+ * Contains all text strings used in the general settings sections of BookStack
+ * including users and roles.
+ */
+return [
+
+    // Common Messages
+    'settings' => 'সেটিংস',
+    'settings_save' => 'সেটিংস সংরক্ষণ করুন',
+    'system_version' => 'সিস্টেম ভার্সন',
+    'categories' => 'শ্রেণীবিভাগ সমূহ',
+
+    // App Settings
+    'app_customization' => 'নিজস্বীকরণ',
+    'app_features_security' => 'ফিচারসমূহ ও নিরাপত্তা',
+    'app_name' => 'এপ্লিকেশনের নাম',
+    'app_name_desc' => 'এই নামটি হেডারে এবং যেকোন সিস্টেম-প্রেরিত ইমেলে দেখানো হয়।',
+    'app_name_header' => 'হেডারে নাম দেখান',
+    'app_public_access' => 'পাবলিক এক্সেস',
+    'app_public_access_desc' => 'উক্ত অপশনটি সক্রিয় করলে আপনার বুকস্ট্যাক ওয়েবসাইটের সকল তথ্য, যে কেউ লগ ইন করা ছাড়াই, দেখতে বা পড়তে অথবা এক্সেস করতে পারবেন।',
+    'app_public_access_desc_guest' => '"Guest" ব্যবহারকারীর মাধ্যমে ওয়েবসাইট ভিসিটরদের পঠনধিকার নিয়ন্ত্রণ করা যেতে পারে।',
+    'app_public_access_toggle' => 'পাবলিক অ্যাক্সেসের অনুমতি দিন',
+    'app_public_viewing' => 'সকলের জন্যে উন্মুক্ত করতে চান?',
+    'app_secure_images' => 'Higher Security Image Uploads',
+    'app_secure_images_toggle' => 'Enable higher security image uploads',
+    'app_secure_images_desc' => 'For performance reasons, all images are public. This option adds a random, hard-to-guess string in front of image urls. Ensure directory indexes are not enabled to prevent easy access.',
+    'app_default_editor' => 'Default Page Editor',
+    'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.',
+    'app_custom_html' => 'Custom HTML Head Content',
+    'app_custom_html_desc' => 'Any content added here will be inserted into the bottom of the <head> section of every page. This is handy for overriding styles or adding analytics code.',
+    'app_custom_html_disabled_notice' => 'Custom HTML head content is disabled on this settings page to ensure any breaking changes can be reverted.',
+    'app_logo' => 'অ্যাপ্লিকেশনের লোগো',
+    'app_logo_desc' => 'এটি অ্যাপ্লিকেশনের হেডার বার-এ দেখানো হবে।  উক্ত ছবিটির উচ্চতা সর্বোচ্চ ৮৬ পিক্সেলের হতে হবে। অধিকতর উচ্চতার ছবিকে স্কেল ডাউন করা হবে। ',
+    'app_icon' => 'অ্যাপ্লিকেশনের আইকন',
+    'app_icon_desc' => 'This icon is used for browser tabs and shortcut icons. This should be a 256px square PNG image.',
+    'app_homepage' => 'অ্যাপ্লিকেশনের নীড়পাতা',
+    'app_homepage_desc' => 'Select a view to show on the homepage instead of the default view. Page permissions are ignored for selected pages.',
+    'app_homepage_select' => 'একটি পৃষ্ঠা নির্বাচন করুন',
+    'app_footer_links' => 'ফুটার লিঙ্কসমূহ',
+    'app_footer_links_desc' => 'Add links to show within the site footer. These will be displayed at the bottom of most pages, including those that do not require login. You can use a label of "trans::<key>" to use system-defined translations. For example: Using "trans::common.privacy_policy" will provide the translated text "Privacy Policy" and "trans::common.terms_of_service" will provide the translated text "Terms of Service".',
+    'app_footer_links_label' => 'Link Label',
+    'app_footer_links_url' => 'Link URL',
+    'app_footer_links_add' => 'Add Footer Link',
+    'app_disable_comments' => 'Disable Comments',
+    'app_disable_comments_toggle' => 'Disable comments',
+    'app_disable_comments_desc' => 'Disables comments across all pages in the application. <br> Existing comments are not shown.',
+
+    // Color settings
+    'color_scheme' => 'Application Color Scheme',
+    'color_scheme_desc' => 'Set the colors to use in the application user interface. Colors can be configured separately for dark and light modes to best fit the theme and ensure legibility.',
+    'ui_colors_desc' => 'Set the application primary color and default link color. The primary color is mainly used for the header banner, buttons and interface decorations. The default link color is used for text-based links and actions, both within written content and in the application interface.',
+    'app_color' => 'Primary Color',
+    'link_color' => 'Default Link Color',
+    'content_colors_desc' => 'Set colors for all elements in the page organisation hierarchy. Choosing colors with a similar brightness to the default colors is recommended for readability.',
+    'bookshelf_color' => 'Shelf Color',
+    'book_color' => 'Book Color',
+    'chapter_color' => 'Chapter Color',
+    'page_color' => 'Page Color',
+    'page_draft_color' => 'Page Draft Color',
+
+    // Registration Settings
+    'reg_settings' => 'Registration',
+    'reg_enable' => 'Enable Registration',
+    'reg_enable_toggle' => 'Enable registration',
+    'reg_enable_desc' => 'When registration is enabled user will be able to sign themselves up as an application user. Upon registration they are given a single, default user role.',
+    'reg_default_role' => 'Default user role after registration',
+    'reg_enable_external_warning' => 'The option above is ignored while external LDAP or SAML authentication is active. User accounts for non-existing members will be auto-created if authentication, against the external system in use, is successful.',
+    'reg_email_confirmation' => 'Email Confirmation',
+    'reg_email_confirmation_toggle' => 'Require email confirmation',
+    'reg_confirm_email_desc' => 'If domain restriction is used then email confirmation will be required and this option will be ignored.',
+    'reg_confirm_restrict_domain' => 'Domain Restriction',
+    'reg_confirm_restrict_domain_desc' => 'Enter a comma separated list of email domains you would like to restrict registration to. Users will be sent an email to confirm their address before being allowed to interact with the application. <br> Note that users will be able to change their email addresses after successful registration.',
+    'reg_confirm_restrict_domain_placeholder' => 'No restriction set',
+
+    // Maintenance settings
+    'maint' => 'Maintenance',
+    'maint_image_cleanup' => 'Cleanup Images',
+    'maint_image_cleanup_desc' => 'Scans page & revision content to check which images and drawings are currently in use and which images are redundant. Ensure you create a full database and image backup before running this.',
+    'maint_delete_images_only_in_revisions' => 'Also delete images that only exist in old page revisions',
+    'maint_image_cleanup_run' => 'Run Cleanup',
+    'maint_image_cleanup_warning' => ':count potentially unused images were found. Are you sure you want to delete these images?',
+    'maint_image_cleanup_success' => ':count potentially unused images found and deleted!',
+    'maint_image_cleanup_nothing_found' => 'No unused images found, Nothing deleted!',
+    'maint_send_test_email' => 'Send a Test Email',
+    'maint_send_test_email_desc' => 'This sends a test email to your email address specified in your profile.',
+    'maint_send_test_email_run' => 'Send test email',
+    'maint_send_test_email_success' => 'Email sent to :address',
+    'maint_send_test_email_mail_subject' => 'Test Email',
+    'maint_send_test_email_mail_greeting' => 'Email delivery seems to work!',
+    'maint_send_test_email_mail_text' => 'Congratulations! As you received this email notification, your email settings seem to be configured properly.',
+    'maint_recycle_bin_desc' => 'Deleted shelves, books, chapters & pages are sent to the recycle bin so they can be restored or permanently deleted. Older items in the recycle bin may be automatically removed after a while depending on system configuration.',
+    'maint_recycle_bin_open' => 'Open Recycle Bin',
+    'maint_regen_references' => 'Regenerate References',
+    'maint_regen_references_desc' => 'This action will rebuild the cross-item reference index within the database. This is usually handled automatically but this action can be useful to index old content or content added via unofficial methods.',
+    'maint_regen_references_success' => 'Reference index has been regenerated!',
+    'maint_timeout_command_note' => 'Note: This action can take time to run, which can lead to timeout issues in some web environments. As an alternative, this action be performed using a terminal command.',
+
+    // Recycle Bin
+    'recycle_bin' => 'Recycle Bin',
+    'recycle_bin_desc' => 'Here you can restore items that have been deleted or choose to permanently remove them from the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.',
+    'recycle_bin_deleted_item' => 'Deleted Item',
+    'recycle_bin_deleted_parent' => 'Parent',
+    'recycle_bin_deleted_by' => 'Deleted By',
+    'recycle_bin_deleted_at' => 'Deletion Time',
+    'recycle_bin_permanently_delete' => 'Permanently Delete',
+    'recycle_bin_restore' => 'Restore',
+    'recycle_bin_contents_empty' => 'The recycle bin is currently empty',
+    'recycle_bin_empty' => 'Empty Recycle Bin',
+    'recycle_bin_empty_confirm' => 'This will permanently destroy all items in the recycle bin including content contained within each item. Are you sure you want to empty the recycle bin?',
+    'recycle_bin_destroy_confirm' => 'This action will permanently delete this item from the system, along with any child elements listed below, and you will not be able to restore this content. Are you sure you want to permanently delete this item?',
+    'recycle_bin_destroy_list' => 'Items to be Destroyed',
+    'recycle_bin_restore_list' => 'Items to be Restored',
+    'recycle_bin_restore_confirm' => 'This action will restore the deleted item, including any child elements, to their original location. If the original location has since been deleted, and is now in the recycle bin, the parent item will also need to be restored.',
+    'recycle_bin_restore_deleted_parent' => 'The parent of this item has also been deleted. These will remain deleted until that parent is also restored.',
+    'recycle_bin_restore_parent' => 'Restore Parent',
+    'recycle_bin_destroy_notification' => 'Deleted :count total items from the recycle bin.',
+    'recycle_bin_restore_notification' => 'Restored :count total items from the recycle bin.',
+
+    // Audit Log
+    'audit' => 'Audit Log',
+    'audit_desc' => 'This audit log displays a list of activities tracked in the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.',
+    'audit_event_filter' => 'Event Filter',
+    'audit_event_filter_no_filter' => 'No Filter',
+    'audit_deleted_item' => 'Deleted Item',
+    'audit_deleted_item_name' => 'Name: :name',
+    'audit_table_user' => 'User',
+    'audit_table_event' => 'Event',
+    'audit_table_related' => 'Related Item or Detail',
+    'audit_table_ip' => 'IP Address',
+    'audit_table_date' => 'Activity Date',
+    'audit_date_from' => 'Date Range From',
+    'audit_date_to' => 'Date Range To',
+
+    // Role Settings
+    'roles' => 'Roles',
+    'role_user_roles' => 'User Roles',
+    'roles_index_desc' => 'Roles are used to group users & provide system permission to their members. When a user is a member of multiple roles the privileges granted will stack and the user will inherit all abilities.',
+    'roles_x_users_assigned' => ':count user assigned|:count users assigned',
+    'roles_x_permissions_provided' => ':count permission|:count permissions',
+    'roles_assigned_users' => 'Assigned Users',
+    'roles_permissions_provided' => 'Provided Permissions',
+    'role_create' => 'Create New Role',
+    'role_delete' => 'Delete Role',
+    'role_delete_confirm' => 'This will delete the role with the name \':roleName\'.',
+    'role_delete_users_assigned' => 'This role has :userCount users assigned to it. If you would like to migrate the users from this role select a new role below.',
+    'role_delete_no_migration' => "Don't migrate users",
+    'role_delete_sure' => 'Are you sure you want to delete this role?',
+    'role_edit' => 'Edit Role',
+    'role_details' => 'Role Details',
+    'role_name' => 'Role Name',
+    'role_desc' => 'Short Description of Role',
+    'role_mfa_enforced' => 'Requires Multi-Factor Authentication',
+    'role_external_auth_id' => 'External Authentication IDs',
+    'role_system' => 'System Permissions',
+    'role_manage_users' => 'Manage users',
+    'role_manage_roles' => 'Manage roles & role permissions',
+    'role_manage_entity_permissions' => 'Manage all book, chapter & page permissions',
+    'role_manage_own_entity_permissions' => 'Manage permissions on own book, chapter & pages',
+    'role_manage_page_templates' => 'Manage page templates',
+    'role_access_api' => 'Access system API',
+    'role_manage_settings' => 'Manage app settings',
+    'role_export_content' => 'Export content',
+    'role_import_content' => 'Import 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.',
+    'role_asset_admins' => 'Admins are automatically given access to all content but these options may show or hide UI options.',
+    'role_asset_image_view_note' => 'This relates to visibility within the image manager. Actual access of uploaded image files will be dependant upon system image storage option.',
+    'role_all' => 'All',
+    'role_own' => 'Own',
+    'role_controlled_by_asset' => 'Controlled by the asset they are uploaded to',
+    'role_save' => 'Save Role',
+    'role_users' => 'Users in this role',
+    'role_users_none' => 'No users are currently assigned to this role',
+
+    // Users
+    'users' => 'Users',
+    'users_index_desc' => 'Create & manage individual user accounts within the system. User accounts are used for login and attribution of content & activity. Access permissions are primarily role-based but user content ownership, among other factors, may also affect permissions & access.',
+    'user_profile' => 'User Profile',
+    'users_add_new' => 'Add New User',
+    'users_search' => 'Search Users',
+    'users_latest_activity' => 'Latest Activity',
+    'users_details' => 'User Details',
+    'users_details_desc' => 'Set a display name and an email address for this user. The email address will be used for logging into the application.',
+    'users_details_desc_no_email' => 'Set a display name for this user so others can recognise them.',
+    'users_role' => 'User Roles',
+    'users_role_desc' => 'Select which roles this user will be assigned to. If a user is assigned to multiple roles the permissions from those roles will stack and they will receive all abilities of the assigned roles.',
+    'users_password' => 'User Password',
+    'users_password_desc' => 'Set a password used to log-in to the application. This must be at least 8 characters long.',
+    'users_send_invite_text' => 'You can choose to send this user an invitation email which allows them to set their own password otherwise you can set their password yourself.',
+    'users_send_invite_option' => 'Send user invite email',
+    'users_external_auth_id' => 'External Authentication ID',
+    'users_external_auth_id_desc' => 'When an external authentication system is in use (such as SAML2, OIDC or LDAP) this is the ID which links this BookStack user to the authentication system account. You can ignore this field if using the default email-based authentication.',
+    'users_password_warning' => 'Only fill the below if you would like to change the password for this user.',
+    'users_system_public' => 'This user represents any guest users that visit your instance. It cannot be used to log in but is assigned automatically.',
+    'users_delete' => 'Delete User',
+    'users_delete_named' => 'Delete user :userName',
+    'users_delete_warning' => 'This will fully delete this user with the name \':userName\' from the system.',
+    'users_delete_confirm' => 'Are you sure you want to delete this user?',
+    'users_migrate_ownership' => 'Migrate Ownership',
+    'users_migrate_ownership_desc' => 'Select a user here if you want another user to become the owner of all items currently owned by this user.',
+    'users_none_selected' => 'No user selected',
+    'users_edit' => 'Edit User',
+    'users_edit_profile' => 'Edit Profile',
+    'users_avatar' => 'User Avatar',
+    'users_avatar_desc' => 'Select an image to represent this user. This should be approx 256px square.',
+    'users_preferred_language' => 'Preferred Language',
+    'users_preferred_language_desc' => 'This option will change the language used for the user-interface of the application. This will not affect any user-created content.',
+    'users_social_accounts' => 'Social Accounts',
+    'users_social_accounts_desc' => 'View the status of the connected social accounts for this user. Social accounts can be used in addition to the primary authentication system for system access.',
+    'users_social_accounts_info' => 'Here you can connect your other accounts for quicker and easier login. Disconnecting an account here does not revoke previously authorized access. Revoke access from your profile settings on the connected social account.',
+    'users_social_connect' => 'Connect Account',
+    'users_social_disconnect' => 'Disconnect Account',
+    'users_social_status_connected' => 'Connected',
+    'users_social_status_disconnected' => 'Disconnected',
+    'users_social_connected' => ':socialAccount account was successfully attached to your profile.',
+    'users_social_disconnected' => ':socialAccount account was successfully disconnected from your profile.',
+    'users_api_tokens' => 'API Tokens',
+    'users_api_tokens_desc' => 'Create and manage the access tokens used to authenticate with the BookStack REST API. Permissions for the API are managed via the user that the token belongs to.',
+    'users_api_tokens_none' => 'No API tokens have been created for this user',
+    'users_api_tokens_create' => 'Create Token',
+    'users_api_tokens_expires' => 'Expires',
+    'users_api_tokens_docs' => 'API Documentation',
+    'users_mfa' => 'Multi-Factor Authentication',
+    'users_mfa_desc' => 'Setup multi-factor authentication as an extra layer of security for your user account.',
+    'users_mfa_x_methods' => ':count method configured|:count methods configured',
+    'users_mfa_configure' => 'Configure Methods',
+
+    // API Tokens
+    'user_api_token_create' => 'Create API Token',
+    'user_api_token_name' => 'Name',
+    'user_api_token_name_desc' => 'Give your token a readable name as a future reminder of its intended purpose.',
+    'user_api_token_expiry' => 'Expiry Date',
+    'user_api_token_expiry_desc' => 'Set a date at which this token expires. After this date, requests made using this token will no longer work. Leaving this field blank will set an expiry 100 years into the future.',
+    'user_api_token_create_secret_message' => 'Immediately after creating this token a "Token ID" & "Token Secret" will be generated and displayed. The secret will only be shown a single time so be sure to copy the value to somewhere safe and secure before proceeding.',
+    'user_api_token' => 'API Token',
+    'user_api_token_id' => 'Token ID',
+    'user_api_token_id_desc' => 'This is a non-editable system generated identifier for this token which will need to be provided in API requests.',
+    'user_api_token_secret' => 'Token Secret',
+    'user_api_token_secret_desc' => 'This is a system generated secret for this token which will need to be provided in API requests. This will only be displayed this one time so copy this value to somewhere safe and secure.',
+    'user_api_token_created' => 'Token created :timeAgo',
+    'user_api_token_updated' => 'Token updated :timeAgo',
+    'user_api_token_delete' => 'Delete Token',
+    'user_api_token_delete_warning' => 'This will fully delete this API token with the name \':tokenName\' from the system.',
+    'user_api_token_delete_confirm' => 'Are you sure you want to delete this API token?',
+
+    // Webhooks
+    'webhooks' => 'Webhooks',
+    'webhooks_index_desc' => 'Webhooks are a way to send data to external URLs when certain actions and events occur within the system which allows event-based integration with external platforms such as messaging or notification systems.',
+    'webhooks_x_trigger_events' => ':count trigger event|:count trigger events',
+    'webhooks_create' => 'Create New Webhook',
+    'webhooks_none_created' => 'No webhooks have yet been created.',
+    'webhooks_edit' => 'Edit Webhook',
+    'webhooks_save' => 'Save Webhook',
+    'webhooks_details' => 'Webhook Details',
+    'webhooks_details_desc' => 'Provide a user friendly name and a POST endpoint as a location for the webhook data to be sent to.',
+    'webhooks_events' => 'Webhook Events',
+    'webhooks_events_desc' => 'Select all the events that should trigger this webhook to be called.',
+    'webhooks_events_warning' => 'Keep in mind that these events will be triggered for all selected events, even if custom permissions are applied. Ensure that use of this webhook won\'t expose confidential content.',
+    'webhooks_events_all' => 'All system events',
+    'webhooks_name' => 'Webhook Name',
+    'webhooks_timeout' => 'Webhook Request Timeout (Seconds)',
+    'webhooks_endpoint' => 'Webhook Endpoint',
+    'webhooks_active' => 'Webhook Active',
+    'webhook_events_table_header' => 'Events',
+    'webhooks_delete' => 'Delete Webhook',
+    'webhooks_delete_warning' => 'This will fully delete this webhook, with the name \':webhookName\', from the system.',
+    'webhooks_delete_confirm' => 'Are you sure you want to delete this webhook?',
+    'webhooks_format_example' => 'Webhook Format Example',
+    'webhooks_format_example_desc' => 'Webhook data is sent as a POST request to the configured endpoint as JSON following the format below. The "related_item" and "url" properties are optional and will depend on the type of event triggered.',
+    'webhooks_status' => 'Webhook Status',
+    'webhooks_last_called' => 'Last Called:',
+    'webhooks_last_errored' => 'Last Errored:',
+    'webhooks_last_error_message' => 'Last Error Message:',
+
+    // Licensing
+    'licenses' => 'Licenses',
+    'licenses_desc' => 'This page details license information for BookStack in addition to the projects & libraries that are used within BookStack. Many projects listed may only be used in a development context.',
+    'licenses_bookstack' => 'BookStack License',
+    'licenses_php' => 'PHP Library Licenses',
+    'licenses_js' => 'JavaScript Library Licenses',
+    'licenses_other' => 'Other Licenses',
+    'license_details' => 'License Details',
+
+    //! If editing translations files directly please ignore this in all
+    //! languages apart from en. Content will be auto-copied from en.
+    //!////////////////////////////////
+    'language_select' => [
+        'en' => 'English',
+        'ar' => 'العربية',
+        'bg' => 'Bǎlgarski',
+        'bs' => 'Bosanski',
+        'ca' => 'Català',
+        'cs' => 'Česky',
+        'cy' => 'Cymraeg',
+        'da' => 'Dansk',
+        'de' => 'Deutsch (Sie)',
+        'de_informal' => 'Deutsch (Du)',
+        'el' => 'ελληνικά',
+        'es' => 'Español',
+        'es_AR' => 'Español Argentina',
+        'et' => 'Eesti keel',
+        'eu' => 'Euskara',
+        'fa' => 'فارسی',
+        'fi' => 'Suomi',
+        'fr' => 'Français',
+        'he' => 'עברית',
+        'hr' => 'Hrvatski',
+        'hu' => 'Magyar',
+        'id' => 'Bahasa Indonesia',
+        'it' => 'Italian',
+        'ja' => '日本語',
+        'ko' => '한국어',
+        'lt' => 'Lietuvių Kalba',
+        'lv' => 'Latviešu Valoda',
+        'nb' => 'Norsk (Bokmål)',
+        'nn' => 'Nynorsk',
+        'nl' => 'Nederlands',
+        'pl' => 'Polski',
+        'pt' => 'Português',
+        'pt_BR' => 'Português do Brasil',
+        'ro' => 'Română',
+        'ru' => 'Русский',
+        'sk' => 'Slovensky',
+        'sl' => 'Slovenščina',
+        'sv' => 'Svenska',
+        'tr' => 'Türkçe',
+        'uk' => 'Українська',
+        'uz' => 'O‘zbekcha',
+        'vi' => 'Tiếng Việt',
+        'zh_CN' => '简体中文',
+        'zh_TW' => '繁體中文',
+    ],
+    //!////////////////////////////////
+];
diff --git a/lang/bn/validation.php b/lang/bn/validation.php
new file mode 100644 (file)
index 0000000..d9b982d
--- /dev/null
@@ -0,0 +1,122 @@
+<?php
+/**
+ * Validation Lines
+ * The following language lines contain the default error messages used by
+ * the validator class. Some of these rules have multiple versions such
+ * as the size rules. Feel free to tweak each of these messages here.
+ */
+return [
+
+    // Standard laravel validation lines
+    'accepted'             => 'The :attribute must be accepted.',
+    'active_url'           => 'The :attribute is not a valid URL.',
+    'after'                => 'The :attribute must be a date after :date.',
+    'alpha'                => 'The :attribute may only contain letters.',
+    'alpha_dash'           => 'The :attribute may only contain letters, numbers, dashes and underscores.',
+    'alpha_num'            => 'The :attribute may only contain letters and numbers.',
+    'array'                => 'The :attribute must be an array.',
+    'backup_codes'         => 'The provided code is not valid or has already been used.',
+    'before'               => 'The :attribute must be a date before :date.',
+    'between'              => [
+        'numeric' => 'The :attribute must be between :min and :max.',
+        'file'    => 'The :attribute must be between :min and :max kilobytes.',
+        'string'  => 'The :attribute must be between :min and :max characters.',
+        'array'   => 'The :attribute must have between :min and :max items.',
+    ],
+    'boolean'              => 'The :attribute field must be true or false.',
+    'confirmed'            => 'The :attribute confirmation does not match.',
+    'date'                 => 'The :attribute is not a valid date.',
+    'date_format'          => 'The :attribute does not match the format :format.',
+    'different'            => 'The :attribute and :other must be different.',
+    'digits'               => 'The :attribute must be :digits digits.',
+    'digits_between'       => 'The :attribute must be between :min and :max digits.',
+    'email'                => 'The :attribute must be a valid email address.',
+    'ends_with' => 'The :attribute must end with one of the following: :values',
+    'file'                 => 'The :attribute must be provided as a valid file.',
+    'filled'               => 'The :attribute field is required.',
+    'gt'                   => [
+        'numeric' => 'The :attribute must be greater than :value.',
+        'file'    => 'The :attribute must be greater than :value kilobytes.',
+        'string'  => 'The :attribute must be greater than :value characters.',
+        'array'   => 'The :attribute must have more than :value items.',
+    ],
+    'gte'                  => [
+        'numeric' => 'The :attribute must be greater than or equal :value.',
+        'file'    => 'The :attribute must be greater than or equal :value kilobytes.',
+        'string'  => 'The :attribute must be greater than or equal :value characters.',
+        'array'   => 'The :attribute must have :value items or more.',
+    ],
+    'exists'               => 'The selected :attribute is invalid.',
+    'image'                => 'The :attribute must be an image.',
+    'image_extension'      => 'The :attribute must have a valid & supported image extension.',
+    'in'                   => 'The selected :attribute is invalid.',
+    'integer'              => 'The :attribute must be an integer.',
+    'ip'                   => 'The :attribute must be a valid IP address.',
+    'ipv4'                 => 'The :attribute must be a valid IPv4 address.',
+    'ipv6'                 => 'The :attribute must be a valid IPv6 address.',
+    'json'                 => 'The :attribute must be a valid JSON string.',
+    'lt'                   => [
+        'numeric' => 'The :attribute must be less than :value.',
+        'file'    => 'The :attribute must be less than :value kilobytes.',
+        'string'  => 'The :attribute must be less than :value characters.',
+        'array'   => 'The :attribute must have less than :value items.',
+    ],
+    'lte'                  => [
+        'numeric' => 'The :attribute must be less than or equal :value.',
+        'file'    => 'The :attribute must be less than or equal :value kilobytes.',
+        'string'  => 'The :attribute must be less than or equal :value characters.',
+        'array'   => 'The :attribute must not have more than :value items.',
+    ],
+    'max'                  => [
+        'numeric' => 'The :attribute may not be greater than :max.',
+        'file'    => 'The :attribute may not be greater than :max kilobytes.',
+        'string'  => 'The :attribute may not be greater than :max characters.',
+        'array'   => 'The :attribute may not have more than :max items.',
+    ],
+    'mimes'                => 'The :attribute must be a file of type: :values.',
+    'min'                  => [
+        'numeric' => 'The :attribute must be at least :min.',
+        'file'    => 'The :attribute must be at least :min kilobytes.',
+        'string'  => 'The :attribute must be at least :min characters.',
+        'array'   => 'The :attribute must have at least :min items.',
+    ],
+    'not_in'               => 'The selected :attribute is invalid.',
+    'not_regex'            => 'The :attribute format is invalid.',
+    'numeric'              => 'The :attribute must be a number.',
+    'regex'                => 'The :attribute format is invalid.',
+    'required'             => 'The :attribute field is required.',
+    'required_if'          => 'The :attribute field is required when :other is :value.',
+    'required_with'        => 'The :attribute field is required when :values is present.',
+    'required_with_all'    => 'The :attribute field is required when :values is present.',
+    'required_without'     => 'The :attribute field is required when :values is not present.',
+    'required_without_all' => 'The :attribute field is required when none of :values are present.',
+    'same'                 => 'The :attribute and :other must match.',
+    'safe_url'             => 'The provided link may not be safe.',
+    'size'                 => [
+        'numeric' => 'The :attribute must be :size.',
+        'file'    => 'The :attribute must be :size kilobytes.',
+        'string'  => 'The :attribute must be :size characters.',
+        'array'   => 'The :attribute must contain :size items.',
+    ],
+    'string'               => 'The :attribute must be a string.',
+    'timezone'             => 'The :attribute must be a valid zone.',
+    'totp'                 => 'The provided code is not valid or has expired.',
+    'unique'               => 'The :attribute has already been taken.',
+    'url'                  => 'The :attribute format is invalid.',
+    'uploaded'             => 'The file could not be uploaded. The server may not accept files of this size.',
+
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
+    // Custom validation lines
+    'custom' => [
+        'password-confirm' => [
+            'required_with' => 'Password confirmation required',
+        ],
+    ],
+
+    // Custom validation attributes
+    'attributes' => [],
+];
index ee538c23a478ab5ef165a262b683ae005903a652..fc63058ae12ae16dee94c950a055651f2ee2a8a8 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'deleted webhook',
     'webhook_delete_notification' => 'Webhook successfully deleted',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'created user',
     'user_create_notification' => 'User successfully created',
index de9aa0ece10f535becba6a65273835bacfe523db..a61b460427ebf255364eafee6818af171dbcad99 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Save Page & Continue',
index 1b59ecac8755daab9ab56720f7f8912e79f67704..fc6e19ddd8ab9af6d5f0c6f5ab5ab8b40513aad8 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF fajl',
     'export_text' => 'Plain Text fajl',
     'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Dozvole',
index be633b5894b53746cf5ad83e19e80fa578ef2b40..f60f92f078213e7bd6600098d98de458eea34f47 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName trenutno nije u funkciji',
     'back_soon' => 'Biti će uskoro u funkciji.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Na zahtjevu nije pronađen token za autorizaciju',
     'api_bad_authorization_format' => 'Token za autorizaciju je pronađen u zahtjevu ali je format neispravan',
index 5427cb9419ea1ff716704e5b06630b9afcd2c3b2..c0b6b692a57b9b5eaf7ce17d51a0baf0ae6380ab 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Access system API',
     'role_manage_settings' => 'Manage app settings',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Asset Permissions',
index b07df9178fc66afbced6e8c34a3f823cf8e84583..4b026afd2dcfbaef89643efb2b6bd6fe3c62e217 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Format :attribute je neispravan.',
     'uploaded'             => 'Fajl nije učitan. Server ne prihvata fajlove ove veličine.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index c288384826ce1c34ca6bf849b9bee334a5181e5f..8835676644be0b87991be757c8d53c9508c03fa0 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'ha suprimit el webhook',
     'webhook_delete_notification' => 'S’ha suprimit el webhook',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'ha creat l’usuari',
     'user_create_notification' => 'S’ha creat l’usuari',
index 7a09986a2f2aa3921a97d307582a0639f4cebf00..cdd80c245d261220cb7a9feecc432ca9408b6b38 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Quant a l’Editor',
     'about_title' => 'Quant a l’Editor WYSIWYG',
     'editor_license' => 'Llicència i copyright de l’Editor',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Aquest editor s’ha creat amb :tinyLink que es proporciona amb la llicència MIT.',
     'editor_tiny_license_link' => 'Detalls de la llicència i el copyright de TinyMCE.',
     'save_continue' => 'Desa la pàgina i continua',
index 0f241d9f24d6f892a4dfe5ac3630da0abeb88a0f..ef2a4c2a8c44c54ec3790d10d8bee81043221fbc 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Fitxer PDF',
     'export_text' => 'Fitxer de text sense format',
     'export_md' => 'Fitxer Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Permisos',
index 03a07bb335b05627989e41f1d7a279ff4d07c693..76fb293dab6ba8890ae3c4095ac7fe6a1b3623c9 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName està fora de servei.',
     'back_soon' => 'Aviat ho arreglarem.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'No s’ha trobat cap testimoni d’autorització en aquesta sol·licitud.',
     'api_bad_authorization_format' => 'S’ha trobat un testimoni d’autorització en aquesta sol·licitud però no tenia el format correcte.',
index 46f92571e958fa49f791e5c22f6198e8d4494943..2390a7962b87db7c0fb306c5ce3f331a8aa64618 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Accés a l’API del sistema',
     'role_manage_settings' => 'Gestió de la configuració de l’aplicació',
     'role_export_content' => 'Exportació de contingut',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Canvi de l’editor de pàgina',
     'role_notifications' => 'Recepció i gestió de notificacions',
     'role_asset' => 'Permisos de recursos',
index dc9b02d5024036a865f8185312d509efa1f53231..e33ae336f20142dd3373edff8d82631151b40f67 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'El format :attribute no és vàlid.',
     'uploaded'             => 'No s’ha pogut pujar el fitxer. És possible que el servidor no admeti fitxers d’aquesta mida.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 412bf9d3be330fa4badf86472254e45897cfb6fa..3b4a05213ba653f1fc5ebb81b430475ca5e32563 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'odstranil/a webhook',
     'webhook_delete_notification' => 'Webhook byl úspěšně odstraněn',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'vytvořil uživatele',
     'user_create_notification' => 'Uživatel byl úspěšně vytvořen',
index f4c442af8b7c4b5a78d530914fefa2c189db9608..8e7001c081c7939a404637120900c380cb6c1e8f 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'O editoru',
     'about_title' => 'O WYSIWYG editoru',
     'editor_license' => 'Editor licence a autorská práva',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Tento editor je vytvořen pomocí :tinyLink, který je poskytován pod licencí MIT.',
     'editor_tiny_license_link' => 'Podrobnosti o autorských právech a licenci TinyMCE naleznete zde.',
     'save_continue' => 'Uložit stránku a pokračovat',
index 77fb8a3fb95693bd19283df7cec553ad34d4de4b..a87ba49d04472c44b391dbfd8f036ecad20b7ae3 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF dokument',
     'export_text' => 'Textový soubor',
     'export_md' => 'Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Výchozí šablona stránky',
     'default_template_explain' => 'Přiřadit šablonu stránky, která bude použita jako výchozí obsah pro všechny nové stránky v této knize. Mějte na paměti, že šablona bude použita pouze v případě, že tvůrce stránek bude mít přístup k těmto vybraným stránkám šablony.',
     'default_template_select' => 'Vyberte šablonu stránky',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Oprávnění',
index e23f1032b7d106a32a2d043d224cc2c3027a642a..c740ee193e7a510be2ad240c3158a2e16ee7eaed 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName je momentálně vypnutá',
     'back_soon' => 'Brzy bude opět v provozu.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'V požadavku nebyl nalezen žádný autorizační token',
     'api_bad_authorization_format' => 'V požadavku byl nalezen autorizační token, ale jeho formát se zdá být chybný',
index 01ea3a1db5aa0e11cadce8d1d0d2f60f2198863f..67d7d825a5e4d849af11397c5a08bdcb74b94c7b 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Přístup k systémovému API',
     'role_manage_settings' => 'Správa nastavení aplikace',
     'role_export_content' => 'Exportovat obsah',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Změnit editor stránek',
     'role_notifications' => 'Přijímat a spravovat oznámení',
     'role_asset' => 'Obsahová oprávnění',
index 83929cc887b56d21a5a383594ba32d40b92074c3..f2ee59e5be018ac322f9295bff53baa9d2390b09 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Formát :attribute je neplatný.',
     'uploaded'             => 'Nahrávání :attribute se nezdařilo.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index b7f1cadf323b1cc7e6fd75eb4fc9fab21b904d75..e5dcddc56e12431437c3f7c952e17cfb8a99d304 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'webhook wedi\'i dileu',
     'webhook_delete_notification' => 'Webhook wedi\'i dileu\'n llwyddiannus',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'creodd ddefnyddiwr',
     'user_create_notification' => 'Defnyddiwr wedi\'i greu\'n llwyddiannus',
index c99a9bb00ea1d5ff68ccc6f9a2959acd28f8617e..a10fc7d0be4ef6a22973676af98500fa9aa2c3bb 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Ynglŷn â\'r golygydd',
     'about_title' => 'Ynglŷn â\'r Golygydd WYSIWYG',
     'editor_license' => 'Trwydded a Hawlfraint Golygydd',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Mae\'r golygydd hwn wedi\'i adeiladu gan ddefnyddio :tinyLink sy\'n cael ei ddarparu o dan y drwydded MIT.',
     'editor_tiny_license_link' => 'Gellir dod o hyd i fanylion hawlfraint a thrwydded TinyMCE yma.',
     'save_continue' => 'Cadw Tudalen a Pharhau',
index 1293231d0fbec9993c1ad572694f474fe5f98b0f..d153ba453bf628a5918c43cba3805765de04e17a 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Ffeil PDF',
     'export_text' => 'Ffeil Testun Plaen',
     'export_md' => 'Ffeil Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Templed Tudalen Diofyn',
     'default_template_explain' => 'Clustnodwch dempled tudalen a fydd yn cael ei ddefnyddio fel y cynnwys diofyn ar gyfer pob tudalen a grëwyd yn yr eitem hon. Cofiwch y bydd hwn ond yn cael ei ddefnyddio os yw’r sawl a grëodd y dudalen â mynediad gweld i’r dudalen dempled a ddewiswyd.',
     'default_template_select' => 'Dewiswch dudalen templed',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Caniatâd',
index b6868c5cefe66422f036285ca08e5473aec19de0..4fe90a0c1dcfa4dc50da094d31fbe447e3799b07 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => 'Mae :appName i lawr ar hyn o bryd',
     'back_soon' => 'Bydd yn ôl i fyny yn fuan.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Ni chanfuwyd tocyn awdurdodi ar y cais',
     'api_bad_authorization_format' => 'Canfuwyd tocyn awdurdodi ar y cais ond roedd yn ymddangos bod y fformat yn anghywir',
index 3b0fa5ed60454e725f991246c2460793648f8b95..92b2d65d968e810d1a60ea1cf481b025319aa13d 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Mynediad i Ryngwyneb Rhaglennu Cymwysiadau (API) system',
     'role_manage_settings' => 'Rheoli gosodiadau apiau',
     'role_export_content' => 'Cynnwys allforio',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Newid golygydd tudalen',
     'role_notifications' => 'Derbyn a rheoli hysbysiadau',
     'role_asset' => 'Caniatâd Asedau',
index 006641841748367fd7ecb7f755b57526dda98303..fd3483ddc4c2b25fc1eb0b23511eb2d63efdb577 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Mae’r fformat :attribute yn annilys.',
     'uploaded'             => 'Nid oedd modd uwchlwytho’r ffeil. Efallai na fydd y gweinydd yn derbyn ffeiliau o\'r maint hwn.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index e92d1c165a53b121409332898a38b41b2bacb509..f6053318f2784979baec45cf9cc41a603512bfc2 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'slettede webhooken',
     'webhook_delete_notification' => 'Webhooken blev slettet',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'opret bruger',
     'user_create_notification' => 'Bruger oprettet korrekt',
index 973c8a90266f4f4f4a4357bcc0d81be3f46077fe..054c4262794e978bef7d499aade4a1b2ff96b657 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Gem og fortsæt',
index 47d2f1568d5701c412b33f65810afa140a07b226..eca5f1f029676816e03dfc117dea915722687a9f 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF-fil',
     'export_text' => 'Almindelig tekstfil',
     'export_md' => 'Markdown Fil',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Rettigheder',
index afa7b5824d73cb6791dd9f8e6c00f3450bf5ba7e..f12dbab57c8189421599322615fec06736bd609e 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName er nede lige nu',
     'back_soon' => 'Den er oppe igen snart.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Der blev ikke fundet nogen autorisationstoken på anmodningen',
     'api_bad_authorization_format' => 'En autorisationstoken blev fundet på anmodningen, men formatet var forkert',
index fa802af16f0878fa0c27f69aa2f1de7f92552f52..36ab18d3082dcb386709ac5b6b9d3a48cd72e009 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Tilgå system-API',
     'role_manage_settings' => 'Administrer app-indstillinger',
     'role_export_content' => 'Eksporter indhold',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Skift side editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Tilladelser for medier og "assets"',
index 022839dc693ab6635123e70af9c4ebe3f085139d..b09b621b23bbe5bd65141e68c2750f14efb30170 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute-formatet er ugyldigt.',
     'uploaded'             => 'Filen kunne ikke oploades. Serveren accepterer muligvis ikke filer af denne størrelse.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 5099209475e07bc9b3d95a47e5875d71a610e2c3..79e05fbaf3d5d3727ce6f2ca659429b92198f533 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'löschte Webhook',
     'webhook_delete_notification' => 'Webhook erfolgreich gelöscht',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'hat Benutzer erzeugt:',
     'user_create_notification' => 'Benutzer erfolgreich erstellt',
index e6b2400692a942a7783f7f4711381c2abaa8c3dd..ab19d167e62fb27153cb51ebc21dfd4ff42e347b 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Über den Editor',
     'about_title' => 'Über den WYSIWYG-Editor',
     'editor_license' => 'Editorlizenz & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Dieser Editor wurde mithilfe von :tinyLink erstellt, der unter der MIT-Lizenz bereitgestellt wird.',
     'editor_tiny_license_link' => 'Die Copyright- und Lizenzdetails von TinyMCE finden Sie hier.',
     'save_continue' => 'Speichern & Fortfahren',
index 6c67d9830dc29e21b06ee6f54350fb79346b86eb..b3e1b38f9fe56668772dba85f5e5b2b6db4a6ecf 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF-Datei',
     'export_text' => 'Textdatei',
     'export_md' => 'Markdown-Datei',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Standard Seitenvorlage',
     'default_template_explain' => 'Zuweisen einer Seitenvorlage, die als Standardinhalt für alle Seiten verwendet wird, die innerhalb dieses Elements erstellt wurden. Beachten Sie, dass dies nur dann verwendet wird, wenn der Ersteller der Seite Zugriff auf die ausgewählte Vorlagen-Seite hat.',
     'default_template_select' => 'Wählen Sie eine Seitenvorlage',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Berechtigungen',
index 7d6e09935aa468040f9c4d9daff79d604d755727..f940f67436b7b98233bec2f5e1c865ed59ec5494 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName befindet sich aktuell im Wartungsmodus',
     'back_soon' => 'Wir werden so schnell wie möglich wieder online sein.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Kein Autorisierungstoken für die Anfrage gefunden',
     'api_bad_authorization_format' => 'Ein Autorisierungstoken wurde auf die Anfrage gefunden, aber das Format schien falsch zu sein',
index 60fc259146970bf6cf7b2e11991233d5e604ad8f..c1e4bcdd92f0250e1121c877119b13fe8b870466 100644 (file)
@@ -163,6 +163,7 @@ Hinweis: Benutzer können ihre E-Mail-Adresse nach erfolgreicher Registrierung 
     'role_access_api' => 'Systemzugriffs-API',
     'role_manage_settings' => 'Globaleinstellungen verwalten',
     'role_export_content' => 'Inhalt exportieren',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Seiten-Editor ändern',
     'role_notifications' => 'Empfangen und Verwalten von Benachrichtigungen',
     'role_asset' => 'Berechtigungen',
index 1ca1f458e1883ccdc67732020ba87617dadc7950..072bf79d1ecda5ad9b2c35b540a5634a83b004c8 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute ist kein valides Format.',
     'uploaded'             => 'Die Datei konnte nicht hochgeladen werden. Der Server akzeptiert möglicherweise keine Dateien dieser Größe.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 6783b42a5f1a65c3cc28476f5684991f1a7984cc..94a0b2b1d5c38f9569f9ecc09759e0b04dccbbc5 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'gelöschter Webhook',
     'webhook_delete_notification' => 'Webhook erfolgreich gelöscht',
 
+    // Imports
+    'import_create' => 'erstellter Import',
+    'import_create_notification' => 'Import erfolgreich hochgeladen',
+    'import_run' => 'aktualisierter Import',
+    'import_run_notification' => 'Inhalt erfolgreich importiert',
+    'import_delete' => 'gelöschter Import',
+    'import_delete_notification' => 'Import erfolgreich gelöscht',
+
     // Users
     'user_create' => 'hat Benutzer erzeugt:',
     'user_create_notification' => 'Benutzer erfolgreich erstellt',
index e033b63d22e80764e2496cd0e0ee347d150be6d9..bc33b8535a6247489f34ba0767af24e9e62ffc68 100644 (file)
@@ -109,5 +109,5 @@ return [
     'terms_of_service' => 'Allgemeine Geschäftsbedingungen',
 
     // OpenSearch
-    'opensearch_description' => 'Search :appName',
+    'opensearch_description' => 'Suche :appName',
 ];
index 1956715d18979cc01e2487482ecb45e80fc6b29a..81f5eab9e6447ec29ed02a9901018b8b9dd087e0 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Über den Editor',
     'about_title' => 'Über den WYSIWYG Editor',
     'editor_license' => 'Editorlizenz & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Dieser Editor wurde mit :tinyLink erstellt, das unter der MIT-Lizenz zur Verfügung gestellt wird.',
     'editor_tiny_license_link' => 'Die Copyright- und Lizenzdetails von TinyMCE findest du hier.',
     'save_continue' => 'Seite speichern & fortfahren',
index e8a6916724303073ba1402562b9257ff438f9bbf..4283fb8cb0ded21e50909571d43f6ad21a1b5cc0 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF-Datei',
     'export_text' => 'Textdatei',
     'export_md' => 'Markdown-Datei',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Standard Seitenvorlage',
     'default_template_explain' => 'Zuweisen einer Seitenvorlage, die als Standardinhalt für alle Seiten verwendet wird, die innerhalb dieses Elements erstellt wurden. Beachten Sie, dass dies nur dann verwendet wird, wenn der Ersteller der Seite Zugriff auf die ausgewählte Vorlagen-Seite hat.',
     'default_template_select' => 'Wähle eine Seitenvorlage',
+    'import' => 'Importieren',
+    'import_validate' => 'Import validieren',
+    'import_desc' => 'Importiere Bücher, Kapitel & Seiten mit einem ZIP-Export von der gleichen oder einer anderen Instanz. Wähle eine ZIP-Datei, um fortzufahren. Nachdem die Datei hochgeladen und bestätigt wurde, kannst Du den Import in der nächsten Ansicht konfigurieren und bestätigen.',
+    'import_zip_select' => 'ZIP-Datei zum Hochladen auswählen',
+    'import_zip_validation_errors' => 'Fehler bei der Validierung der angegebenen ZIP-Datei:',
+    'import_pending' => 'Ausstehende Importe',
+    'import_pending_none' => 'Es wurden keine Importe gestartet.',
+    'import_continue' => 'Import fortsetzen',
+    'import_continue_desc' => 'Überprüfe den Inhalt, der aus der hochgeladenen ZIP-Datei importiert werden soll. Führe den Import aus, um dessen Inhalt zu diesem System hinzuzufügen. Die hochgeladene ZIP-Importdatei wird bei erfolgreichem Import automatisch gelöscht.',
+    'import_details' => 'Importdetails',
+    'import_run' => 'Import ausführen',
+    'import_size' => 'Größe des importierten ZIP: :size',
+    'import_uploaded_at' => 'Hochgeladen :relativeTime',
+    'import_uploaded_by' => 'Hochgeladen von',
+    'import_location' => 'Import Zielort',
+    'import_location_desc' => 'Wähle einen Zielort für deinen importierten Inhalt. Du benötigst die entsprechenden Berechtigungen, um innerhalb des gewünschten Zielortes Inhalte zu erstellen.',
+    'import_delete_confirm' => 'Bist Du sicher, dass Du diesen Import löschen möchtest?',
+    'import_delete_desc' => 'Dies löscht die hochgeladene ZIP-Datei und kann nicht rückgängig gemacht werden.',
+    'import_errors' => 'Importfehler',
+    'import_errors_desc' => 'Die folgenden Fehler sind während des Importversuchs aufgetreten:',
 
     // Permissions and restrictions
     'permissions' => 'Berechtigungen',
@@ -224,8 +245,8 @@ return [
     'pages_edit_switch_to_markdown_clean' => '(Sauberer Inhalt)',
     'pages_edit_switch_to_markdown_stable' => '(Stabiler Inhalt)',
     'pages_edit_switch_to_wysiwyg' => 'Zum WYSIWYG Editor wechseln',
-    'pages_edit_switch_to_new_wysiwyg' => 'Switch to new WYSIWYG',
-    'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha Testing)',
+    'pages_edit_switch_to_new_wysiwyg' => 'Wechsel zum neuen WYSIWYG',
+    'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha Testphase)',
     'pages_edit_set_changelog' => 'Änderungsprotokoll hinzufügen',
     'pages_edit_enter_changelog_desc' => 'Bitte gib eine kurze Zusammenfassung deiner Änderungen ein',
     'pages_edit_enter_changelog' => 'Änderungsprotokoll eingeben',
index dcfa6a2ffafb6d7cb9cf47181bf17132f515f60b..856f02b48c7d1386869d1fc49029c18e003999e1 100644 (file)
@@ -78,7 +78,7 @@ return [
     // Users
     'users_cannot_delete_only_admin' => 'Du kannst den einzigen Administrator nicht löschen.',
     'users_cannot_delete_guest' => 'Du kannst den Gast-Benutzer nicht löschen',
-    'users_could_not_send_invite' => 'Could not create user since invite email failed to send',
+    'users_could_not_send_invite' => 'Benutzer konnte nicht erstellt werden, da die Einladungs-E-Mail nicht gesendet werden konnte',
 
     // Roles
     'role_cannot_be_edited' => 'Diese Rolle kann nicht bearbeitet werden.',
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName befindet sich aktuell im Wartungsmodus.',
     'back_soon' => 'Wir werden so schnell wie möglich wieder online sein.',
 
+    // Import
+    'import_zip_cant_read' => 'ZIP-Datei konnte nicht gelesen werden.',
+    'import_zip_cant_decode_data' => 'Konnte Inhalt der data.json im ZIP nicht finden und dekodieren.',
+    'import_zip_no_data' => 'ZIP-Datei hat kein erwartetes Buch, Kapitel oder Seiteninhalt.',
+    'import_validation_failed' => 'ZIP Import konnte aufgrund folgender Fehler nicht validiert werden:',
+    'import_zip_failed_notification' => 'Importieren der ZIP-Datei fehlgeschlagen.',
+    'import_perms_books' => 'Dir fehlt die erforderliche Berechtigung, um Bücher zu erstellen.',
+    'import_perms_chapters' => 'Dir fehlt die erforderliche Berechtigung, um Kapitel zu erstellen.',
+    'import_perms_pages' => 'Dir fehlt die erforderliche Berechtigung, um Seiten zu erstellen.',
+    'import_perms_images' => 'Dir fehlt die erforderliche Berechtigung, um Bilder zu erstellen.',
+    'import_perms_attachments' => 'Dir fehlt die erforderliche Berechtigung, um Anhänge zu erstellen.',
+
     // API errors
     'api_no_authorization_found' => 'Kein Autorisierungs-Token für die Anfrage gefunden',
     'api_bad_authorization_format' => 'Ein Autorisierungs-Token wurde auf die Anfrage gefunden, aber das Format schien falsch zu sein',
index 2eddefd4ad5ef75b8bc7449bab4e5814352b01f3..549aba11442efb904e7a061c49d5fdc241b36943 100644 (file)
@@ -163,6 +163,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung 
     'role_access_api' => 'Systemzugriffs-API',
     'role_manage_settings' => 'Globaleinstellungen verwalten',
     'role_export_content' => 'Inhalt exportieren',
+    'role_import_content' => 'Inhalt importieren',
     'role_editor_change' => 'Seiteneditor ändern',
     'role_notifications' => 'Empfangen und Verwalten von Benachrichtigungen',
     'role_asset' => 'Berechtigungen',
index 61cd7409b4e8aa1cc8dfa220ec62d17c191df8f0..0d26dfd298adf8d1fc31871e4a4a4535961fc7ae 100644 (file)
@@ -75,7 +75,7 @@ return [
     ],
     'mimes'                => ':attribute muss eine Datei vom Typ: :values sein.',
     'min'                  => [
-        'numeric' => ':attribute muss mindestens :min sein',
+        'numeric' => ':attribute muss mindestens :min sein.',
         'file'    => ':attribute muss mindestens :min Kilobyte groß sein.',
         'string'  => ':attribute muss mindestens :min Zeichen lang sein.',
         'array'   => ':attribute muss mindesten :min Elemente enthalten.',
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute ist kein valides Format.',
     'uploaded'             => 'Die Datei konnte nicht hochgeladen werden. Der Server akzeptiert möglicherweise keine Dateien dieser Größe.',
 
+    'zip_file' => ':attribute muss auf eine Datei innerhalb des ZIP verweisen.',
+    'zip_file_mime' => ':attribute muss auf eine Datei des Typs :validType verweisen, gefunden :foundType.',
+    'zip_model_expected' => 'Datenobjekt erwartet, aber ":type" gefunden.',
+    'zip_unique' => ':attribute muss für den Objekttyp innerhalb des ZIP eindeutig sein.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 50bd7bb2ebeb20f7acede39460671ce1f34903d7..6eb85746402e4d644dfdaeb8db33df9c7bd9310e 100644 (file)
@@ -14,7 +14,7 @@ return [
     'page_delete_notification'    => 'Η σελίδα διαγράφηκε επιτυχώς',
     'page_restore'                => 'αποκατεστημένη σελίδα',
     'page_restore_notification'   => 'Η σελίδα αποκαταστάθηκε με επιτυχία',
-    'page_move'                   => 'Η σελίδα μετακινήθηκε',
+    'page_move'                   => 'σελίδα που μετακινήθηκε',
     'page_move_notification'      => 'Η σελίδα μετακινήθηκε με επιτυχία',
 
     // Chapters
@@ -59,7 +59,7 @@ return [
     'favourite_remove_notification' => '":name" προστέθηκε στα αγαπημένα σας',
 
     // Watching
-    'watch_update_level_notification' => 'Watch preferences successfully updated',
+    'watch_update_level_notification' => 'Οι προτιμήσεις παρακολούθησης ενημερώθηκαν επιτυχώς',
 
     // Auth
     'auth_login' => 'συνδεδεμένος',
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'διαγραμμένο webhook',
     'webhook_delete_notification' => 'Το Webhook διαγράφηκε επιτυχώς',
 
+    // Imports
+    'import_create' => 'δημιουργημένη εισαγωγή',
+    'import_create_notification' => 'Το εισαγόμενο αρχείο μεταφορτώθηκε επιτυχώς',
+    'import_run' => 'ενημερωμένη εισαγωγή',
+    'import_run_notification' => 'Το περιεχόμενο εισήχθη επιτυχώς',
+    'import_delete' => 'διαγραμμένη εισαγωγή',
+    'import_delete_notification' => 'Η εισαγωγή διαγράφηκε επιτυχώς',
+
     // Users
     'user_create' => 'δημιουργημένος χρήστης',
     'user_create_notification' => 'Ο χρήστης δημιουργήθηκε με επιτυχία',
@@ -105,19 +113,19 @@ return [
     'role_create_notification' => 'Ο Ρόλος δημιουργήθηκε με επιτυχία',
     'role_update' => 'Ενημέρωση ρόλου',
     'role_update_notification' => 'Ο Ρόλος ενημερώθηκε με επιτυχία',
-    'role_delete' => 'deleted role',
+    'role_delete' => 'διαγραμμένος ρόλος',
     'role_delete_notification' => 'Ο Ρόλος διαγράφηκε επιτυχώς',
 
     // 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' => 'αδειασμένος κάδος ανακύκλωσης',
+    'recycle_bin_restore' => 'αποκαταστάθηκε από τον κάδο ανακύκλωσης',
+    'recycle_bin_destroy' => 'αφαιρέθηκε από τον κάδο ανακύκλωσης',
 
     // Comments
     'commented_on'                => 'σχολίασε',
-    'comment_create'              => 'added comment',
-    'comment_update'              => 'updated comment',
-    'comment_delete'              => 'deleted comment',
+    'comment_create'              => 'προστέθηκε σχόλιο',
+    'comment_update'              => 'ενημερώθηκε σχόλιο',
+    'comment_delete'              => 'διαγράφηκε σχόλιο',
 
     // Other
     'permissions_update'          => 'ενημερωμένα δικαιώματα',
index 183baab7a0284869b0db924eecad375449abc6c5..0b94ef859ddbcd30c4f93e5b7a5d393e56356a67 100644 (file)
@@ -91,7 +91,7 @@ return [
     'mfa_option_totp_title' => 'Εφαρμογή για κινητό',
     'mfa_option_totp_desc' => 'Για να χρησιμοποιήσετε τον έλεγχο ταυτότητας πολλαπλών παραγόντων, θα χρειαστείτε μια εφαρμογή για κινητά που υποστηρίζει TOTP, όπως το Google Authenticator, το Authy ή το Microsoft Authenticator.',
     'mfa_option_backup_codes_title' => 'Εφεδρικοί κωδικοί',
-    'mfa_option_backup_codes_desc' => 'Generates a set of one-time-use backup codes which you\'ll enter on login to verify your identity. Make sure to store these in a safe & secure place.',
+    'mfa_option_backup_codes_desc' => 'Δημιουργεί ένα σύνολο εφεδρικών κωδικών μίας χρήσης τους οποίους θα εισάγετε κατά τη σύνδεση σας, για να πιστοποιήσετε την ταυτότητά σας. Φροντίστε να τους αποθηκεύσετε σε ασφαλές σημείο.',
     'mfa_gen_confirm_and_enable' => 'Επιβεβαίωση και ενεργοποίηση',
     'mfa_gen_backup_codes_title' => 'Ρύθμιση εφεδρικών κωδικών',
     'mfa_gen_backup_codes_desc' => 'Αποθηκεύστε την παρακάτω λίστα κωδικών σε ασφαλές μέρος. Κατά την πρόσβαση στο σύστημα, θα μπορείτε να χρησιμοποιήσετε έναν από τους κωδικούς ως δεύτερο μηχανισμό ελέγχου ταυτότητας.',
index d1b6bd9f790640465666cd4a11aa7960b9e2fc6f..112133883f3270c5e866ac7d1d37be58292cfc79 100644 (file)
@@ -6,7 +6,7 @@ return [
 
     // Buttons
     'cancel' => 'Ακύρωση',
-    'close' => 'Close',
+    'close' => 'Κλείσιμο',
     'confirm' => 'Οκ',
     'back' => 'Πίσω',
     'save' => 'Αποθήκευση',
@@ -20,7 +20,7 @@ return [
     'description' => 'Περιγραφή',
     'role' => 'Ρόλος',
     'cover_image' => 'Εικόνα εξώφυλλου',
-    'cover_image_description' => 'This image should be approximately 440x250px although it will be flexibly scaled & cropped to fit the user interface in different scenarios as required, so actual dimensions for display will differ.',
+    'cover_image_description' => 'Αυτή η εικόνα θα πρέπει να είναι περίπου 440x250px, αν και θα κλιμακωθεί και θα περικοπεί με ευελιξία ώστε να ταιριάζει στη διεπαφή χρήστη σε διαφορετικά σενάρια όπως απαιτείται, επομένως οι πραγματικές διαστάσεις για την εμφάνιση θα διαφέρουν.',
 
     // Actions
     'actions' => 'Ενέργειες',
@@ -42,7 +42,7 @@ return [
     'remove' => 'Αφαίρεση',
     'add' => 'Προσθήκη',
     'configure' => 'Διαμόρφωση',
-    'manage' => 'Manage',
+    'manage' => 'Διαχείριση',
     'fullscreen' => 'Πλήρης οθόνη',
     'favourite' => 'Αγαπημένα',
     'unfavourite' => 'Αφαίρεση από Αγαπημένα',
@@ -52,7 +52,7 @@ return [
     'filter_clear' => 'Διαγραφή φίλτρου',
     'download' => 'Λήψη',
     'open_in_tab' => 'Άνοιγμα σε Καρτέλα',
-    'open' => 'Open',
+    'open' => 'Άνοιγμα',
 
     // Sort Options
     'sort_options' => 'Επιλογές ταξινόμησης',
@@ -109,5 +109,5 @@ return [
     'terms_of_service' => 'Όροι χρήσης',
 
     // OpenSearch
-    'opensearch_description' => 'Search :appName',
+    'opensearch_description' => 'Αναζήτηση :appName',
 ];
index b54a48601e303847db8afeb5c632814572fb174a..9c9d3e8f8390ca880e97bb5492e2730154bdde8d 100644 (file)
@@ -6,36 +6,36 @@ 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' => 'Δείτε όλες τις εικόνες που υπάρχουν στο Server',
     '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_rebuild_thumbs' => 'Regenerate Size Variations',
-    'image_rebuild_thumbs_success' => 'Image size variations successfully rebuilt!',
+    'image_replace' => 'Αντικατάσταση εικόνας',
+    'image_replace_success' => 'Το αρχείο εικόνας ενημερώθηκε επιτυχώς',
+    'image_rebuild_thumbs' => 'Επαναδημιουργία παραλλαγών μεγέθους',
+    'image_rebuild_thumbs_success' => 'Οι παραλλαγές μεγέθους εικόνας ανακατασκευάστηκαν επιτυχώς!',
 
     // Code Editor
     'code_editor' => 'Επεξεργασία κώδικα',
index 0d801e82182344949c725c5a422f642634c6f2b0..f6c67b879e645a1f01094bf8f59aa7cf33d59de2 100644 (file)
@@ -33,7 +33,7 @@ return [
     'header_small' => 'Μικρή κεφαλίδα',
     'header_tiny' => 'Μικροσκοπική κεφαλίδα',
     'paragraph' => 'Παράγραφος',
-    'blockquote' => 'Blockquote',
+    'blockquote' => 'Μπλοκ κειμένου παράθεσης',
     'inline_code' => 'Ενσωματωμένος κωδικός',
     'callouts' => 'Επεξηγήσεις',
     'callout_information' => 'Πληροφορίες',
@@ -57,7 +57,7 @@ return [
     'list_bullet' => 'Λίστα με κουκκίδες',
     'list_numbered' => 'Λίστα με αρίθμηση',
     'list_task' => 'Λίστα εργασιών',
-    'indent_increase' => 'Î\91Ï\8dξηÏ\83η ÎµÏ\83οÏ\87ήÏ\82t',
+    'indent_increase' => 'Î\91Ï\8dξηÏ\83η Î\95Ï\83οÏ\87ήÏ\82',
     'indent_decrease' => 'Μείωση εσοχής',
     'table' => 'Πίνακας',
     'insert_image' => 'Εισαγωγή εικόνας',
@@ -81,9 +81,9 @@ return [
     'table_properties' => 'Ιδιότητες πίνακα',
     'table_properties_title' => 'Ιδιότητες πίνακα',
     'delete_table' => 'Διαγραφή πίνακα',
-    'table_clear_formatting' => 'Clear table formatting',
-    'resize_to_contents' => 'Resize to contents',
-    'row_header' => 'Row header',
+    'table_clear_formatting' => 'Εκκαθάριση μορφοποίησης πίνακα',
+    'resize_to_contents' => 'Αλλαγή μεγέθους σε περιεχόμενο',
+    'row_header' => 'Κεφαλίδα γραμμής',
     'insert_row_before' => 'Εισαγωγή γραμμής πάνω',
     'insert_row_after' => 'Εισαγωγή γραμμής κάτω',
     'delete_row' => 'Διαγραφή γραμμής',
@@ -163,6 +163,8 @@ return [
     'about' => 'Σχετικά',
     'about_title' => 'Σχετικά με τον επεξεργαστή WYSIWYG',
     'editor_license' => 'Άδεια εκδότη και πνευματικά δικαιώματα',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Αυτός ο επεξεργαστής έχει δημιουργηθεί χρησιμοποιώντας :tinyLink που παρέχεται με την άδεια MIT.',
     'editor_tiny_license_link' => 'Τα πνευματικά δικαιώματα και τα στοιχεία άδειας χρήσης του TinyMCE μπορείτε να τα βρείτε εδώ.',
     'save_continue' => 'Αποθήκευση σελίδας & Συνέχεια',
index d127a77c22241069a27928869e92acf2e83632f1..d74c7de0598e6472a7ba4072158a04c5406a96f1 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Αρχείο PDF',
     'export_text' => 'Αρχείο Απλού κειμένου',
     'export_md' => 'Αρχείο Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Δικαιώματα',
index 1d57fe4a17437f8645714d08b920e925e2b87bbd..cdfa2155f13aafd77a0789300ca5199f106412bc 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName είναι προσωρινά μη διαθέσιμη',
     'back_soon' => 'Θα υπάρξει σύντομα υποστήριξη.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Δεν βρέθηκε διακριτικό εξουσιοδότησης κατόπιν αιτήματος',
     'api_bad_authorization_format' => 'Ένα διακριτικό εξουσιοδότησης βρέθηκε κατόπιν αιτήματος, αλλά η μορφή εμφανίστηκε εσφαλμένη',
index 1afd23f1dc4b0bfbb208f923075a86b14547a801..3924cab3b5cc250f75ea2b902a532ee240c7f42d 100644 (file)
@@ -4,24 +4,24 @@
  */
 return [
 
-    'new_comment_subject' => '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.',
+    'new_comment_subject' => 'Νέο σχόλιο στη σελίδα: :pageName',
+    'new_comment_intro' => 'Ένας χρήστης έχει σχολιάσει σε μια σελίδα στο :appName:',
+    'new_page_subject' => 'Νέα σελίδα: :pageName',
+    'new_page_intro' => 'Μια νέα σελίδα έχει δημιουργηθεί στο :appName:',
+    'updated_page_subject' => 'Ενημερωμένη σελίδα: :pageName',
+    'updated_page_intro' => 'Μια σελίδα έχει ενημερωθεί στο :appName:',
+    'updated_page_debounce' => 'Για να αποτρέψετε μαζικές ειδοποιήσεις, για κάποιο διάστημα δε θα σας αποστέλλονται ειδοποιήσεις για περαιτέρω αλλαγές σε αυτήν τη σελίδα από τον ίδιο συντάκτη.',
 
-    'detail_page_name' => 'Page Name:',
-    'detail_page_path' => 'Page Path:',
-    'detail_commenter' => 'Commenter:',
-    'detail_comment' => 'Comment:',
-    'detail_created_by' => 'Created By:',
-    'detail_updated_by' => 'Updated By:',
+    'detail_page_name' => 'Όνομα σελίδας:',
+    'detail_page_path' => 'Διαδρομή σελίδας:',
+    'detail_commenter' => 'Σχολιαστής:',
+    'detail_comment' => 'Σχόλιο:',
+    'detail_created_by' => 'Δημιουργήθηκε από:',
+    'detail_updated_by' => 'Ενημερώθηκε από:',
 
-    'action_view_comment' => 'View Comment',
-    'action_view_page' => 'View Page',
+    'action_view_comment' => 'Προβολή σχολίου',
+    'action_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',
+    'footer_reason' => 'Αυτή η ειδοποίηση εστάλη σε εσάς επειδή το :link καλύπτει αυτόν τον τύπο δραστηριότητας για αυτό το αντικείμενο.',
+    'footer_reason_link' => 'προτιμήσεις σας για ειδοποιήσεις',
 ];
index 8c34fccba5d61771ca64d6eba3fa4ba0332a27bd..243d1c2886c3b69c468832162ede66d29cf0c154 100644 (file)
@@ -109,7 +109,7 @@ return [
     'recycle_bin_contents_empty' => 'Ο κάδος ανακύκλωσης είναι επί του παρόντος άδειος',
     'recycle_bin_empty' => 'Αδειάστε τον Κάδο Ανακύκλωσης',
     'recycle_bin_empty_confirm' => 'Αυτό θα καταστρέψει οριστικά όλα τα αντικείμενα στον κάδο ανακύκλωσης, συμπεριλαμβανομένου του περιεχομένου που περιέχεται σε κάθε αντικείμενο. Είστε βέβαιοι ότι θέλετε να αδειάσετε τον κάδο ανακύκλωσης;',
-    'recycle_bin_destroy_confirm' => 'This action will permanently delete this item from the system, along with any child elements listed below, and you will not be able to restore this content. Are you sure you want to permanently delete this item?',
+    'recycle_bin_destroy_confirm' => 'Αυτή η ενέργεια θα διαγράψει οριστικά από το σύστημα αυτό το στοιχείο μαζί με τυχόν θυγατρικά, που αναφέρονται παρακάτω. Μετά την επιβεβαίωση της διαγραφής δε θα μπορείτε να επαναφέρετε αυτό το περιεχόμενο. Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά αυτό το στοιχείο;',
     'recycle_bin_destroy_list' => 'Αντικείμενα για καταστροφή',
     'recycle_bin_restore_list' => 'Αντικείμενα για επαναφορά',
     'recycle_bin_restore_confirm' => 'Αυτή η ενέργεια θα επαναφέρει το διαγραμμένο στοιχείο, συμπεριλαμβανομένων τυχόν θυγατρικών στοιχείων, στην αρχική τους θέση. Εάν η αρχική τοποθεσία έχει από τότε διαγραφεί και βρίσκεται τώρα στον κάδο ανακύκλωσης, θα πρέπει επίσης να αποκατασταθεί και το γονικό στοιχείο.',
@@ -162,8 +162,9 @@ return [
     'role_access_api' => 'Πρόσβαση στο API του συστήματος',
     'role_manage_settings' => 'Διαχειριστείτε τις ρυθμίσεις του ΑΡΙ',
     'role_export_content' => 'Εξαγωγή περιεχομένου',
+    'role_import_content' => 'Εισαγωγή περιεχομένου',
     'role_editor_change' => 'Αλλαγή προγράμματος επεξεργασίας σελίδας',
-    'role_notifications' => 'Receive & manage notifications',
+    'role_notifications' => 'Λήψη & διαχείριση ειδοποιήσεων',
     'role_asset' => 'Δικαιώματα Συστήματος',
     'roles_system_warning' => 'Λάβετε υπόψη ότι η πρόσβαση σε οποιοδήποτε από τις τρεις παραπάνω άδειες (δικαιώματα) μπορεί να επιτρέψει σε έναν χρήστη να αλλάξει τα δικά του προνόμια ή τα προνόμια άλλων στο σύστημα. Εκχωρήστε ρόλους με αυτά τα δικαιώματα μόνο σε αξιόπιστους χρήστες.',
     'role_asset_desc' => 'Αυτά τα δικαιώματα ελέγχουν την προεπιλεγμένη πρόσβαση στα στοιχεία (άδειες) εντός του συστήματος. Τα δικαιώματα σε Βιβλία, Κεφάλαια και Σελίδες θα παρακάμψουν αυτές τις άδειες.',
@@ -193,8 +194,8 @@ return [
     'users_send_invite_text' => 'Μπορείτε να επιλέξετε να στείλετε σε αυτόν τον χρήστη ένα email πρόσκλησης που του επιτρέπει να ορίσει τον δικό του κωδικό πρόσβασης. Σε διαφορετική περίπτωση μπορείτε να ορίσετε τον κωδικό πρόσβασής του εσείς.',
     'users_send_invite_option' => 'Αποστολή email πρόσκλησης σε χρήστη',
     'users_external_auth_id' => 'Εξωτερικός έλεγχος ταυτότητας',
-    'users_external_auth_id_desc' => 'When an external authentication system is in use (such as SAML2, OIDC or LDAP) this is the ID which links this BookStack user to the authentication system account. You can ignore this field if using the default email-based authentication.',
-    'users_password_warning' => 'Only fill the below if you would like to change the password for this user.',
+    'users_external_auth_id_desc' => 'Όταν χρησιμοποιείται ένα εξωτερικό σύστημα ελέγχου ταυτότητας (όπως SAML2, OIDC ή LDAP) αυτό είναι το αναγνωριστικό που συνδέει αυτόν τον χρήστη BookStack με τον λογαριασμό συστήματος ελέγχου ταυτότητας. Μπορείτε να αγνοήσετε αυτό το πεδίο αν χρησιμοποιείτε τον προεπιλεγμένο έλεγχο ταυτότητας μέσω email.',
+    'users_password_warning' => 'Συμπληρώστε τα παρακάτω μόνο αν θέλετε να αλλάξετε τον κωδικό πρόσβασης για αυτόν το χρήστη.',
     'users_system_public' => 'Αυτός ο χρήστης αντιπροσωπεύει οποιονδήποτε επισκέπτη που επισκέπτεται τη Βιβλιοθήκη σας. Δεν μπορεί να χρησιμοποιηθεί για τη σύνδεση αλλά εκχωρείται αυτόματα.',
     'users_delete' => 'Διαγραφή Χρήστη',
     'users_delete_named' => 'Διαγραφή χρήστη :userName',
@@ -210,16 +211,16 @@ return [
     'users_preferred_language' => 'Προτιμώμενη γλώσσα',
     'users_preferred_language_desc' => 'Αυτή η επιλογή θα αλλάξει τη γλώσσα που χρησιμοποιείται για τη διεπαφή χρήστη της εφαρμογής. Αυτό δεν θα επηρεάσει οποιοδήποτε περιεχόμενο που δημιουργήθηκε από χρήστες.',
     'users_social_accounts' => 'Λογαριασμοί Κοινωνικής δικτύωσης ',
-    'users_social_accounts_desc' => 'View the status of the connected social accounts for this user. Social accounts can be used in addition to the primary authentication system for system access.',
+    'users_social_accounts_desc' => 'Δείτε την κατάσταση των συνδεδεμένων λογαριασμών κοινωνικών δικτύων για αυτόν το χρήστη. Οι λογαριασμοί κοινωνικών δικτύων, μπορούν να χρησιμοποιηθούν επιπλέον του κύριου συστήματος ελέγχου ταυτότητας, για πρόσβαση στο σύστημα.',
     'users_social_accounts_info' => 'Εδώ μπορείτε να συνδέσετε τους άλλους λογαριασμούς σας για ταχύτερη και ευκολότερη σύνδεση. Η αποσύνδεση ενός λογαριασμού εδώ δεν ανακαλεί προηγουμένως εξουσιοδοτημένη πρόσβαση. Ανάκληση πρόσβασης από τις ρυθμίσεις προφίλ σας στον συνδεδεμένο κοινωνικό λογαριασμό.',
     'users_social_connect' => 'Σύνδεση λογαριασμού',
     'users_social_disconnect' => 'Αποσύνδεση λογαριασμού',
-    'users_social_status_connected' => 'Connected',
-    'users_social_status_disconnected' => 'Disconnected',
+    'users_social_status_connected' => 'Συνδεδεμένο',
+    'users_social_status_disconnected' => 'Αποσυνδεδεμένο',
     'users_social_connected' => ':socialΛογαριασμός λογαριασμού συνδέθηκε με επιτυχία στο προφίλ σας.',
     'users_social_disconnected' => ':socialΛογαριασμός αποσυνδέθηκε επιτυχώς από το προφίλ σας.',
     'users_api_tokens' => 'API Tokens',
-    'users_api_tokens_desc' => 'Create and manage the access tokens used to authenticate with the BookStack REST API. Permissions for the API are managed via the user that the token belongs to.',
+    'users_api_tokens_desc' => 'Δημιουργία και διαχείριση των διακριτικών πρόσβασης (token) που χρησιμοποιούνται για τον έλεγχο ταυτότητας με το REST API του BookStack. Τα δικαιώματα για το API τα διαχειρίζεται ο χρήστης στον οποίο ανήκει το διακριτικό (token).',
     'users_api_tokens_none' => 'Δεν έχουν δημιουργηθεί διακριτικά API για αυτόν το χρήστη',
     'users_api_tokens_create' => 'Δημιουργία διακριτικού  Api Token',
     'users_api_tokens_expires' => 'Λήγει',
@@ -277,13 +278,13 @@ return [
     'webhooks_last_error_message' => 'Τελευταίο μήνυμα λάθους:',
 
     // Licensing
-    'licenses' => 'Licenses',
-    'licenses_desc' => 'This page details license information for BookStack in addition to the projects & libraries that are used within BookStack. Many projects listed may only be used in a development context.',
-    'licenses_bookstack' => 'BookStack License',
-    'licenses_php' => 'PHP Library Licenses',
-    'licenses_js' => 'JavaScript Library Licenses',
-    'licenses_other' => 'Other Licenses',
-    'license_details' => 'License Details',
+    'licenses' => 'Άδειες',
+    'licenses_desc' => 'Αυτή η σελίδα αναφέρει λεπτομερώς τις πληροφορίες άδειας χρήσης για το BookStack επιπρόσθετα στα έργα και τις βιβλιοθήκες που χρησιμοποιούνται εντός του BookStack. Πολλά έργα που αναφέρονται μπορούν να χρησιμοποιηθούν μόνο σε ένα πλαίσιο ανάπτυξης.',
+    'licenses_bookstack' => 'Άδεια BookStack',
+    'licenses_php' => 'Άδειες Βιβλιοθήκης PHP',
+    'licenses_js' => 'Άδειες Βιβλιοθήκης JavaScript',
+    'licenses_other' => 'Άλλες άδειες',
+    'license_details' => 'Λεπτομέρειες άδειας',
 
     //! If editing translations files directly please ignore this in all
     //! languages apart from en. Content will be auto-copied from en.
index be96cd0caf6d67834607a919d2710aa5e5ac7ffd..12d4919cab2978b7b7550833d2917ad32f6a9bb9 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Η μορφή του :attribute δεν είναι έγκυρη.',
     'uploaded'             => 'Δεν ήταν δυνατή η αποστολή του αρχείου. Ο διακομιστής ενδέχεται να μην δέχεται αρχεία αυτού του μεγέθους.',
 
+    'zip_file' => 'Το :attribute πρέπει να παραπέμπει σε ένα αρχείο εντός του ZIP.',
+    'zip_file_mime' => 'Το :attribute πρέπει να αναφέρεται σε αρχείο τύπου :validTypes, βρέθηκε :foundType.',
+    'zip_model_expected' => 'Αναμενόταν αντικείμενο δεδομένων, αλλά ":type" βρέθηκε.',
+    'zip_unique' => 'Το :attribute πρέπει να είναι μοναδικό για τον τύπο αντικειμένου εντός του ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 9431eeb9fefd565b4fed2f2397ce2c74047c3700..5bd3fa5f10c89b402a0d40dfe52d2a1d57dc00f9 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'webhook eliminado',
     'webhook_delete_notification' => 'Webhook eliminado correctamente',
 
+    // Imports
+    'import_create' => 'importación creada',
+    'import_create_notification' => 'Importación cargada correctamente',
+    'import_run' => 'importación actualizada',
+    'import_run_notification' => 'Contenido importado correctamente',
+    'import_delete' => 'importación borrada',
+    'import_delete_notification' => 'Importación borrada correctamente',
+
     // Users
     'user_create' => 'usuario creado',
     'user_create_notification' => 'Usuario creado correctamente',
index 1f9f663fa6393b654dde9502faff0f27fb4cb171..3d9e90c13fb35e726909594a2b789fa974015843 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Acerca del editor',
     'about_title' => 'Acerca del editor WYSIWYG',
     'editor_license' => 'Licencia del editor y derechos de autor',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Este editor se construye usando :tinyLink que se proporciona bajo la licencia MIT.',
     'editor_tiny_license_link' => 'Aquí encontrará los detalles de los derechos de autor y la licencia de TinyMCE.',
     'save_continue' => 'Guardar Página y Continuar',
index d197c20983f61ea14e2e40a2c59c06c2e18c8a9e..733be165dc89ff6f4bd9ea0f6ad5b29bb677972d 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Archivo PDF',
     'export_text' => 'Archivo de texto',
     'export_md' => 'Archivo Markdown',
+    'export_zip' => 'ZIP portable',
     'default_template' => 'Plantilla de página por defecto',
     'default_template_explain' => 'Asigne una plantilla de página que se utilizará como contenido predeterminado para todas las páginas creadas en este elemento. Tenga en cuenta que esto sólo se utilizará si el creador de páginas tiene acceso a la plantilla de página elegida.',
     'default_template_select' => 'Seleccione una página de plantilla',
+    'import' => 'Importar',
+    'import_validate' => 'Validar importación',
+    'import_desc' => 'Importar libros, capítulos y páginas usando una exportación zip portable de la misma o distinta instancia. Seleccione un archivo ZIP para continuar. Después de que el archivo haya sido subido y validado, podrá configurar y confirmar la importación en la siguiente vista.',
+    'import_zip_select' => 'Seleccione archivo ZIP a subir',
+    'import_zip_validation_errors' => 'Se detectaron errores al validar el archivo ZIP proporcionado:',
+    'import_pending' => 'Importaciones pendientes',
+    'import_pending_none' => 'No se han iniciado importaciones.',
+    'import_continue' => 'Continuar importación',
+    'import_continue_desc' => 'Revise el contenido que debe importarse del archivo ZIP subido. Cuando esté listo, ejecute la importación para añadir su contenido a este sistema. El archivo de importación ZIP subido se eliminará automáticamente al terminar la importación correctamente.',
+    'import_details' => 'Detalles de la Importación',
+    'import_run' => 'Ejecutar Importación',
+    'import_size' => ':size tamaño archivo ZIP',
+    'import_uploaded_at' => 'Subido :relativeTime',
+    'import_uploaded_by' => 'Subido por',
+    'import_location' => 'Ubicación de Importación',
+    'import_location_desc' => 'Seleccione una ubicación de destino para el contenido importado. Necesitará los permisos pertinentes para crearlo dentro de la ubicación que elija.',
+    'import_delete_confirm' => '¿Está seguro de que desea eliminar esta importación?',
+    'import_delete_desc' => 'Esto eliminará el archivo ZIP de importación subido y no se puede deshacer.',
+    'import_errors' => 'Errores de Importación',
+    'import_errors_desc' => 'Se han producido los siguientes errores durante el intento de importación:',
 
     // Permissions and restrictions
     'permissions' => 'Permisos',
index deb6c1bc51ef17a20722d3252dcb09c34127607d..98aa2acd59353257e6375d34503c215d00f7c7d9 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => 'La aplicación :appName se encuentra caída en este momento',
     'back_soon' => 'Volverá a estar operativa pronto.',
 
+    // Import
+    'import_zip_cant_read' => 'No se pudo leer el archivo ZIP.',
+    'import_zip_cant_decode_data' => 'No se pudo encontrar y decodificar el archivo data.json. en el archivo ZIP.',
+    'import_zip_no_data' => 'Los datos del archivo ZIP no contienen ningún libro, capítulo o contenido de página.',
+    'import_validation_failed' => 'Error al validar la importación del ZIP con errores:',
+    'import_zip_failed_notification' => 'Error al importar archivo ZIP.',
+    'import_perms_books' => 'Le faltan los permisos necesarios para crear libros.',
+    'import_perms_chapters' => 'Le faltan los permisos necesarios para crear capítulos.',
+    'import_perms_pages' => 'Le faltan los permisos necesarios para crear páginas.',
+    'import_perms_images' => 'Le faltan los permisos necesarios para crear imágenes.',
+    'import_perms_attachments' => 'Le faltan los permisos necesarios para crear adjuntos.',
+
     // API errors
     'api_no_authorization_found' => 'No se encontró ningún token de autorización en la solicitud',
     'api_bad_authorization_format' => 'Se ha encontrado un token de autorización en la solicitud pero el formato era incorrecto',
index 62919fe4ac8f133c3cdc049f7abc12da33659c33..cb13cad121b4b5b6e4c9c08325843cb1d3d0ec76 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'API de sistema de acceso',
     'role_manage_settings' => 'Gestionar ajustes de la aplicación',
     'role_export_content' => 'Exportar contenido',
+    'role_import_content' => 'Importar contenido',
     'role_editor_change' => 'Cambiar editor de página',
     'role_notifications' => 'Recibir y gestionar notificaciones',
     'role_asset' => 'Permisos de contenido',
index bfcb050bea4de6f18b48c3b2a2c7aa7a5fb16fe0..d5f4f8495c8d4256d7456e1f9aa22e434d5e64b2 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'El atributo :attribute tiene un formato inválido.',
     'uploaded'             => 'El archivo no ha podido subirse. Es posible que el servidor no acepte archivos de este tamaño.',
 
+    'zip_file' => 'El :attribute necesita hacer referencia a un archivo dentro del ZIP.',
+    'zip_file_mime' => 'El :attribute necesita hacer referencia a un archivo de tipo :validTypes, encontrado :foundType.',
+    'zip_model_expected' => 'Se esperaba un objeto de datos, pero se encontró ":type".',
+    'zip_unique' => 'El :attribute debe ser único para el tipo de objeto dentro del ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 62d986ceaa0e9c7745a17af41a6bdb95f7d38975..f7e9794937e2234c96c1b975ba08e51d446cf679 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'webhook eliminado',
     'webhook_delete_notification' => 'Webhook eliminado correctamente',
 
+    // Imports
+    'import_create' => 'importación creada',
+    'import_create_notification' => 'Importación cargada correctamente',
+    'import_run' => 'importación actualizada',
+    'import_run_notification' => 'Contenido importado correctamente',
+    'import_delete' => 'importación borrada',
+    'import_delete_notification' => 'Importación borrada correctamente',
+
     // Users
     'user_create' => 'usuario creado',
     'user_create_notification' => 'Usuario creado correctamente',
index 3cd7d4657a780aa6b3730bab25a300861355795d..9002dc72bac78c9492cec2c02d43f1edcf4d33be 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Acerca del editor',
     'about_title' => 'Acerca del editor WYSIWYG',
     'editor_license' => 'Licencia del editor y derechos de autor',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Este editor se construye usando :tinyLink provisto bajo la licencia MIT.',
     'editor_tiny_license_link' => 'Aquí se muestran los detalles de los derechos de autor y la licencia de TinyMCE.',
     'save_continue' => 'Guardar Página y Continuar',
index d35682d2fad22ca1d39daaa8669f6b2bd994678a..a118e16bed9fd97dfce61b42206475fdf0ceb2ca 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Archivo PDF',
     'export_text' => 'Archivo de texto plano',
     'export_md' => 'Archivo Markdown',
+    'export_zip' => 'ZIP portable',
     'default_template' => 'Plantilla de página por defecto',
     'default_template_explain' => 'Asigne una plantilla de página que se utilizará como contenido predeterminado para todas las páginas creadas en este elemento. Tenga en cuenta que esto sólo se utilizará si el creador de páginas tiene acceso a la plantilla de página elegida.',
     'default_template_select' => 'Seleccione una página de plantilla',
+    'import' => 'Importar',
+    'import_validate' => 'Validar importación',
+    'import_desc' => 'Importar libros, capítulos y páginas usando una exportación zip portable de la misma o distinta instancia. Seleccione un archivo ZIP para continuar. Después de que el archivo haya sido subido y validado, podrá configurar y confirmar la importación en la siguiente vista.',
+    'import_zip_select' => 'Seleccione archivo ZIP a subir',
+    'import_zip_validation_errors' => 'Se detectaron errores al validar el archivo ZIP proporcionado:',
+    'import_pending' => 'Importaciones pendientes',
+    'import_pending_none' => 'No se han iniciado importaciones.',
+    'import_continue' => 'Continuar importación',
+    'import_continue_desc' => 'Revise el contenido que debe importarse del archivo ZIP subido. Cuando esté listo, ejecute la importación para añadir su contenido a este sistema. El archivo de importación ZIP subido se eliminará automáticamente al terminar la importación correctamente.',
+    'import_details' => 'Detalles de la Importación',
+    'import_run' => 'Ejecutar Importación',
+    'import_size' => ':size tamaño archivo ZIP',
+    'import_uploaded_at' => 'Subido :relativeTime',
+    'import_uploaded_by' => 'Subido por',
+    'import_location' => 'Ubicación de Importación',
+    'import_location_desc' => 'Seleccione una ubicación de destino para el contenido importado. Necesitará los permisos pertinentes para crearlo dentro de la ubicación que elija.',
+    'import_delete_confirm' => '¿Está seguro de que desea eliminar esta importación?',
+    'import_delete_desc' => 'Esto eliminará el archivo ZIP de importación subido y no se puede deshacer.',
+    'import_errors' => 'Errores de Importación',
+    'import_errors_desc' => 'Se han producido los siguientes errores durante el intento de importación:',
 
     // Permissions and restrictions
     'permissions' => 'Permisos',
index c25c793d04fc212a3f61d380adeb1d68a0d66017..cb1bc1202bb21975f68257b81f0f8a335ffcee02 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => 'La aplicación :appName se encuentra caída en este momento',
     'back_soon' => 'Volverá a estar operativa en corto tiempo.',
 
+    // Import
+    'import_zip_cant_read' => 'No se pudo leer el archivo ZIP.',
+    'import_zip_cant_decode_data' => 'No se pudo encontrar y decodificar el archivo data.json. en el archivo ZIP.',
+    'import_zip_no_data' => 'Los datos del archivo ZIP no contienen ningún libro, capítulo o contenido de página.',
+    'import_validation_failed' => 'Error al validar la importación del ZIP con errores:',
+    'import_zip_failed_notification' => 'Error al importar archivo ZIP.',
+    'import_perms_books' => 'Le faltan los permisos necesarios para crear libros.',
+    'import_perms_chapters' => 'Le faltan los permisos necesarios para crear capítulos.',
+    'import_perms_pages' => 'Le faltan los permisos necesarios para crear páginas.',
+    'import_perms_images' => 'Le faltan los permisos necesarios para crear imágenes.',
+    'import_perms_attachments' => 'Le faltan los permisos necesarios para crear adjuntos.',
+
     // API errors
     'api_no_authorization_found' => 'No se encontró ningún token de autorización en la solicitud',
     'api_bad_authorization_format' => 'Se ha encontrado un token de autorización en la solicitud pero el formato era incorrecto',
index 84ed4769468263362fc404e99569d88ed6970f82..9a78c876042ef0d97d971222b137853032982cce 100644 (file)
@@ -163,6 +163,7 @@ return [
     'role_access_api' => 'API de sistema de acceso',
     'role_manage_settings' => 'Gestionar ajustes de activos',
     'role_export_content' => 'Exportar contenido',
+    'role_import_content' => 'Importar contenido',
     'role_editor_change' => 'Cambiar editor de página',
     'role_notifications' => 'Recibir y gestionar notificaciones',
     'role_asset' => 'Permisos de activos',
index 9b2b1b4134ab346ba443ce9e86ba4c24b284dca3..db16845e030f4d2a5706815f5799fe07938ae6be 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'El atributo :attribute tiene un formato inválido.',
     'uploaded'             => 'El archivo no se pudo subir. Puede ser que el servidor no acepte archivos de este tamaño.',
 
+    'zip_file' => 'El :attribute necesita hacer referencia a un archivo dentro del ZIP.',
+    'zip_file_mime' => 'El :attribute necesita hacer referencia a un archivo de tipo :validTypes, encontrado :foundType.',
+    'zip_model_expected' => 'Se esperaba un objeto de datos, pero se encontró ":type".',
+    'zip_unique' => 'El :attribute debe ser único para el tipo de objeto dentro del ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 46812551023a6a945f85cf4d6d393dcab84b8f3a..bbc9762500e43fe831a53883a293675e7487f099 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'kustutas veebihaagi',
     'webhook_delete_notification' => 'Veebihaak on kustutatud',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'lisas kasutaja',
     'user_create_notification' => 'Kasutaja on lisatud',
index 610be63987943889f5c9819a52ba29dd5e0e2936..77b0514569ec6f5ea69fe1beed694199a5efb172 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Redaktori info',
     'about_title' => 'Info WYSIWYG redaktori kohta',
     'editor_license' => 'Redaktori litsents ja autoriõigused',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'See redaktor on loodud :tinyLink abil, mis on saadaval MIT litsentsi alusel.',
     'editor_tiny_license_link' => 'TinyMCE autoriõigused ja litsents on saadaval siin.',
     'save_continue' => 'Salvesta leht ja jätka',
index dd875a6f2dae3979485d63c7dde2d947739cd79b..7afe7005da6408693eadafffb3473a6f0ad5977d 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF fail',
     'export_text' => 'Tekstifail',
     'export_md' => 'Markdown fail',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Vaikimisi lehe mall',
     'default_template_explain' => 'Vali lehe mall, mida kasutatakse kõigi selle objekti sees loodud lehtede vaikimisi sisuna. Pea meeles, et seda kasutatakse ainult siis, kui lehe loojal on valitud malli vaatamise õigus.',
     'default_template_select' => 'Vali mall',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Õigused',
index 732c945295f3daec00b9626c55d22c3289d04e55..4faf1d00807c1ac01d6e5eaf42bc2f72b539f2e9 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName on hetkel maas',
     'back_soon' => 'See on varsti tagasi.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Päringust ei leitud volitustunnust',
     'api_bad_authorization_format' => 'Päringust leiti volitustunnus, aga see ei olnud korrektses formaadis',
index aa860c05081f061dc4588f6739e84998d94fe0b3..6f29fcba17a98b60a2401badc31afec23c2b8402 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Süsteemi API ligipääs',
     'role_manage_settings' => 'Rakenduse seadete haldamine',
     'role_export_content' => 'Sisu eksport',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Lehe redaktori muutmine',
     'role_notifications' => 'Võta vastu ja halda teavitusi',
     'role_asset' => 'Sisu õigused',
index 5f7f6f3aa39b9ec38903bfe7079e1bf5f1e6d65b..6a6eb661ccb4d2049df2b9842f89adcc8162c08c 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute on vigases formaadis.',
     'uploaded'             => 'Faili üleslaadimine ebaõnnestus. Server ei pruugi sellise suurusega faile vastu võtta.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 15e11c47618234825065a3cff743a64b56ad51a4..eeee084ab3c12334bf731b7ac93556eb20f62391 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'webhook ezabatua',
     'webhook_delete_notification' => 'Webhook egoki ezabatua',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'created user',
     'user_create_notification' => 'User successfully created',
index 161cb3b27a414585d208648d3e6239514545953e..34c73997840c2ba3c04ce200e683cbecbb67088a 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Save Page & Continue',
index 7588561201cd3cb99f04fca23e302ae105208a98..10c5dba126eb0515f1faeceac738a099dffb8488 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF fitxategia',
     'export_text' => 'Testu lauko fitxategiak',
     'export_md' => 'Markdown fitxategia',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Baimenak',
index 33f033a176ac532e9c4acad36a9a53c8351010b0..2a747e5f8bbfc1d33eeffb12779d617f4e5f2181 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName is down right now',
     'back_soon' => 'It will be back up soon.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'No authorization token found on the request',
     'api_bad_authorization_format' => 'An authorization token was found on the request but the format appeared incorrect',
index 1ee5843e8e77d50ad25109ddd64d3b4a7051d4c6..80f1c87f439046c6922b8cd83b59bf344879701d 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Sistemako APIra sarrera',
     'role_manage_settings' => 'Kudeatu aplikazio ezarpenak',
     'role_export_content' => 'Exportatu edukia',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Fitxategi baimenak',
index cd7ba387dfa7f077797e8aa43353b067ca7cf39f..f79dc852f3e06f726aacd1d41bd1d82690f20040 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'The :attribute format is invalid.',
     'uploaded'             => 'The file could not be uploaded. The server may not accept files of this size.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index adc380249781a94dd0cee35a3897c434dd366d74..c17fe6988212c48c4a50860434e916d68b81ae24 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'حذف وب هوک',
     'webhook_delete_notification' => 'وب هوک با موفقیت حذف شد',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'کاربر ایجاد شده',
     'user_create_notification' => 'کاربر با موفقیت به ایجاد شد',
index 89d163de0eb758acd07039da2c1f4b8ef0c1b445..9fbb948f5ca141a77ce244f7cc45824c1e4b817f 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'درباره ویرایشگر',
     'about_title' => 'درباره ویرایشگر WYSIWYG',
     'editor_license' => 'مجوز و حق کپی رایت ویرایشگر',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'این ویرایشگر توسط :tinyLink و تحت مجوز MIT ساخته شده است.',
     'editor_tiny_license_link' => 'جزئیات کپی رایت و مجوز TinyMCE را می توانید در اینجا پیدا کنید.',
     'save_continue' => 'ذخیره صفحه و ادامه',
index 7d173e61e6acbbc59aca5abf1a1ea36b8c8d1b83..7578c21c029c62efe62ef4053d69803b2edd8d50 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'فایل PDF',
     'export_text' => 'پرونده متنی ساده',
     'export_md' => 'راهنما مارک‌دون',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'مجوزها',
index 8a54f9d37840c26c0e320c913a83b034f33656de..c4bc6963ae69ccd9afd38416241b5d0a1574ad51 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName در حال حاضر قطع است',
     'back_soon' => 'به زودی پشتیبان خواهد شد.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'هیچ نشانه مجوزی در درخواست یافت نشد',
     'api_bad_authorization_format' => 'یک نشانه مجوز در این درخواست یافت شد اما قالب نادرست به نظر می‌رسید',
index 4993c4671c5efa6de658c98148bbc1a3529aaa78..bb18364f055ed79d77ca92f565aad621e5fe3c24 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'دسترسی به API سیستم',
     'role_manage_settings' => 'تنظیمات برنامه را مدیریت کنید',
     'role_export_content' => 'صادرات محتوا',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'تغییر ویرایشگر صفحه',
     'role_notifications' => 'دریافت و مدیریت اعلان‌ها',
     'role_asset' => 'مجوزهای دارایی',
index 467c68702dd8b5ff2c44bbe2848a636ad808691b..10432471f646fe64b83e48a3211a69fe0ee8daab 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute معتبر نمی‌باشد.',
     'uploaded'             => 'بارگذاری فایل :attribute موفقیت آمیز نبود.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 6bb267c707c3137bbbc7b6138c7f84703458b250..40588abcd3b13e79c60a49444903e44a07765e50 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'poisti toimintokutsun',
     'webhook_delete_notification' => 'Toimintokutsu poistettiin onnistuneesti',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'loi käyttäjän',
     'user_create_notification' => 'Käyttäjä luotiin onnistuneesti',
index 34150e64781b913654305035f8c56a16c6335686..c2ab2d8094f4d6147b8fafb5244da6f2f1971b7e 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Tietoja editorista',
     'about_title' => 'Tietoja WYSIWYG-editorista',
     'editor_license' => 'Editorin lisenssi ja tekijänoikeus',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Tämä editori on rakennettu käyttäen sovellusta :tinyLink, joka on MIT-lisenssin alainen.',
     'editor_tiny_license_link' => 'TinyMCE-editorin tekijänoikeus- ja lisenssitiedot löytyvät täältä.',
     'save_continue' => 'Tallenna sivu ja jatka',
index c10886fe00fa1513b64c03ec2ba3e4e8036b4952..8743c972582c30a06d5f4115e9baef0bc45eff38 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF-tiedosto',
     'export_text' => 'Tekstitiedosto',
     'export_md' => 'Markdown-tiedosto',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Käyttöoikeudet',
index 4ffb37e8a91c316da132b009300dcca34a06f853..d948b556bf81bcf4f1789aaf8c405ff7b69ef71a 100644 (file)
@@ -106,6 +106,18 @@ Sovellus ei tunnista ulkoisen todennuspalvelun pyyntöä. Ongelman voi aiheuttaa
     'app_down' => ':appName on kaatunut',
     'back_soon' => 'Se palautetaan pian.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Pyynnöstä ei löytynyt valtuutuskoodia',
     'api_bad_authorization_format' => 'Pyynnöstä löytyi valtuutuskoodi, mutta sen muoto oli virheellinen',
index 3365d87bc37f8cb3615a3eeb4da929a8e42c5944..5d953dc70e159a74616175fec56655d3ddf5e488 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Pääsy järjestelmän ohjelmointirajapintaan',
     'role_manage_settings' => 'Hallinnoi sivuston asetuksia',
     'role_export_content' => 'Vie sisältöjä',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Vaihda sivun editoria',
     'role_notifications' => 'Vastaanota ja hallinnoi ilmoituksia',
     'role_asset' => 'Sisältöjen oikeudet',
index 35c5f1924b20ad1d96bc39893f4b9526c8972edf..0a9330433c80d53464ef82943b612061eca80ea6 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute muoto ei ole kelvollinen.',
     'uploaded'             => 'Tiedostoa ei voitu ladata. Palvelin ei ehkä hyväksy tämän kokoisia tiedostoja.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 7acf5931a28bdcd2bcb292ccf86d5fe5585a2f8d..871b886480c4f4cc495cef95b3f6a58896473488 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'supprimer un Webhook',
     'webhook_delete_notification' => 'Webhook supprimé avec succès',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'utilisateur créé',
     'user_create_notification' => 'Utilisateur créé avec succès',
index 558dda4c63d7ff413299c81816535636379eb04b..11edae10c9b0e033a199eb2cd9771a95f6138f8d 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'À propos de l\'éditeur',
     'about_title' => 'À propos de l\'éditeur WYSIWYG',
     'editor_license' => 'Licence d\'éditeur et droit d\'auteur',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Cet éditeur est construit en utilisant :tinyLink qui est fourni sous la licence MIT.',
     'editor_tiny_license_link' => 'Vous trouverez ici les détails sur les droits d\'auteur et les licences de TinyMCE.',
     'save_continue' => 'Enregistrer et continuer',
index b92ddac0ac7e510614b53ad2b7da88206947a01c..6581587d4f70ff6f9254ef3c3a3740d2af86ce98 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Fichier PDF',
     'export_text' => 'Document texte',
     'export_md' => 'Fichiers Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Modèle de page par défaut',
     'default_template_explain' => 'Sélectionnez un modèle de page qui sera utilisé comme contenu par défaut pour les nouvelles pages créées dans cet élément. Gardez à l\'esprit que le modèle ne sera utilisé que si le créateur de la page a accès au modèle sélectionné.',
     'default_template_select' => 'Sélectionnez un modèle de page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Autorisations',
index 7658fd8a982e989c22e402001f649825862c7a46..d89926dac72040154abb1e9a5e0b918a073dbd3b 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName n\'est pas en service pour le moment',
     'back_soon' => 'Nous serons bientôt de retour.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Aucun jeton d\'autorisation trouvé pour la demande',
     'api_bad_authorization_format' => 'Un jeton d\'autorisation a été trouvé pour la requête, mais le format semble incorrect',
index eb8ca396cb656d8f90f3b31d4889e838cf9db03f..d113e89ab7cc243da7748b14e1fbbc738b5e4f06 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Accès à l\'API du système',
     'role_manage_settings' => 'Gérer les préférences de l\'application',
     'role_export_content' => 'Exporter le contenu',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Changer l\'éditeur de page',
     'role_notifications' => 'Recevoir et gérer les notifications',
     'role_asset' => 'Permissions des ressources',
index 702c025854a08583c615cd899b2c70d768a40284..ed16776e72fc38d8f87173a53116651a3296efe8 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute a un format invalide.',
     'uploaded'             => 'Le fichier n\'a pas pu être envoyé. Le serveur peut ne pas accepter des fichiers de cette taille.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 75ab9b3ea283c7fc5c3ac1f1cfa3e4f9e79c484b..1954121f81368eab582ee8b045ca1e8c1af01010 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'Webhook נמחק',
     'webhook_delete_notification' => 'Webook נמחק בהצלחה',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'משתמש חדש נוצר',
     'user_create_notification' => 'משתמש נוצר בהצלחה',
index e37862a4bffac8029be1f1661c29880aa7aaaa95..a670385f99d8beed236930548d25f330fb685b72 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'אודות עורך הטקסט הויזואלי',
     'editor_license' => 'רשיון וזכויות העורך',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'שמור עמוד והמשך',
index 0dc6f882ea414bfeeaf58fddb3d52b6bb29b5436..9ca53fa137c0ffa5e5fb6e059a4306d21ac10b62 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'קובץ PDF',
     'export_text' => 'טקסט רגיל',
     'export_md' => 'קובץ Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'הרשאות',
index b11375dae39b5b826c35600cf791a248a88f8c49..75f7949ea7657bd0a33da36726986a6d4fc2f354 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName כרגע אינו זמין',
     'back_soon' => 'מקווים שיחזור במהרה',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'No authorization token found on the request',
     'api_bad_authorization_format' => 'An authorization token was found on the request but the format appeared incorrect',
index bf585287cf8d297a5a89708f6cc749b30e773b7d..9e63a43cdd8cba47ae3e5f1abc37a7c603d77e5f 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'גש ל-API המערכת',
     'role_manage_settings' => 'ניהול הגדרות יישום',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'הרשאות משאבים',
index 85f6c698eb7613361a46303c784ca4e6bb763a17..d7c1267836525e4b429c7333cc884a0af4788845 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'שדה :attribute בעל פורמט שאינו תקין.',
     'uploaded'             => 'שדה :attribute ארעה שגיאה בעת ההעלאה.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 284121b2dd7255fa276445c912e0fd8446d8f8bd..f5853dc65c764baa26244f8d078b2f20d965ad77 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'web- dojavnik izbrisan',
     'webhook_delete_notification' => 'Web-dojavnik je uspješno izbrisan',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'kreirani korisnik',
     'user_create_notification' => 'Korisnik je uspješno kreiran',
index f3fb21ad4e9616f978d1d273f04dcbc1fa2f3a19..55b38ec2d7c19a95cf8d3d8bb5b28da1b5c082dc 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'O Editoru',
     'about_title' => 'O WYSIWYG Editoru',
     'editor_license' => 'Licenca i autorsko pravo uređivača',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Ovaj uređivač je izrađen pomoću: tinyLink koji je dostupan pod MIT licencom.',
     'editor_tiny_license_link' => 'Detalji o autorskim pravima i licenci za TinyMCE mogu se pronaći ovdje.',
     'save_continue' => 'Spremi Stranicu i Nastavi',
index 01ceb054b1bca29e5c453652fd95e41d23cd3f37..91621ed8cd37e2afd982b5056606b1df19084816 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF Datoteka',
     'export_text' => 'Text File',
     'export_md' => 'Markdown Datoteka',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Dopuštenja',
index 31577863c4fa7152f082d01a84e69052a063e919..92b9de7d24ec4fd64d357cc00d016eac08caba83 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName trenutno nije dostupna',
     'back_soon' => 'Uskoro će se vratiti.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Nije pronađena autorizacija',
     'api_bad_authorization_format' => 'Pogreška prilikom autorizacije',
index e58c3a6d45b2b53f83315328546587deb5766bd8..a8b8fea637f819452146bb8ba39ef23ece017d1f 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'API pristup',
     'role_manage_settings' => 'Upravljanje postavkama aplikacija',
     'role_export_content' => 'Izvoz sadržaja',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Promijeni uređivač stranica',
     'role_notifications' => 'Primanje i upravljanje obavijestima',
     'role_asset' => 'Upravljanje vlasništvom',
index 95263ff07bd87beea5acb9e6641e962519ebb56e..32b11a9bd8012a91ecb223fcf1daa20a72ca797d 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Format :attribute nije valjan.',
     'uploaded'             => 'Datoteka se ne može prenijeti. Server možda ne prihvaća datoteke te veličine.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index ea3d0cef3f22d85812e08157bd3e62d68734a442..b0dbfd45e97291165c5edb066f09357f4e466688 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'webhookot törölt',
     'webhook_delete_notification' => 'Webhook sikeresen törölve',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'felhasználó létrehozása',
     'user_create_notification' => 'Felhasználó sikeresen létrehozva',
index b71efec20f2f9930122c09bb5d5d936c64b3410c..339ece151dfcc5290534a789dbd0b9ee846b9fb2 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'A szerkesztőről',
     'about_title' => 'A WYSIWYG szerkesztőről',
     'editor_license' => 'Szerkesztő Licensz és Copyright információi',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Ez a szerkesztő az MIT licenc alatt szolgáltatott :tinyLink segítségével készült.',
     'editor_tiny_license_link' => 'A TinyMCE szerzői jogi és licencinformációi itt találhatók.',
     'save_continue' => 'Mentés és Folytatás',
index 174197827b14c25741d0acc8861905ddfed4eff8..05c863878f9c1be730c9cf4401561da5b319b045 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF fájl',
     'export_text' => 'Egyszerű szövegfájl',
     'export_md' => 'Markdown jegyzetek',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Alapértelmezett oldalsablon',
     'default_template_explain' => 'Rendeljen hozzá egy oldalsablont, amely alapértelmezett tartalomként lesz használva az ezen az elemen belül létrehozott összes oldalon. Ne feledje, hogy ezt csak akkor használja, ha az oldal készítője megtekintési hozzáféréssel rendelkezik a kiválasztott sablonoldalhoz.',
     'default_template_select' => 'Válasszon ki egy oldalsablont',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Jogosultságok',
index 275eb65fe3dcb8c7c973e3f89a3a2904874753ef..00f47ac40bc6258d84695453875fb256447b491b 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName jelenleg nem üzemel',
     'back_soon' => 'Hamarosan újra elérhető lesz.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'A kérésben nem található hitelesítési vezérjel',
     'api_bad_authorization_format' => 'A kérésben hitelesítési vezérjel található de a formátuma érvénytelennek tűnik',
index 7398de9e171ecd3420799b4de4fd5e54759e1fd9..55471ee0f8d370c285631f3c5d4e0c2b3e91ae96 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Hozzáférés a rendszer API-hoz',
     'role_manage_settings' => 'Alkalmazás beállításainak kezelése',
     'role_export_content' => 'Tartalom exportálása',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Oldalszerkesztő módosítása',
     'role_notifications' => 'Értesítések fogadása és kezelése',
     'role_asset' => 'Eszköz jogosultságok',
index 863e39d530d69f6ac876605536440ad43e42d21f..a215416ca5f4e2551b22f147da449aa6e8edf18e 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute formátuma érvénytelen.',
     'uploaded'             => 'A fájlt nem lehet feltölteni. A kiszolgáló nem fogad el ilyen méretű fájlokat.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index bc20b86ffb2e4b33131cdf9a7b4620ccfce0d4e5..8c3e800bb670e792cc2bd5734e4cfb2c3066710d 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'menghapus webhook',
     'webhook_delete_notification' => 'Webhook berhasil dihapus',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'pengguna yang dibuat',
     'user_create_notification' => 'Pengguna berhasil dibuat',
index 73a374a1dc296bc4a25acd94151f44cdc7dd4f7c..c0b72601ad6cb055cdb4a15610fb2ed92b8021be 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Save Page & Continue',
index cf87ab0253b53f601e31efa4afa8cae1548a4d88..81d6763d09d63e3c18eae4062c8e77235e208d47 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Dokumen PDF',
     'export_text' => 'Dokumen Teks Biasa',
     'export_md' => 'File Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Izin',
index 8a4bc658f21c0e3692289bf7a8bf993fd2d0ee23..b4e2c6feb1175e3ac56b53f2e6fb93895ed51273 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName sedang down sekarang',
     'back_soon' => 'Ini akan segera kembali.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Tidak ada token otorisasi yang ditemukan pada permintaan tersebut',
     'api_bad_authorization_format' => 'Token otorisasi ditemukan pada permintaan tetapi formatnya salah',
index 21979ba60c4094bfadf4f2833f0c91517e365b53..abc4c86b405d0be477191384a8a0ef5970bf1e8e 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Akses Sistem API',
     'role_manage_settings' => 'Kelola setelan aplikasi',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Izin Aset',
index e1fcbc7246c2b9ee8f7ce9410a202883007fee3d..d922113d984416a51a884b8590477ebf5f2e915d 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute format tidak valid.',
     'uploaded'             => 'Berkas tidak dapat diunggah. Server mungkin tidak menerima berkas dengan ukuran ini.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
diff --git a/lang/is/activities.php b/lang/is/activities.php
new file mode 100644 (file)
index 0000000..5c84cdb
--- /dev/null
@@ -0,0 +1,132 @@
+<?php
+/**
+ * Activity text strings.
+ * Is used for all the text within activity logs & notifications.
+ */
+return [
+
+    // Pages
+    'page_create'                 => 'stofna síðu',
+    'page_create_notification'    => 'Síða stofnuð',
+    'page_update'                 => 'nafnlaus síða',
+    'page_update_notification'    => 'Síða uppfærð',
+    'page_delete'                 => 'síðu eytt',
+    'page_delete_notification'    => 'Tókst að eyða síðu',
+    'page_restore'                => 'endurvirkja síðu',
+    'page_restore_notification'   => 'Síða endurvirkjuð',
+    'page_move'                   => 'síða færð',
+    'page_move_notification'      => 'Tókst að færa síðu',
+
+    // Chapters
+    'chapter_create'              => 'kafli búinn til',
+    'chapter_create_notification' => 'Tókst að búa til kafla',
+    'chapter_update'              => 'kafli uppfærður',
+    'chapter_update_notification' => 'Tókst að uppfæra kafla',
+    'chapter_delete'              => 'eyddur kafli',
+    'chapter_delete_notification' => 'Tókst að eyða kafla',
+    'chapter_move'                => 'færður kafli',
+    'chapter_move_notification' => 'Tókst að færa kafla',
+
+    // Books
+    'book_create'                 => 'stofnuð bók',
+    'book_create_notification'    => 'Tókst að stofna bók',
+    'book_create_from_chapter'              => 'kafla breytt í bók',
+    'book_create_from_chapter_notification' => 'Tókst að breyta kafla í bók',
+    'book_update'                 => 'uppfærð bók',
+    'book_update_notification'    => 'Tókst að uppfæra bók',
+    'book_delete'                 => 'eydd bók',
+    'book_delete_notification'    => 'Tókst að eyða bók',
+    'book_sort'                   => 'flokkuð bók',
+    'book_sort_notification'      => 'Tókst að endurflokka bók',
+
+    // Bookshelves
+    'bookshelf_create'            => 'stofna hillu',
+    'bookshelf_create_notification'    => 'Tókst að stofna hillu',
+    'bookshelf_create_from_book'    => 'bók breytt i hillu',
+    'bookshelf_create_from_book_notification'    => 'Tókst að breyta bók í hillu',
+    'bookshelf_update'                 => 'uppærð hilla',
+    'bookshelf_update_notification'    => 'Tókst að uppfæra hillu',
+    'bookshelf_delete'                 => 'eydd hilla',
+    'bookshelf_delete_notification'    => 'Tókst að eyða hillu',
+
+    // Revisions
+    'revision_restore' => 'útgáfa bakfærð',
+    'revision_delete' => 'útgáfu eytt',
+    'revision_delete_notification' => 'Tókst að eyða útgáfu',
+
+    // Favourites
+    'favourite_add_notification' => 'hefur verið bætt í eftirlæti',
+    'favourite_remove_notification' => 'hefur verið eytt úr eftirlæti',
+
+    // Watching
+    'watch_update_level_notification' => 'Fylgjast með hefur verið uppfært',
+
+    // Auth
+    'auth_login' => 'skráður inn',
+    'auth_register' => 'skráður sem nýr notandi',
+    'auth_password_reset_request' => 'bað um nýtt lykilorð',
+    'auth_password_reset_update' => 'endurstilla lykilorð',
+    'mfa_setup_method' => 'valin MFA aðferð',
+    'mfa_setup_method_notification' => 'Fjölauðkenningar aðferð stillt',
+    'mfa_remove_method' => 'fjarlægja MFA aðferð',
+    'mfa_remove_method_notification' => 'Fjölauðkenningar aðferð fjarlægð',
+
+    // Settings
+    'settings_update' => 'uppfæra stillingar',
+    'settings_update_notification' => 'Tókst að uppfæra stillingar',
+    'maintenance_action_run' => 'keyrði uppfærslu',
+
+    // Webhooks
+    'webhook_create' => 'webhook búin til',
+    'webhook_create_notification' => 'Tókst að búa til Webhook',
+    'webhook_update' => 'webhook uppfærður',
+    'webhook_update_notification' => 'Tókst að uppfæra Webhook',
+    'webhook_delete' => 'eyða Webhook',
+    'webhook_delete_notification' => 'Tókst að eyða Webhook',
+
+    // Imports
+    'import_create' => 'búa til innlestur',
+    'import_create_notification' => 'Innlestur tókst',
+    'import_run' => 'uppfæra innlestur',
+    'import_run_notification' => 'Tókst að lesa inn',
+    'import_delete' => 'innlestri eytt',
+    'import_delete_notification' => 'Tókst að eyða innlestri',
+
+    // Users
+    'user_create' => 'stofnaður notandi',
+    'user_create_notification' => 'Tókst að stofna notanda',
+    'user_update' => 'uppfærður notandi',
+    'user_update_notification' => 'Tókst að uppfæra notanda',
+    'user_delete' => 'eyddur notandi',
+    'user_delete_notification' => 'Tókst að eyða notanda',
+
+    // API Tokens
+    'api_token_create' => 'API token búið til',
+    'api_token_create_notification' => 'Tókst að búa til API tóka',
+    'api_token_update' => 'API tóki uppfærður',
+    'api_token_update_notification' => 'Tókst að uppfæra API tóka',
+    'api_token_delete' => 'eyddur API tóki',
+    'api_token_delete_notification' => 'Tókst að eyða API tóka',
+
+    // Roles
+    'role_create' => 'stofnað hlutverk',
+    'role_create_notification' => 'Tókst að stofna hlutverk',
+    'role_update' => 'hlutverk uppfært',
+    'role_update_notification' => 'Tókst að uppfæra hlutverk',
+    'role_delete' => 'eytt hlutverk',
+    'role_delete_notification' => 'Tókst að eyða hlutverki',
+
+    // Recycle Bin
+    'recycle_bin_empty' => 'tæmd ruslatunna',
+    'recycle_bin_restore' => 'endurheimt úr ruslatunnu',
+    'recycle_bin_destroy' => 'fjarlægt úr ruslatunnu',
+
+    // Comments
+    'commented_on'                => 'athugasemd á',
+    'comment_create'              => 'athugasemd bætt við',
+    'comment_update'              => 'athugasemd uppfærð',
+    'comment_delete'              => 'athugasemd eytt',
+
+    // Other
+    'permissions_update'          => 'uppfærðar heimildir',
+];
diff --git a/lang/is/auth.php b/lang/is/auth.php
new file mode 100644 (file)
index 0000000..c5e7ce4
--- /dev/null
@@ -0,0 +1,117 @@
+<?php
+/**
+ * Authentication Language Lines
+ * The following language lines are used during authentication for various
+ * messages that we need to display to the user.
+ */
+return [
+
+    'failed' => 'Þeesi auðkenning er ekki á skrá.',
+    'throttle' => 'Of margar tilraunir til innskráningar. Reyndu aftur eftir :seconds sekúndur.',
+
+    // Login & Register
+    'sign_up' => 'Nýskrá',
+    'log_in' => 'Innskrá',
+    'log_in_with' => 'Innskrá með :socialDriver',
+    'sign_up_with' => 'Búa til aðgang með :socialDriver',
+    'logout' => 'Skrá út',
+
+    'name' => 'Nafn',
+    'username' => 'Notandanafn',
+    'email' => 'Netfang',
+    'password' => 'Lykilorð',
+    'password_confirm' => 'Staðfestu lykilorð',
+    'password_hint' => 'Verður að vera minnst 8 stafir',
+    'forgot_password' => 'Gleymt lykilorð?',
+    'remember_me' => 'Geyma innskráningarupplýsingar',
+    'ldap_email_hint' => 'Settu inn netfang til að nota þennan aðgang.',
+    'create_account' => 'Stofna aðgang',
+    'already_have_account' => 'Þegar með notandaaðgang?',
+    'dont_have_account' => 'Ekki með aðgang?',
+    'social_login' => 'Innskráning með samfélagsmiðli',
+    'social_registration' => 'Skráning samfélagsmiðils',
+    'social_registration_text' => 'Skráðu þig og innskrá með annari þjónustu.',
+
+    'register_thanks' => 'Takk fyrir að skrá þig!',
+    'register_confirm' => 'Skoðaðu tölvupóstinn þinn og smelltu á staðfestingarhlekkinn :appName.',
+    'registrations_disabled' => 'Skráningar eru óvirkar í augnablikinu',
+    'registration_email_domain_invalid' => 'Þetta lén hefur ekki aðgang að þessu forriti',
+    'register_success' => 'Takk fyrir að skrá þig, nú ertu innskráðursem notandi.',
+
+    // Login auto-initiation
+    'auto_init_starting' => 'Reyni innskráningu',
+    'auto_init_starting_desc' => 'Reyni að tengjast auðkenningarþjónustu, ef ekkert gerist innan 5 sekúndna getur þú smellt á hlekkinn hér að neðan.',
+    'auto_init_start_link' => 'Halda áfram með auðkenningu',
+
+    // Password Reset
+    'reset_password' => 'Endurstilla lykilorð',
+    'reset_password_send_instructions' => 'Settu netfangið þitt hér að neðan og þú færð tölvupóst með endurstillingar hlekk.',
+    'reset_password_send_button' => 'Senda hlekk',
+    'reset_password_sent' => 'Endurstillingar hlekkur hefur verið sendur í tölvupósti :email ef netfangið er á skrá.',
+    'reset_password_success' => 'Lykilorðið þitt hefur verið endurstillt.',
+    'email_reset_subject' => 'Endurstilla :appName lykilorðið þitt',
+    'email_reset_text' => 'Þú fékkst þennan tölvupóst því að beðið var um endurstillingu lykilorðs á þínum aðgangi.',
+    'email_reset_not_requested' => 'Ef þú baðst ekki um endurstillingu lykilorðs þarftu ekki að gera neitt.',
+
+    // Email Confirmation
+    'email_confirm_subject' => 'Staðfestu netfangið þitt á :appName',
+    'email_confirm_greeting' => 'Takk fyrir að skrá þig á :appName!',
+    'email_confirm_text' => 'Vinsamlegast staðfestu netfangið þitt með því að smella á hnappin hér fyrir neðan:',
+    'email_confirm_action' => 'Staðfesta netfang',
+    'email_confirm_send_error' => 'Staðfesting netfangs er nauðsynleg en kerfið gat ekki sent póst, vinsamlegast hafið samband við kerfisstjóra.',
+    'email_confirm_success' => 'Netfang þitt hefur verið staðfest, þú ættir nú að geta skráð þig inn með þessu netfangi.',
+    'email_confirm_resent' => 'Staðfestingar tölvupóstur hefur verið sendur, kíktu í póshólfið þitt.',
+    'email_confirm_thanks' => 'Takk fyrir að staðfesta!',
+    'email_confirm_thanks_desc' => 'Hinkraðu smá á meðan staðfestingin þín er í vinnslu, ef ekkert gerist eftir 3 sekúndur, smelltu á "Halda áfram" hlekkinn hér fyrir neðan.',
+
+    'email_not_confirmed' => 'Netfang hefur ekki verið staðfest',
+    'email_not_confirmed_text' => 'Netfangið þitt hefur ekki enn verið staðfest.',
+    'email_not_confirmed_click_link' => 'Vinsamlegast smelltu á hlekkinn sem barst þér í tölvupósti eftir skráningu.',
+    'email_not_confirmed_resend' => 'Ef þú finnur ekki tölvupóstinn sem var sendur á þig, getur þú fengið hann endursendann með því að fylla út formið hér að neðan.',
+    'email_not_confirmed_resend_button' => 'Endursenda staðfestingarpóst',
+
+    // User Invite
+    'user_invite_email_subject' => 'Þér hefur verið boðið að tengjast :appName!',
+    'user_invite_email_greeting' => 'Það hefur verið stofnaður aðgangur fyrir ig á :appName.',
+    'user_invite_email_text' => 'Smelltu á hnappinn fyrir neðan til að setja upp lykilorð og fá aðgang:',
+    'user_invite_email_action' => 'Settu inn lykilorð',
+    'user_invite_page_welcome' => 'Velkominn á :appName!',
+    'user_invite_page_text' => 'Til að ljúka við uppsetningu og fá aðgang að :appName verður þú að velja þér lykilorð.',
+    'user_invite_page_confirm_button' => 'Staðfestu lykilorð',
+    'user_invite_success_login' => 'Lykilorð klárt, nú ættir þú að geta skráð þig inn á :appName!',
+
+    // Multi-factor Authentication
+    'mfa_setup' => 'Setja upp tvöfalda auðkenningu',
+    'mfa_setup_desc' => 'Tvöföld euðkenning er viðbótar vörn til að tryggja aðganginn þinn.',
+    'mfa_setup_configured' => 'Þegar uppsett',
+    'mfa_setup_reconfigure' => 'Endurstilla',
+    'mfa_setup_remove_confirmation' => 'Ertu viss um að þú viljið fjarlæga þessa auðkenningarleið?',
+    'mfa_setup_action' => 'Uppsetning',
+    'mfa_backup_codes_usage_limit_warning' => 'Þú átt færri en 5 tilraunir eftir. Búðu til og geymdu hjá þér fleiri tilraunir svo þú læsist ekki úti.',
+    'mfa_option_totp_title' => 'App',
+    'mfa_option_totp_desc' => 'Til að virkja tvöfalda auðkenningu verður þú að hafa app í símanum sem styður TOPT, til dæmis Google Authenticator, Authy eða Microsoft Authenticator.',
+    'mfa_option_backup_codes_title' => 'Varakóðar',
+    'mfa_option_backup_codes_desc' => 'Býr til sett af einskiptis kóðum sem þú getur notað til að auðkenna þig með. Geymdu þessa kóða á öruggum stað.',
+    'mfa_gen_confirm_and_enable' => 'Staðfesta og virkja',
+    'mfa_gen_backup_codes_title' => 'Stillingar varakóða',
+    'mfa_gen_backup_codes_desc' => 'Geymdu listann af kóðum á öruggum stað. Þú getur notað þessa kóða sem auka auðkenningu.',
+    'mfa_gen_backup_codes_download' => 'Hala niður kóðum',
+    'mfa_gen_backup_codes_usage_warning' => 'Hver kóði getur bara verið notaður einu sinni',
+    'mfa_gen_totp_title' => 'Uppsetning Apps',
+    'mfa_gen_totp_desc' => 'Til að virkja tvöfalda auðkenningu verður þú að hafa app í símanum sem styður TOPT, til dæmis Google Authenticator, Authy eða Microsoft Authenticator.',
+    'mfa_gen_totp_scan' => 'Skannaðu QR kóðann með appinu sem þú notar fyrir tvöfalda auðkenningu.',
+    'mfa_gen_totp_verify_setup' => 'Staðfesta uppsetningu',
+    'mfa_gen_totp_verify_setup_desc' => 'Staðfestu að allt virki með því að setja inn kóða úr síma appinu þínu hér fyrir neðan:',
+    'mfa_gen_totp_provide_code_here' => 'Sláðu inn kóða úr auðkennningar appi',
+    'mfa_verify_access' => 'Staðfesta aðgang',
+    'mfa_verify_access_desc' => 'Aðgangurinn þinn þarf viðbótar auðkenningu, veldu auðkenningarleið.',
+    'mfa_verify_no_methods' => 'Engar aðferðir stilltar',
+    'mfa_verify_no_methods_desc' => 'Engin aukaauðkenningar aðferð fannst. Þú verður að setja upp minnst eina viðbótarauðkenningu til að halda áfram.',
+    'mfa_verify_use_totp' => 'Staðfestu með farsíma appi',
+    'mfa_verify_use_backup_codes' => 'Staðfesta með varakóða',
+    'mfa_verify_backup_code' => 'Varakóði',
+    'mfa_verify_backup_code_desc' => 'Settu inn einn af varakóðunum þínum hér að neðan:',
+    'mfa_verify_backup_code_enter_here' => 'Sláðu inn varakóða hér',
+    'mfa_verify_totp_desc' => 'Sláðu inn kóðann úr auðkenningar appinu úr símanum þínum:',
+    'mfa_setup_login_notification' => 'Tvöföld auðkenning stillt. Skráðu þig nú inn með euðkenningarleiðinni.',
+];
diff --git a/lang/is/common.php b/lang/is/common.php
new file mode 100644 (file)
index 0000000..721d844
--- /dev/null
@@ -0,0 +1,113 @@
+<?php
+/**
+ * Common elements found throughout many areas of BookStack.
+ */
+return [
+
+    // Buttons
+    'cancel' => 'Hætta við',
+    'close' => 'Loka',
+    'confirm' => 'Staðfesta',
+    'back' => 'Til baka',
+    'save' => 'Vista',
+    'continue' => 'Halda áfram',
+    'select' => 'Velja',
+    'toggle_all' => 'Velja allt',
+    'more' => 'Meira',
+
+    // Form Labels
+    'name' => 'Nafn',
+    'description' => 'Lýsing',
+    'role' => 'Hlutverk',
+    'cover_image' => 'Forsíðumynd',
+    'cover_image_description' => 'Myndin ætti að fera u. þ. b 440x250px þótt hún verði sköluð og kroppuð eftir þörfum, þannig að endanleg stærð mun endurspegla það.',
+
+    // Actions
+    'actions' => 'Aðgerðir',
+    'view' => 'Skoða',
+    'view_all' => 'Skoða allt',
+    'new' => 'Ný',
+    'create' => 'Búa til',
+    'update' => 'Uppfæra',
+    'edit' => 'Breyta',
+    'sort' => 'Flokka',
+    'move' => 'Færa',
+    'copy' => 'Afrita',
+    'reply' => 'Svara',
+    'delete' => 'Eyða',
+    'delete_confirm' => 'Staðfesta eyðingu',
+    'search' => 'Leita',
+    'search_clear' => 'Hreinsa leit',
+    'reset' => 'Endurstilla',
+    'remove' => 'Fjarlægja',
+    'add' => 'Bæta við',
+    'configure' => 'Stilla',
+    'manage' => 'Stýra',
+    'fullscreen' => 'Fylla skjá',
+    'favourite' => 'Eftirlæti',
+    'unfavourite' => 'Fjarlægja úr eftirlæti',
+    'next' => 'Næst',
+    'previous' => 'Fyrri',
+    'filter_active' => 'Virk sía:',
+    'filter_clear' => 'Hreinsa síu',
+    'download' => 'Hlaða niður',
+    'open_in_tab' => 'Opna í flipa',
+    'open' => 'Opna',
+
+    // Sort Options
+    'sort_options' => 'Valkostir röðunar',
+    'sort_direction_toggle' => 'Flokkunarátt',
+    'sort_ascending' => 'Raða vaxandi',
+    'sort_descending' => 'Raða minnkandi',
+    'sort_name' => 'Nafn',
+    'sort_default' => 'Sjálfgefið',
+    'sort_created_at' => 'Stofnað þann',
+    'sort_updated_at' => 'Uppfært þann',
+
+    // Misc
+    'deleted_user' => 'Eyddur notandi',
+    'no_activity' => 'Engin virkni til að sýna',
+    'no_items' => 'Engir hlutir tiltækir',
+    'back_to_top' => 'Fara efst',
+    'skip_to_main_content' => 'Fara í aðalefni',
+    'toggle_details' => 'Virkja nánari sýn',
+    'toggle_thumbnails' => 'Sýna smámynd',
+    'details' => 'Nánari upplýsingar',
+    'grid_view' => 'Grid View',
+    'list_view' => 'Lista sýn',
+    'default' => 'Sjálfgefið',
+    'breadcrumb' => 'Brauðmolar',
+    'status' => 'Staða',
+    'status_active' => 'Virkt',
+    'status_inactive' => 'Óvirkt',
+    'never' => 'Aldrei',
+    'none' => 'Engin',
+
+    // Header
+    'homepage' => 'Forsíða',
+    'header_menu_expand' => 'Leiðarstjórn',
+    'profile_menu' => 'Prófíll',
+    'view_profile' => 'Skoða prófíl',
+    'edit_profile' => 'Breyta prófíl',
+    'dark_mode' => 'Dimmsnið',
+    'light_mode' => 'Ljóssnið',
+    'global_search' => 'Heildarleit',
+
+    // Layout tabs
+    'tab_info' => 'Upplýsingar',
+    'tab_info_label' => 'Tab: Sýna fleiri upplýsingar',
+    'tab_content' => 'Innihald',
+    'tab_content_label' => 'Tab: Sýna aðalinnihald',
+
+    // Email Content
+    'email_action_help' => 'Ef þú átt í vandræðum með að smella á ":actionText" hnappinn, afritaðu og límdu slóðina í vefskoðarann þinn:',
+    'email_rights' => 'Höfundaréttur varinn',
+
+    // Footer Link Options
+    // Not directly used but available for convenience to users.
+    'privacy_policy' => 'Persónuverndarstefna',
+    'terms_of_service' => 'Skilmálar þjónustu',
+
+    // OpenSearch
+    'opensearch_description' => 'Leita :appName',
+];
diff --git a/lang/is/components.php b/lang/is/components.php
new file mode 100644 (file)
index 0000000..6e0527e
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Text used in custom JavaScript driven components.
+ */
+return [
+
+    // Image Manager
+    'image_select' => 'Myndaval',
+    'image_list' => 'Myndalisti',
+    'image_details' => 'Uplýsingar myndar',
+    'image_upload' => 'Hlaða upp mynd',
+    'image_intro' => 'Hér getur þú valið og stjórnað þeim myndum sem þegar hefur verið upphlaðið.',
+    'image_intro_upload' => 'Hladdu upp nýrri mynd með því að draga hana inn í þennan glugga eða nota "Hlaða upp" hnappinn hér fyrir ofan.',
+    'image_all' => 'Allar',
+    'image_all_title' => 'Skoða allar myndir',
+    'image_book_title' => 'Skoða þær myndir sem þegar hefur verið hlaðið upp í þessa bók',
+    'image_page_title' => 'Skoða þær myndir sem þegar hefur verið hlaðið upp á þessa síðu',
+    'image_search_hint' => 'Leita af myndum eftir nafni',
+    'image_uploaded' => 'Hlaðið upp þann :uploadedDate',
+    'image_uploaded_by' => 'Hlaðið upp af :userName',
+    'image_uploaded_to' => 'Hlaðið upp á :pageLink',
+    'image_updated' => 'Uppfært þann :updateDate',
+    'image_load_more' => 'Hlaða fleirum',
+    'image_image_name' => 'Nafn myndar',
+    'image_delete_used' => 'Þessi mynd er notuð á eftirfarandi síðum.',
+    'image_delete_confirm_text' => 'Ertu viss um að þú viljir eyða þessari mynd?',
+    'image_select_image' => 'Velja mynd',
+    'image_dropzone' => 'Dragðu myndir eða smelltu hér til að hlaða upp',
+    'image_dropzone_drop' => 'Dragðu myndir hingað til að hlaða upp',
+    'images_deleted' => 'Myndum eytt',
+    'image_preview' => 'Forskoðun mynda',
+    'image_upload_success' => 'Upphal myndar tókst',
+    'image_update_success' => 'Upplýsingar um mynd uppfærðar',
+    'image_delete_success' => 'Tókst að eyða mynd',
+    'image_replace' => 'Skipta um mynd',
+    'image_replace_success' => 'Tókst að skipta um skrá',
+    'image_rebuild_thumbs' => 'Endurgera stærðastillingar',
+    'image_rebuild_thumbs_success' => 'Tókst að endurgera stærðarstillingar!',
+
+    // Code Editor
+    'code_editor' => 'Breyta kóða',
+    'code_language' => 'Tungumál kóða',
+    'code_content' => 'Innihald kóða',
+    'code_session_history' => 'Saga lotu',
+    'code_save' => 'Vista kóða',
+];
diff --git a/lang/is/editor.php b/lang/is/editor.php
new file mode 100644 (file)
index 0000000..4e0ebcb
--- /dev/null
@@ -0,0 +1,179 @@
+<?php
+/**
+ * Page Editor Lines
+ * Contains text strings used within the user interface of the
+ * WYSIWYG page editor. Some Markdown editor strings may still
+ * exist in the 'entities' file instead since this was added later.
+ */
+return [
+    // General editor terms
+    'general' => 'Almennt',
+    'advanced' => 'Ítarlegt',
+    'none' => 'Engin',
+    'cancel' => 'Hætta við',
+    'save' => 'Vista',
+    'close' => 'Loka',
+    'undo' => 'Afturkalla',
+    'redo' => 'Endurgera',
+    'left' => 'Vinstri',
+    'center' => 'Miðja',
+    'right' => 'Hægri',
+    'top' => 'Efst',
+    'middle' => 'Miðja',
+    'bottom' => 'Neðst',
+    'width' => 'Breidd',
+    'height' => 'Hæð',
+    'More' => 'Meira',
+    'select' => 'Velja...',
+
+    // Toolbar
+    'formats' => 'Snið',
+    'header_large' => 'Stór fyrirsögn',
+    'header_medium' => 'Miðlungs fyrirsögn',
+    'header_small' => 'Lítil fyrirsögn',
+    'header_tiny' => 'Örsmá fyrirsögn',
+    'paragraph' => 'Málsgrein',
+    'blockquote' => 'Gæsalappir',
+    'inline_code' => 'Inline code',
+    'callouts' => 'Vitna í',
+    'callout_information' => 'Upplýsingar',
+    'callout_success' => 'Árangur',
+    'callout_warning' => 'Aðvörun',
+    'callout_danger' => 'Hætta',
+    'bold' => 'Feitletrað',
+    'italic' => 'Skáletrað',
+    'underline' => 'Undirstrikað',
+    'strikethrough' => 'Yfirstrikað',
+    'superscript' => 'Háletur',
+    'subscript' => 'Lágletur',
+    'text_color' => 'Litur texta',
+    'custom_color' => 'Sérsniðinn litur',
+    'remove_color' => 'Fjarlægja lit',
+    'background_color' => 'Bakgrunnslitur',
+    'align_left' => 'Jafna til vinstri',
+    'align_center' => 'Miðju jafna',
+    'align_right' => 'Hægrijafna',
+    'align_justify' => 'Jafna',
+    'list_bullet' => 'Punkta listi',
+    'list_numbered' => 'Númeraður listi',
+    'list_task' => 'Aðgerðar listi',
+    'indent_increase' => 'Auka inndrátt',
+    'indent_decrease' => 'Minnka inndrátt',
+    'table' => 'Tafla',
+    'insert_image' => 'Setja inn mynd',
+    'insert_image_title' => 'Setja inn eða breyta mynd',
+    'insert_link' => 'Setja inn eða breyta hlekk',
+    'insert_link_title' => 'Setja inn eða breyta hlekk',
+    'insert_horizontal_line' => 'Setja inn lárétta línu',
+    'insert_code_block' => 'Setja inn kóðastubb',
+    'edit_code_block' => 'Breyta kóðastubb',
+    'insert_drawing' => 'Setja inn eða breyta teikningu',
+    'drawing_manager' => 'Teikningastjóri',
+    'insert_media' => 'Setja inn eða breyta miðlum',
+    'insert_media_title' => 'Setja inn eða breyta miðlum',
+    'clear_formatting' => 'Hreinsa forsnið',
+    'source_code' => 'Frumkóði',
+    'source_code_title' => 'Frumkóði',
+    'fullscreen' => 'Fullann skjá',
+    'image_options' => 'Myndastillingar',
+
+    // Tables
+    'table_properties' => 'Eiginleikar töflu',
+    'table_properties_title' => 'Eiginleikar töflu',
+    'delete_table' => 'Eyða töflu',
+    'table_clear_formatting' => 'Hreinsa forsnið töflu',
+    'resize_to_contents' => 'Endurstilla stærð innihalds',
+    'row_header' => 'Titill raðar',
+    'insert_row_before' => 'Líma röð á undan',
+    'insert_row_after' => 'Líma röð á eftir',
+    'delete_row' => 'Eyða röð',
+    'insert_column_before' => 'Líma dálk á undan',
+    'insert_column_after' => 'Líma dálk á eftir',
+    'delete_column' => 'Eyða dálki',
+    'table_cell' => 'Reitur',
+    'table_row' => 'Röð',
+    'table_column' => 'Dálkur',
+    'cell_properties' => 'Eigindi reitar',
+    'cell_properties_title' => 'Eigindi reitar',
+    'cell_type' => 'Gerð reitar',
+    'cell_type_cell' => 'Reitur',
+    'cell_scope' => 'Svið',
+    'cell_type_header' => 'For reitur',
+    'merge_cells' => 'Sameina reiti',
+    'split_cell' => 'Kljúfa reiti',
+    'table_row_group' => 'Hópur raðar',
+    'table_column_group' => 'Hópur dálks',
+    'horizontal_align' => 'Jafna lárétt',
+    'vertical_align' => 'Jafna lóðrétt',
+    'border_width' => 'Border width',
+    'border_style' => 'Útlit jaðars',
+    'border_color' => 'Litur jaðars',
+    'row_properties' => 'Eigindi raðar',
+    'row_properties_title' => 'Eigindi raðar',
+    'cut_row' => 'Klippa röð',
+    'copy_row' => 'Afrita röð',
+    'paste_row_before' => 'Líma röð á undan',
+    'paste_row_after' => 'Líma röð á eftir',
+    'row_type' => 'Gerð raðar',
+    'row_type_header' => 'Síðuhaus',
+    'row_type_body' => 'Meginmál',
+    'row_type_footer' => 'Neðanmál',
+    'alignment' => 'Jöfnun',
+    'cut_column' => 'Klippa dálk',
+    'copy_column' => 'Afrita dálk',
+    'paste_column_before' => 'Líma dálk á undan',
+    'paste_column_after' => 'Líma dálk á eftir',
+    'cell_padding' => 'Cell padding',
+    'cell_spacing' => 'Cell spacing',
+    'caption' => 'Fyrirsögn',
+    'show_caption' => 'Sýna fyrirsögn',
+    'constrain' => 'Constrain proportions',
+    'cell_border_solid' => 'Fyllt',
+    'cell_border_dotted' => 'Punkta',
+    'cell_border_dashed' => 'Strikað',
+    'cell_border_double' => 'Tvöfalt',
+    'cell_border_groove' => 'Groove',
+    'cell_border_ridge' => 'Ridge',
+    'cell_border_inset' => 'Inset',
+    'cell_border_outset' => 'Outset',
+    'cell_border_none' => 'Engin',
+    'cell_border_hidden' => 'Falin',
+
+    // Images, links, details/summary & embed
+    'source' => 'Uppruni',
+    'alt_desc' => 'Auka lýsing',
+    'embed' => 'Innfellt',
+    'paste_embed' => 'Límdu innfellda kóðann þinn að neðan:',
+    'url' => 'Vistfang',
+    'text_to_display' => 'Teksti til að sýna',
+    'title' => 'Titill',
+    'open_link' => 'Opna hlekk',
+    'open_link_in' => 'Opna hlekk í...',
+    'open_link_current' => 'Virkum glugga',
+    'open_link_new' => 'Nýjum glugga',
+    'remove_link' => 'Fjarlægja hlekk',
+    'insert_collapsible' => 'Insert collapsible block',
+    'collapsible_unwrap' => 'Unwrap',
+    'edit_label' => 'Breyta miða',
+    'toggle_open_closed' => 'Velja opið/lokað',
+    'collapsible_edit' => 'Edit collapsible block',
+    'toggle_label' => 'Sýna miða',
+
+    // About view
+    'about' => 'Um ritilinn',
+    'about_title' => 'Um WYSIWYG ritilinn',
+    'editor_license' => 'Leyfi og höfundaréttur ritilsins',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
+    'editor_tiny_license' => 'Þessi ritill er smíðaður með :tinyLink sem er undir MIT leyfi.',
+    'editor_tiny_license_link' => 'Höfundarétt og leyfi TinyMCE má finna hér.',
+    'save_continue' => 'Vista síðu og halda áfram',
+    'callouts_cycle' => '(Keep pressing to toggle through types)',
+    'link_selector' => 'Hlekkur á innihald',
+    'shortcuts' => 'Flýtileiðir',
+    'shortcut' => 'Flýtileið',
+    'shortcuts_intro' => 'Eftirtaldar flýtileiðir eru aðgengilegar í ritlinum:',
+    'windows_linux' => '(Windows/Linux)',
+    'mac' => '(Mac)',
+    'description' => 'Lýsing',
+];
diff --git a/lang/is/entities.php b/lang/is/entities.php
new file mode 100644 (file)
index 0000000..f4ea3ac
--- /dev/null
@@ -0,0 +1,460 @@
+<?php
+/**
+ * Text used for 'Entities' (Document Structure Elements) such as
+ * Books, Shelves, Chapters & Pages
+ */
+return [
+
+    // Shared
+    'recently_created' => 'Nýlega búið til',
+    'recently_created_pages' => 'Nýlega stofnaðar síður',
+    'recently_updated_pages' => 'Nýlega uppfærðar síður',
+    'recently_created_chapters' => 'Nýlega stofnaðir kaflar',
+    'recently_created_books' => 'Nýlega stofnaðar bækur',
+    'recently_created_shelves' => 'Nýlega stofnaðar hillur',
+    'recently_update' => 'Nýlega uppfært',
+    'recently_viewed' => 'Nýlega skoðað',
+    'recent_activity' => 'Nýleg virkni',
+    'create_now' => 'Búðu til eina núna',
+    'revisions' => 'Útgáfur',
+    'meta_revision' => 'Úgáfa #:revisionCount',
+    'meta_created' => 'Búið til :timeLength',
+    'meta_created_name' => 'Búið til :timeLength af :user',
+    'meta_updated' => 'Uppfært :timeLength',
+    'meta_updated_name' => 'Uppfært :timeLength af :user',
+    'meta_owned_name' => 'Eigandi :user',
+    'meta_reference_count' => 'Vitnað í af :count item|Vitnað í af :count items',
+    'entity_select' => 'Entity Val',
+    'entity_select_lack_permission' => 'Þú hefur ekki nauðsynlegar aðgangsheimildir til að velja þetta',
+    'images' => 'Myndir',
+    'my_recent_drafts' => 'Nýlegur drögin mín',
+    'my_recently_viewed' => 'Síðast skoða af mér',
+    'my_most_viewed_favourites' => 'Mest skoðuðu eftirlætin',
+    'my_favourites' => 'Eftirlætin mín',
+    'no_pages_viewed' => 'Þú hefur ekki skoðað neinar síður',
+    'no_pages_recently_created' => 'Engar síður hafa verið búnar til nýlega',
+    'no_pages_recently_updated' => 'Engar síður hafa verið uppfærðar nýlega',
+    'export' => 'Flytja út',
+    'export_html' => 'Innifalin vefskrá',
+    'export_pdf' => 'PDF skrá',
+    'export_text' => 'Venjuleg textaskrá',
+    'export_md' => 'Markdown skrá',
+    'export_zip' => 'ZIP skrá',
+    'default_template' => 'Sjálfgefið síðusnið',
+    'default_template_explain' => 'Veldu síðusnið sem verður sjálgefið snið fyrir allar stofnaðar síður innan þessa hluta. Hafðu í huga að þetta verður aðeins notað ef sá sem stofnar síður er með heimild á þetta snið.',
+    'default_template_select' => 'Veldu sniðsíðu',
+    'import' => 'Flytja inn',
+    'import_validate' => 'Staðfesta innflutning',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Veldu ZIP skrá til að hlaða upp',
+    'import_zip_validation_errors' => 'Greindar voru villur við að staðreyna uppgefina ZIP skrá:',
+    'import_pending' => 'Innflutningur í bið',
+    'import_pending_none' => 'Ekkert hefur verið flutt inn.',
+    'import_continue' => 'Halda áfram að flytja inn',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Nánari lýsing á innflutningi',
+    'import_run' => 'Keyra innflutning',
+    'import_size' => ':size Stærð ZIP skrár',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Upphlaðið af',
+    'import_location' => 'Staðsetning innflutnings',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Ertu viss um að þú viljir eyða þessum innflutningi?',
+    'import_delete_desc' => 'Þetta mun eyða innsendri ZIP skrá, þessa aðgerð er ekki hægt að afturkalla.',
+    'import_errors' => 'Villur í innflutningi',
+    'import_errors_desc' => 'Eftirfarandi villur komu upp við innflutning:',
+
+    // Permissions and restrictions
+    'permissions' => 'Réttindi',
+    'permissions_desc' => 'Set permissions here to override the default permissions provided by user roles.',
+    'permissions_book_cascade' => 'Permissions set on books will automatically cascade to child chapters and pages, unless they have their own permissions defined.',
+    'permissions_chapter_cascade' => 'Permissions set on chapters will automatically cascade to child pages, unless they have their own permissions defined.',
+    'permissions_save' => 'Vista réttindi',
+    'permissions_owner' => 'Eigandi',
+    'permissions_role_everyone_else' => 'Allir aðrir',
+    'permissions_role_everyone_else_desc' => 'Set permissions for all roles not specifically overridden.',
+    'permissions_role_override' => 'Yfirskrifa réttindi fyrir hlutverk',
+    'permissions_inherit_defaults' => 'Erfa sjálfgefið',
+
+    // Search
+    'search_results' => 'Leitarniðurstöður',
+    'search_total_results_found' => ':count result found|:count total results found',
+    'search_clear' => 'Hreinsa leit',
+    'search_no_pages' => 'Engar síður passa við þessa leit',
+    'search_for_term' => 'Leita að :term',
+    'search_more' => 'Fleiri niðurstöður',
+    'search_advanced' => 'Ítarleg leit',
+    'search_terms' => 'Leitarorð',
+    'search_content_type' => 'Efnistegund',
+    'search_exact_matches' => 'Nákvæm samsvörun',
+    'search_tags' => 'Leita í örmerkjum',
+    'search_options' => 'Valkostir',
+    'search_viewed_by_me' => 'Skoðað af mér',
+    'search_not_viewed_by_me' => 'Ekki skoðað af mér',
+    'search_permissions_set' => 'Réttindi stillt',
+    'search_created_by_me' => 'Búið til af mér',
+    'search_updated_by_me' => 'Uppfært af mér',
+    'search_owned_by_me' => 'Í minni eigu',
+    'search_date_options' => 'Dagsetningarval',
+    'search_updated_before' => 'Uppfært fyrir',
+    'search_updated_after' => 'Uppfært eftir',
+    'search_created_before' => 'Búið til fyrir',
+    'search_created_after' => 'Búið til eftir',
+    'search_set_date' => 'Dagsetning',
+    'search_update' => 'Uppfæra leit',
+
+    // Shelves
+    'shelf' => 'Hilla',
+    'shelves' => 'Hillur',
+    'x_shelves' => ':count Hilla|:count Hillur',
+    'shelves_empty' => 'Engar hillur hafa verið búnar til',
+    'shelves_create' => 'Búa til hillu',
+    'shelves_popular' => 'Vinsælar hillur',
+    'shelves_new' => 'Nýjar hillur',
+    'shelves_new_action' => 'Ný hilla',
+    'shelves_popular_empty' => 'Vinsælustu hillurnar munu birtast hér.',
+    'shelves_new_empty' => 'Nýjustu hillurnar munu birtast hér.',
+    'shelves_save' => 'Vista hillu',
+    'shelves_books' => 'Bækur í þessari hillu',
+    'shelves_add_books' => 'Bæta við bókum í þessa hillu',
+    'shelves_drag_books' => 'Dragðu bækur hér undir til að bæta þeim í þessa hillu',
+    'shelves_empty_contents' => 'Þessi hilla hefur engar bækur',
+    'shelves_edit_and_assign' => 'Breyttu hillu til að setja inn bækur',
+    'shelves_edit_named' => 'Breyta hillu :name',
+    'shelves_edit' => 'Breyta hillu',
+    'shelves_delete' => 'Eyða hillu',
+    'shelves_delete_named' => 'Eyða hillu :name',
+    'shelves_delete_explain' => "Þetta mun eyða hillunni ':name'. Bókum í þessari hillu verður ekki eytt.",
+    'shelves_delete_confirmation' => 'Ertu viss um að þú viljir eyða hillunni?',
+    'shelves_permissions' => 'Stillingar á réttindum á hillu',
+    'shelves_permissions_updated' => 'Réttindi á hillu uppfærð',
+    'shelves_permissions_active' => 'Réttindi á hillu virk',
+    'shelves_permissions_cascade_warning' => 'Réttindi á hillum yfirfærast ekki á bækurnar sem í hillunni eru. Þetta er vegna þess að ein bók getur verið í mörgum hillum. Réttindi geta hinsvegar verið afrituð niður á bækur með því að nota valmöguleikann hér fyrir neðan.',
+    'shelves_permissions_create' => 'Réttindi til að búa til hillu eru aðeins notuð til að afrita réttindi á undirliggjandi bækur með því að nota aðgerðina hér fyrir neðan. Þau stjórna ekki hvort hægt sé að búa til bækur.',
+    'shelves_copy_permissions_to_books' => 'Afrita réttindi á bækur',
+    'shelves_copy_permissions' => 'Afrita réttindi',
+    'shelves_copy_permissions_explain' => 'This will apply the current permission settings of this shelf to all books contained within. Before activating, ensure any changes to the permissions of this shelf have been saved.',
+    'shelves_copy_permission_success' => 'Shelf permissions copied to :count books',
+
+    // Books
+    'book' => 'Bók',
+    'books' => 'Bækur',
+    'x_books' => ':count Bók:count Bækur',
+    'books_empty' => 'Engar bækur hafa verið búnar til',
+    'books_popular' => 'Vinsælar bækur',
+    'books_recent' => 'Nýlegar bækur',
+    'books_new' => 'Nýjar bækur',
+    'books_new_action' => 'Ný bók',
+    'books_popular_empty' => 'Vinsælustu bækurnar munu birtast hér.',
+    'books_new_empty' => 'The most recently created books will appear here.',
+    'books_create' => 'Búa til nýja bók',
+    'books_delete' => 'Eyða bók',
+    'books_delete_named' => 'Eyða bók :bookName',
+    'books_delete_explain' => 'Þetta mun eyða bók með nafninu \':bookName\'. Allar síður og allir kaflar verða fjarlægðir og eytt.',
+    'books_delete_confirmation' => 'Ertu viss um að þú viljir eyða þessari bók?',
+    'books_edit' => 'Breyta bók',
+    'books_edit_named' => 'Breyta bók :bookName',
+    'books_form_book_name' => 'Nafn bókar',
+    'books_save' => 'Vista bók',
+    'books_permissions' => 'Réttindastillingar bókar',
+    'books_permissions_updated' => 'Réttindastillingar bókar uppfærðar',
+    'books_empty_contents' => 'Engar síður eða kaflar hafa verið búin til fyrir þessa bók.',
+    'books_empty_create_page' => 'Búa til nýja síðu',
+    'books_empty_sort_current_book' => 'Raða núverandi bók',
+    'books_empty_add_chapter' => 'Bæta við kafla',
+    'books_permissions_active' => 'Réttindi bókar virk',
+    'books_search_this' => 'Leita í þessari bók',
+    'books_navigation' => 'Leiðartré bókar',
+    'books_sort' => 'Raða innihaldi bókar',
+    'books_sort_desc' => 'Move chapters and pages within a book to reorganise its contents. Other books can be added which allows easy moving of chapters and pages between books.',
+    'books_sort_named' => 'Raða bók :bookName',
+    'books_sort_name' => 'Raða eftir nafni',
+    'books_sort_created' => 'Raða eftir skráningar dagsetningu',
+    'books_sort_updated' => 'Raða eftir upphleðslu dagsetningu',
+    'books_sort_chapters_first' => 'Kaflar fyrst',
+    'books_sort_chapters_last' => 'Kaflar síðast',
+    'books_sort_show_other' => 'Sýna aðrar bækur',
+    'books_sort_save' => 'Vista nýja röð',
+    'books_sort_show_other_desc' => 'Bæta við öðrum bókum til að bæta þeim við röðunina.',
+    'books_sort_move_up' => 'Færa upp',
+    'books_sort_move_down' => 'Færa niður',
+    'books_sort_move_prev_book' => 'Færa í fyrri bók',
+    'books_sort_move_next_book' => 'Færa í næstu bók',
+    'books_sort_move_prev_chapter' => 'Færa inn í fyrri kafla',
+    'books_sort_move_next_chapter' => 'Færa inn í næsta kafla',
+    'books_sort_move_book_start' => 'Færa til byrjunar bókar',
+    'books_sort_move_book_end' => 'Færa í enda bókar',
+    'books_sort_move_before_chapter' => 'Færa í byrjun kafla',
+    'books_sort_move_after_chapter' => 'Færa í lok kafla',
+    'books_copy' => 'Afrita bók',
+    'books_copy_success' => 'Tókst að afrita bók',
+
+    // Chapters
+    'chapter' => 'Kafli',
+    'chapters' => 'Kaflar',
+    'x_chapters' => ':count Kafli|:count Kaflar',
+    'chapters_popular' => 'Vinsælir kaflar',
+    'chapters_new' => 'Nýr kafli',
+    'chapters_create' => 'Búa til nýjan kafla',
+    'chapters_delete' => 'Eyða kafla',
+    'chapters_delete_named' => 'Eyða kafla :chapterName',
+    'chapters_delete_explain' => 'Þetta mun eyða kafla með nafninu \':chapterName\'. Öllum blaðsíðum í þessum kafla verður einnig eytt.',
+    'chapters_delete_confirm' => 'Ertu viss um að þú viljir eyða þessum kafla?',
+    'chapters_edit' => 'Breyta kafla',
+    'chapters_edit_named' => 'Breyta kafla chapterName',
+    'chapters_save' => 'Vista kafla',
+    'chapters_move' => 'Færa kafla',
+    'chapters_move_named' => 'Færa kalfa :chapterName',
+    'chapters_copy' => 'Afrita kafla',
+    'chapters_copy_success' => 'Tókst að afrita kafla',
+    'chapters_permissions' => 'Réttindi á kafla',
+    'chapters_empty' => 'Engar síður eru eins og er í þessum kafla.',
+    'chapters_permissions_active' => 'Réttindi á kafla eru virk',
+    'chapters_permissions_success' => 'Réttindi á kafla hafa verið uppfærð',
+    'chapters_search_this' => 'Leita í þessum kafla',
+    'chapter_sort_book' => 'Raða bók',
+
+    // Pages
+    'page' => 'Síða',
+    'pages' => 'Síður',
+    'x_pages' => ':count Síða|:count Síður',
+    'pages_popular' => 'Vinsælar síður',
+    'pages_new' => 'Ný síða',
+    'pages_attachments' => 'Viðhengi',
+    'pages_navigation' => 'Síðuráp',
+    'pages_delete' => 'Eyða síðu',
+    'pages_delete_named' => 'Eyða síðu :pageName',
+    'pages_delete_draft_named' => 'Eyða drögum :pageName',
+    'pages_delete_draft' => 'Eyða uppkasti',
+    'pages_delete_success' => 'Síðu eytt',
+    'pages_delete_draft_success' => 'Uppkasti að síðu eytt',
+    'pages_delete_warning_template' => 'This page is in active use as a book or chapter default page template. These books or chapters will no longer have a default page template assigned after this page is deleted.',
+    'pages_delete_confirm' => 'Ertu viss um að þú viljir eyða þessari síðu?',
+    'pages_delete_draft_confirm' => 'Ertu viss um að þú viljir eyða þessu uppkasti að síðu?',
+    'pages_editing_named' => 'Breyta síðu :pageName',
+    'pages_edit_draft_options' => 'Valkostir uppkasts',
+    'pages_edit_save_draft' => 'Vista uppkast',
+    'pages_edit_draft' => 'Breyta drögum',
+    'pages_editing_draft' => 'Breyta uppkasti',
+    'pages_editing_page' => 'Breyta síðu',
+    'pages_edit_draft_save_at' => 'Vista uppkast ',
+    'pages_edit_delete_draft' => 'Eyða uppkasti',
+    'pages_edit_delete_draft_confirm' => 'Ertu viss um að þú viljir eyða uppkasti síðu? Allar breytingar sem gerðar hafa verið frá síðustu vistun á síðunni munu tapast.',
+    'pages_edit_discard_draft' => 'Henda uppkasti',
+    'pages_edit_switch_to_markdown' => 'Færa þig yfir í Markdown ritil',
+    'pages_edit_switch_to_markdown_clean' => '(Hreinsa innihald)',
+    'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
+    'pages_edit_switch_to_wysiwyg' => 'Skipta yfir í WYSIWYG ritil',
+    'pages_edit_switch_to_new_wysiwyg' => 'Skipta yfir í nýja WYSIWYG ritilinn',
+    'pages_edit_switch_to_new_wysiwyg_desc' => '(Í alfa prófun)',
+    'pages_edit_set_changelog' => 'Stilla breytingarskrá',
+    'pages_edit_enter_changelog_desc' => 'Skrifaðu stutta lýsingu á breytingunum sem þú gerðir',
+    'pages_edit_enter_changelog' => 'Færa í breytingaskrá',
+    'pages_editor_switch_title' => 'Skipta um ritil',
+    'pages_editor_switch_are_you_sure' => 'Are you sure you want to change the editor for this page?',
+    'pages_editor_switch_consider_following' => 'Consider the following when changing editors:',
+    'pages_editor_switch_consideration_a' => 'Once saved, the new editor option will be used by any future editors, including those that may not be able to change editor type themselves.',
+    'pages_editor_switch_consideration_b' => 'This can potentially lead to a loss of detail and syntax in certain circumstances.',
+    'pages_editor_switch_consideration_c' => 'Tag or changelog changes, made since last save, won\'t persist across this change.',
+    'pages_save' => 'Vista síðu',
+    'pages_title' => 'Titill síðu',
+    'pages_name' => 'Nafn síðu',
+    'pages_md_editor' => 'Ritill',
+    'pages_md_preview' => 'Forskoðun',
+    'pages_md_insert_image' => 'Setja inn mynd',
+    'pages_md_insert_link' => 'Insert Entity Link',
+    'pages_md_insert_drawing' => 'Setja inn teikningu',
+    'pages_md_show_preview' => 'Sýna forskoðun',
+    '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' => 'Síðan tilheyrir engum kafla',
+    'pages_move' => 'Færa síðu',
+    'pages_copy' => 'Afrita síðu',
+    'pages_copy_desination' => 'Áfangastaður afritunar',
+    'pages_copy_success' => 'Tókst að afrita síðu',
+    'pages_permissions' => 'Réttindi síðu',
+    'pages_permissions_success' => 'Réttindi síðu uppfærð',
+    'pages_revision' => 'Útgáfa',
+    'pages_revisions' => 'Útgáfur síðu',
+    'pages_revisions_desc' => 'Listed below are all the past revisions of this page. You can look back upon, compare, and restore old page versions if permissions allow. The full history of the page may not be fully reflected here since, depending on system configuration, old revisions could be auto-deleted.',
+    'pages_revisions_named' => 'Page Revisions for :pageName',
+    'pages_revision_named' => 'Page Revision for :pageName',
+    'pages_revision_restored_from' => 'Restored from #:id; :summary',
+    'pages_revisions_created_by' => 'Búið til af',
+    'pages_revisions_date' => 'Útgáfu dagsetning',
+    'pages_revisions_number' => '#',
+    'pages_revisions_sort_number' => 'Útgáfunúmer',
+    'pages_revisions_numbered' => 'Útgáfu #:id',
+    'pages_revisions_numbered_changes' => 'Útgáfu #:id breytingar',
+    'pages_revisions_editor' => 'Gerð ritils',
+    'pages_revisions_changelog' => 'Breytingaskrá',
+    'pages_revisions_changes' => 'Breytingar',
+    'pages_revisions_current' => 'Núverandi útgáfa',
+    'pages_revisions_preview' => 'Forskoðun',
+    'pages_revisions_restore' => 'Endurheimta',
+    'pages_revisions_none' => 'Þessi síða hefur engar útgáfur',
+    'pages_copy_link' => 'Afrita hlekk',
+    'pages_edit_content_link' => 'Hoppa í staðsetningu í ritli',
+    '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_permissions_active' => 'Page Permissions Active',
+    'pages_initial_revision' => 'Fyrsta birting',
+    'pages_references_update_revision' => 'System auto-update of internal links',
+    'pages_initial_name' => 'Ný síða',
+    'pages_editing_draft_notification' => 'You are currently editing a draft that was last saved :timeDiff.',
+    'pages_draft_edited_notification' => 'This page has been updated by since that time. It is recommended that you discard this draft.',
+    'pages_draft_page_changed_since_creation' => 'This page has been updated since this draft was created. It is recommended that you discard this draft or take care not to overwrite any page changes.',
+    'pages_draft_edit_active' => [
+        'start_a' => ':count users have started editing this page',
+        'start_b' => ':userName has started editing this page',
+        'time_a' => 'since the page was last updated',
+        'time_b' => 'in the last :minCount minutes',
+        'message' => ':start :time. Take care not to overwrite each other\'s updates!',
+    ],
+    '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_specific' => 'Tilgreind síða',
+    'pages_is_template' => 'Forsnið síðu',
+
+    // Editor Sidebar
+    'toggle_sidebar' => 'Toggle Sidebar',
+    'page_tags' => 'Page Tags',
+    'chapter_tags' => 'Chapter Tags',
+    'book_tags' => 'Book Tags',
+    'shelf_tags' => 'Shelf Tags',
+    'tag' => 'Tag',
+    'tags' =>  'Tags',
+    'tags_index_desc' => 'Tags can be applied to content within the system to apply a flexible form of categorization. Tags can have both a key and value, with the value being optional. Once applied, content can then be queried using the tag name and value.',
+    'tag_name' =>  'Tag Name',
+    'tag_value' => 'Tag Value (Optional)',
+    'tags_explain' => "Add some tags to better categorise your content. \n You can assign a value to a tag for more in-depth organisation.",
+    'tags_add' => 'Add another tag',
+    'tags_remove' => 'Remove this tag',
+    'tags_usages' => 'Total tag usages',
+    'tags_assigned_pages' => 'Assigned to Pages',
+    'tags_assigned_chapters' => 'Assigned to Chapters',
+    'tags_assigned_books' => 'Assigned to Books',
+    'tags_assigned_shelves' => 'Assigned to Shelves',
+    'tags_x_unique_values' => ':count unique values',
+    'tags_all_values' => 'All values',
+    'tags_view_tags' => 'View Tags',
+    'tags_view_existing_tags' => 'View existing tags',
+    'tags_list_empty_hint' => 'Tags can be assigned via the page editor sidebar or while editing the details of a book, chapter or shelf.',
+    'attachments' => 'Attachments',
+    'attachments_explain' => 'Upload some files or attach some links to display on your page. These are visible in the page sidebar.',
+    'attachments_explain_instant_save' => 'Changes here are saved instantly.',
+    'attachments_upload' => 'Upload File',
+    'attachments_link' => 'Attach Link',
+    'attachments_upload_drop' => 'Alternatively you can drag and drop a file here to upload it as an attachment.',
+    'attachments_set_link' => 'Set Link',
+    'attachments_delete' => 'Are you sure you want to delete this attachment?',
+    'attachments_dropzone' => 'Drop files here to upload',
+    'attachments_no_files' => 'No files have been uploaded',
+    'attachments_explain_link' => 'You can attach a link if you\'d prefer not to upload a file. This can be a link to another page or a link to a file in the cloud.',
+    'attachments_link_name' => 'Link Name',
+    'attachment_link' => 'Attachment link',
+    'attachments_link_url' => 'Link to file',
+    'attachments_link_url_hint' => 'Url of site or file',
+    'attach' => 'Attach',
+    'attachments_insert_link' => 'Add Attachment Link to Page',
+    'attachments_edit_file' => 'Edit File',
+    'attachments_edit_file_name' => 'File Name',
+    'attachments_edit_drop_upload' => 'Drop files or click here to upload and overwrite',
+    'attachments_order_updated' => 'Attachment order updated',
+    'attachments_updated_success' => 'Attachment details updated',
+    'attachments_deleted' => 'Attachment deleted',
+    'attachments_file_uploaded' => 'File successfully uploaded',
+    'attachments_file_updated' => 'File successfully updated',
+    'attachments_link_attached' => 'Link successfully attached to page',
+    'templates' => 'Templates',
+    'templates_set_as_template' => 'Page is a template',
+    'templates_explain_set_as_template' => 'You can set this page as a template so its contents be utilized when creating other pages. Other users will be able to use this template if they have view permissions for this page.',
+    'templates_replace_content' => 'Replace page content',
+    'templates_append_content' => 'Append to page content',
+    'templates_prepend_content' => 'Prepend to page content',
+
+    // Profile View
+    'profile_user_for_x' => 'User for :time',
+    'profile_created_content' => 'Created Content',
+    'profile_not_created_pages' => ':userName has not created any pages',
+    'profile_not_created_chapters' => ':userName has not created any chapters',
+    'profile_not_created_books' => ':userName has not created any books',
+    'profile_not_created_shelves' => ':userName has not created any shelves',
+
+    // Comments
+    'comment' => 'Comment',
+    'comments' => 'Comments',
+    'comment_add' => 'Add Comment',
+    'comment_placeholder' => 'Leave a comment here',
+    'comment_count' => '{0} No Comments|{1} 1 Comment|[2,*] :count Comments',
+    'comment_save' => 'Save Comment',
+    'comment_new' => 'New Comment',
+    'comment_created' => 'commented :createDiff',
+    'comment_updated' => 'Updated :updateDiff by :username',
+    'comment_updated_indicator' => 'Updated',
+    'comment_deleted_success' => 'Comment deleted',
+    'comment_created_success' => 'Comment added',
+    'comment_updated_success' => 'Comment updated',
+    'comment_delete_confirm' => 'Are you sure you want to delete this comment?',
+    'comment_in_reply_to' => '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.',
+
+    // Revision
+    'revision_delete_confirm' => 'Are you sure you want to delete this revision?',
+    'revision_restore_confirm' => 'Are you sure you want to restore this revision? The current page contents will be replaced.',
+    'revision_cannot_delete_latest' => 'Cannot delete the latest revision.',
+
+    // Copy view
+    'copy_consider' => 'Please consider the below when copying content.',
+    'copy_consider_permissions' => 'Custom permission settings will not be copied.',
+    'copy_consider_owner' => 'You will become the owner of all copied content.',
+    'copy_consider_images' => 'Page image files will not be duplicated & the original images will retain their relation to the page they were originally uploaded to.',
+    'copy_consider_attachments' => 'Page attachments will not be copied.',
+    'copy_consider_access' => 'A change of location, owner or permissions may result in this content being accessible to those previously without access.',
+
+    // Conversions
+    'convert_to_shelf' => 'Convert to Shelf',
+    'convert_to_shelf_contents_desc' => 'You can convert this book to a new shelf with the same contents. Chapters contained within this book will be converted to new books. If this book contains any pages, that are not in a chapter, this book will be renamed and contain such pages, and this book will become part of the new shelf.',
+    'convert_to_shelf_permissions_desc' => 'Any permissions set on this book will be copied to the new shelf and to all new child books that don\'t have their own permissions enforced. Note that permissions on shelves do not auto-cascade to content within, as they do for books.',
+    'convert_book' => 'Convert Book',
+    'convert_book_confirm' => 'Are you sure you want to convert this book?',
+    'convert_undo_warning' => 'This cannot be as easily undone.',
+    'convert_to_book' => 'Convert to Book',
+    'convert_to_book_desc' => 'You can convert this chapter to a new book with the same contents. Any permissions set on this chapter will be copied to the new book but any inherited permissions, from the parent book, will not be copied which could lead to a change of access control.',
+    'convert_chapter' => 'Convert Chapter',
+    'convert_chapter_confirm' => 'Are you sure you want to convert this chapter?',
+
+    // References
+    'references' => 'References',
+    'references_none' => 'There are no tracked references to this item.',
+    'references_to_desc' => 'Listed below is all the known content in the system that links 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/is/errors.php b/lang/is/errors.php
new file mode 100644 (file)
index 0000000..50e30a8
--- /dev/null
@@ -0,0 +1,133 @@
+<?php
+/**
+ * Text shown in error messaging.
+ */
+return [
+
+    // Permissions
+    'permission' => 'Þú hefur ekki heimild til að skoða þessa síðu.',
+    'permissionJson' => 'Þú hefur ekki heimild til að framkvæma þessa aðgerð.',
+
+    // Auth
+    'error_user_exists_different_creds' => 'Notandi með netfangið :email er nú þegar til.',
+    'auth_pre_register_theme_prevention' => 'Ekki var hægt að búa til aðgang með þessum upplýsingum',
+    'email_already_confirmed' => 'Netfang hefur þegar verið staðfest. Prófaðu að skrá þig inn.',
+    'email_confirmation_invalid' => 'Þessi staðfestingar tóki er ekki gildur eða hefur þegar verið notaður. Reyndu að skrá þig aftur.',
+    'email_confirmation_expired' => 'Staðfestingar tóki hefur runnið út. Nýr staðfestinga tölvupóstur hefur verið sendur.',
+    'email_confirmation_awaiting' => 'Eftir á að staðfest þetta netfang',
+    'ldap_fail_anonymous' => 'LDAP auðkenning virkaði ekki',
+    'ldap_fail_authed' => 'LDAP auðkenning virkaði ekki með að nota uppgefið dn & password',
+    'ldap_extension_not_installed' => 'LDAP PHP viðbót ekki uppsett',
+    'ldap_cannot_connect' => 'Næ ekki að tengjast Ldap þjóni. Fyrsta tenging mistókst',
+    'saml_already_logged_in' => 'Þegar innskráður',
+    'saml_no_email_address' => 'Fann ekki netfang fyrir þennan notanda í auðkenningar þjónustu',
+    'saml_invalid_response_id' => 'Beiðnin frá ytri auðkenningaraðila er óþekkt af kerfinu. Að fara tilbaka eftir innskráningu gæti valdið þessu vandamáli.',
+    'saml_fail_authed' => 'Innskráning sem notaði :system tókst ekki. Kerfið gaf ekki út gilda auðkenningu',
+    'oidc_already_logged_in' => 'Þegar skráður inn',
+    'oidc_no_email_address' => 'Fann ekki netfang fyrir þennan notanda í ytri auðkenningar þjónustu',
+    'oidc_fail_authed' => 'Innskráning sem notaði :system tókst ekki. Kerfið gaf ekki út gilda auðkenningu',
+    'social_no_action_defined' => 'Engin aðgerð skilgreind',
+    'social_login_bad_response' => "Villa kom upp við auðkenninga á :socialAccount login",
+    'social_account_in_use' => 'Þessi :socialAccount er þegar í notkun. Reyndu að skrá þig inn með :socialAccount.',
+    'social_account_email_in_use' => 'Netfangið :email er þegar í notkun. Ef þú ert nú þegar með aðgang getur þú tengt :socialAccount við hann í prófíl stillingum.',
+    'social_account_existing' => 'Þessi :socialAccount er nú þegar tengdur við prófílinn þinn.',
+    'social_account_already_used_existing' => 'Þessi :socialAccount reikningur er nú þegar í notkun hjá öðrum notanda.',
+    'social_account_not_used' => 'Þessi :socialAccount er ekki tengdur neinum notanda. Þú getur tengt hann við þig í prófíl stillingar. ',
+    'social_account_register_instructions' => 'Ef þú ert ekki nú þegar með aðgang, getur þú skrá þig með :socialAccount',
+    'social_driver_not_found' => 'Samfélagsviðbót fannst ekki',
+    'social_driver_not_configured' => 'Þínar :socialAccount er ekki rétt stilltar.',
+    'invite_token_expired' => 'Þess boðshlekkur er útrunninn, Prófa að endurstilla lykilorðið þitt.',
+    'login_user_not_found' => 'Enginn notandi fannst fyrir þessa aðgerð.',
+
+    // System
+    'path_not_writable' => 'Ekki var hægt að hlaða upp á slóðinni :filePath. Vertu viss um að slóðin sé skrifanleg.',
+    'cannot_get_image_from_url' => 'Get ekki sótt mynd frá :url',
+    'cannot_create_thumbs' => 'Netþjónninn getur ekki búið til smámyndir. Vertu viss um að þú hafir GD PHP viðbótina uppsetta.',
+    'server_upload_limit' => 'Þessi netþjónn leyfir ekki uphal af þessari stærð. Prófaðu minni skrá.',
+    'server_post_limit' => 'Netþjóninn getur ekki tekið á móti þessu magni gagna. Reyndu aftur með færri eða smærri gögnum.',
+    'uploaded'  => 'Þessi netþjónn leyfir ekki uphal af þessari stærð. Prófaðu minni skrá.',
+
+    // Drawing & Images
+    'image_upload_error' => 'Villa kom upp við að hlaða upp mynd',
+    'image_upload_type_error' => 'Gerð myndar er ógild',
+    'image_upload_replace_type' => 'Myndin sem á að nota við útskipti þarf að vera sömu gerðar',
+    'image_upload_memory_limit' => 'Ekki var hægt að taka við upphali og eða búa til smámyndir þar sem ekki eru auðlindir til staðar.',
+    'image_thumbnail_memory_limit' => 'Ekki var hægt að búa til nokkrar stærðir myndarinnar vegna skorts á auðlindum.',
+    'image_gallery_thumbnail_memory_limit' => 'Ekki var hægt að búa til smámyndayfirlit vegna skorts á auðlindum.',
+    'drawing_data_not_found' => 'Ekki tóks að hlaða inn teikningagögnum. Það gæti vantað skránna eða að þú hafir ekki réttindi að henni.',
+
+    // Attachments
+    'attachment_not_found' => 'Viðhengi fannst ekki',
+    'attachment_upload_error' => 'Það kom upp villa við að hlaða upp viðhenginu',
+
+    // Pages
+    'page_draft_autosave_fail' => 'Gat ekki vistað uppkast. Gættu að þú hafir tengingu við internetið áður en þú vistar þessa síðu',
+    'page_draft_delete_fail' => 'Ekki var hægt að eyða uppkasti og sækja fyrra innihald síðunar',
+    'page_custom_home_deletion' => 'Ekki er hægt að eyða síðu á meðan hún er valin sem sjálfgefin upphafssíða',
+
+    // Entities
+    'entity_not_found' => 'Entity fannst ekki',
+    'bookshelf_not_found' => 'Hilla fannst ekki',
+    'book_not_found' => 'Bók fannst ekki',
+    'page_not_found' => 'Síða fannst ekki',
+    'chapter_not_found' => 'Kafli fannst ekki',
+    'selected_book_not_found' => 'Valin bók fannst ekki',
+    'selected_book_chapter_not_found' => 'Valin bók eða kafli fannst ekki',
+    'guests_cannot_save_drafts' => 'Gestir geta ekki vistað drög',
+
+    // Users
+    'users_cannot_delete_only_admin' => 'Þú getur ekki eytt, bara kerfisstjóri',
+    'users_cannot_delete_guest' => 'Þú getur ekki eytt gesta notanda',
+    'users_could_not_send_invite' => 'Gat ekki stofnað notanda þar sem ekki tókst að senda staðfestingar tölvupóst',
+
+    // Roles
+    'role_cannot_be_edited' => 'Ekki er hægt að breyta þessu hlutverki',
+    'role_system_cannot_be_deleted' => 'Þetta er kerfis hlutverk og því ekki hægt að eyða því',
+    'role_registration_default_cannot_delete' => 'Ekki er hægt að eyða þessu hlutverki þar sem það er sjálfgefið kerfishlutverk við skráningu',
+    'role_cannot_remove_only_admin' => 'Þessi notandi er sá eini sem er með kerfisstjóra hlutverk. Bættu hlutverkinu við annann notanda áður en þú reynir að fjarlægja það héðan.',
+
+    // Comments
+    'comment_list' => 'Villa kom upp við að sækja athugasemdir.',
+    'cannot_add_comment_to_draft' => 'Þú getur ekki sett athugasemdir við drög.',
+    'comment_add' => 'Villa kom upp við að bæta við eða breyta athugasemdinni.',
+    'comment_delete' => 'Villa kom upp við að eyða athugasemdinni.',
+    'empty_comment' => 'Get ekki bætt við tómri athugasemd.',
+
+    // Error pages
+    '404_page_not_found' => 'Síða fannst ekki',
+    'sorry_page_not_found' => 'Síðan sem þú varst að leita að fannst því miður ekki.',
+    'sorry_page_not_found_permission_warning' => 'Ef þú átt von á að þessi síða sé til gæti verið að þú hafir ekki aðgang að henni.',
+    'image_not_found' => 'Fann ekki mynd',
+    'image_not_found_subtitle' => 'Myndin sem þú varst að leita að fannst því miður ekki.',
+    'image_not_found_details' => 'Ef þú heldur að þessi mynda hafi verið til, þá gæti henni hafa verið eytt.',
+    'return_home' => 'Fara á forsíðu',
+    'error_occurred' => 'Það kom upp villa',
+    'app_down' => ':appName er niðri í augnablikinu',
+    'back_soon' => 'Verð komin upp aftur fljótlega.',
+
+    // Import
+    'import_zip_cant_read' => 'Gat ekki lesið ZIP skrá.',
+    'import_zip_cant_decode_data' => 'Fann ekki ZIP data.json innihald.',
+    'import_zip_no_data' => 'ZIP skráin inniheldur ekkert efni.',
+    'import_validation_failed' => 'ZIP skráin stóðst ekki staðfestingu og skilaði villu:',
+    'import_zip_failed_notification' => 'Gat ekki lesið inn ZIP skrá.',
+    'import_perms_books' => 'Þú hefur ekki heimild til að búa til bækur.',
+    'import_perms_chapters' => 'Þú hefur ekki heimild til að búa til kafla.',
+    'import_perms_pages' => 'Þú hefur ekki heimild til að búa til síður.',
+    'import_perms_images' => 'Þú hefur ekki heimild til að búa til myndir.',
+    'import_perms_attachments' => 'Þú hefur ekki heimild til að búa til viðhengi.',
+
+    // API errors
+    'api_no_authorization_found' => 'Engin auðkenningar tóki fannst í aðgerðinni',
+    'api_bad_authorization_format' => 'Auðkenningar tóki fannst með aðgerðinni en snið hans er rangt',
+    'api_user_token_not_found' => 'Engin API tóki fannst á móti þessum auðkenningar tóka',
+    'api_incorrect_token_secret' => 'Leyndarmálið sem gefið var upp fyrir API tókann er rangt',
+    'api_user_no_api_permission' => 'Eigandi API tókans hefur ekki heimild til að gera API köll',
+    'api_user_token_expired' => 'Auðkenningar tókin er útrunninn',
+
+    // Settings & Maintenance
+    'maintenance_test_email_failure' => 'Villa kom upp viðað reyna senda prufu tölvupóst:',
+
+    // HTTP errors
+    'http_ssr_url_no_match' => 'Þetta vistfang stemmir ekki við leyfða SSR biðlara',
+];
diff --git a/lang/is/notifications.php b/lang/is/notifications.php
new file mode 100644 (file)
index 0000000..b4fe01a
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Text used for activity-based notifications.
+ */
+return [
+
+    'new_comment_subject' => 'Ný athugasemd á síðu :pageName',
+    'new_comment_intro' => 'Notandi hefur sett inn athugasemd á síðu á :appName:',
+    'new_page_subject' => 'Ný síða á: :pageName',
+    'new_page_intro' => 'Ný síða hefur verið búin til á :appName:',
+    'updated_page_subject' => 'Uppfærð síða á: :pageName',
+    'updated_page_intro' => 'Síða hefur verið uppfærð á :appName:',
+    'updated_page_debounce' => 'Til að fyrirbyggja fjöldatilkynningar verður þér ekki sendar tilkynningar í smá stund um uppfærslu á þessari síðu frá sama höfundi.',
+
+    'detail_page_name' => 'Síðunafn:',
+    'detail_page_path' => 'Síðuslóð:',
+    'detail_commenter' => 'Notandi:',
+    'detail_comment' => 'Athugasemd:',
+    'detail_created_by' => 'Búið til af:',
+    'detail_updated_by' => 'Uppfært af:',
+
+    'action_view_comment' => 'Skoða athugasemd',
+    'action_view_page' => 'Skoða síðu',
+
+    'footer_reason' => 'Þessi tilkynning var send til þín vegna :link nær yfir þessa virkni á þessum hlut.',
+    'footer_reason_link' => 'stillingar á tilkynningum til þín',
+];
diff --git a/lang/is/pagination.php b/lang/is/pagination.php
new file mode 100644 (file)
index 0000000..3eca2f2
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Pagination Language Lines
+ * The following language lines are used by the paginator library to build
+ * the simple pagination links.
+ */
+return [
+
+    'previous' => '&laquo; Fyrri',
+    'next'     => 'Næsta&raquo;',
+
+];
diff --git a/lang/is/passwords.php b/lang/is/passwords.php
new file mode 100644 (file)
index 0000000..b8c093b
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+/**
+ * Password Reminder Language Lines
+ * The following language lines are the default lines which match reasons
+ * that are given by the password broker for a password update attempt has failed.
+ */
+return [
+
+    'password' => 'Lykilorð verður að vera að lágmarki 8 stafir og stemma saman.',
+    'user' => "Enginn notandi finnst með þetta netfang.",
+    'token' => 'Tókinn er ógildur fyrir þetta netfang.',
+    'sent' => 'Þér hefur verið sendur hlekkur í tölvupósti!',
+    'reset' => 'Lykilorðinu hefur verið breytt!',
+
+];
diff --git a/lang/is/preferences.php b/lang/is/preferences.php
new file mode 100644 (file)
index 0000000..b7ebc2d
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * Text used for user-preference specific views within bookstack.
+ */
+
+return [
+    'my_account' => 'Minn aðgangur',
+
+    'shortcuts' => 'Flýtileiðir',
+    'shortcuts_interface' => 'UI, stillingar flýtileiða',
+    'shortcuts_toggle_desc' => 'Hér getur þú virkjað eða óvirkjað flýtilykla, notað fyrir leiðarstýringu og aðgerðir.',
+    'shortcuts_customize_desc' => 'Þú getur stillt alla flýtilyklana hér að neðan. Þú ýtir þá þann flýtilykil sem þú vilt nota eftir að þú hefur valið innsláttarleið.',
+    'shortcuts_toggle_label' => 'Flýtilyklar virkjaðir',
+    'shortcuts_section_navigation' => 'Leiðarstýring',
+    'shortcuts_section_actions' => 'Algengar aðgerðir',
+    'shortcuts_save' => 'Vista flýtilykla',
+    'shortcuts_overlay_desc' => 'Ath: þegar flýtilyklar eru virkjaðir er hægt að fá aðstoð með því að ýta á "?" sem mun yfirstrika þær flýtileiðir sem í boði eru.',
+    'shortcuts_update_success' => 'Stillingar flýtilykla hafa verið uppfærðar!',
+    'shortcuts_overview_desc' => 'Stjórna þeim flýtilyklum sem í boði eru.',
+
+    'notifications' => 'Stillingar tilkynninga',
+    'notifications_desc' => 'Stýrðu þeim tölvupóst tilkynningum sem þú færð þegar ákveðnar aðgerðir eru gerðar af kerfinu.',
+    'notifications_opt_own_page_changes' => 'Láta vita þegar gerðar eru breytingar á síðum sem ég á',
+    'notifications_opt_own_page_comments' => 'Láta vita þegar gerðar eru athugasmedir við síður sem ég á',
+    'notifications_opt_comment_replies' => 'Láta vita þegar athugasemdum mínum er svarað',
+    'notifications_save' => 'Vista stillingar',
+    'notifications_update_success' => 'Stillingar á tilkynningum hafa verið uppfærðar!',
+    'notifications_watched' => 'Watched & Ignored Items',
+    'notifications_watched_desc' => 'Fyrir neðan eru hlutir sem hafa sérsniðna eftirfylgni stillta. Til að uppfæra stillingarnar fyrir þessa hluti skaltu skoða hann og og finna skoðastillinguna í hliðarstikunni.',
+
+    'auth' => 'Aðgangur og öryggi',
+    'auth_change_password' => 'Breyta lykilorði',
+    'auth_change_password_desc' => 'Breyta lykilorðinu sem þú notar til að skrá þig inn í hugbúnaðinn. Lykilorðið verður að vera a. m. k 8 stafa langt.',
+    'auth_change_password_success' => 'Lykilorði hefur verið breytt!',
+
+    'profile' => 'Upplýsingar um prófíl',
+    'profile_desc' => 'Stýra þeim upplýsingum um þig sem aðrir notendur sjá.',
+    'profile_view_public' => 'Skoða almennan prófíl',
+    'profile_name_desc' => 'Stilla þitt notendanafn sem er sýnlegt öðrum notendum.',
+    'profile_email_desc' => 'Þetta netfang verður notað fyrir tilkynningar og aðgang að kerfinu hafir þú valið svo.',
+    'profile_email_no_permission' => 'Þú hefur ekki heimild til að breyta netfanginu þinu. Ef þú vilt láta breyta því verður þú að hafa samband við kerfisstjóra.',
+    'profile_avatar_desc' => 'Veldu mynd til að sýna öðrum notendum. Helst þarf þessi mynd að vera ferköntuð og um það bil 256px bæði á breidd og hæð.',
+    'profile_admin_options' => 'Stillingar kerfisstjóra',
+    'profile_admin_options_desc' => 'Viðbótar kerfistjóra stillingar, til dæmis stjórnun á hlutverkum sem finna á í "Stillingar > Notendur svæði hugbúnaðarins.',
+
+    'delete_account' => 'Eyða aðgangi',
+    'delete_my_account' => 'Eyða reikningi mínum',
+    'delete_my_account_desc' => 'Þetta mun eyða þínum aðgangi að hugbúnaðinum. Þú munt ekki geta enduheimt aðganginn. Efni sem þú hefur búið til eins og síður og þær myndir sem þú hefur sent inn munu halda sér.',
+    'delete_my_account_warning' => 'Ertu viss um að þú viljir eyða aðganginum þínum?',
+];
diff --git a/lang/is/settings.php b/lang/is/settings.php
new file mode 100644 (file)
index 0000000..14b0ec8
--- /dev/null
@@ -0,0 +1,339 @@
+<?php
+/**
+ * Settings text strings
+ * Contains all text strings used in the general settings sections of BookStack
+ * including users and roles.
+ */
+return [
+
+    // Common Messages
+    'settings' => 'Stillingar',
+    'settings_save' => 'Vista stillingar',
+    'system_version' => 'Kerfisútgáfa',
+    'categories' => 'Flokkar',
+
+    // App Settings
+    'app_customization' => 'Sérsníða',
+    'app_features_security' => 'Eigindi og öryggi',
+    'app_name' => 'Nafn kerfis',
+    'app_name_desc' => 'Þetta nafn er sýnd í titli og í öllum tölvupóstum sem sendir eru.',
+    'app_name_header' => 'Sýna nafn í titli',
+    'app_public_access' => 'Almennur aðgangur',
+    'app_public_access_desc' => 'Með því að virkja þennan valmöguleika munu notendur sem eru ekki skráðir inn geta skoðað innihald vefsins.',
+    'app_public_access_desc_guest' => 'Hægt er að stýra almennum aðgangi í gegnum "Guest" notandann.',
+    'app_public_access_toggle' => 'Leyfa almennann aðgang',
+    'app_public_viewing' => 'Leyfa almenna skoðun?',
+    'app_secure_images' => 'Aukið öryggi á mynda upphal',
+    'app_secure_images_toggle' => 'Virkja aukið öryggi á mynda upphal',
+    'app_secure_images_desc' => 'For performance reasons, all images are public. This option adds a random, hard-to-guess string in front of image urls. Ensure directory indexes are not enabled to prevent easy access.',
+    'app_default_editor' => 'Sjálfgefin ritill',
+    'app_default_editor_desc' => 'Veldu hvaða ritil á að nota sjálfgefið þegar unnið er með nýjar síður. Hægt er að yfirskrifa þessa stillingu á hverri síðu ef viðkomandi er með réttindi.',
+    'app_custom_html' => 'Custom HTML Head Content',
+    'app_custom_html_desc' => 'Any content added here will be inserted into the bottom of the <head> section of every page. This is handy for overriding styles or adding analytics code.',
+    'app_custom_html_disabled_notice' => 'Custom HTML head content is disabled on this settings page to ensure any breaking changes can be reverted.',
+    'app_logo' => 'Lógó síðu',
+    '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_icon' => 'Íkon síðu',
+    'app_icon_desc' => 'Þetta íkon er notað í tabs í vöfrum og sem flýtivísir á síðu. Þetta ætti að vera 256px PNG mynd.',
+    'app_homepage' => 'Heimasíða',
+    'app_homepage_desc' => 'Select a view to show on the homepage instead of the default view. Page permissions are ignored for selected pages.',
+    'app_homepage_select' => 'Veldu síðu',
+    'app_footer_links' => 'Neðangreins hlekkir',
+    'app_footer_links_desc' => 'Add links to show within the site footer. These will be displayed at the bottom of most pages, including those that do not require login. You can use a label of "trans::<key>" to use system-defined translations. For example: Using "trans::common.privacy_policy" will provide the translated text "Privacy Policy" and "trans::common.terms_of_service" will provide the translated text "Terms of Service".',
+    'app_footer_links_label' => 'Miði hlekks',
+    'app_footer_links_url' => 'Vistfang hlekks',
+    'app_footer_links_add' => 'Bæta við neðangreinshlekk',
+    'app_disable_comments' => 'Óvirkja athugasemdir',
+    'app_disable_comments_toggle' => 'Óvirkja athugasemdir',
+    'app_disable_comments_desc' => 'Disables comments across all pages in the application. <br> Existing comments are not shown.',
+
+    // Color settings
+    'color_scheme' => 'Litaþema hugbúnaðar',
+    'color_scheme_desc' => 'Set the colors to use in the application user interface. Colors can be configured separately for dark and light modes to best fit the theme and ensure legibility.',
+    'ui_colors_desc' => 'Set the application primary color and default link color. The primary color is mainly used for the header banner, buttons and interface decorations. The default link color is used for text-based links and actions, both within written content and in the application interface.',
+    'app_color' => 'Aðal litur',
+    'link_color' => 'Aðal litur hlekkja',
+    'content_colors_desc' => 'Set colors for all elements in the page organisation hierarchy. Choosing colors with a similar brightness to the default colors is recommended for readability.',
+    'bookshelf_color' => 'Litur hillu',
+    'book_color' => 'Litur Bóka',
+    'chapter_color' => 'Litur kalfa',
+    'page_color' => 'Litur síðu',
+    'page_draft_color' => 'Litur draga',
+
+    // Registration Settings
+    'reg_settings' => 'Skráning',
+    'reg_enable' => 'Virkja skráningar',
+    'reg_enable_toggle' => 'Virkja skráningar',
+    'reg_enable_desc' => 'When registration is enabled user will be able to sign themselves up as an application user. Upon registration they are given a single, default user role.',
+    'reg_default_role' => 'Sjálfgefið hlutverk notanda eftir skráningu',
+    'reg_enable_external_warning' => 'The option above is ignored while external LDAP or SAML authentication is active. User accounts for non-existing members will be auto-created if authentication, against the external system in use, is successful.',
+    'reg_email_confirmation' => 'Tölvupóst staðfesting',
+    'reg_email_confirmation_toggle' => 'Krefast staðfestingar í tölvupósti',
+    'reg_confirm_email_desc' => 'If domain restriction is used then email confirmation will be required and this option will be ignored.',
+    'reg_confirm_restrict_domain' => 'Læsingar á lén',
+    'reg_confirm_restrict_domain_desc' => 'Enter a comma separated list of email domains you would like to restrict registration to. Users will be sent an email to confirm their address before being allowed to interact with the application. <br> Note that users will be able to change their email addresses after successful registration.',
+    'reg_confirm_restrict_domain_placeholder' => 'Engin skilyrði sett',
+
+    // Maintenance settings
+    'maint' => 'Viðhald',
+    'maint_image_cleanup' => 'Taka til í myndum',
+    'maint_image_cleanup_desc' => 'Scans page & revision content to check which images and drawings are currently in use and which images are redundant. Ensure you create a full database and image backup before running this.',
+    'maint_delete_images_only_in_revisions' => 'Also delete images that only exist in old page revisions',
+    'maint_image_cleanup_run' => 'Keyra hreinsun',
+    'maint_image_cleanup_warning' => ':count potentially unused images were found. Are you sure you want to delete these images?',
+    'maint_image_cleanup_success' => ':count potentially unused images found and deleted!',
+    'maint_image_cleanup_nothing_found' => 'Engar ónotaðar myndir fundust, engu eytt!',
+    'maint_send_test_email' => 'Senda prufu tölvupóst',
+    'maint_send_test_email_desc' => 'Þessi aðgerð sendir prufu tölvupóst á netfangið sem stillt er á í prófílnum þínum.',
+    'maint_send_test_email_run' => 'Senda prufu tölvupóst',
+    'maint_send_test_email_success' => 'Tölvupóstur sendur á :address',
+    'maint_send_test_email_mail_subject' => 'Prufupóstur',
+    'maint_send_test_email_mail_greeting' => 'Það virðist virka að senda tölvupóst!',
+    'maint_send_test_email_mail_text' => 'Congratulations! As you received this email notification, your email settings seem to be configured properly.',
+    'maint_recycle_bin_desc' => 'Deleted shelves, books, chapters & pages are sent to the recycle bin so they can be restored or permanently deleted. Older items in the recycle bin may be automatically removed after a while depending on system configuration.',
+    'maint_recycle_bin_open' => 'Opna ruslatunnu',
+    'maint_regen_references' => 'Regenerate References',
+    'maint_regen_references_desc' => 'This action will rebuild the cross-item reference index within the database. This is usually handled automatically but this action can be useful to index old content or content added via unofficial methods.',
+    'maint_regen_references_success' => 'Reference index has been regenerated!',
+    'maint_timeout_command_note' => 'Note: This action can take time to run, which can lead to timeout issues in some web environments. As an alternative, this action be performed using a terminal command.',
+
+    // Recycle Bin
+    'recycle_bin' => 'Ruslatunna',
+    'recycle_bin_desc' => 'Here you can restore items that have been deleted or choose to permanently remove them from the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.',
+    'recycle_bin_deleted_item' => 'Eyddur hlutur',
+    'recycle_bin_deleted_parent' => 'Foreldri',
+    'recycle_bin_deleted_by' => 'Eytt af',
+    'recycle_bin_deleted_at' => 'Eytt þann',
+    'recycle_bin_permanently_delete' => 'Eyða varanlega',
+    'recycle_bin_restore' => 'Endurheimta',
+    'recycle_bin_contents_empty' => 'Ruslatunnan er tóm',
+    'recycle_bin_empty' => 'Tæma ruslatunnu',
+    'recycle_bin_empty_confirm' => 'This will permanently destroy all items in the recycle bin including content contained within each item. Are you sure you want to empty the recycle bin?',
+    'recycle_bin_destroy_confirm' => 'This action will permanently delete this item from the system, along with any child elements listed below, and you will not be able to restore this content. Are you sure you want to permanently delete this item?',
+    'recycle_bin_destroy_list' => 'Hlutir til eyðingar',
+    'recycle_bin_restore_list' => 'Hlutir til endurheimtar',
+    'recycle_bin_restore_confirm' => 'This action will restore the deleted item, including any child elements, to their original location. If the original location has since been deleted, and is now in the recycle bin, the parent item will also need to be restored.',
+    'recycle_bin_restore_deleted_parent' => 'The parent of this item has also been deleted. These will remain deleted until that parent is also restored.',
+    'recycle_bin_restore_parent' => 'Endurheimta foreldri',
+    'recycle_bin_destroy_notification' => 'Deleted :count total items from the recycle bin.',
+    'recycle_bin_restore_notification' => 'Restored :count total items from the recycle bin.',
+
+    // Audit Log
+    'audit' => 'Ferilskrá',
+    'audit_desc' => 'This audit log displays a list of activities tracked in the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.',
+    'audit_event_filter' => 'Atburðasía',
+    'audit_event_filter_no_filter' => 'Engin sía',
+    'audit_deleted_item' => 'Eyddur hlutur',
+    'audit_deleted_item_name' => 'Nafn :name',
+    'audit_table_user' => 'Notandi',
+    'audit_table_event' => 'Atburður',
+    'audit_table_related' => 'Tengdur hlutur eða lýsing',
+    'audit_table_ip' => 'IP tala',
+    'audit_table_date' => 'Dagsetning virkni',
+    'audit_date_from' => 'Dagsetning frá',
+    'audit_date_to' => 'Dagsetning til',
+
+    // Role Settings
+    'roles' => 'Hlutverk',
+    'role_user_roles' => 'Notanda hlutverk',
+    'roles_index_desc' => 'Roles are used to group users & provide system permission to their members. When a user is a member of multiple roles the privileges granted will stack and the user will inherit all abilities.',
+    'roles_x_users_assigned' => ':count user assigned|:count users assigned',
+    'roles_x_permissions_provided' => ':count permission|:count permissions',
+    'roles_assigned_users' => 'Skilgreindir notendur',
+    'roles_permissions_provided' => 'Uppgefnar heimildir',
+    'role_create' => 'Búa til nýtt hlutverk',
+    'role_delete' => 'Eyða hlutverki',
+    'role_delete_confirm' => 'This will delete the role with the name \':roleName\'.',
+    'role_delete_users_assigned' => 'This role has :userCount users assigned to it. If you would like to migrate the users from this role select a new role below.',
+    'role_delete_no_migration' => "Don't migrate users",
+    'role_delete_sure' => 'Are you sure you want to delete this role?',
+    'role_edit' => 'Breyta hlutverki',
+    'role_details' => 'Lýsing á hlutverki',
+    'role_name' => 'Nafn hlutverks',
+    'role_desc' => 'Stutt lýsing á hlutverki',
+    'role_mfa_enforced' => 'Krefst tvöfaldrar auðkenningar',
+    'role_external_auth_id' => 'Ytri auðkenningarnúmer',
+    'role_system' => 'Réttindastillingar kerfis',
+    'role_manage_users' => 'Sýsla með notendur',
+    'role_manage_roles' => 'Stýra hlutverkum og réttindum hlutverka',
+    'role_manage_entity_permissions' => 'Stýra öllum bóka, kafla og síðu réttindum',
+    'role_manage_own_entity_permissions' => 'Stýra réttindum á eigin bókum, köflum og síðum',
+    'role_manage_page_templates' => 'Stýra síðu sníðmátum',
+    'role_access_api' => 'Access system API',
+    'role_manage_settings' => 'Manage app settings',
+    'role_export_content' => 'Flytja út efni',
+    'role_import_content' => 'Flytja inn efni',
+    'role_editor_change' => 'Skipta um ritil síðu',
+    '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.',
+    'role_asset_admins' => 'Admins are automatically given access to all content but these options may show or hide UI options.',
+    'role_asset_image_view_note' => 'This relates to visibility within the image manager. Actual access of uploaded image files will be dependant upon system image storage option.',
+    'role_all' => 'Allt',
+    'role_own' => 'Eigin',
+    'role_controlled_by_asset' => 'Controlled by the asset they are uploaded to',
+    'role_save' => 'Vista hlutverk',
+    'role_users' => 'Notendur í þessu hlutverki',
+    'role_users_none' => 'Engir notendur eru eins og er í þessu hlutverki',
+
+    // Users
+    'users' => 'Notendur',
+    'users_index_desc' => 'Create & manage individual user accounts within the system. User accounts are used for login and attribution of content & activity. Access permissions are primarily role-based but user content ownership, among other factors, may also affect permissions & access.',
+    'user_profile' => 'Prófíll notanda',
+    'users_add_new' => 'Bæta við nýjum notanda',
+    'users_search' => 'Leita að notendum',
+    'users_latest_activity' => 'Síðasta virkni',
+    'users_details' => 'Notendaupplýsingar',
+    'users_details_desc' => 'Set a display name and an email address for this user. The email address will be used for logging into the application.',
+    'users_details_desc_no_email' => 'Set a display name for this user so others can recognise them.',
+    'users_role' => 'Hlutverk notenda',
+    'users_role_desc' => 'Select which roles this user will be assigned to. If a user is assigned to multiple roles the permissions from those roles will stack and they will receive all abilities of the assigned roles.',
+    'users_password' => 'Lykilorð notanda',
+    'users_password_desc' => 'Setja lykilorð sem þú notar til að skrá þig inn í hugbúnaðinn. Lykilorðið verður að vera a. m. k 8 stafa langt.',
+    'users_send_invite_text' => 'You can choose to send this user an invitation email which allows them to set their own password otherwise you can set their password yourself.',
+    'users_send_invite_option' => 'Senda boð á notanda með tölvupósti',
+    'users_external_auth_id' => 'Ytra auðkenningar númer',
+    'users_external_auth_id_desc' => 'When an external authentication system is in use (such as SAML2, OIDC or LDAP) this is the ID which links this BookStack user to the authentication system account. You can ignore this field if using the default email-based authentication.',
+    'users_password_warning' => 'Only fill the below if you would like to change the password for this user.',
+    'users_system_public' => 'This user represents any guest users that visit your instance. It cannot be used to log in but is assigned automatically.',
+    'users_delete' => 'Eyða notanda',
+    'users_delete_named' => 'Eyða notanda :userName',
+    'users_delete_warning' => 'This will fully delete this user with the name \':userName\' from the system.',
+    'users_delete_confirm' => 'Ertu viss um að þú viljir eyða þessum notanda?',
+    'users_migrate_ownership' => 'Færa eignarhald',
+    'users_migrate_ownership_desc' => 'Select a user here if you want another user to become the owner of all items currently owned by this user.',
+    'users_none_selected' => 'Engin notandi valin',
+    'users_edit' => 'Breyta notanda',
+    'users_edit_profile' => 'Breyta prófíl',
+    'users_avatar' => 'Avatar notanda',
+    'users_avatar_desc' => 'Select an image to represent this user. This should be approx 256px square.',
+    'users_preferred_language' => 'Valið tungumál',
+    'users_preferred_language_desc' => 'This option will change the language used for the user-interface of the application. This will not affect any user-created content.',
+    'users_social_accounts' => 'Samfélagsmiðla reikningar',
+    'users_social_accounts_desc' => 'View the status of the connected social accounts for this user. Social accounts can be used in addition to the primary authentication system for system access.',
+    'users_social_accounts_info' => 'Here you can connect your other accounts for quicker and easier login. Disconnecting an account here does not revoke previously authorized access. Revoke access from your profile settings on the connected social account.',
+    'users_social_connect' => 'Tengja aðgang',
+    'users_social_disconnect' => 'Aftengja aðgang',
+    'users_social_status_connected' => 'Tengt',
+    'users_social_status_disconnected' => 'Aftengt',
+    'users_social_connected' => ':socialAccount account was successfully attached to your profile.',
+    'users_social_disconnected' => ':socialAccount account was successfully disconnected from your profile.',
+    'users_api_tokens' => 'API tókar',
+    'users_api_tokens_desc' => 'Create and manage the access tokens used to authenticate with the BookStack REST API. Permissions for the API are managed via the user that the token belongs to.',
+    'users_api_tokens_none' => 'No API tokens have been created for this user',
+    'users_api_tokens_create' => 'Búa til tóka',
+    'users_api_tokens_expires' => 'Rennur út',
+    'users_api_tokens_docs' => 'API Documentation',
+    'users_mfa' => 'Multi-Factor Authentication',
+    'users_mfa_desc' => 'Setup multi-factor authentication as an extra layer of security for your user account.',
+    'users_mfa_x_methods' => ':count method configured|:count methods configured',
+    'users_mfa_configure' => 'Configure Methods',
+
+    // API Tokens
+    'user_api_token_create' => 'Búa til API tóka',
+    'user_api_token_name' => 'Nafn',
+    'user_api_token_name_desc' => 'Give your token a readable name as a future reminder of its intended purpose.',
+    'user_api_token_expiry' => 'Rennur út þann',
+    'user_api_token_expiry_desc' => 'Set a date at which this token expires. After this date, requests made using this token will no longer work. Leaving this field blank will set an expiry 100 years into the future.',
+    'user_api_token_create_secret_message' => 'Immediately after creating this token a "Token ID" & "Token Secret" will be generated and displayed. The secret will only be shown a single time so be sure to copy the value to somewhere safe and secure before proceeding.',
+    'user_api_token' => 'API tóki',
+    'user_api_token_id' => 'Númer tóka',
+    'user_api_token_id_desc' => 'This is a non-editable system generated identifier for this token which will need to be provided in API requests.',
+    'user_api_token_secret' => 'Tóka leyndarmál',
+    'user_api_token_secret_desc' => 'This is a system generated secret for this token which will need to be provided in API requests. This will only be displayed this one time so copy this value to somewhere safe and secure.',
+    'user_api_token_created' => 'Tóki búinn til :timeAgo',
+    'user_api_token_updated' => 'Tóki uppfærður :timeAgo',
+    'user_api_token_delete' => 'Eyða tóka',
+    'user_api_token_delete_warning' => 'This will fully delete this API token with the name \':tokenName\' from the system.',
+    'user_api_token_delete_confirm' => 'Are you sure you want to delete this API token?',
+
+    // Webhooks
+    'webhooks' => 'Webhooks',
+    'webhooks_index_desc' => 'Webhooks are a way to send data to external URLs when certain actions and events occur within the system which allows event-based integration with external platforms such as messaging or notification systems.',
+    'webhooks_x_trigger_events' => ':count trigger event|:count trigger events',
+    'webhooks_create' => 'Búa til nýjann Webhook',
+    'webhooks_none_created' => 'Engir Webhooks hafa verið búnir til.',
+    'webhooks_edit' => 'Breyta Webhook',
+    'webhooks_save' => 'Vista Webhook',
+    'webhooks_details' => 'Upplýsingar um Webhook',
+    'webhooks_details_desc' => 'Provide a user friendly name and a POST endpoint as a location for the webhook data to be sent to.',
+    'webhooks_events' => 'Webhook atburðir',
+    'webhooks_events_desc' => 'Select all the events that should trigger this webhook to be called.',
+    'webhooks_events_warning' => 'Keep in mind that these events will be triggered for all selected events, even if custom permissions are applied. Ensure that use of this webhook won\'t expose confidential content.',
+    'webhooks_events_all' => 'Allir kerfis atburðir',
+    'webhooks_name' => 'Webhook nafn',
+    'webhooks_timeout' => 'Webhook tímamörk (Sekúndur)',
+    'webhooks_endpoint' => 'Webhook endapunktur',
+    'webhooks_active' => 'Webhook virkur',
+    'webhook_events_table_header' => 'Atburðir',
+    'webhooks_delete' => 'Eyða Webhook',
+    'webhooks_delete_warning' => 'Þessi aðgerð mun eyða þessum Webhook að fullu \':webhookName\',.',
+    'webhooks_delete_confirm' => 'Ertu viss um að þú viljir eyða þessum Webhook?',
+    'webhooks_format_example' => 'Dæmi um snið á Webhook',
+    'webhooks_format_example_desc' => 'Webhook data is sent as a POST request to the configured endpoint as JSON following the format below. The "related_item" and "url" properties are optional and will depend on the type of event triggered.',
+    'webhooks_status' => 'Staða á Webhook',
+    'webhooks_last_called' => 'Síðast kallað:',
+    'webhooks_last_errored' => 'Síðasta villa kom upp:',
+    'webhooks_last_error_message' => 'Síðustu villuskilaboð:',
+
+    // Licensing
+    'licenses' => 'Leyfi',
+    'licenses_desc' => 'This page details license information for BookStack in addition to the projects & libraries that are used within BookStack. Many projects listed may only be used in a development context.',
+    'licenses_bookstack' => 'Bookstack leyfi',
+    'licenses_php' => 'PHP kóðasafnsleyfi',
+    'licenses_js' => 'Javascript kóðasafnsleyfi',
+    'licenses_other' => 'Önnur leyfi',
+    'license_details' => 'Upplýsingar um leyfi',
+
+    //! If editing translations files directly please ignore this in all
+    //! languages apart from en. Content will be auto-copied from en.
+    //!////////////////////////////////
+    'language_select' => [
+        'en' => 'English',
+        'ar' => 'العربية',
+        'bg' => 'Bǎlgarski',
+        'bs' => 'Bosanski',
+        'ca' => 'Català',
+        'cs' => 'Česky',
+        'cy' => 'Cymraeg',
+        'da' => 'Dansk',
+        'de' => 'Deutsch (Sie)',
+        'de_informal' => 'Deutsch (Du)',
+        'el' => 'ελληνικά',
+        'es' => 'Español',
+        'es_AR' => 'Español Argentina',
+        'et' => 'Eesti keel',
+        'eu' => 'Euskara',
+        'fa' => 'فارسی',
+        'fi' => 'Suomi',
+        'fr' => 'Français',
+        'he' => 'עברית',
+        'hr' => 'Hrvatski',
+        'hu' => 'Magyar',
+        'id' => 'Bahasa Indonesia',
+        'it' => 'Italian',
+        'ja' => '日本語',
+        'ko' => '한국어',
+        'lt' => 'Lietuvių Kalba',
+        'lv' => 'Latviešu Valoda',
+        'nb' => 'Norsk (Bokmål)',
+        'nn' => 'Nynorsk',
+        'nl' => 'Nederlands',
+        'pl' => 'Polski',
+        'pt' => 'Português',
+        'pt_BR' => 'Português do Brasil',
+        'ro' => 'Română',
+        'ru' => 'Русский',
+        'sk' => 'Slovensky',
+        'sl' => 'Slovenščina',
+        'sv' => 'Svenska',
+        'tr' => 'Türkçe',
+        'uk' => 'Українська',
+        'uz' => 'O‘zbekcha',
+        'vi' => 'Tiếng Việt',
+        'zh_CN' => '简体中文',
+        'zh_TW' => '繁體中文',
+    ],
+    //!////////////////////////////////
+];
diff --git a/lang/is/validation.php b/lang/is/validation.php
new file mode 100644 (file)
index 0000000..9183d27
--- /dev/null
@@ -0,0 +1,122 @@
+<?php
+/**
+ * Validation Lines
+ * The following language lines contain the default error messages used by
+ * the validator class. Some of these rules have multiple versions such
+ * as the size rules. Feel free to tweak each of these messages here.
+ */
+return [
+
+    // Standard laravel validation lines
+    'accepted'             => 'Það verður að samþykkja :attribute.',
+    'active_url'           => ':attribute Er ekki gilt vistfang.',
+    'after'                => ':attribute verður að vera dagsetning eftir :date.',
+    'alpha'                => ':attribute má eingöngu innihalda stafi.',
+    'alpha_dash'           => ':attribute má eingöngu innihalda stafi, tölustafi, strik og undirstrik.',
+    'alpha_num'            => ':attribute má eingöngu innihalda stafi og tölustafi.',
+    'array'                => 'The :attribute must be an array.',
+    'backup_codes'         => 'Kóðinn sem þú gafst upp er ekki gildur eða hefur þegar verið notaður.',
+    'before'               => ':attribute verður að vera dagsetning á undan :date.',
+    'between'              => [
+        'numeric' => ':attribute verður að vera á milli :min og :max.',
+        'file'    => ':attribute verður að vera á milli :min og :max kílóbæti.',
+        'string'  => ':attribute verður að vera á milli :min og :max stafir.',
+        'array'   => ':attribute verður að vera á milli :min og :max fjöldi.',
+    ],
+    'boolean'              => ':attribute gildið verður að vera true og false.',
+    'confirmed'            => 'The :attribute confirmation does not match.',
+    'date'                 => 'The :attribute is not a valid date.',
+    'date_format'          => 'The :attribute does not match the format :format.',
+    'different'            => 'The :attribute and :other must be different.',
+    'digits'               => 'The :attribute must be :digits digits.',
+    'digits_between'       => 'The :attribute must be between :min and :max digits.',
+    'email'                => 'The :attribute must be a valid email address.',
+    'ends_with' => 'The :attribute must end with one of the following: :values',
+    'file'                 => 'The :attribute must be provided as a valid file.',
+    'filled'               => 'The :attribute field is required.',
+    'gt'                   => [
+        'numeric' => 'The :attribute must be greater than :value.',
+        'file'    => 'The :attribute must be greater than :value kilobytes.',
+        'string'  => 'The :attribute must be greater than :value characters.',
+        'array'   => 'The :attribute must have more than :value items.',
+    ],
+    'gte'                  => [
+        'numeric' => 'The :attribute must be greater than or equal :value.',
+        'file'    => 'The :attribute must be greater than or equal :value kilobytes.',
+        'string'  => 'The :attribute must be greater than or equal :value characters.',
+        'array'   => 'The :attribute must have :value items or more.',
+    ],
+    'exists'               => 'The selected :attribute is invalid.',
+    'image'                => 'The :attribute must be an image.',
+    'image_extension'      => 'The :attribute must have a valid & supported image extension.',
+    'in'                   => 'The selected :attribute is invalid.',
+    'integer'              => 'The :attribute must be an integer.',
+    'ip'                   => 'The :attribute must be a valid IP address.',
+    'ipv4'                 => 'The :attribute must be a valid IPv4 address.',
+    'ipv6'                 => 'The :attribute must be a valid IPv6 address.',
+    'json'                 => 'The :attribute must be a valid JSON string.',
+    'lt'                   => [
+        'numeric' => 'The :attribute must be less than :value.',
+        'file'    => 'The :attribute must be less than :value kilobytes.',
+        'string'  => 'The :attribute must be less than :value characters.',
+        'array'   => 'The :attribute must have less than :value items.',
+    ],
+    'lte'                  => [
+        'numeric' => 'The :attribute must be less than or equal :value.',
+        'file'    => 'The :attribute must be less than or equal :value kilobytes.',
+        'string'  => 'The :attribute must be less than or equal :value characters.',
+        'array'   => 'The :attribute must not have more than :value items.',
+    ],
+    'max'                  => [
+        'numeric' => 'The :attribute may not be greater than :max.',
+        'file'    => 'The :attribute may not be greater than :max kilobytes.',
+        'string'  => 'The :attribute may not be greater than :max characters.',
+        'array'   => 'The :attribute may not have more than :max items.',
+    ],
+    'mimes'                => 'The :attribute must be a file of type: :values.',
+    'min'                  => [
+        'numeric' => 'The :attribute must be at least :min.',
+        'file'    => 'The :attribute must be at least :min kilobytes.',
+        'string'  => 'The :attribute must be at least :min characters.',
+        'array'   => 'The :attribute must have at least :min items.',
+    ],
+    'not_in'               => 'The selected :attribute is invalid.',
+    'not_regex'            => 'The :attribute format is invalid.',
+    'numeric'              => 'The :attribute must be a number.',
+    'regex'                => 'The :attribute format is invalid.',
+    'required'             => 'The :attribute field is required.',
+    'required_if'          => 'The :attribute field is required when :other is :value.',
+    'required_with'        => 'The :attribute field is required when :values is present.',
+    'required_with_all'    => 'The :attribute field is required when :values is present.',
+    'required_without'     => 'The :attribute field is required when :values is not present.',
+    'required_without_all' => 'The :attribute field is required when none of :values are present.',
+    'same'                 => 'The :attribute and :other must match.',
+    'safe_url'             => 'The provided link may not be safe.',
+    'size'                 => [
+        'numeric' => 'The :attribute must be :size.',
+        'file'    => 'The :attribute must be :size kilobytes.',
+        'string'  => 'The :attribute must be :size characters.',
+        'array'   => 'The :attribute must contain :size items.',
+    ],
+    'string'               => 'The :attribute must be a string.',
+    'timezone'             => 'The :attribute must be a valid zone.',
+    'totp'                 => 'The provided code is not valid or has expired.',
+    'unique'               => 'The :attribute has already been taken.',
+    'url'                  => 'The :attribute format is invalid.',
+    'uploaded'             => 'The file could not be uploaded. The server may not accept files of this size.',
+
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
+    // Custom validation lines
+    'custom' => [
+        'password-confirm' => [
+            'required_with' => 'Staðfestingu á lykilorði er krafist',
+        ],
+    ],
+
+    // Custom validation attributes
+    'attributes' => [],
+];
index 61a225185519d42485fabc7fecd50149a39ea9ab..0747d7784e5c364d66dfe064a534f86021e9f84e 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'ha eliminato un webhook',
     'webhook_delete_notification' => 'Webhook eliminato con successo',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'ha creato un utente',
     'user_create_notification' => 'Utente creato con successo',
index f9a6e47ae03ba7a2fb56a92632053ed3f2719f7b..11b019ee38253f77d81201fa4c637d90631c3dad 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Informazioni sull\'editor',
     'about_title' => 'Informazioni sull\'editor di WYSIWYG',
     'editor_license' => 'Licenza e copyright dell\'editor',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Questo editor è realizzato usando :tinyLink che è fornito sotto la licenza MIT.',
     'editor_tiny_license_link' => 'I dettagli del copyright e della licenza di TinyMCE sono disponibili qui.',
     'save_continue' => 'Salva pagina e continua',
index d7542b1ba1146d3b3d29d00f61541834b58d148b..22c428ed3e1d622e4eceb52363254fe4dd3264fe 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'File PDF',
     'export_text' => 'File di testo',
     'export_md' => 'File Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Modello di pagina predefinito',
     'default_template_explain' => 'Assegna un modello di pagina che sarà usato come contenuto predefinito per tutte le pagine create in questo elemento. Tieni presente che potrà essere utilizzato solo se il creatore della pagina ha accesso alla pagina del modello scelto.',
     'default_template_select' => 'Seleziona una pagina modello',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Permessi',
index 5120a6d71e91adcb1df1e839ff4133f56f7cbd56..a68da405bb5ecb2ec740743453242f4b9ca44f16 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName è offline al momento',
     'back_soon' => 'Tornerà presto online.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Nessun token di autorizzazione trovato nella richiesta',
     'api_bad_authorization_format' => 'Un token di autorizzazione è stato trovato nella richiesta, ma il formato sembra non corretto',
index 5d68fd26d1ffe2cfe1b18f338e65e697454e807d..e57baceb49e248e5fe86f8a0103e68de39447628 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Accedere alle API di sistema',
     'role_manage_settings' => 'Gestire impostazioni app',
     'role_export_content' => 'Esportare contenuto',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Cambiare editor di pagina',
     'role_notifications' => 'Ricevere e gestire le notifiche',
     'role_asset' => 'Permessi entità',
index f8f59a3ac0fa5d7bcb76ee4d91353e9c7346fe8c..b21e8d932b48800c2f6a78ef9547037a0c04b68a 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Il formato :attribute non è valido.',
     'uploaded'             => 'Il file non può essere caricato. Il server potrebbe non accettare file di questa dimensione.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 0e6e8d3ce836ba008f19e12053a7d9d83f47bfdd..f20f9a90d5aa216a29f5b3148e561aab5ad37c9e 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'がWebhookを削除',
     'webhook_delete_notification' => 'Webhookを削除しました',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'がユーザを作成',
     'user_create_notification' => 'ユーザーを作成しました',
index 22162796c0bc74e1138664fd8ed9bbdac4435b3c..576e08f14b2914f2b7eca234b3e69d7a2bdf9fc0 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'エディタについて',
     'about_title' => 'WYSIWYGエディタについて',
     'editor_license' => 'エディタのライセンスと著作権',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'このエディタはMITライセンスの下で提供される:tinyLinkを利用して構築されています。',
     'editor_tiny_license_link' => 'TinyMCEの著作権およびライセンスの詳細は、こちらをご覧ください。',
     'save_continue' => 'ページを保存して続行',
index 489032835ccdc2ea450d8300fc329f4aa78f5289..05e2f33ab8f7ba95d55e8102173d0903e7e09264 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF',
     'export_text' => 'テキストファイル',
     'export_md' => 'Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'デフォルトページテンプレート',
     'default_template_explain' => 'このアイテム内に新しいページを作成する際にデフォルトコンテンツとして使用されるページテンプレートを割り当てます。これはページ作成者が選択したテンプレートページへのアクセス権を持つ場合にのみ使用されることに注意してください。',
     'default_template_select' => 'テンプレートページを選択',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => '権限',
index 4eba63659346dcea8c72bf2661d8082fbe169ca8..ca001d7680bd94e92ccd5ba1f56cf493ced77acd 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appNameは現在停止しています',
     'back_soon' => '回復までしばらくお待ちください。',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'リクエストに認証トークンが見つかりません',
     'api_bad_authorization_format' => 'リクエストに認証トークンが見つかりましたが、形式が正しくないようです',
index 218eecf8c2cab9d329d04f5f63cbc7cfddbc5adb..d73f12cb2c9534c0f56fcd67151a55faa75ebcff 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'システムのAPIへのアクセス',
     'role_manage_settings' => 'アプリケーション設定の管理',
     'role_export_content' => 'コンテンツのエクスポート',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'ページエディタの変更',
     'role_notifications' => '通知の受信と管理',
     'role_asset' => 'アセット権限',
index 96ae7dfff249a102b407ffa85543e4939efdcdb5..110bcb012134e82d61a0218cd14e352305beae17 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attributeのフォーマットは不正です。',
     'uploaded'             => 'ファイルをアップロードできませんでした。サーバーがこのサイズのファイルを受け付けていない可能性があります。',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 6c7af4429f0b8e94fca7aaa5f8f282cb79bc661a..4cc9fbcb66aa4d50a08afa741446e5d4743201e0 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'deleted webhook',
     'webhook_delete_notification' => 'Webhook successfully deleted',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'created user',
     'user_create_notification' => 'User successfully created',
index de9aa0ece10f535becba6a65273835bacfe523db..a61b460427ebf255364eafee6818af171dbcad99 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Save Page & Continue',
index 35e6f050bb885cc28cb83e5064fed910778c1ae1..26a563a7eb534388afd1e89fce92ea91e1a8a5c7 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF File',
     'export_text' => 'Plain Text File',
     'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Permissions',
index 9c40aa9ed339578a1585ddefda68760cd2563c8e..9d738379648d26fd0b59ea0a0c82f53edf1e4b38 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName is down right now',
     'back_soon' => 'It will be back up soon.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'No authorization token found on the request',
     'api_bad_authorization_format' => 'An authorization token was found on the request but the format appeared incorrect',
index 5427cb9419ea1ff716704e5b06630b9afcd2c3b2..c0b6b692a57b9b5eaf7ce17d51a0baf0ae6380ab 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Access system API',
     'role_manage_settings' => 'Manage app settings',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Asset Permissions',
index 2a676c7c4cce0130591a929cefd8a21e7765be1c..d9b982d1e23e2eb2ad98ae4815e8b94de20f11dc 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'The :attribute format is invalid.',
     'uploaded'             => 'The file could not be uploaded. The server may not accept files of this size.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index bcf347956229b96ab558a1e365f3f3664987082e..356568d1fd65789b82d3a5ff4d52c48ed44966cd 100644 (file)
@@ -77,13 +77,21 @@ return [
     'maintenance_action_run' => '유지 관리 작업 실행',
 
     // Webhooks
-    'webhook_create' => '웹 훅 만들기',
+    'webhook_create' => '웹 훅 생성',
     'webhook_create_notification' => '웹 훅 생성함',
     'webhook_update' => '웹 훅 수정하기',
     'webhook_update_notification' => '웹훅 설정이 수정되었습니다.',
     'webhook_delete' => '웹 훅 지우기',
     'webhook_delete_notification' => '웹 훅 삭제함',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => '사용자 생성',
     'user_create_notification' => '사용자 생성 성공',
index 246a3aebc3686895853ec484b935f0c9942c4a21..b19b0d5cdd2b3149fe05a8c00e54f5a6d00993a7 100644 (file)
@@ -71,7 +71,7 @@ return [
     'back_to_top' => '맨 위로',
     'skip_to_main_content' => '메인 항목으로',
     'toggle_details' => '내용 보기',
-    'toggle_thumbnails' => 'ì\84¬네일 보기',
+    'toggle_thumbnails' => 'ì\8d¸네일 보기',
     'details' => '정보',
     'grid_view' => '격자 보기',
     'list_view' => '목록 보기',
@@ -101,7 +101,7 @@ return [
 
     // Email Content
     'email_action_help' => ':actionText를 클릭할 수 없을 때는 웹 브라우저에서 다음 링크로 접속할 수 있습니다.',
-    'email_rights' => 'All rights reserved.',
+    'email_rights' => '모든 권리는 보호됩니다.',
 
     // Footer Link Options
     // Not directly used but available for convenience to users.
index c81497e0308c65cab78bd2b0ef28910a9922b14f..cbda4d15980c36db80941cfb54f8e7f0d65bc6ee 100644 (file)
@@ -12,7 +12,7 @@ return [
     'image_intro' => '여기에서 이전에 시스템에 업로드한 이미지를 선택하고 관리할 수 있습니다.',
     'image_intro_upload' => '이미지 파일을 이 창으로 끌어다 놓거나 위의 \'이미지 업로드\' 버튼을 사용하여 새 이미지를 업로드합니다.',
     'image_all' => '모든 이미지',
-    'image_all_title' => '모든 이미지',
+    'image_all_title' => '모든 이미지 보기',
     'image_book_title' => '이 책에서 쓰고 있는 이미지',
     'image_page_title' => '이 문서에서 쓰고 있는 이미지',
     'image_search_hint' => '이미지 이름 검색',
@@ -30,8 +30,8 @@ return [
     'images_deleted' => '이미지 삭제함',
     'image_preview' => '이미지 미리 보기',
     'image_upload_success' => '이미지 올림',
-    'image_update_success' => '이미지 정보 수정함',
-    'image_delete_success' => '이미지 삭제함',
+    'image_update_success' => '이미지 정보가 수정되었습니다.',
+    'image_delete_success' => '이미지가 삭제되었습니다.',
     'image_replace' => '이미지 교체',
     'image_replace_success' => '이미지 파일 업데이트 성공',
     'image_rebuild_thumbs' => '사이즈 변경 재생성하기',
index 485ab79cd9471b8ce7163c4a37a90ce95413b150..6892410169d70354f515ba558ba2b8b05038bc10 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => '이 편집기에 대하여',
     'about_title' => 'WYSIWYG 편집기에 대하여',
     'editor_license' => '편집기 라이선스 & 저작권',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => '전체 라이센스 세부 사항은 여기에서 확인할 수 있습니다.',
     'editor_tiny_license' => '이 편집기는 MIT 라이선스에 따라 제공되는 :tinyLink를 사용하여 제작되었습니다.',
     'editor_tiny_license_link' => 'TinyMCE의 저작권 및 라이선스 세부 정보는 여기에서 확인할 수 있습니다.',
     'save_continue' => '저장하고 계속하기',
index 4afd174f5f09b991feacfc556171e3a7e340857c..4fbbe376629acadd3b751975811856c4f2770eae 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF 파일',
     'export_text' => '일반 텍스트 파일',
     'export_md' => '마크다운 파일',
+    'export_zip' => 'Portable ZIP',
     'default_template' => '기본 페이지 템플릿',
     'default_template_explain' => '이 항목 내에서 생성되는 모든 페이지의 기본 콘텐츠로 사용할 페이지 템플릿을 지정합니다. 페이지 작성자가 선택한 템플릿 페이지를 볼 수 있는 권한이 있는 경우에만 이 항목이 사용된다는 점을 유의하세요.',
     'default_template_select' => '템플릿 페이지 선택',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => '같은 인스턴스나 다른 인스턴스에서 휴대용 zip 내보내기를 사용하여 책, 장 및 페이지를 가져옵니다. 진행하려면 ZIP 파일을 선택합니다. 파일을 업로드하고 검증한 후 다음 보기에서 가져오기를 구성하고 확인할 수 있습니다.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => '업로드된 ZIP 파일이 삭제되며, 실행 취소할 수 없습니다.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => '권한',
@@ -130,7 +151,7 @@ return [
     'books_delete' => '책 삭제하기',
     'books_delete_named' => ':bookName(을)를 지웁니다.',
     'books_delete_explain' => ':bookName에 있는 모든 챕터와 문서도 지웁니다.',
-    'books_delete_confirmation' => 'ì\9d´ ì±\85ì\9d\84 ì§\80ì\9a¸ ê±´ê°\80ì\9a\94?',
+    'books_delete_confirmation' => 'ì\9d´ ì±\85ì\9d\84 ì§\80ì\9a°ì\8b\9cê² ì\8aµë\8b\88ê¹\8c?',
     'books_edit' => '책 바꾸기',
     'books_edit_named' => ':bookName(을)를 바꿉니다.',
     'books_form_book_name' => '책 이름',
@@ -139,7 +160,7 @@ return [
     'books_permissions_updated' => '권한 저장함',
     'books_empty_contents' => '이 책에 챕터나 문서가 없습니다.',
     'books_empty_create_page' => '문서 만들기',
-    'books_empty_sort_current_book' => '읽고 있는 책 정렬',
+    'books_empty_sort_current_book' => '현재 책 정렬',
     'books_empty_add_chapter' => '챕터 만들기',
     'books_permissions_active' => '책 권한 허용함',
     'books_search_this' => '이 책에서 검색',
@@ -224,7 +245,7 @@ return [
     'pages_edit_switch_to_markdown_clean' => '(Clean Content)',
     'pages_edit_switch_to_markdown_stable' => '(Stable Content)',
     'pages_edit_switch_to_wysiwyg' => 'WYSIWYG 편집기로 전환',
-    'pages_edit_switch_to_new_wysiwyg' => 'Switch to new WYSIWYG',
+    'pages_edit_switch_to_new_wysiwyg' => '새 위지윅 편집기로 변경',
     'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha Testing)',
     'pages_edit_set_changelog' => '수정본 설명',
     'pages_edit_enter_changelog_desc' => '수정본 설명',
@@ -287,7 +308,7 @@ return [
     'pages_initial_name' => '제목 없음',
     'pages_editing_draft_notification' => ':timeDiff에 초안 문서입니다.',
     'pages_draft_edited_notification' => '최근에 수정한 문서이기 때문에 초안 문서를 폐기하는 편이 좋습니다.',
-    'pages_draft_page_changed_since_creation' => 'ìµ\9cê·¼ì\97\90 ì\88\98ì \95í\95\9c ë¬¸ì\84\9cì\9d´ê¸° ë\95\8c문ì\97\90 ì´\88ì\95\88 문서를 폐기하는 편이 좋습니다.',
+    'pages_draft_page_changed_since_creation' => 'ìµ\9cê·¼ì\97\90 ì\88\98ì \95í\95\9c ë¬¸ì\84\9cì\9d´ê¸° ë\95\8c문ì\97\90 ì\9e\84ì\8b\9c ì \80ì\9e¥문서를 폐기하는 편이 좋습니다.',
     'pages_draft_edit_active' => [
         'start_a' => ':count명이 이 문서를 수정하고 있습니다.',
         'start_b' => ':userName이 이 문서를 수정하고 있습니다.',
@@ -302,7 +323,7 @@ return [
 
     // Editor Sidebar
     'toggle_sidebar' => '사이드바 토글',
-    'page_tags' => '문서 꼬리표',
+    'page_tags' => '문서 태그',
     'chapter_tags' => '챕터 꼬리표',
     'book_tags' => '책 꼬리표',
     'shelf_tags' => '책꽂이 꼬리표',
@@ -317,7 +338,7 @@ return [
     'tags_usages' => '모든 꼬리표',
     'tags_assigned_pages' => '문서에 꼬리표 지정함',
     'tags_assigned_chapters' => '챕터에 꼬리표 지정함',
-    'tags_assigned_books' => '책에 꼬리표 지정함',
+    'tags_assigned_books' => '책에 태그 지정함',
     'tags_assigned_shelves' => '책꽂이에 꼬리표 지정함',
     'tags_x_unique_values' => ':count 중복 없는 값',
     'tags_all_values' => '모든 값',
@@ -351,7 +372,7 @@ return [
     'attachments_file_updated' => '파일 바꿈',
     'attachments_link_attached' => '링크 첨부함',
     'templates' => '템플릿',
-    'templates_set_as_template' => 'í\85\9cí\94\8c릿',
+    'templates_set_as_template' => 'í\98\84ì\9e¬ í\8e\98ì\9d´ì§\80ë\8a\94 í\85\9cí\94\8c릿ì\9a© í\8e\98ì\9d´ì§\80 ì\9e\85ë\8b\88ë\8b¤.',
     'templates_explain_set_as_template' => '템플릿은 보기 권한만 있어도 문서에 쓸 수 있습니다.',
     'templates_replace_content' => '문서 대체',
     'templates_append_content' => '문서 앞에 추가',
@@ -433,7 +454,7 @@ return [
     'watch_detail_updates' => '새 페이지 및 업데이트 보기',
     'watch_detail_comments' => '새 페이지, 업데이트 및 댓글 보기',
     'watch_detail_parent_book' => '상위 책을 통해 보기',
-    'watch_detail_parent_book_ignore' => '페어런트 북을 통한 무시하기',
+    'watch_detail_parent_book_ignore' => '상위 책을 통한 무시하기',
     'watch_detail_parent_chapter' => '상위 챕터를 통해 보기',
     'watch_detail_parent_chapter_ignore' => '상위 챕터를 통해 무시하기',
 ];
index 7f2d8bb6a728f66b67b9149c00389973899a762b..f5ba13efa3b9a42dec6eb2435f0ebc7df4e7009e 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName에 문제가 생겼습니다.',
     'back_soon' => '곧 돌아갑니다.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => '요청에서 인증 토큰을 찾을 수 없습니다.',
     'api_bad_authorization_format' => '요청에서 인증 토큰을 찾았으나 형식에 문제가 있습니다.',
index 3a24e21a0c02de7d752da848c87c72c03bd86684..7277891d55b805d34e46f3d41ac38de63da7abb2 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => '시스템 접근 API',
     'role_manage_settings' => '사이트 설정 관리',
     'role_export_content' => '항목 내보내기',
+    'role_import_content' => 'Import content',
     'role_editor_change' => '페이지 편집기 변경',
     'role_notifications' => '알림 수신 및 관리',
     'role_asset' => '권한 항목',
index e533429ee1a0180d691ef6372011ec3e236142f1..7a4d228ce1030475df3695977d1aec44077ea7aa 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute(은)는 유효하지 않은 형식입니다.',
     'uploaded'             => '파일 크기가 서버에서 허용하는 수치를 넘습니다.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 9a240d83caeba12b357096a1d146564672eee3e1..2c4165195ec615cf73fd745f5041681352ea4d2f 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'deleted webhook',
     'webhook_delete_notification' => 'Webhook successfully deleted',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'created user',
     'user_create_notification' => 'User successfully created',
index de9aa0ece10f535becba6a65273835bacfe523db..a61b460427ebf255364eafee6818af171dbcad99 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Save Page & Continue',
index 17601aa168723372f4dd8f29d6dbc5ed82b80d2d..91d4cedc435cdf7a1df8c7a0011cbdd0a46fed2e 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF failas',
     'export_text' => 'Paprastas failo tekstas',
     'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Leidimai',
index 2209a00d7e07f795da361bb55e666efe8dc28c9e..392e99a51922eaeabf41de0bc5a5709c0af78df5 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName dabar yra apačioje',
     'back_soon' => 'Tai sugrįž greitai',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Užklausoje nerastas įgaliojimo prieigos raktas',
     'api_bad_authorization_format' => 'Užklausoje rastas prieigos raktas, tačiau formatas yra neteisingas',
index 3692bd2413b0f5906752cab17969ccbc3a60e4fa..ddd2a702299ac1ced5197cc9dc63bd8cbd933004 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Gauti prieigą prie sistemos API',
     'role_manage_settings' => 'Tvarkyti programos nustatymus',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Nuosavybės leidimai',
index 08470cf2291cc1001d2946a094cb7dd6e6f6ca9d..92de23004aa35b00035e0446e6de9621d75f1f3b 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute formatas yra klaidingas.',
     'uploaded'             => 'Šis failas negali būti įkeltas. Serveris gali nepriimti tokio dydžio failų.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index f7db090d8060ac23576ad8423ef4da411e34b28b..2f9b49f8e75f8a21c233465366e16743c74d7be5 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'izdzēsa webhook',
     'webhook_delete_notification' => 'Webhook veiksmīgi izdzēsts',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'izveidoja lietotāju',
     'user_create_notification' => 'Lietotājs veiksmīgi izveidots',
index 5443e505d663c23d9c9a26a867610adffef79cca..1bdf4476dfcf97640c6dc1bb1e03baee9dd23388 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Par redaktoru',
     'about_title' => 'Par WYSIWYG redaktoru',
     'editor_license' => 'Redaktora licence un autortiesības',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Šis redaktors ir izveidots, izmantojot :tinyLink, kas ir publicēts ar MIT licenci.',
     'editor_tiny_license_link' => 'TinyMCE autortiesības un licences detaļas var atrast šeit.',
     'save_continue' => 'Saglabāt lapu un turpināt',
index 771fffd44708d2b6bf38ca3091c1745a603506e9..f5d9a2eeb54bd9bf61a7bb06d0fcc688552ec2fd 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF fails',
     'export_text' => 'Vienkāršs teksta fails',
     'export_md' => 'Markdown fails',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Noklusētā lapas sagatave',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Izvēlēt sagataves lapu',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Atļaujas',
index e705da6a02b3069a7e1a2f530e616b25b0b04d34..40d755e61f3742280e769f6d94341c5c01c8983f 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName pagaidām nav pieejams',
     'back_soon' => 'Drīz būs atkal pieejams.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Pieprasījumā nav atrasts autorizācijas žetons',
     'api_bad_authorization_format' => 'Pieprasījumā atrasts autorizācijas žetons, taču tā formāts nav pareizs',
index a94b45b3e423d56b4f031857efda5d717ceaf54c..3fca3050aaddf61643e958414a30d36b0aeb268c 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Piekļūt sistēmas API',
     'role_manage_settings' => 'Pārvaldīt iestatījumus',
     'role_export_content' => 'Eksportēt saturu',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Mainīt lapu redaktoru',
     'role_notifications' => 'Saņemt un pārvaldīt paziņojumus',
     'role_asset' => 'Resursa piekļuves tiesības',
index 64a0dece367168e3c84ded6cc9fcf56234d2ac8b..5b714af8659979ac7989aa44eb737b353d4641fe 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute formāts nav derīgs.',
     'uploaded'             => 'Fails netika ielādēts. Serveris nevar pieņemt šāda izmēra failus.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 04ab09c8477c399c32873e87ede14f82b9108278..3f8ee88df7c4af4e12e7fece65ff5dae5210d931 100644 (file)
@@ -85,6 +85,14 @@ return [
     'webhook_delete' => 'slettet webhook',
     'webhook_delete_notification' => 'Webhook ble slettet',
 
+    // Imports
+    'import_create' => 'import opprettet',
+    'import_create_notification' => 'Importen ble opplastet',
+    'import_run' => 'oppdatert import',
+    'import_run_notification' => 'Innhold importert',
+    'import_delete' => 'import slettet',
+    'import_delete_notification' => 'Importering ble slettet',
+
     // Users
     'user_create' => 'opprettet bruker',
     'user_create_notification' => 'Bruker ble opprettet',
index 0e9e19b6e59d4d308572ff696c456c2793ee85a3..1214e81c52bf477e24d2a739945e42dc04730d92 100644 (file)
@@ -109,5 +109,5 @@ return [
     'terms_of_service' => 'Bruksvilkår',
 
     // OpenSearch
-    'opensearch_description' => 'Search :appName',
+    'opensearch_description' => 'Søk :appName',
 ];
index 759f1803625517b083cdb49dac3e4286cdc513ff..e128717cdcd782f5634053d56f207ebd516d3123 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Om tekstredigeringsprogrammet',
     'about_title' => 'Om HDSEHDF-tekstredigeringsprogrammet',
     'editor_license' => 'Tekstbehandlerlisens og opphavsrett',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Denne tekstredigereren er laget med :tinyLink som er lisensiert under MIT.',
     'editor_tiny_license_link' => 'Informasjon om opphavsrett og lisens for TinyMCE finnes her.',
     'save_continue' => 'Lagre side og fortsett',
index a28f15fa660e7c227e932a8e78a1aa31313e9ddd..0d2491eafdca1b4dca7a32292d9e706dd5fbd47c 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF Fil',
     'export_text' => 'Tekstfil',
     'export_md' => 'Markdownfil',
+    'export_zip' => 'Flyttbar ZIP',
     'default_template' => 'Standard sidemal',
     'default_template_explain' => 'Tildel en sidemal som vil bli brukt som standardinnhold for alle nye sider i denne boken. Husk dette vil kun bli brukt hvis sideskaperen har tilgang til den valgte malsiden.',
     'default_template_select' => 'Velg en malside',
+    'import' => 'Import',
+    'import_validate' => 'Valider Import',
+    'import_desc' => 'Importer bøker, kapitler & sider ved å bruke en flyttbar zip-eksport fra samme eller en annen forekomst. Velg en ZIP-fil for å fortsette. Når filen har blitt lastet opp og validert vil du kunne konfigurere & bekrefte importen i neste visning.',
+    'import_zip_select' => 'Velg ZIP-filen som skal lastes opp',
+    'import_zip_validation_errors' => 'Feil ble funnet under validering av den angitte ZIP-filen:',
+    'import_pending' => 'Venter på import',
+    'import_pending_none' => 'Ingen importer er startet.',
+    'import_continue' => 'Fortsett import',
+    'import_continue_desc' => 'Gjennomgå innholdet på grunn av at det importeres fra den opplastede ZIP-filen. Når klar, kjøre importen for å legge til innholdet i dette systemet. Den opplastede ZIP-importfilen vil automatisk bli fjernet ved vellykket import.',
+    'import_details' => 'Importer detaljer',
+    'import_run' => 'Kjør Import',
+    'import_size' => ':size Import ZIP størrelse',
+    'import_uploaded_at' => 'Opplastet :relativeTime',
+    'import_uploaded_by' => 'Lastet opp av',
+    'import_location' => 'Import posisjon',
+    'import_location_desc' => 'Velg en mållokasjon for ditt importerte innhold. Du vil trenge relevante tillatelser for å opprette innenfor den posisjonen du velger.',
+    'import_delete_confirm' => 'Er du sikker på at du vil slette denne importen?',
+    'import_delete_desc' => 'Dette vil slette den opplastede importen av ZIP-filen og kan ikke angres.',
+    'import_errors' => 'Import feil',
+    'import_errors_desc' => 'Feil oppstod under importforsøket:',
 
     // Permissions and restrictions
     'permissions' => 'Tilganger',
@@ -224,8 +245,8 @@ return [
     'pages_edit_switch_to_markdown_clean' => '(Renset innhold)',
     'pages_edit_switch_to_markdown_stable' => '(Urørt innhold)',
     'pages_edit_switch_to_wysiwyg' => 'Bytt til WYSIWYG tekstredigering',
-    'pages_edit_switch_to_new_wysiwyg' => 'Switch to new WYSIWYG',
-    'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha Testing)',
+    'pages_edit_switch_to_new_wysiwyg' => 'Bytt til ny WYSIWYG',
+    'pages_edit_switch_to_new_wysiwyg_desc' => '(I Alpha Testing)',
     'pages_edit_set_changelog' => 'Angi endringslogg',
     'pages_edit_enter_changelog_desc' => 'Gi en kort beskrivelse av endringene dine',
     'pages_edit_enter_changelog' => 'Se endringslogg',
index 379483626c0c08874e8f46eb404b4915da30ba31..400681b10d1c35487ac7fcaca18d907d7441deb8 100644 (file)
@@ -78,7 +78,7 @@ return [
     // Users
     'users_cannot_delete_only_admin' => 'Du kan ikke slette den eneste administratoren',
     'users_cannot_delete_guest' => 'Du kan ikke slette gjestebrukeren (Du kan deaktivere offentlig visning istede)',
-    'users_could_not_send_invite' => 'Could not create user since invite email failed to send',
+    'users_could_not_send_invite' => 'Kunne ikke opprette bruker fordi invitasjons e-post ikke kunne sendes',
 
     // Roles
     'role_cannot_be_edited' => 'Denne rollen kan ikke endres',
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName er nede for øyeblikket',
     'back_soon' => 'Den vil snart komme tilbake.',
 
+    // Import
+    'import_zip_cant_read' => 'Kunne ikke lese ZIP-filen.',
+    'import_zip_cant_decode_data' => 'Kunne ikke finne og dekode ZIP data.json innhold.',
+    'import_zip_no_data' => 'ZIP-fildata har ingen forventet bok, kapittel eller sideinnhold.',
+    'import_validation_failed' => 'Import av ZIP feilet i å validere med feil:',
+    'import_zip_failed_notification' => 'Kunne ikke importere ZIP-fil.',
+    'import_perms_books' => 'Du mangler nødvendige tillatelser for å lage bøker.',
+    'import_perms_chapters' => 'Du mangler de nødvendige tillatelsene for å opprette kapittel.',
+    'import_perms_pages' => 'Du mangler nødvendige tillatelser for å opprette sider.',
+    'import_perms_images' => 'Du mangler de nødvendige tillatelsene for å opprette bilder.',
+    'import_perms_attachments' => 'Du mangler nødvendig tillatelse for å opprette vedlegg.',
+
     // API errors
     'api_no_authorization_found' => 'Ingen autorisasjonstoken ble funnet på forespørselen',
     'api_bad_authorization_format' => 'Det ble funnet et autorisasjonstoken på forespørselen, men formatet virket feil',
index 539dc1902cd7a1cca6090da6c8591481ca954644..a39f6ae1bbe589aa1075c7cf9b57da03e50ed2ec 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Systemtilgang API',
     'role_manage_settings' => 'Behandle applikasjonsinnstillinger',
     'role_export_content' => 'Eksporter innhold',
+    'role_import_content' => 'Import innhold',
     'role_editor_change' => 'Endre sideredigering',
     'role_notifications' => 'Motta og administrere varslinger',
     'role_asset' => 'Eiendomstillatelser',
index 7e3784e30c70c4ebccc74f41d9ea4a14133fdcaa..a156da8f705d50a30149b8ca4afb61f9cdb577b4 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute format er ugyldig.',
     'uploaded'             => 'kunne ikke lastes opp, tjeneren støtter ikke filer av denne størrelsen.',
 
+    'zip_file' => 'Attributtet :attribute må henvises til en fil i ZIP.',
+    'zip_file_mime' => 'Attributtet :attribute må referere en fil av typen :validTypes, som ble funnet :foundType.',
+    'zip_model_expected' => 'Data objekt forventet, men ":type" funnet.',
+    'zip_unique' => 'Attributtet :attribute må være unikt for objekttypen i ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 52a8e3e3762a055ebe53014b8b734709b2b4d3e0..88563ba873e50fa8caf6627b8d4b940557ba39d1 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'verwijderde webhook',
     'webhook_delete_notification' => 'Webhook succesvol verwijderd',
 
+    // Imports
+    'import_create' => 'maakte import',
+    'import_create_notification' => 'Import succesvol geüpload',
+    'import_run' => 'wijzigde import',
+    'import_run_notification' => 'Inhoud succesvol geïmporteerd',
+    'import_delete' => 'verwijderde import',
+    'import_delete_notification' => 'Import succesvol verwijderd',
+
     // Users
     'user_create' => 'maakte gebruiker aan',
     'user_create_notification' => 'Gebruiker succesvol aangemaakt',
index 89b2e7bea8580767afd9ed4dfd97e15a576dde90..d82dd86014ba3ae5fbf6eb50eb1e47ee24234e1e 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Over de bewerker',
     'about_title' => 'Over de WYSIWYG Bewerker',
     'editor_license' => 'Bewerker Licentie & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Deze editor is gemaakt met behulp van :tinyLink welke is verstrekt onder de MIT-licentie.',
     'editor_tiny_license_link' => 'De copyright- en licentiegegevens van TinyMCE vindt u hier.',
     'save_continue' => 'Pagina opslaan en verdergaan',
index 36955c8e1f5fafc5f93ee899a86324fc082ff05e..57967f9f1a64a825c8470bbb7fbe490f06a59d42 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF bestand',
     'export_text' => 'Normaal tekstbestand',
     'export_md' => 'Markdown bestand',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Standaard Paginasjabloon',
     'default_template_explain' => 'Ken een paginasjabloon toe die zal worden gebruikt als de standaardinhoud voor alle pagina\'s die binnen dit item worden aangemaakt. Houd er rekening mee dat dit alleen zal worden gebruikt als de paginamaker leesrechten heeft voor de gekozen sjabloonpagina.',
     'default_template_select' => 'Selecteer een sjabloonpagina',
+    'import' => 'Import',
+    'import_validate' => 'Valideer Import',
+    'import_desc' => 'Importeer boeken, hoofdstukken & pagina\'s met een portable Zip-export van dezelfde, of een andere omgeving. Selecteer een Zip-bestand om door te gaan. Nadat het bestand is geüpload en gecontroleerd kunt u de import configureren en doorvoeren in de volgende weergave.',
+    'import_zip_select' => 'Selecteer een Zip-bestand om te uploaden',
+    'import_zip_validation_errors' => 'Er zijn fouten gevonden tijdens het controleren van het Zip-bestand:',
+    'import_pending' => 'Wachtende Imports',
+    'import_pending_none' => 'Er zijn geen imports gestart.',
+    'import_continue' => 'Importeren Voortzetten',
+    'import_continue_desc' => 'Controleer de inhoud die gaat worden geïmporteerd vanuit get geüploade Zip-bestand. Voer de import door om de inhoud toe te voegen aan dit systeem. Bij een succesvolle import zal het geüploade Zip-bestand automatisch verwijderd worden.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Import Doorvoeren',
+    'import_size' => ':size Import Zip Grootte',
+    'import_uploaded_at' => 'Geüpload :relativeTime',
+    'import_uploaded_by' => 'Geüpload door',
+    'import_location' => 'Importlocatie',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Importeerfouten',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Machtigingen',
index 0c83cb7f31fab745aae392bce74249200546e363..07900fc6b4fe2f8c5f210cce1c9b71ece1a2e4fe 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName is nu niet beschikbaar',
     'back_soon' => 'Komt snel weer online.',
 
+    // Import
+    'import_zip_cant_read' => 'Kon het Zip-bestand niet lezen.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Importeren van het Zip-bestand is mislukt.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Geen autorisatie token gevonden',
     'api_bad_authorization_format' => 'Een autorisatie token is gevonden, maar het formaat schijnt onjuist te zijn',
index 1d0b14b5cf56a0ef2adaac3af809d95614f0450a..646eb2ba99512a9ce13640081b49e4b4b5632097 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Ga naar systeem API',
     'role_manage_settings' => 'Beheer app instellingen',
     'role_export_content' => 'Exporteer inhoud',
+    'role_import_content' => 'Importeer inhoud',
     'role_editor_change' => 'Wijzig pagina bewerker',
     'role_notifications' => 'Meldingen ontvangen & beheren',
     'role_asset' => 'Asset Machtigingen',
index 378ec6a91585697e3d0ad6080ddf31ddbcefb61d..52b1a22651a6820f0354d76003e0fe33582a5bda 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute formaat is ongeldig.',
     'uploaded'             => 'Het bestand kon niet worden geüpload. De server accepteert mogelijk geen bestanden van deze grootte.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 73182e0ba843ea8b2a7b9b2110d0be0c41124a89..a522d10e7fe0389dddf769526935c4522b4479e3 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'sletta webhook',
     'webhook_delete_notification' => 'Webhook vart sletta',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'oppretta brukar',
     'user_create_notification' => 'Brukar vart oppretta',
index 7998bfadbf2a7f09e6d41ffe9eeb201270090f2b..6ac0a92af098dbf0abe8a5b55a3ab991e6d937bc 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Om tekstredigeringsprogrammet',
     'about_title' => 'Om HDSEHDF-tekstredigeringsprogrammet',
     'editor_license' => 'Tekstbehandlerlisens og opphavsrett',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Denne tekstredigereren er laget med :tinyLink som er lisensiert under MIT.',
     'editor_tiny_license_link' => 'Informasjon om opphavsrett og lisens for TinyMCE finnes her.',
     'save_continue' => 'Lagre side og fortsett',
index 790c6ec97b802b73c86fcb2897f2efc50e290296..b2ae3526917ba953c325893b5f932a33f0a3c7ac 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF-fil',
     'export_text' => 'Tekstfil',
     'export_md' => 'Markdownfil',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Tilgongar',
index 7be55a09177a1f8adddd815069310565b1e4b079..0619c4682fc089f13ec654807b94dfbc732a86b1 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName er nede for øyeblikket',
     'back_soon' => 'Den vil snart komme tilbake.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Ingen autorisasjonstoken ble funnet på forespørselen',
     'api_bad_authorization_format' => 'Det ble funnet et autorisasjonstoken på forespørselen, men formatet virket feil',
index 9eefaf3bb7e585a337b02721b3533982416e7dfe..ed9cd937a8f24b3c1e2786a905bf3e28c610ee3d 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Systemtilgang API',
     'role_manage_settings' => 'Behandle applikasjonsinnstillinger',
     'role_export_content' => 'Eksporter innhold',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Endre sideredigering',
     'role_notifications' => 'Motta og administrere varslinger',
     'role_asset' => 'Eiendomstillatelser',
index 7e3784e30c70c4ebccc74f41d9ea4a14133fdcaa..a24ebd17189ace47610963cbaa4b746f289a7e69 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute format er ugyldig.',
     'uploaded'             => 'kunne ikke lastes opp, tjeneren støtter ikke filer av denne størrelsen.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 25f9e23c66913107a9979c19ab12b19b956ed51f..4e209c99cf1da360d352290da1fa679142e3af2d 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'usunął webhook',
     'webhook_delete_notification' => 'Webhook usunięty pomyślnie',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'utworzył użytkownika',
     'user_create_notification' => 'Użytkownik utworzony pomyślnie',
index f4ed4b5f2b5fb089e711637f2be18595aab8d1c4..ac7d57a5d610c30667e487aaade03838a496da7e 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'O edytorze',
     'about_title' => 'O edytorze WYSIWYG',
     'editor_license' => 'Licencja edytora i prawa autorskie',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Ten edytor jest zbudowany przy użyciu :tinyLink, który jest udostępniany na licencji MIT.',
     'editor_tiny_license_link' => 'Szczegóły dotyczące praw autorskich i licencji TinyMCE można znaleźć tutaj.',
     'save_continue' => 'Zapisz stronę i kontynuuj',
index f0ff5a251f5e4cb61f21a4c2a6b860c755ad047f..537b15d38c3c290507ca713ff00e61fe96d9b7b2 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Plik PDF',
     'export_text' => 'Plik tekstowy',
     'export_md' => 'Pliki Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Domyślny szablon strony',
     'default_template_explain' => 'Przypisz szablon strony, który będzie używany jako domyślna zawartość dla wszystkich stron utworzonych w tym elemencie. Pamiętaj, że będzie to używane tylko wtedy, gdy twórca strony ma dostęp do wybranej strony szablonu.',
     'default_template_select' => 'Wybierz stronę szablonu',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Uprawnienia',
index 71f592ad6835c3f1ec1cd9f833cec1968a2c3ad9..e6ad2093f1fc1b6b2979c22ab4406f9785e8f6e8 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName jest aktualnie wyłączona',
     'back_soon' => 'Niedługo zostanie uruchomiona ponownie.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Nie znaleziono tokenu autoryzacji dla żądania',
     'api_bad_authorization_format' => 'Token autoryzacji został znaleziony w żądaniu, ale format okazał się nieprawidłowy',
index 77c25ffa93a67ea81d204a258762fb47ddc1ed23..811398ec46335101c2c7adab5b80605ba47ca19b 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Dostęp do systemowego API',
     'role_manage_settings' => 'Zarządzanie ustawieniami aplikacji',
     'role_export_content' => 'Eksportuj zawartość',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Zmień edytor strony',
     'role_notifications' => 'Odbieranie i zarządzanie powiadomieniami',
     'role_asset' => 'Zarządzanie zasobami',
index 935c634df29468db20a4f488f115818e14da2eb3..f20a66dfb6c2bb33173bd5f55625aeadfdfb19c6 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Format :attribute jest nieprawidłowy.',
     'uploaded'             => 'Plik nie może zostać wysłany. Serwer nie akceptuje plików o takim rozmiarze.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 089613b8f5980cbd44837c55a54cd7f30d3c7ac6..96d950554b51696c595ec82d53f289e5bb2f7eb7 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'eliminar webhook',
     'webhook_delete_notification' => 'Webhook criado com sucesso',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'utilizador criado',
     'user_create_notification' => 'Utilizador criado com sucesso',
index c3c4975a7ee594cd207f15f01dfe773253504d7a..b25b319f0b687767031cef9e95ca4a6cb1ad8566 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Sobre o editor',
     'about_title' => 'Sobre o Editor WYSIWYG',
     'editor_license' => 'Editor da licença de direitos autorais',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Este editor foi criado com :tinyLink que é fornecido sob a licença MIT.',
     'editor_tiny_license_link' => 'Os dados relativos aos direitos de autor e à licença do TinyMCE podem ser encontrados aqui.',
     'save_continue' => 'Salvar página e continuar',
index 792f80056d0d8da913bbcda2fa842a69fc8b1fc6..93d1a38cfab4142b0c1f6cd3f6540596e140e120 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Arquivo PDF',
     'export_text' => 'Arquivo Texto',
     'export_md' => 'Ficheiro Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Permissões',
index bed2bf5b77976419335c83944472ccf94bd7b17c..b337005e14f9b76494c6c90af07971702aa1c84a 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName está fora do ar de momento',
     'back_soon' => 'Voltaremos em breve.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Nenhum token de autorização encontrado na requisição',
     'api_bad_authorization_format' => 'Um token de autorização foi encontrado na requisição, mas o formato parece incorreto',
index 8664884c0d50eeab6bcc6ea0ed2f1cb32ad8c1d2..935fd30ce93f814ee80684bef19394f99102b4af 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Aceder à API do sistema',
     'role_manage_settings' => 'Gerir as configurações da aplicação',
     'role_export_content' => 'Exportar conteúdo',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Alterar editor de página',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Permissões de Ativos',
index d98f9857eb25d95427a7886185ca29e323848753..df414c992e24a2c6c24b4655ebc5ba5d13b9d33d 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'O formato da URL :attribute é inválido.',
     'uploaded'             => 'O arquivo não pôde ser carregado. O servidor pode não aceitar arquivos deste tamanho.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index d2b963244daea7888cc15789403c93c496b4968a..845b41cc30599a6daecea5178729693e407bb66e 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'webhook excluído',
     'webhook_delete_notification' => 'Webhook excluido com sucesso',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'usuário criado',
     'user_create_notification' => 'Usuário criado com sucesso',
index 42e20af87dfbad4ddb970314586958fcf98efb0c..e251ba96636fcce4b38cde4e054d2dd782f54a77 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Sobre o editor',
     'about_title' => 'Sobre o Editor WYSIWYG',
     'editor_license' => 'Licença do Editor e Direitos Autorais',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Este editor é construído usando :tinyLink que é fornecido sob a licença MIT.',
     'editor_tiny_license_link' => 'Os dados relativos aos direitos de autor e à licença do TinyMCE podem ser encontrados aqui.',
     'save_continue' => 'Salvar Página e Continuar',
index d23f677d9f5c940a71ac6570ac6884250d1a8ce3..b3e794a2d769e9a8152f0992119159f63bb1bedf 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Arquivo PDF',
     'export_text' => 'Arquivo de texto simples',
     'export_md' => 'Arquivo de redução',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Modelo padrão de página',
     'default_template_explain' => 'Atribuir o modelo de página que será usado como padrão para todas as páginas criadas neste livro. Tenha em mente que isto será usado apenas se o criador da página tiver acesso de visualização ao modelo de página escolhido.',
     'default_template_select' => 'Selecione uma página de modelo',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Permissões',
@@ -85,7 +106,7 @@ return [
     // Shelves
     'shelf' => 'Estante',
     'shelves' => 'Estantes',
-    'x_shelves' => ': count Estante|: count Estantes',
+    'x_shelves' => ':count Estante|:count Estantes',
     'shelves_empty' => 'Nenhuma estante foi criada',
     'shelves_create' => 'Criar Prateleira',
     'shelves_popular' => 'Estantes Populares',
index 3fa7d44c7deaa33b4b3c17669fbae9b1dc8b24f9..15464c95ac3abed34d3c89b4a7af2274c20338c1 100644 (file)
@@ -106,6 +106,18 @@ return [
     'app_down' => 'Agora está baixo',
     'back_soon' => 'Vai estar de volta em breve.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Nenhum código de autorização encontrado na requisição',
     'api_bad_authorization_format' => 'Um código de autorização foi encontrado na requisição, mas o formato parece incorreto',
index 881604d4d71d3100a3f31d2ad3719f65df2278eb..a5b68c7e4ec7eeaa9a89d0a4f9ec9c10aedbfcef 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Acessar API do sistema',
     'role_manage_settings' => 'Gerenciar configurações da aplicação',
     'role_export_content' => 'Exportar conteúdo',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Alterar página de edição',
     'role_notifications' => 'Receber e gerenciar notificações',
     'role_asset' => 'Permissões de Ativos',
index 68b85029843614f82b519e0870c49a68bb51f58f..b3a9a7294380a59de8e0a5b2ab1d91d278a72ac4 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'O formato da URL :attribute é inválido.',
     'uploaded'             => 'O arquivo não pôde ser carregado. O servidor pode não aceitar arquivos deste tamanho.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index d076b91e82a577f144ae0fa733f65b1abe038492..951ca2347e92595a577cd0be2dfc6a3bfd060225 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'a șters webhook',
     'webhook_delete_notification' => 'Webhook șters cu succes',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'utilizator creat',
     'user_create_notification' => 'Utilizator creat cu succes',
index 65208957b374c4231715b907f71ed3f9b95b6527..a22e239aa92fc82e39bd98a37d6436fbae46d73f 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Despre editor',
     'about_title' => 'Despre editorul WYSIWYG',
     'editor_license' => 'Editor licență și drepturi de autor',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Acest editor este construit folosind :tinyLink care este furnizat sub licența MIT.',
     'editor_tiny_license_link' => 'Detaliile privind drepturile de autor şi licența TinyMCE pot fi consultate aici.',
     'save_continue' => 'Salvează pagina și continuă',
index 676562f465c6c3750a01d4edee639e9223f951da..f6bec4cb9a647bd578e672f693394ec37bcc856e 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Fișier PDF',
     'export_text' => 'Fișier text simplu',
     'export_md' => 'Fișier Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Permisiuni',
index 0989f797c019c003efce7e56cc4068a474a859b7..07c295b07853363bd3baa3c5a26404b0e215723f 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName nu funcționează acum',
     'back_soon' => 'Va reveni în curând.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Nu s-a găsit niciun token de autorizare la cerere',
     'api_bad_authorization_format' => 'A fost găsit un token de autorizare, dar formatul este incorect',
index 338f492003638d3d31fc1d1e3c66a3cdad49e7fc..ee402085ac9666419a1cd0b4db5484a59c5e056f 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Accesează API sistem',
     'role_manage_settings' => 'Gestionează setările aplicației',
     'role_export_content' => 'Exportă conținut',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Schimbă editorul de pagină',
     'role_notifications' => 'Primire și gestionare notificări',
     'role_asset' => 'Permisiuni active',
index 523943850982e19aaf499dd1bdcd0e84835819e4..56a3e2e05d14f46d9078f7ae136010a4fbe25d6a 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute nu este valid.',
     'uploaded'             => 'Fişierul nu a putut fi încărcat. Serverul nu poate accepta fişiere de această dimensiune.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index df6ae9062c2b6ed868bf3ca263058e8669b35697..3fe46181de993ddcd97b76d4a7ebe09be10f76b4 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'удалил вебхук',
     'webhook_delete_notification' => 'Вебхук успешно удален',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'создал пользователя',
     'user_create_notification' => 'Пользователь успешно создан',
index b93bd8840a5f5b9e190925cd5015680941d4c8b0..7e12acfff80336571d104d7fdbb7d761febb56e1 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'О редакторе',
     'about_title' => 'О редакторе WYSIWYG',
     'editor_license' => 'Лицензия редактора и авторские права',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Этот редактор собран с помощью :tinyLink, который предоставляется под MIT лицензией.',
     'editor_tiny_license_link' => 'Авторские права и подробности лицензии TinyMCE вы можете найти здесь.',
     'save_continue' => 'Сохранить страницу и продолжить',
index 5de25a50deb61770520403792c78397ad485f73a..795c287cbd2d0a5f412ded56829c458fea11a3a7 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF файл',
     'export_text' => 'Текстовый файл',
     'export_md' => 'Файл Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Шаблон страницы по умолчанию',
     'default_template_explain' => 'Назначить шаблон страницы, который будет использоваться в качестве содержимого по умолчанию для всех страниц, созданных в этом элементе. Имейте в виду, что это будет работать, только если создатель страницы имеет доступ к выбранной странице шаблона.',
     'default_template_select' => 'Выберите страницу шаблона',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Разрешения',
index 033a64840b895fddc53452f9367c34e6b87b723e..ceae383c6768f00b917a3db94708523f2d63b303 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName в данный момент не доступно',
     'back_soon' => 'Скоро восстановится.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Отсутствует токен авторизации в запросе',
     'api_bad_authorization_format' => 'Токен авторизации найден, но формат запроса неверен',
index 4357cbddf3880ed4d2445c7ed61c75f855f397fa..32b5367c60a8a0f1f4f852c656dae1c1a479c323 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Доступ к системному API',
     'role_manage_settings' => 'Управление настройками приложения',
     'role_export_content' => 'Экспорт контента',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Изменение редактора страниц',
     'role_notifications' => 'Получение и управление уведомлениями',
     'role_asset' => 'Права доступа к материалам',
index 88bd9a41f9761fc069a5d60c36df6d14244faec0..156a05fe6784842fa705e2ef259e01313f3df9eb 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Формат :attribute некорректен.',
     'uploaded'             => 'Не удалось загрузить файл. Сервер не может принимать файлы такого размера.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 6dad803e003f6094377400b99e157e80440ec65a..a1ef597ca248c1af4fd30138a5d63fccb72e17f1 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'odstránil(a) si webhook',
     'webhook_delete_notification' => 'Webhook úspešne odstránený',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'užívateľ vytvorený',
     'user_create_notification' => 'User successfully created',
index ec7f24d657ec99a5ee875d619df7fe9a220ba74c..5b7ee2f49b37d5f637cd3e8d7e967459e9b03f8a 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'O editore',
     'about_title' => 'O WYSIWYG Editore',
     'editor_license' => 'Licencia editora a autorské práva',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Tento editor je vytvorený pomocou :tinyLink, ktorý je poskytovaný pod licenciou MIT.',
     'editor_tiny_license_link' => 'Podrobnosti o autorských právach a licenciách TinyMCE nájdete tu.',
     'save_continue' => 'Uložiť a pokračovať',
index b296f4f6778bb86f3bf26f3402ee7ea12e2023be..882ac533dfe1d36cfaa6c604dce93c406ccc4b22 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF súbor',
     'export_text' => 'Súbor s čistým textom',
     'export_md' => 'Súbor Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Oprávnenia',
index 036f2b2d4153f691fc86e7b7ffec3bb5e607feee..143259f3ad44f230a8613cfb2674b0d9b844c1b1 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName je momentálne nedostupná',
     'back_soon' => 'Čoskoro bude opäť dostupná.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'V žiadosti sa nenašiel žiadny autorizačný token',
     'api_bad_authorization_format' => 'V žiadosti sa našiel autorizačný token, ale formát sa zdal nesprávny',
index 40b256229a588217f0d0a0259e1240f13cea7f5e..cb8fb9fa93832ecdf3aed2943e7458ef01743ae4 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'API prístupového systému',
     'role_manage_settings' => 'Spravovať nastavenia aplikácie',
     'role_export_content' => 'Exportovať obsah',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Zmeniť editor stránky',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Oprávnenia majetku',
index dfc821b7c9c99ec7a2c3cbe614caacac1de8cf22..415f7cf05b98bb801bc9468f48beab0e822279b8 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute formát je neplatný.',
     'uploaded'             => 'Súbor sa nepodarilo nahrať. Server nemusí akceptovať súbory tejto veľkosti.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 027c17f872a9eb2f26bc182079e4bba1ed10a3a9..11627a89ad92d3e91f91d51b4c5ad7a37a740f21 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'izbrisan webhook',
     'webhook_delete_notification' => 'Webhook uspešno izbrisan',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'ustvarjen uporabnik',
     'user_create_notification' => 'Uporabnik uspešno ustvarjen',
index b6f462eb596764ad2b1a778e6ef544f542ecfa90..09b311018a4b29759325d1d5e3770e6d1af8c8e3 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'O urejevalniku',
     'about_title' => 'O Urejevalniku WYSIWYG',
     'editor_license' => 'Licenca in avtorske pravice Urejevalnika',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Urejevalnik je ustvarjen z uporabo :tinyLink pod pogoji licence MIT.',
     'editor_tiny_license_link' => 'Podrobnosti o avtorskih pravicah in licenci za TinyMCE lahko preberete tukaj.',
     'save_continue' => 'Shrani stran in Nadaljuj',
index be58595cfe8195e2421c0d720b9cea60326789de..e118bfaaccf1516769f4830b9bfb4a27f827d402 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF datoteka (.pdf)',
     'export_text' => 'Navadna besedilna datoteka',
     'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Dovoljenja',
index 7269b7555314519f321676cd1165774f0b420bb9..9a8759684c772993b9844c8139e67b225461ebb4 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName trenutno ni dosegljiva',
     'back_soon' => 'Kmalu bo ponovno dosegljiva.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Avtorizacija ni bila najdena',
     'api_bad_authorization_format' => 'Avtorizacija je bila najdena, vendar je v napačni obliki',
index 7de5f24e7a832f14a327759fa0e132224405cbea..77af9dac4b9336d7802889e35d3960d7ce17bef9 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'API za dostop do sistema',
     'role_manage_settings' => 'Nastavitve za upravljanje',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Sistemska dovoljenja',
index 012bfe4a704836db6b2fc3c274ed451ad477a898..0d9b56c10194a65b81d0e372e9a051fb0a8fc619 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute oblika ni veljavna.',
     'uploaded'             => 'Datoteke ni bilo mogoče naložiti. Strežnik morda ne sprejema datotek te velikosti.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index b3590c9bf83d25d5fdd40ef2bfb9956a76ba5729..b7ca7d02d8d475a32f45ec990723c2a538b72c16 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'fshiu uebhook',
     'webhook_delete_notification' => 'Uebhook-u u fshi me sukses',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'krijoi përdorues',
     'user_create_notification' => 'Përdoruesi u krijua me sukses',
index de9aa0ece10f535becba6a65273835bacfe523db..a61b460427ebf255364eafee6818af171dbcad99 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Save Page & Continue',
index 35e6f050bb885cc28cb83e5064fed910778c1ae1..26a563a7eb534388afd1e89fce92ea91e1a8a5c7 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF File',
     'export_text' => 'Plain Text File',
     'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Permissions',
index 9c40aa9ed339578a1585ddefda68760cd2563c8e..9d738379648d26fd0b59ea0a0c82f53edf1e4b38 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName is down right now',
     'back_soon' => 'It will be back up soon.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'No authorization token found on the request',
     'api_bad_authorization_format' => 'An authorization token was found on the request but the format appeared incorrect',
index 5427cb9419ea1ff716704e5b06630b9afcd2c3b2..c0b6b692a57b9b5eaf7ce17d51a0baf0ae6380ab 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Access system API',
     'role_manage_settings' => 'Manage app settings',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Asset Permissions',
index 2a676c7c4cce0130591a929cefd8a21e7765be1c..d9b982d1e23e2eb2ad98ae4815e8b94de20f11dc 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'The :attribute format is invalid.',
     'uploaded'             => 'The file could not be uploaded. The server may not accept files of this size.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 4077c07454d48680a148f705f4d7540ecee56a43..9a72cfc5e3cd012166c408d90fe7e9ae7aa0ec61 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'обрисан вебхоок',
     'webhook_delete_notification' => 'Вебхоок је успешно обрисан',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'креирао корисника',
     'user_create_notification' => 'Корисник је успешно креиран',
index b376e542cf964fb8d240c78a18827d99658a454e..8b7690e2c346a65139a7393f47cf82b53b015579 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'О уређивачу',
     'about_title' => 'О уређивачу WYSIWYG',
     'editor_license' => 'Уредничка лиценца и ауторска права',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Овај уређивач је направљен помоћу :tinyLink који је обезбеђен под МИТ лиценцом.',
     'editor_tiny_license_link' => 'Детаље о ауторским правима и лиценци за ТиниМЦЕ можете пронаћи овде.',
     'save_continue' => 'Сачувај страницу и настави',
index a6964a1032b5a30ef4836e7981b01b001cc87594..0c27ddf59db41a2898906842d5537cb959fca249 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF датотека',
     'export_text' => 'Датотеке чистог текста',
     'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Подразумевани шаблон странице',
     'default_template_explain' => 'Доделите шаблон странице који ће се користити као подразумевани садржај за све странице креиране у оквиру ове ставке. Имајте на уму да ће се ово користити само ако креатор странице има приступ за преглед изабране странице шаблона.',
     'default_template_select' => 'Изаберите страницу са шаблоном',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Дозволе',
index acf0d5f3650da2607476e170c27cf35c57faa6e5..ee8443461c3aed0193ca26855d8a7f2c4c9ef6f5 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName is down right now',
     'back_soon' => 'It will be back up soon.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'No authorization token found on the request',
     'api_bad_authorization_format' => 'An authorization token was found on the request but the format appeared incorrect',
index e2460191383b9559a4eef37c5d051528466894f1..6bd5f525237c2a0b110a29d4e6a6255569c9364c 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Access system API',
     'role_manage_settings' => 'Manage app settings',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Asset Permissions',
index 2a676c7c4cce0130591a929cefd8a21e7765be1c..d9b982d1e23e2eb2ad98ae4815e8b94de20f11dc 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'The :attribute format is invalid.',
     'uploaded'             => 'The file could not be uploaded. The server may not accept files of this size.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index abe53c856d13c2607e07e7ab7ecf8738e63c15aa..5244b224372c1c7f4ce5de751897fe82f855a27e 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'raderade webhook',
     'webhook_delete_notification' => 'Webhook har tagits bort',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'skapade användare',
     'user_create_notification' => 'Användare skapades',
index 25e443511c1b11e67cdcc5de2c5b03ee004b0371..4badcc0e343bdb7c296520a628a3d371f5455fb0 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Om redigeraren',
     'about_title' => 'Om WYSIWYG-redigeraren',
     'editor_license' => 'Licens och upphovsrätt för redigerare',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Denna redigerare är byggd med :tinyLink som tillhandahålls under MIT licensen.',
     'editor_tiny_license_link' => 'Upphovsrätten och licensuppgifterna för TinyMCE hittar du här.',
     'save_continue' => 'Spara sida & fortsätt',
index d01de6380c40ab45f3cade797a1046eab9ef0686..5df1f43dcf07bd02ea913cc3fbcb61ac8fffc721 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF-fil',
     'export_text' => 'Textfil',
     'export_md' => 'Markdown-fil',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Förvald sidmall',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Rättigheter',
index d6049b20cb4f046a99550aa73fe838e312362370..86ea215d02fedf90f0b9b104b32ceb003cd0569c 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName är nere just nu',
     'back_soon' => 'Vi är snart tillbaka.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Ingen auktoriseringstoken hittades på denna begäran',
     'api_bad_authorization_format' => 'En auktoriseringstoken hittades på denna begäran men formatet verkade felaktigt',
index c9f00a34059d3f575f0fe6ec3817ecb09f4a467b..bd6afcf2892f6de65bb383ecca97a3967ff5258c 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Åtkomst till systemets API',
     'role_manage_settings' => 'Hantera appinställningar',
     'role_export_content' => 'Exportera innehåll',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Ändra sidredigerare',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Tillgång till innehåll',
index b9c609f486d4dd1f9dc146c13ee57f7219f579cb..4cc98c5759810f1e1a10e47a80652c7cb3552e81 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Formatet på :attribute är ogiltigt.',
     'uploaded'             => 'Filen kunde inte laddas upp. Servern kanske inte tillåter filer med denna storlek.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 092398ef0e1475089fa71b7e60aa1f49fc056013..7c3454d41ca287406316a6eb3f528250c5361c3d 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'deleted webhook',
     'webhook_delete_notification' => 'Webhook successfully deleted',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'created user',
     'user_create_notification' => 'User successfully created',
index de9aa0ece10f535becba6a65273835bacfe523db..a61b460427ebf255364eafee6818af171dbcad99 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'About the editor',
     'about_title' => 'About the WYSIWYG Editor',
     'editor_license' => 'Editor License & Copyright',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'This editor is built using :tinyLink which is provided under the MIT license.',
     'editor_tiny_license_link' => 'The copyright and license details of TinyMCE can be found here.',
     'save_continue' => 'Save Page & Continue',
index 35e6f050bb885cc28cb83e5064fed910778c1ae1..26a563a7eb534388afd1e89fce92ea91e1a8a5c7 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF File',
     'export_text' => 'Plain Text File',
     'export_md' => 'Markdown File',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Permissions',
index 9c40aa9ed339578a1585ddefda68760cd2563c8e..9d738379648d26fd0b59ea0a0c82f53edf1e4b38 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName is down right now',
     'back_soon' => 'It will be back up soon.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'No authorization token found on the request',
     'api_bad_authorization_format' => 'An authorization token was found on the request but the format appeared incorrect',
index 5427cb9419ea1ff716704e5b06630b9afcd2c3b2..c0b6b692a57b9b5eaf7ce17d51a0baf0ae6380ab 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Access system API',
     'role_manage_settings' => 'Manage app settings',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Asset Permissions',
index 2a676c7c4cce0130591a929cefd8a21e7765be1c..d9b982d1e23e2eb2ad98ae4815e8b94de20f11dc 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'The :attribute format is invalid.',
     'uploaded'             => 'The file could not be uploaded. The server may not accept files of this size.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index bfafba4a4f4c5561f65261412952de0c8f7a0f64..fcecd6de3b4617397ff205b2ae9d9d9ad53b91f0 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'web kancası silindi',
     'webhook_delete_notification' => 'Web kancası başarıyla silindi',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'created user',
     'user_create_notification' => 'Kullanıcı başarıyla oluşturuldu',
index 585d6ec0516d7c50025daafe8168d98399591b73..3dc990f0cb95c62b915cc2ed60d8cc923f6e0beb 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Editör hakkında',
     'about_title' => 'WYSIWYG editor hakkında',
     'editor_license' => 'Editor Lisans ve Telif Hakkı',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Bu düzenleyici, MIT lisansı altında sağlanan :tinyLink kullanılarak oluşturulmuştur.',
     'editor_tiny_license_link' => 'TinyMCE telif ve lisans bilgilerini burada bulabilirsiniz.',
     'save_continue' => 'Kaydet & Devam Et',
index ae60e8d07b83dca9ed0abd99355b5276e4202de2..a73cdd85330f7d9a92ace779424f4e44ed4ebd7a 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF Dosyası',
     'export_text' => 'Düz Metin Dosyası',
     'export_md' => 'Markdown Dosyası',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'İzinler',
index 7087aca4738bcb03cee0ee50d7541a529b411f34..fd742687127d65f83e3eaeddea15956c9ceedd98 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName şu anda erişilemez durumda',
     'back_soon' => 'En kısa sürede tekrar erişilebilir duruma gelecektir.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Yapılan istekte, yetkilendirme anahtarı bulunamadı',
     'api_bad_authorization_format' => 'Yapılan istekte bir yetkilendirme anahtarı bulundu fakat doğru görünmüyor',
index 8b38e7b955ccb72c7810777701a6d1a6e3422e35..68c470b0aa979e5b990c2a2dd8ff65954dc8c1d8 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Sistem programlama arayüzüne (API) eriş',
     'role_manage_settings' => 'Uygulama ayarlarını yönet',
     'role_export_content' => 'İçeriği dışa aktar',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Yazı editörünü değiştir',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Varlık Yetkileri',
index 640fe6131ced94268965f4f4402f993ffe572198..9dbfadd6b9efbbc2a1a55ac1f9766b009088d3ae 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute formatı geçersiz.',
     'uploaded'             => 'Dosya yüklemesi başarısız oldu. Sunucu, bu boyuttaki dosyaları kabul etmiyor olabilir.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 1ab0eca61a8fa45db88c7ffa077acbce007207df..86195224c3e5497743e9c2e8e8cd9dfe4d7cf030 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'видалений вебхук',
     'webhook_delete_notification' => 'Вебхуки успішно видалено',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'створений користувач',
     'user_create_notification' => 'Користувач успішно створений',
index 176f7fab713751845a709fd517afb7613505e6a7..85efbc661d943fcb02b3c55b7fdc8107c82e8a28 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Про редактор',
     'about_title' => 'Про WYSIWYG редактор',
     'editor_license' => 'Ліцензія редактора і авторські права',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Цей редактор побудований за допомогою :tinylink, яке надається за ліцензією MIT.',
     'editor_tiny_license_link' => 'Тут можна знайти авторські та умови ліцензії.',
     'save_continue' => 'Зберегти і продовжити',
index 01549e7f36f6f461ec528ca252cac420ab622b58..e955f5801af4547712057660ec46190915502b69 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF файл',
     'export_text' => 'Текстовий файл',
     'export_md' => 'Файл розмітки',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Типовий шаблон сторінки',
     'default_template_explain' => 'Призначити шаблон сторінки, який буде використовуватися як типовий вміст для всіх сторінок, створених у цьому елементі. Майте на увазі, що ця сторінка буде використана лише у випадку, якщо вона має доступ до обраної сторінки шаблону.',
     'default_template_select' => 'Виберіть сторінку шаблону',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Дозволи',
index 7698093c1d509ba3210c99986d47f008ccd990e3..5c8148fece2a4b63a160d3ab276343ae752f5f81 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName зараз недоступний',
     'back_soon' => 'Він повернеться найближчим часом.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'У запиті не знайдено токен авторизації',
     'api_bad_authorization_format' => 'У запиті знайдено токен авторизації, але формат недійсний',
index e26a2a8b829275d7a9da981a3aedb78335b7e625..a897439a14db4892ac3bf6f6f6568a6bfb1c1a2e 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Доступ до системного API',
     'role_manage_settings' => 'Керування налаштуваннями програми',
     'role_export_content' => 'Вміст експорту',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Змінити редактор сторінок',
     'role_notifications' => 'Отримувати та керувати повідомленнями',
     'role_asset' => 'Дозволи',
index 51a5916661969d37e56d763849c3e743743e4096..ae31bb237aade106caa8229c53d021047c9f4af9 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Формат поля :attribute неправильний.',
     'uploaded'             => 'Не вдалося завантажити файл. Сервер може не приймати файли такого розміру.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 0cbfd264a02cba189fa13d6bd18a9235708295c2..19d52adc49c9005c74349be66e6a00354285d2fe 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'o‘chirilgan webhook',
     'webhook_delete_notification' => 'Webhook muvaffaqiyatli o‘chirildi',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'created user',
     'user_create_notification' => 'User successfully created',
index f3aa4f5cdf904ae354ea5f35db02f818a9f2745e..deea210bab71737d1113a715ab7dc1cc4de3ab5e 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Muharrir haqida',
     'about_title' => 'WYSIWYG muharriri haqida',
     'editor_license' => 'Muharrir litsenziyasi va mualliflik huquqi',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Ushbu muharrir MIT litsenziyasi ostida taqdim etilgan :tinyLink yordamida yaratilgan.',
     'editor_tiny_license_link' => 'TinyMCE mualliflik huquqi va litsenziya tafsilotlarini bu yerda topishingiz mumkin.',
     'save_continue' => 'Sahifani saqlang va Davom eting',
index f0818207121fe3ada915f24585d5706bd1e3552a..fa198c68d8a5df098500c299ff4b8f29e9b4ebf8 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF holatida',
     'export_text' => 'Oddiy matn holatida',
     'export_md' => 'Markdown fayli holatida',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Huquqlar',
index 63a61ef844a3e34d57bf0f12cd0b3f03f1540fbe..a0d86c44191b5b9fe2ee72295a89256062d376c7 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName hozir ishlamayapti',
     'back_soon' => 'Tez orada zaxiralanadi.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'So‘rovda hech qanday avtorizatsiya belgisi topilmadi',
     'api_bad_authorization_format' => 'So‘rovda avtorizatsiya belgisi topildi, lekin format noto‘g‘ri ko‘rindi',
index 4ce7c06094a61cddaf3e396f626ea6540eb06eaf..fabef53831460ddc26f1ae0ef8563a9df4c85a2f 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Kirish tizimi API',
     'role_manage_settings' => 'Ilova sozlamalarini boshqaring',
     'role_export_content' => 'Kontentni eksport qilish',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Sahifa muharririni o\'zgartirish',
     'role_notifications' => 'Bildirishnomalarni qabul qilish va boshqarish',
     'role_asset' => 'Obyektga ruxsatlar',
index 4606a01287959aca1ce96cd65054b7b2b242ed51..d9d0fa0b2af8042757fbe155a85ae29a69ae65bb 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute URL formatida emas.',
     'uploaded'             => 'Faylni yuklashda xatolik. Server bunday hajmdagi faylllarni yuklamasligi mumkin.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index d11de40e4a6299a492e6aca03081ac7144a2d158..2262e37a0052ec5a2283e175671471995c0471ae 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'đã xóa webhook',
     'webhook_delete_notification' => 'Webhook đã được xóa thành công',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => 'đã tạo người dùng',
     'user_create_notification' => 'Người dùng được tạo thành công',
index 76203c2d231795c3955db2270acf6a2ca43b2724..2e36df8dd9e1812ee5ce0ea089e80e336783cd9c 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => 'Giới thiệu về trình soạn thảo',
     'about_title' => 'Giới thiệu về trình soạn thảo WYSIWYG',
     'editor_license' => 'Giáy phép & Bản quyền của trình soạn thảo',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => 'Trình soạn thảo này được xây dựng bằng các sử dụng :tinyLink theo giấy phép MIT.',
     'editor_tiny_license_link' => 'Chi tiết về bản quyền và giấy phép của TinyMCE có thể được tìm thấy tại đây.',
     'save_continue' => 'Lưu trang & Tiếp tục',
index f8f6ca293bbcac11d84903f29493b486c0b14f97..11c47a8d5eb1d5ad29080c50dfe268bafd5a7582 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'Tệp PDF',
     'export_text' => 'Tệp văn bản thuần túy',
     'export_md' => '\bTệp Markdown',
+    'export_zip' => 'Portable ZIP',
     'default_template' => 'Default Page Template',
     'default_template_explain' => 'Assign a page template that will be used as the default content for all pages created within this item. Keep in mind this will only be used if the page creator has view access to the chosen template page.',
     'default_template_select' => 'Select a template page',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => 'Quyền',
index a2a7d491b4a802ba4d22407bf00ba51fad4bb5bf..66ad23b727873fb849b322857c5dd4e95db2bc87 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName hiện đang ngoại tuyến',
     'back_soon' => 'Nó sẽ sớm hoạt động trở lại.',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => 'Không tìm thấy token ủy quyền trong yêu cầu',
     'api_bad_authorization_format' => 'Đã tìm thấy một token ủy quyền trong yêu cầu nhưng định dạng hiển thị không hợp lệ',
index 63024cbd39a7f959f6b2bc5c73bc0952b2801f35..410d28d594184da5af7fa995ba78f0457c8e97e7 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => 'Truy cập đến API hệ thống',
     'role_manage_settings' => 'Quản lý cài đặt của ứng dụng',
     'role_export_content' => 'Export content',
+    'role_import_content' => 'Import content',
     'role_editor_change' => 'Change page editor',
     'role_notifications' => 'Receive & manage notifications',
     'role_asset' => 'Quyền tài sản (asset)',
index e7bcfd3e2a97606c39448e48a02ddc749bb5c219..9683c085726409b7a83d1ffced03002b94fdb61c 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => 'Định dạng của :attribute không hợp lệ.',
     'uploaded'             => 'Tệp tin đã không được tải lên. Máy chủ không chấp nhận các tệp tin với dung lượng lớn như tệp tin trên.',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index 54c93b0efea9fc9da86b50f3640c6818546d3985..7edf9bc79fc9a4a09ca86e3d72fa365129aa489e 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'Webhook 已删除',
     'webhook_delete_notification' => 'Webhook 删除成功',
 
+    // Imports
+    'import_create' => 'created import',
+    'import_create_notification' => 'Import successfully uploaded',
+    'import_run' => 'updated import',
+    'import_run_notification' => 'Content successfully imported',
+    'import_delete' => 'deleted import',
+    'import_delete_notification' => 'Import successfully deleted',
+
     // Users
     'user_create' => '用户已创建',
     'user_create_notification' => '用户创建成功',
index f04a254ec09db1efa51c87f2f7bda2264a5e1350..c2ca50d369184a91ac83fd1fbb5597aa86f258c3 100644 (file)
@@ -17,7 +17,7 @@ return [
     'image_page_title' => '查看上传到本页面的图片',
     'image_search_hint' => '按图片名称搜索',
     'image_uploaded' => '上传于 :uploadedDate',
-    'image_uploaded_by' => '由 :username 上传',
+    'image_uploaded_by' => '由 :userName 上传',
     'image_uploaded_to' => '上传到 :pageLink',
     'image_updated' => ':updateDate 更新',
     'image_load_more' => '显示更多',
index 1a07362a553e3c76ba4dd50b2c62c0a34571fb85..5f4ffdcb96b067fb479e424cf9cb25398c9bc1a0 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => '关于编辑器',
     'about_title' => '关于所见即所得(WYSIWYG)编辑器',
     'editor_license' => '编辑器许可证与版权信息',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => '此编辑器是用 :tinyLink 构建的,基于 MIT 许可证。',
     'editor_tiny_license_link' => 'TinyMCE 的版权和许可证详细信息可以在这里找到。',
     'save_continue' => '保存页面并继续',
index 5083b263e6fcf700f719d473596bc96021ec41d2..9f6ee7ecfb3e33397aa7fa14826010a3f84b7ecc 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF文件',
     'export_text' => '纯文本文件',
     'export_md' => 'Markdown 文件',
+    'export_zip' => 'Portable ZIP',
     'default_template' => '默认页面模板',
     'default_template_explain' => '指定一个页面模板,该模板将作为此项目中所有页面的默认内容。请注意,仅当页面创建者具有对所选页面模板的查看访问权限时,此功能才会生效。',
     'default_template_select' => '选择模板页面',
+    'import' => 'Import',
+    'import_validate' => 'Validate Import',
+    'import_desc' => 'Import books, chapters & pages using a portable zip export from the same, or a different, instance. Select a ZIP file to proceed. After the file has been uploaded and validated you\'ll be able to configure & confirm the import in the next view.',
+    'import_zip_select' => 'Select ZIP file to upload',
+    'import_zip_validation_errors' => 'Errors were detected while validating the provided ZIP file:',
+    'import_pending' => 'Pending Imports',
+    'import_pending_none' => 'No imports have been started.',
+    'import_continue' => 'Continue Import',
+    'import_continue_desc' => 'Review the content due to be imported from the uploaded ZIP file. When ready, run the import to add its contents to this system. The uploaded ZIP import file will be automatically removed on successful import.',
+    'import_details' => 'Import Details',
+    'import_run' => 'Run Import',
+    'import_size' => ':size Import ZIP Size',
+    'import_uploaded_at' => 'Uploaded :relativeTime',
+    'import_uploaded_by' => 'Uploaded by',
+    'import_location' => 'Import Location',
+    'import_location_desc' => 'Select a target location for your imported content. You\'ll need the relevant permissions to create within the location you choose.',
+    'import_delete_confirm' => 'Are you sure you want to delete this import?',
+    'import_delete_desc' => 'This will delete the uploaded import ZIP file, and cannot be undone.',
+    'import_errors' => 'Import Errors',
+    'import_errors_desc' => 'The follow errors occurred during the import attempt:',
 
     // Permissions and restrictions
     'permissions' => '权限',
index b51be47c106f59753cddf2776be7496f0b5f4aa2..3c5f262a166229e6020ae4612d164f6e9e26ebe6 100644 (file)
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName现在正在关闭',
     'back_soon' => '请耐心等待网站的恢复。',
 
+    // Import
+    'import_zip_cant_read' => 'Could not read ZIP file.',
+    'import_zip_cant_decode_data' => 'Could not find and decode ZIP data.json content.',
+    'import_zip_no_data' => 'ZIP file data has no expected book, chapter or page content.',
+    'import_validation_failed' => 'Import ZIP failed to validate with errors:',
+    'import_zip_failed_notification' => 'Failed to import ZIP file.',
+    'import_perms_books' => 'You are lacking the required permissions to create books.',
+    'import_perms_chapters' => 'You are lacking the required permissions to create chapters.',
+    'import_perms_pages' => 'You are lacking the required permissions to create pages.',
+    'import_perms_images' => 'You are lacking the required permissions to create images.',
+    'import_perms_attachments' => 'You are lacking the required permission to create attachments.',
+
     // API errors
     'api_no_authorization_found' => '未在请求中找到授权令牌',
     'api_bad_authorization_format' => '已在请求中找到授权令牌,但格式貌似不正确',
index 4eae4a98dfa676f613538a800d779ac4f6af326c..3343877ab582e8132cc79adeb73957027c6cc758 100644 (file)
@@ -162,6 +162,7 @@ return [
     'role_access_api' => '访问系统 API',
     'role_manage_settings' => '管理 App 设置',
     'role_export_content' => '导出内容',
+    'role_import_content' => 'Import content',
     'role_editor_change' => '更改页面编辑器',
     'role_notifications' => '管理和接收通知',
     'role_asset' => '资源许可',
index 9f24f3339da7203a7e8a541924a06eb666b7b0ed..120dfd998c83faebd71cbe8fc0dfe59e5f00c4ec 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute 格式无效。',
     'uploaded'             => '无法上传文件。 服务器可能不接受此大小的文件。',
 
+    'zip_file' => 'The :attribute needs to reference a file within the ZIP.',
+    'zip_file_mime' => 'The :attribute needs to reference a file of type :validTypes, found :foundType.',
+    'zip_model_expected' => 'Data object expected but ":type" found.',
+    'zip_unique' => 'The :attribute must be unique for the object type within the ZIP.',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [
index dddca399ac95e1a5a50f8e287c82b61fca70863c..be12e22c2f4c256504deea466de6b766219524bb 100644 (file)
@@ -84,6 +84,14 @@ return [
     'webhook_delete' => 'webhook 已刪除',
     'webhook_delete_notification' => 'Webhook 已刪除成功',
 
+    // Imports
+    'import_create' => '已建立匯入',
+    'import_create_notification' => '成功上傳匯入',
+    'import_run' => '已更新匯入',
+    'import_run_notification' => '成功匯入內容',
+    'import_delete' => '已刪除匯入',
+    'import_delete_notification' => '匯入刪除成功',
+
     // Users
     'user_create' => '建立使用者',
     'user_create_notification' => '使用者已成功建立。',
index 8b003a7303b3f063901dd63c9b5309ca685bd410..f8023bdd5ea7747bd9e71702e4ce4ee4f684df7a 100644 (file)
@@ -109,5 +109,5 @@ return [
     'terms_of_service' => '服務條款',
 
     // OpenSearch
-    'opensearch_description' => 'Search :appName',
+    'opensearch_description' => '搜尋 :appName',
 ];
index 2ee37f863dea710a3a23d26e2279893988155abd..7eeb48501ac26b10e6798646b488f66b6e96ca18 100644 (file)
@@ -163,6 +163,8 @@ return [
     'about' => '關於編輯器',
     'about_title' => '關於所見即所得(WYSIWYG)編輯器',
     'editor_license' => '編輯器許可證與版權信息',
+    'editor_lexical_license' => 'This editor is built as a fork of :lexicalLink which is distributed under the MIT license.',
+    'editor_lexical_license_link' => 'Full license details can be found here.',
     'editor_tiny_license' => '此編輯器是用 :tinyLink 構建的,基於 MIT 許可證。',
     'editor_tiny_license_link' => 'TinyMCE 的版權和許可證詳細信息可以在這裡找到。',
     'save_continue' => '保存頁面並繼續',
index 2f96bea2e56e551f8ad8e2e0cc8cc48f0f618ade..ee8113bee790264858718ebafa5784ff69c29044 100644 (file)
@@ -39,9 +39,30 @@ return [
     'export_pdf' => 'PDF 檔案',
     'export_text' => '純文字檔案',
     'export_md' => 'Markdown 檔案',
+    'export_zip' => '可攜式 ZIP',
     'default_template' => '預設頁面範本',
     'default_template_explain' => '請設定一個頁面範本,作為新頁面的預設內容。請注意,這僅限於作者擁有頁面範本讀取權限時才能夠使用。',
     'default_template_select' => '選擇一個頁面範本',
+    'import' => '匯入',
+    'import_validate' => '驗證匯入',
+    'import_desc' => '使用從相同或不同站點匯出的可攜式壓縮檔匯入書本、章節與頁面。選取 ZIP 檔案繼續。檔案上傳並通過驗證後,您就可以在下一個檢視中設定並確認匯入。',
+    'import_zip_select' => '選取要上傳的 ZIP 檔案',
+    'import_zip_validation_errors' => '驗證提供的 ZIP 檔案時偵測到錯誤:',
+    'import_pending' => '擱置中的匯入',
+    'import_pending_none' => '尚未開始匯入。',
+    'import_continue' => '繼續匯入',
+    'import_continue_desc' => '檢視要從上傳的 ZIP 檔匯入的內容。準備就緒後,執行匯入以將其內容加入本系統。成功匯入後,上傳的 ZIP 匯入檔案會自動移除。',
+    'import_details' => '匯入詳細資訊',
+    'import_run' => '執行匯入',
+    'import_size' => ':size 匯入 ZIP 大小',
+    'import_uploaded_at' => ':relativeTime 已上傳',
+    'import_uploaded_by' => '上傳者',
+    'import_location' => '匯入位置',
+    'import_location_desc' => '為您匯入的內容選取目標位置。您需要相關權限才能在您選擇的位置內建立。',
+    'import_delete_confirm' => '您確定要刪除此匯入嗎?',
+    'import_delete_desc' => '這將會刪除已上傳的匯入 ZIP 檔案,且無法還原。',
+    'import_errors' => '匯入錯誤',
+    'import_errors_desc' => '嘗試匯入時發生以下錯誤:',
 
     // Permissions and restrictions
     'permissions' => '權限',
@@ -224,8 +245,8 @@ return [
     'pages_edit_switch_to_markdown_clean' => '(清除內容)',
     'pages_edit_switch_to_markdown_stable' => '(保留內容)',
     'pages_edit_switch_to_wysiwyg' => '切換到所見即所得編輯器',
-    'pages_edit_switch_to_new_wysiwyg' => 'Switch to new WYSIWYG',
-    'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha Testing)',
+    'pages_edit_switch_to_new_wysiwyg' => '切換為新的所見即所得編輯器',
+    'pages_edit_switch_to_new_wysiwyg_desc' => '(仍在開發測試階段)',
     'pages_edit_set_changelog' => '設定變更日誌',
     'pages_edit_enter_changelog_desc' => '輸入對您所做變動的簡易描述',
     'pages_edit_enter_changelog' => '輸入變更日誌',
index 172c8ad0f82dfcddba83e24a5b2b615a90bdac91..7a42ce5119c36af12dcd27979189c3c4f56d2d4a 100644 (file)
@@ -78,7 +78,7 @@ return [
     // Users
     'users_cannot_delete_only_admin' => '您不能刪除唯一的管理員帳號',
     'users_cannot_delete_guest' => '您不能刪除訪客使用者',
-    'users_could_not_send_invite' => 'Could not create user since invite email failed to send',
+    'users_could_not_send_invite' => '由於寄送邀請電子郵件失敗,因此無法建立使用者',
 
     // Roles
     'role_cannot_be_edited' => '無法編輯這個角色',
@@ -105,6 +105,18 @@ return [
     'app_down' => ':appName 離線中',
     'back_soon' => '它應該很快就會重新上線。',
 
+    // Import
+    'import_zip_cant_read' => '無法讀取 ZIP 檔案。',
+    'import_zip_cant_decode_data' => '無法尋找並解碼 ZIP data.json 內容。',
+    'import_zip_no_data' => 'ZIP 檔案資料沒有預期的書本、章節或頁面內容。',
+    'import_validation_failed' => '匯入 ZIP 驗證失敗,發生錯誤:',
+    'import_zip_failed_notification' => '匯入 ZIP 檔案失敗。',
+    'import_perms_books' => '您缺乏建立書本所需的權限。',
+    'import_perms_chapters' => '您缺乏建立章節所需的權限。',
+    'import_perms_pages' => '您缺乏建立頁面所需的權限。',
+    'import_perms_images' => '您缺乏建立影像所需的權限。',
+    'import_perms_attachments' => '您缺乏建立附件所需的權限。',
+
     // API errors
     'api_no_authorization_found' => '在請求上找不到授權權杖',
     'api_bad_authorization_format' => '在請求中找到授權權杖,但格式似乎不正確',
index 9c893f1fae02426947ce0747b598d95e3e219313..b50d7649e7a049d66b914fa8d38067e96ba4ae72 100644 (file)
@@ -163,6 +163,7 @@ return [
     'role_access_api' => '存取系統 API',
     'role_manage_settings' => '管理應用程式設定',
     'role_export_content' => '匯出內容',
+    'role_import_content' => '匯入內容',
     'role_editor_change' => '重設頁面編輯器',
     'role_notifications' => '管理和接收通知',
     'role_asset' => '資源權限',
index 6651f13966c533f0bd870c6f56169a80dc6226a1..30031470749f6ea75905de4bf6a185a2c49ba5b2 100644 (file)
@@ -105,6 +105,11 @@ return [
     'url'                  => ':attribute 格式無效。',
     'uploaded'             => '無法上傳文檔案, 伺服器可能不接受此大小的檔案。',
 
+    'zip_file' => ':attribute 需要參照 ZIP 中的檔案。',
+    'zip_file_mime' => ':attribute 需要參照類型為 :validTypes 的檔案,找到 :foundType。',
+    'zip_model_expected' => '預期為資料物件,但找到「:type」。',
+    'zip_unique' => '對於 ZIP 中的物件類型,:attribute 必須是唯一的。',
+
     // Custom validation lines
     'custom' => [
         'password-confirm' => [